Grundlagen der Informatik II

Ähnliche Dokumente
Grundlagen der Informatik II

Grundlagen der Informatik II

Grundlagen der Informatik II

Grundlagen der Informatik II

Grundlagen der Informatik II

Grundlagen der Theoretischen Informatik

Theoretische Grundlagen der Informatik

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Musterlösung Informatik-III-Klausur

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Rekursiv aufzählbare Sprachen

Tutoraufgabe 1 (ɛ-produktionen):

2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Grundlagen der Informatik II Übungsblatt: 1, WS 17/18 mit Lösungen

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1

Die mathematische Seite

Grundlagen der Informatik II

Automaten und formale Sprachen Klausurvorbereitung

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Kurz-Skript zur Theoretischen Informatik I

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964)

q 0 q gdw. nicht (q A) (q A) q i+1 q gdw. q i q oder ( a Σ) δ(q, a) i δ(q, a) L = {a n b n : n N} für a, b Σ, a b

Theoretische Grundlagen der Informatik

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Chomsky-Grammatiken 16. Chomsky-Grammatiken

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

Theoretische Grundlagen der Informatik

8. Turingmaschinen und kontextsensitive Sprachen

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Informales Beispiel. Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen. Grammatiken. Anmerkungen

Grundbegriffe der Informatik Tutorium 12

Grundbegriffe der Informatik Tutorium 11

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

Grundlagen der Theoretischen Informatik

Kontextfreie Grammatiken

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

Theoretische Informatik. Berechenbarkeit

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN

Klausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten)

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung)

Grundlagen der Informatik II

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

Grundlagen der Theoretischen Informatik

Hochschule Bonn-Rhein-Sieg University of Applied Sciences Grantham-Allee Sankt Augustin

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis:

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 9201

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Kontextfreie Sprachen

Vorlesung im Sommersemester Informatik IV. Probeklausurtermin: 21. Juni 2016

Kontextfreie Sprachen

Automatentheorie und formale Sprachen

3. Klausur Einführung in die Theoretische Informatik Seite 1 von Welches der folgenden klassischen Probleme der Informatik ist entscheidbar?

Theoretische Grundlagen der Informatik

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

1. Klausur Einführung in die Theoretische Informatik Seite 1 von 14

Einführung in die Theoretische Informatik I/ Grundlagen der Theoretischen Informatik. SS 2007 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch

Grundlagen der Theoretischen Informatik

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

TU Berlin Nachklausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2012)

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung

Theoretische Informatik Testvorbereitung Moritz Resl

Grundlagen der Theoretischen Informatik

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Formale Grundlagen der Informatik

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

(Prüfungs-)Aufgaben zu formale Sprachen

Grundbegriffe der Informatik

Beschreibungskomplexität von Grammatiken Definitionen

A : z z A : z z : ( z, x, z ) δ

Motivation natürliche Sprachen

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Zusammenfassung Grundzüge der Informatik 4

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Turingmaschinen. Sabine Kuske: Turingmaschinen; 23.Juni 2008

Übungsblatt 1 - Lösung

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13

Grundlagen der Theoretischen Informatik

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

Theorie der Informatik

11. Übung Formale Grundlagen der Informatik

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

Grundlagen der Theoretischen Informatik

Theoretische Informatik Mitschrift

Theoretische Grundlagen der Informatik

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung

Transkript:

Grundlagen der Informatik II Tutorium 3 Professor Dr. Hartmut Schmeck Miniaufgabe * bevor es losgeht * Wie stellt man in einem regulären Ausdruck die Sprache dar, die das leere Wort enthält? a) Als λ b) Als φ c) Als φ d) Als λ KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu

Grundlagen der Informatik II Tutorium 3 Professor Dr. Hartmut Schmeck Denn: L φ = L φ = φ = φ i i 0 = λ φ φ φ = {λ} (dabei ist λ = φ 0 ; φ = φ 1 ; φ φ = φ 2 ; Miniaufgabe * bevor es losgeht * Wie stellt man in einem regulären Ausdruck die Sprache dar, die das leere Wort enthält? a) Als λ b) Als φ Beispiel: c) Als φ d) Als λ L φ + ab = {λ, ab} (Als Abkürzung kann aber bspw. λ φ definiert werden.) KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu

Terminankündigungen Bonusklausur Anmeldung: 17.10.16 08.01.17 Melden Sie sich frühzeitig an! Nachträgliche Anmeldungen können nicht berücksichtigt werden! Erste Saalübung Termin: 05.12.16, 11:30 13:00 Uhr, Gerthsen Hörsaal Zusammenfassung des Vorlesungsstoffs aus der ersten Vorlesungshälfte Vorrechnen typischer Klausuraufgaben zu den vorgestellten Themen Die Saalübung wird nicht aufgezeichnet 3 Grundlagen der Informatik II Tutorium 3

Für die Fleißigen Weitere Aufgaben zu den Themen dieses Tutoriums Aus dem Aufgabenpool bzw. Übungsbuch: Kapitel 6: Kontextfreie Grammatiken (KON-AB, KON-AC, KON-AD), Kapitel 7: Pumping-Lemma (PUM-AC, PUM-AL, PUM-AD, PUM-AG, PUM-AI, PUM-AJ, PUM-AK, PUM-AM, PUM-AH, PUM-AE), Kapitel 8: Turingmaschinen (8 Aufgaben), Kapitel 9: Kontextsensitive und monotone Grammatiken (8 Aufgaben), Kapitel 10: Berechenbarkeits- und Komplexitätstheorie (12 Aufgaben). Auf Übungsblatt 3 (4 Aufgaben, relativ schwer, aber erkenntnisreich) Aufgaben, die mit für zuhause markiert sind: HU-3-1 bis HU-3-4 Bei Fragen oder Kommentaren zu allen Aufgaben nutzen Sie das Q/A-Forum oder fragen Sie Ihren Tutor. Klick 4 Grundlagen der Informatik II Tutorium 3

Einführungsaufgabe: Pumping-Lemma Wie ist das Pumping-Lemma für kontextfreie Sprachen definiert? Sei L eine kontextfreie Sprache. Dann gibt es eine Konstante n N, sodass für alle Wörter z L mit z n eine Zerlegung z = uvwxy existiert mit: (a) vwx n, (b) vx 1 (c) für alle i N 0 gilt: uv i wx i y L vv xx uvv vvwxx xxy L(A) Wie kann man diese Aussage herleiten? Da L kontextfrei ist, existiert eine kontextfreie Grammatik G mit L G = L. Aus dem Ableitungsbaum ist ersichtlich, dass genügend lange Wörter zwei Pumpstellen enthalten, die gleichzeitig gepumpt werden können. 5 Grundlagen der Informatik II Tutorium 3

Aufgabe 1: Pumping Lemma Gegeben sei die Sprache L = a i b j c k 1 i j k N}. Ist L kontextfrei? 6 Grundlagen der Informatik II Tutorium 3

Aufgabe 1: Pumping Lemma Gegeben sei die Sprache L = Lösung: a i b j c k 1 i j k N}. Ist L kontextfrei? Wähle ein Wort z = a n b n c n L mit z = 3 n n und n beliebig. Betrachte eine beliebige Partition von z mit z = uvwxy = a n b n c n mit (1) vwx n, (2) vx 1. Daraus folgt n n n a ab bc c vwx vwx vwx Wenn L kontextfrei wäre, könnte man eine kontextfreie Grammatik dafür angeben. Wenn nicht, kann das PPL nicht gelten. 7 Grundlagen der Informatik II Tutorium 3

Aufgabe 1: Pumping Lemma n n n a ab bc c vwx vwx vwx vwx vwx vx kann maximal zwei der drei Symbole a, b, c enthalten, da vwx n Enthält vx ein a, so enthält es kein c. Für ein i > 1 enthält jedes uv i wx i y weniger c s als a s oder b s. Enthält vx kein a, so enthält es mindestens ein b oder c. Für i = 0 enthält uwy also mehr a s als b s oder c s. So haben wir für jede mögliche Zerlegung uvwxy von z, für die (1) und (2) gilt, ein i gefunden, für das gilt uv i wx i y L. Dies ist ein Widerspruch zur Bedingung (3) i ε N 0 : uv i wx i yε L des Pumping- Lemmas. Gemäß der Folgerung aus dem Pumping-Lemma ist demnach L nicht kontextfrei. 8 Grundlagen der Informatik II Tutorium 3

Einführungsaufgabe: Turingmaschine Wie ist eine Turingmaschine definiert und wie prüft man die Akzeptanz eines Wortes w? Definition: TM = E, B, S, δ, s 0, F mit {R, L, N} Überführungsfunktion: δ s, b = (s, b, d) Akzeptanz von w prüfen: λ, s 0, w (u, s, v) mit s F, u, v B, w E und es gibt keine Folgekonfiguration von (u, s, v) Eine Konfiguration bestimmt eindeutig den Gesamtzustand einer Turingmaschine inklusive Bandinhalt und Kopfposition. 9 Grundlagen der Informatik II Tutorium 3

Aufgabe 4: Turingmaschinen a) Definieren Sie eine Turingmaschine TM 1, die zu der als Binärzahl interpretierten Bandinschrift eine 1 hinzuzählt. Verfeinern Sie dazu die in der Vorlesung vorgestellte Version, so dass sie auch ohne die Annahme mindestens einer 0 funktioniert. Der Schreib-/Lesekopf soll im Endzustand auf dem äußerst linken Zeichen stehen bleiben. * 1 0 1 0 0 1 1 1 0 s 0 * 10 Grundlagen der Informatik II Tutorium 3

Aufgabe 4: Turingmaschinen a) Definieren Sie eine Turingmaschine TM 1, die zu der als Binärzahl interpretierten Bandinschrift eine 1 hinzuzählt. Verfeinern Sie dazu die in der Vorlesung vorgestellte Version, so dass sie auch ohne die Annahme mindestens einer 0 funktioniert. Der Schreib-/Lesekopf soll im Endzustand auf dem äußerst linken Zeichen stehen bleiben. * 1 0 1 0 0 1 1 1 0 * Lösung: s 0 Lesen von links nach rechts bis Ende: TM 1 = E 1, B 1, S 1, δ 1, s 0, F 1 E 1 = {0,1} B 1 = {0,1, } S 1 = {s 0, s 1, s 2, s e } F 1 = {s e } δ 2 0 1 s 0 (s 0,0, R) (s 0,1, R) (s 1,, L) s 1 s 2 11 Grundlagen der Informatik II Tutorium 3

Aufgabe 4: Turingmaschinen Falls letzte Zahl 0 ist: * 1 0 1 0 0 1 1 1 0 1 0 + 1 = 1: δ 2 0 1 s 0 (s 0,0, R) (s 0,1, R) (s 1,, L) s 1 s 2 (s 2, 1, L) (s 2, 0, L) (s 2, 1, L) (s e,, R) Falls letzte Zahl 1 ist: * 1 0 1 0 0 1 1 1 1 1 0 0 0 0 1 + 1 = 10: 0 eintragen und 1 mitschleppen bis 0 oder * δ 2 0 1 s 0 (s 0,0, R) (s 0,1, R) (s 1,, L) s 1 (s 2,1, L) (s 1, 0, L) (s e, 1, N) s 2 (s 2,0, L) (s 2,1, L) (s e,, R) * * Skript ID-8074 12 Grundlagen der Informatik II Tutorium 3

Aufgabe 4: Turingmaschinen TM 1 = E 1, B 1, S 1, δ 1, s 0, F 1 E 1 = {0,1} B 1 = {0,1, } S 1 = {s 0, s 1, s 2, s e } F 1 = {s e } Was ändert sich, wenn man nicht über den linken Rand hinaus schreiben darf, das Ergebnis aber trotzdem in jedem Fall korrekt auf dem Band stehen muss? δ 1 : (s 0,0) (s 0,0,R) Ganz nach rechts wandern. (s 0,1) (s 0,1,R) Ganz nach rechts wandern. (s 0, ) (s 1,,L) Rechtes Zeichen erreicht, positioniere auf äußerst rechtes Zeichen. (s 1,0) (s 2,1,L) 0 + 1 = 1 und fertig gerechnet, nur noch wieder ans Ende gehen. (s 1,1) (s 1,0,L) 1 + 1 = 10, 0 eintragen und Übertrag mitschleppen bis 0 oder. (s 1, ) (s e,1,n) Übertrag bis ans linke Ende mitgeschleppt, neue höhere Stelle borgen und 1 eintragen, danach fertig. (s 2,0) (s 2,0,L) Es gibt nichts mehr zu rechnen, nur noch wieder bis ans linke Ende marschieren. (s 2,1) (s 2,1,L) Es gibt nichts mehr zu rechnen, nur noch wieder bis ans linke Ende marschieren. (s 2, ) (s e,,r) Gerade übers linke Ende hinweg gelesen, deshalb ein Schritt zurück, stehenbleiben und fertig. 13 Grundlagen der Informatik II Tutorium 3

Aufgabe 4: Turingmaschinen b) Definieren Sie eine Turingmaschine TM 2, die rechts neben die Bandinschrift (mit E 2 = {0,1}) ein E schreibt und links neben die Bandinschrift ein A. Das Band ist nach links und rechts unbegrenzt. TM 2 startet in der Konfiguration (λ, s 0, w) mit Startzustand s 0 und stoppt in Endzustand s e. * 1 0 1 1 1 1 0 s 0 * 14 Grundlagen der Informatik II Tutorium 3

Aufgabe 4: Turingmaschinen b) Definieren Sie eine Turingmaschine TM 2, die rechts neben die Bandinschrift (mit E 2 = {0,1}) ein E schreibt und links neben die Bandinschrift ein A. Das Band ist nach links und rechts unbegrenzt. TM 2 startet in der Konfiguration (λ, s 0, w) mit Startzustand s 0 und stoppt in Endzustand s e. * 1 0 1 1 1 1 0 * s 0 Lösung: TM 2 = E 2, B 2, S 2, δ 2, s 0, F 2 E = {0,1} 2 B 2 = {0,1, A, E, } S = {s 2 0, s 1, s e } F 2 = {s e } Zustandstafel: δ 2 : (s 0, 0) (s 0, 0, L) einen Schritt nach links (s 0, 1) (s 0, 1, L) einen Schritt nach links (s 0, ) (s 1, A, R) A schreiben und nach rechts gehen (s 1, 0) (s 1, 0, R) nach rechts (s 1, 1) (s 1, 1, R) nach rechts (s 1, ) (s e, E, N) E schreiben und stehenbleiben δ 2 0 1 s 0 (s 0,0, L) (s 0,1, L) (s 1, A, R) s 1 (s 1,0, R) (s 1,1, R) (s e, E, N) MiniEx ID-8126 15 Grundlagen der Informatik II Tutorium 3

Multiple-Choice-Relax-Aufgabe Eine universelle Turingmaschine U ist in der Lage, die Kodierung einer beliebigen anderen Turingmaschine M mitsamt einer Eingabe w als Eingabe zu interpretieren und eine Berechnung von M auf w zu simulieren. WAHR FALSCH 16 Grundlagen der Informatik II Tutorium 3

Multiple-Choice-Relax-Aufgabe Eine universelle Turingmaschine U ist in der Lage, die Kodierung einer beliebigen anderen Turingmaschine M mitsamt einer Eingabe w als Eingabe zu interpretieren und eine Berechnung von M auf w zu simulieren. X WAHR FALSCH 17 Grundlagen der Informatik II Tutorium 3

Multiple-Choice-Relax-Aufgabe Eine universelle Turingmaschine U ist in der Lage, die Kodierung einer beliebigen anderen Turingmaschine M mitsamt einer Eingabe w als Eingabe zu interpretieren und eine Berechnung von M auf w zu simulieren. X WAHR FALSCH Entspannender, aber wichtiger Relax-Hintergrund: Das entspricht der Definition einer universellen Turingmaschine. 18 Grundlagen der Informatik II Tutorium 3

Einführungsaufgabe: Zeitkomplexität Was ist eine Polynomialzeitreduktion? Q f P In polynomieller Zeit berechenbar L Q g L P P, Q: L P, L Q : f, g: Probleme Mengen von Lösungen zu P bzw. Q in polynomieller Zeit berechenbare Funktionen Polynomialzeitreduzierbarkeit Q pol P: Q heißt auf P polynomialzeit-reduzierbar gdw. Q durch f in P transformiert werden kann, und jede Lösung L P von f(q) = P durch g in eine Lösung L Q von Q transformiert werden kann. 19 Grundlagen der Informatik II Tutorium 3

Aufgabe 6: Komplexität Zeigen Sie, dass polynomielle Reduzierbarkeit transitiv ist, d.h. falls Probleme A, B, C und Funktionen f, g existieren und A f B B g C und gilt, dann existiert eine Funktion h, so dass A h C. Die Funktionen f, g, h sind dabei in Polynomialzeit berechenbar. 20 Grundlagen der Informatik II Tutorium 3

Aufgabe 6: Komplexität Lösung: A f B bedeutet, dass man A durch f in B transformieren kann und die Lösung L B mit einer Funktion f in eine Lösung von A rücktransformieren kann. Es gilt also: L A = f (L B ) = f (L f (A)) mit f O(n p ), f O(n p ) Analog: L B = g (L C ) = g (L g (B)) mit g O(n q ), g O(n q ). A f B L A f Jetzt definiert man h = g f und h = f g Dann gilt: C = g(b) = g(f (A)) = h(a) und L A = f (L B ) = f (g (L C )) = h (L C ) mit h O(n p + n q ) und h O(n p + n q ) Ohne Beschränkung der Allgemeinheit sei p q und p q Dann gilt: h O(n p ) und h O(n p ) => h ist polynomialzeit-berechenbar L B 21 Grundlagen der Informatik II Tutorium 3

Multiple-Choice-Relax-Aufgabe NP-vollständige Probleme sind die schwierigsten Probleme, die es gibt. WAHR FALSCH 22 Grundlagen der Informatik II Tutorium 3

Multiple-Choice-Relax-Aufgabe NP-vollständige Probleme sind die schwierigsten Probleme, die es gibt. WAHR X FALSCH 23 Grundlagen der Informatik II Tutorium 3

Multiple-Choice-Relax-Aufgabe NP-vollständige Probleme sind die schwierigsten Probleme, die es gibt. Und wo liegt NP-vollständig im Diagramm? WAHR X FALSCH Semientsch. (E ) Entscheidbar EXPSPACE EXPTIME PSPACE Entspannender, aber wichtiger P Relax-Hintergrund: Es gibt Probleme, die nicht in NP liegen und daher noch schwieriger sind. Die meisten Probleme aus E sind nicht einmal semientscheidbar, also außerhalb des äußersten Kreises. Allerdings ist für viele der Inklusionsbeziehungen nicht bekannt, ob sie unterschiedlich sind (wichtigste Frage: P = NP?). NP 24 Grundlagen der Informatik II Tutorium 3

Einführungsaufgabe: Grammatiken Wie ist eine Grammatik aufgebaut? Wie unterscheiden sich die einzelnen Grammatiken der Chomsky-Hierarchie voneinander? G = (N, T, P, S) N: Menge der Nonterminalsymbole Bei allen Typen, außer Typ 1, sind auch Übergänge A λ erlaubt. T: Menge der Terminalsymbole P: Menge der Produktionen S: Startsymbol Unterscheidung in den erlaubten Produktionsregeln Typ Produktionsvorschrift Beispiele Typ-3 Grammatik (regulär) Typ-2 Grammatik (kontextfrei) Typ-1 Grammatik (kontextsensitiv) (monoton äquivalent) Typ-0 Grammatik (allgemein) Kontextsensitive Grammatiken sind monoton. Monotone Grammatiken können in kontextsensitive umgewandelt werden. Links darf nur ein Nonterminalzeichen stehen Rechts steht entweder ein Terminalzeichen oder ein Terminalzeichen gefolgt von einem Nonterminalzeichen Links darf nur ein Nonterminalzeichen stehen Rechter Teil beliebig Es darf nur ein Nonterminalzeichen ersetzt werden Der Kontext rechts und links neben dem Nonterminalzeichen muss erhalten bleiben Keine verkürzenden Regeln S a A aa S BASAa B A aasbb aaabb bas baa Regeln beliebig SACB XYa 25 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken a) Bringen Sie die folgende Grammatik in Chomsky-Normalform (CNF): Skript ID-8145 N = {S, A} T = {a, b, +, x} P = { S A A + S, A x aaa bab } 26 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken a) Bringen Sie die folgende Grammatik in Chomsky-Normalform (CNF): Lösung: Skript ID-8145 N = {S, A} T = {a, b, +, x} P = { S A A + S, A x aaa bab } Nach dem Verfahren aus der Vorlesung wird die vorgegebene Grammatik umgeformt in die CNF der Form: G CNF = (NCNF, T, PCNF, S) Es sind nur Regeln der Form N NN oder N T erlaubt. (1) Mache G λ-frei. (Dieser Schritt entfällt.) (2) Eliminiere reine Umbenennungen: Die einzige Umbenennung, die vorkommt ist S A. Dieses A wird ersetzt durch seine Produktionen: P = {S x aaa bab A + S, A x aaa bab} 27 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken (3) Forme so um, dass die rechte Seite entweder ein Terminalsymbol oder beliebig viele Nonterminalsymbole besitzt. P = {S x GAG BAB ACS, A x GAG BAB, G a, B b, C +} (4) Ersetze jede Regel, auf deren rechten Seite mindestens drei Nonterminalsymbole stehen. N CNF = {S, A, B, C, D, E, F, G} T = {a, b, +, x} P CNF = {S x GF BE AD, F AG, E AB, A x GF BE, G a, B b, D CS, C +} Skript ID-8151 28 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik G 2 = ( S, S, A, B, X, Y, Z, a, P, S), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ rechtslinear kontextfrei kontextsensitiv monoton S λ S a S S AAX S S A S ZB BA YAB YA AY BX λ BX BAX A a Y a Z λ 29 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik G 2 = ( S, S, A, B, X, Y, Z, a, P, S), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ rechtslinear kontextfrei kontextsensitiv monoton S λ X X S a S S AAX S S A S ZB BA YAB YA AY BX λ BX BAX A a Y a Z λ 30 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik G 2 = ( S, S, A, B, X, Y, Z, a, P, S), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ rechtslinear kontextfrei kontextsensitiv monoton S λ X X S a S S AAX S S A S ZB BA YAB YA AY BX λ BX BAX A a Y a Z λ 31 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik G 2 = ( S, S, A, B, X, Y, Z, a, P, S), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ rechtslinear kontextfrei kontextsensitiv monoton S λ X X S a X X X X S S AAX S S A S ZB BA YAB YA AY BX λ BX BAX A a Y a Z λ 32 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik G 2 = ( S, S, A, B, X, Y, Z, a, P, S), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ rechtslinear kontextfrei kontextsensitiv monoton S λ X X S a X X X X S S AAX X X X S S A S ZB BA YAB YA AY BX λ BX BAX A a Y a Z λ 33 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik G 2 = ( S, S, A, B, X, Y, Z, a, P, S), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ rechtslinear kontextfrei kontextsensitiv monoton S λ X X S a X X X X S S AAX X X X S S A X X X S ZB BA YAB YA AY BX λ BX BAX A a Y a Z λ 34 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik G 2 = ( S, S, A, B, X, Y, Z, a, P, S), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ rechtslinear kontextfrei kontextsensitiv monoton S λ X X S a X X X X S S AAX X X X S S A X X X S ZB X X X BA YAB YA AY BX λ BX BAX A a Y a Z λ 35 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik G 2 = ( S, S, A, B, X, Y, Z, a, P, S), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ rechtslinear kontextfrei kontextsensitiv monoton S λ X X S a X X X X S S AAX X X X S S A X X X S ZB X X X BA YAB YA AY BX λ BX BAX A a Y a Z λ X 36 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik G 2 = ( S, S, A, B, X, Y, Z, a, P, S), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ rechtslinear kontextfrei kontextsensitiv monoton S λ X X S a X X X X S S AAX X X X S S A X X X S ZB X X X BA YAB YA AY BX λ BX BAX A a Y a Z λ X X 37 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik G 2 = ( S, S, A, B, X, Y, Z, a, P, S), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ rechtslinear kontextfrei kontextsensitiv monoton S λ X X S a X X X X S S AAX X X X S S A X X X S ZB X X X BA YAB YA AY BX λ BX BAX A a Y a Z λ X X 38 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik G 2 = ( S, S, A, B, X, Y, Z, a, P, S), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ rechtslinear kontextfrei kontextsensitiv monoton S λ X X S a X X X X S S AAX X X X S S A X X X S ZB X X X BA YAB YA AY BX λ BX BAX X X A a Y a Z λ X X 39 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik G 2 = ( S, S, A, B, X, Y, Z, a, P, S), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ rechtslinear kontextfrei kontextsensitiv monoton S λ X X S a X X X X S S AAX X X X S S A X X X S ZB X X X BA YAB YA AY BX λ BX BAX X X A a X X X X Y a Z λ X X 40 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik G 2 = ( S, S, A, B, X, Y, Z, a, P, S), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ rechtslinear kontextfrei kontextsensitiv monoton S λ X X S a X X X X S S AAX X X X S S A X X X S ZB X X X BA YAB YA AY BX λ BX BAX X X A a X X X X Y a X X X X Z λ X X 41 Grundlagen der Informatik II Tutorium 3

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik G 2 = ( S, S, A, B, X, Y, Z, a, P, S), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ rechtslinear kontextfrei kontextsensitiv monoton S λ X X S a X X X X S S AAX X X X S S A X X X S ZB X X X BA YAB YA AY BX λ BX BAX X X A a X X X X Y a X X X X Z λ X X X X 42 Grundlagen der Informatik II Tutorium 3

Multiple-Choice-Relax-Aufgabe Eine kontextfreie Grammatik kann nie durch einen endlichen Automaten dargestellt werden. WAHR FALSCH 43 Grundlagen der Informatik II Tutorium 3

Multiple-Choice-Relax-Aufgabe Eine kontextfreie Grammatik kann nie durch einen endlichen Automaten dargestellt werden. WAHR X FALSCH 44 Grundlagen der Informatik II Tutorium 3

Multiple-Choice-Relax-Aufgabe Eine kontextfreie Grammatik kann nie durch einen endlichen Automaten dargestellt werden. WAHR X FALSCH Entspannender, aber wichtiger Relax-Hintergrund: Typ 3 (von EA erkennbar) ist Teilmenge von Typ 2 (kontextfrei). Nur weil eine Grammatik kontextfrei ist, heißt das also noch lange nicht, dass es für die Sprache L(G) keine Grammatik gibt, die rechtslinear ist. 45 Grundlagen der Informatik II Tutorium 3

Multiple-Choice-Relax-Aufgabe Für eine reguläre Sprache gilt das Pumping-Lemma für kontextfreie Sprachen. WAHR FALSCH 46 Grundlagen der Informatik II Tutorium 3

Multiple-Choice-Relax-Aufgabe Für eine reguläre Sprache gilt das Pumping-Lemma für kontextfreie Sprachen. X WAHR FALSCH 47 Grundlagen der Informatik II Tutorium 3

Multiple-Choice-Relax-Aufgabe Für eine reguläre Sprache gilt das Pumping-Lemma für kontextfreie Sprachen. X WAHR FALSCH Entspannender, aber wichtiger Relax-Hintergrund: L 3 regulär L 2 (kontextfrei) L 1 (kontextsensitiv) L 0 (allgemein) P(E ) Da die Sprache regulär ist, ist sie auch kontextfrei und demnach ist auch das Pumping- Lemma für kontextfreie Sprachen erfüllt (das Pumping-Lemma für reguläre Sprachen natürlich auch). 48 Grundlagen der Informatik II Tutorium 3