Einführung in die Theoretische Informatik

Ähnliche Dokumente
Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik

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

Automaten und formale Sprachen Notizen zu den Folien

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

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

Zentralübung zur Vorlesung Theoretische Informatik

Einführung in die Theoretische Informatik

Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An

Automaten und formale Sprachen Notizen zu den Folien

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik

DisMod-Repetitorium Tag 4

I.5. Kontextfreie Sprachen

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

Automatentheorie und formale Sprachen

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

Theoretische Grundlagen der Informatik

Übungsaufgaben zu Formalen Sprachen und Automaten

F2 Zusammenfassung Letzte Tips zur Klausur

FORMALE SYSTEME. Der Satz von Myhill und Nerode. Automaten verkleinern mit Quotientenbildung. Verschiedene Äquivalenzrelationen

(Prüfungs-)Aufgaben zu formale Sprachen

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 2 Lösungen. Wiederholung: von einer Grammatik erzeugte Sprache

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

Einführung in die Theoretische Informatik

Kontextfreie Sprachen Kontextfreie Sprachen und Grammatiken. Satzformen sind die Wörter aus (N T ). Notation: Wir verwenden oft

Einführung in die Computerlinguistik

Theoretische Grundlagen der Informatik

Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann

1. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Theoretische Informatik I

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

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

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Satz (Abschluß unter der Stern-Operation)

Teil IV. Kontextfreie Sprachen, Teil 4: Kellerautomaten

Formale Grundlagen der Wirtschaftsinformatik

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

Einführung in die Theoretische Informatik

Theoretische Informatik

Kontextfreie Sprachen werden von PDAs akzeptiert

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19.

Übersicht. 3 3 Kontextfreie Sprachen

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai HA-Lösung. TA-Lösung

THIA - Übungsblatt 2.

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

Theoretische Grundlagen der Informatik

Tutoraufgabe 1 (ɛ-produktionen):

Theoretische Grundlagen des Software Engineering

(e) E = {(ba n b) n n N 0 }

Kapitel IV Formale Sprachen und Grammatiken

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

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen

Informatik 3 Theoretische Informatik WS 2015/16

Formale Methoden 1. Gerhard Jäger 16. Januar Uni Bielefeld, WS 2007/2008 1/19

Theoretische Grundlagen der Informatik

Lösungen zum Ergänzungsblatt 2

Grundlagen der theoretischen Informatik

Sprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri

Grundbegriffe der Informatik Tutorium 12

Das Halteproblem für Turingmaschinen

1 Automatentheorie und Formale Sprachen

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 20.

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

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

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

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken

Informatik III. Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Theorie der Informatik

Theoretische Informatik. Alphabete, Worte, Sprachen

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

Grundbegriffe der Informatik Tutorium 11

Das Pumping-Lemma Formulierung

Theoretische Grundlagen der Informatik

Automaten und formale Sprachen Klausurvorbereitung

Informatik III - WS07/08

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

Theoretische Informatik und Logik Übungsblatt 2 (2017S) Lösung

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

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Theorie der Informatik

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

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

2. Schriftliche Leistungskontrolle (EK)

Musterlösung Informatik-III-Nachklausur

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Deterministischer Kellerautomat (DPDA)

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

Alphabet, formale Sprache

Formale Systeme, Automaten, Prozesse SS 2010 Musterlösung - Übung 9 M. Brockschmidt, F. Emmes, C. Fuhs, C. Otto, T. Ströder

Transkript:

echnische Universität München Fakultät für Informatik Prof. obias Nipkow, Ph.D. ascha öhme, Lars Noschinski ommersemester 2011 Lösungsblatt 5 6. Juni 2011 Einführung in die heoretische Informatik Hinweis: itte beachten ie unbedingt die Hinweise zum Übungsablauf und zu den Aufgabentypen auf der HEO-Website (http://theo.in.tum.de/). Hausaufgabe 1 (5 Punkte) etrachten ie die prache L = L(a b b a ) über Σ = {a, b}. Geben ie dazu einen minimalen DFA an und verwenden ie diesen, um alle Äquivalenzklassen von L zu bestimmen und jede durch einen regulären Ausdruck zu beschreiben. Die prache L wird durch folgenden DFA A akzeptiert: a b q 0 a b q 1 b q 2 b a q 3 a q 4 a b a,b q 5 0 2/b 1 1/a 1/a 2 2/a 2/a 1/a 3 1/b 1/b 1/a 1/b 4 X X X X X 5 Wie man an der nebenstehenden abelle sehen kann, sind keine zwei ustände äquivalent, also ist der Automat minimal. ezeichne δ die Übergangsrelation unseres Automaten A. Wir wissen daher: Die Äquivalenzklassen der prache entsprechen den uständen des Automaten. Formal: Für zwei Wörter u, v Σ gilt: [u] L [v] ˆδ(q 0, u) A ˆδ(q0, v) ˆδ(q 0, u) = ˆδ(q 0, v) Der letzte chritt gilt, da A minimal ist. Die prachäquivalenzklasse zum ustand q i entspricht also genau der prache L(A i ) zum Automaten A i = ({q 0,, q 5 }, Σ, δ, {q i }). Für diese prachen können wir leicht reguläre Ausdrücke bestimmen: [ɛ] : ɛ [a] : a + [b] : b + [ab] : a + b + [ba] : b + a + [aba] : Σ (ab + a ba + b)σ sind die Äquivalenzklassen von L.

Hausaufgabe 2 (5 Punkte) Wir betrachten die prache L = L(a b c ) \ {a n b n c n Σ = {a, b, c}. n 0} über dem Alphabet 1. eigen ie, dass L kontextfrei ist, indem ie eine kontextfreie Grammatik G für diese prache angeben. Ein eweis, dass L(G) = L ist, wird nicht erwartet. 2. Geben ie je eine G-Ableitung für die Wörter abbcc und abccc an. 1. Eine mögliche Grammatik ist G = ({, ab, ac, bc, A,, C}, Σ, P, }, wobei P aus den folgenden Produktionen besteht: ab C ac A bc ab a ab b aa b ac a ac c aa cc bc b bc c b cc A aa ɛ b ɛ C cc ɛ Die drei -Produktionen unterscheiden dabei die prachen, in denen a und b bzw. a und c bzw. b und c in unterschiedlicher Anzahl vorkommen. Da für jedes Wort in L aber entweder # a (w) # b (w) oder # b (w) # c (w) gilt (denn sonst wäre # a (w) = # b (w) = # c (w)), reicht es aus, diese zwei Fälle zu unterscheiden. Eine solche vereinfachte Grammatik ist z.. G = (V, Σ, P, } mit V = {, ab, bc, A,, C} und den Produktionen P : ab C A bc ab a ab b aa b bc b bc c b cc A aa ɛ b ɛ C cc ɛ 2. Ableitungen für G : abbcc: ab C ab cc ab ccc ab cc a ab bcc abbcc abbcc abccc: A bc aa bc a bc ab bc c abccc abcccc abccc 2

Hausaufgabe 3 (5 Punkte) ei Σ = {0, 1}. Die zwei Operationen piegelung (w R ) und Negation (w) sind für w Σ wie folgt definiert: { w R ɛ, falls w = ɛ = u R a, falls w = au für a Σ und u Σ { ɛ, falls w = ɛ w = âu, falls w = au für a Σ und u Σ Dabei setzen wir ˆ0 = 1 und ˆ1 = 0. Wie man leicht (etwa per Induktion) zeigen kann, gelten für diese Operationen auch die Gleichungen (ua) R = au R und ua = uâ für alle a Σ, u Σ. Im Folgenden nehmen wir diese Identitäten als bewiesen an. Wir betrachten nun die prache L = {w Σ w R = w} und die Grammatik G = ({}, Σ, { 01 10 ɛ}, ). eigen ie: L ist genau die von der Grammatik G beschriebene prache. Wie in der Vorlesung gezeigt, gehört zu der Grammatik G auch eine induktive Definition von L(G) als kleinste Menge, die die folgenden Eigenschaften aufweist: ɛ L(G) w L(G) 0w1 L(G) w L(G) 1w0 L(G) Daraus ergibt sich auch das folgende Induktionsprinzip über die Ableitung eines Wortes w in G: ei Q eine Eigenschaft von Wörtern aus Σ. Gelten Q(ɛ) und für alle Wörter w Σ sowohl Q(w) Q(0w1) als auch Q(w) Q(1w0), dann gilt Q(w) für alle w L(G). Wir müssen L = L(G) zeigen. Dazu zeigen wir die Aussagen w L(G) w L und w L w L(G) für alle w Σ. 1. w L(G) w L. Wir beweisen diesen Fall per Induktion über die Ableitung von w in G. Dabei ist Q(w) die Eigenschaft w L. w = ɛ: Es gilt ɛ R = ɛ = ɛ und damit ɛ L. w L 0w1 L: Es gilt und damit 0w1 L. (0w1) R = (w1) R 0 = 1w R 0 w L = 1w0 = ˆ0wˆ1 = 0wˆ1 = 0w1 w L 1w0 L: Dieser Fall wird vollkommen analog zum vorherigen Fall bewiesen, wobei 0 und 1 vertauscht werden. 2. w L w L(G). eweis per Induktion über die Länge von w. w = 0: Dann ist w = ɛ und damit w L(G). 3

w = 1: Dann ist w = w R, aber w w (denn ˆ0 0 und ˆ1 1). Also ist w L, und damit gilt auch w L w L(G). w 2: Dann hat w die Form w = aub für gewisse a, b Σ und u Σ, und es gilt bu R a = (ub) R a = (aub) R w L = aub = âub = âuˆb und damit b = â und u R = u. Da u < w folgt u L(G) nach Induktionshypothese. Weiterhin ist w = aub = auâ, also entweder w = 0u1 oder w = 1u0, und mit u L(G) gilt dann w L(G). Hausaufgabe 4 (5 Punkte) Die yntax imperativer Programmiersprachen kann in vielen Fällen durch eine kontextfreie Grammatik beschrieben werden. Wir betrachten hier eine eingeschränkte prache, die nur aus zwei -Varianten und einer (unspezizierten) Anweisung besteht. 1. eigen ie, dass die Grammatik G mit den folgenden Produktionen nicht eindeutig ist, indem ie für ein Wort mindestens zwei unterschiedliche yntaxbäume in G angeben: false 2. Wir betrachten nun die Grammatik G mit den folgenden Produktionen: false Entscheiden ie, ob diese Grammatik ein- oder mehrdeutig ist und begründen ie. 1. Das folgende Programm kann auf zwei Arten in G abgeleitet werden: false false 4

false 2. Auch diese Grammatik ist nicht eindeutig, denn das Wort false kann auf zwei verschiedene Arten in G abgeleitet werden: false false 5

Quiz 1 eantworten ie kurz die folgenden Fragen: 1. Kann man mit einem regulären Ausdruck kontextfreie Grammatiken beschreiben? 2. Wie kann man entscheiden, ob die prache einer CFG endlich ist? 1. Ja. um eispiel mit α = ( A ) (( A a b) + ˆɛ) kann man eine Produktion darstellen, wobei, A und die zulässigen Nichtterminale und a und b die zulässigen Eingabezeichen sind und ˆɛ für eine leere rechte eiter einer Produktion steht. Mit einem rennzeichen, zum eispiel einem Komma, kann man eine Liste von Produktionen beschreiben, also durch α(, α). 2. Analog zu endlichen Automaten überprüft man, ob erreichbare, produktive Nichtterminale an yklen beteiligt sind. Die von der Grammatik beschriebene prache ist genau dann endlich, wenn dies nicht der Fall ist. utoraufgabe 1 ei Σ = {a, b}. 1. Finden ie eine Grammatik G, so dass L(G) = {w Σ # a (w) = 2 # b (w)}. 2. eigen ie die Korrektheit Ihrer Grammatik, d.h., zeigen ie, dass für alle ableitbaren Wörter w L(G) die eziehung # a (w) = 2 # b (w) gilt. 3. eigen ie, dass alle Wörter (ab) n a n für n 0 in G ableitbar sind. 1. Eine mögliche Lösung ist die Grammatik G = ({}, Σ, P, ) mit den folgenden Produktionen: aab aba baa ɛ 2. Induktion über die Erzeugung von w L(): ɛ: Dann ist w = ɛ, und die ehauptung gilt offensichtlich. aab: ei w = auavb mit u, v L(). Nach Induktionshypothese gilt die ehauptung für u und v, und damit ist auch # a (w) = # a (u) + # a (v) + 2 = 2 (# b (u) + # b (v) + 1) = 2 # b (w) Die Fälle aba und baa sowie sind analog. 3. Induktion über n: n = 0: Dann gilt (ab) 0 a 0 = ɛ, und mit der Produktion ɛ ist das leere Wort ableitbar in G. n n + 1: Nach Induktionshypothese gilt G (ab)n a n. Dann gilt auch G aba G aba G ab(ab) n a n a G (ab) n+1 a n+1 6

utoraufgabe 2 ei Σ = {0, 1, (, ), +,,, ɛ} die eichenmenge, aus der reguläre Ausdrücke über dem Alphabet {0, 1} gebildet werden. Wir schreiben hier + anstelle von, um eichenverwirrungen zu vermeiden. 1. Geben ie eine kontextfreie Grammatik an, die die Menge der regulären Ausdrücke über dem Alphabet {0, 1} beschreibt. 2. Ist Ihre Grammatik eindeutig? Falls nicht, geben ie eine eindeutige Grammatik an, die die indungstärken in regulären Ausdrücken respektiert (also Konkatenation stärker als + bindet). 3. Geben ie den yntaxbaum für das Wort 01 0 +1 mit Ihrer eindeutigen Grammatik an. 1. Die Menge der regulären Ausdrücke ist bereits induktiv definiert, und eine solche Definition kann man als Grammatik G = ({R}, Σ, P, R) mit folgenden Produktionen auffassen: R 0 1 ɛ RR R + R R (R) 2. Die obige Grammatik ist nicht eindeutig, da z.. der Ausdruck 0 + 00 zwei yntaxbäume hat, die jeweils der Klammerung 0 + (00) bzw. (0 + 0)0 entsprechen. Eine eindeutige Grammatik erhält man, indem man mehrere Nichtterminale verwendet ähnlich wie in eispiel 3.3 aus der Vorlesung. Wir setzen G = ({A, K, }, Σ, P, A) mit den Produktionen A K K + A K K 0 1 ɛ (A) Diese Grammatik ist eindeutig, denn jedes Wort w in L(G ) ist entweder eine Alternative oder es ist keine Alternative. Es steht also fest, ob die erste angewandte Produktion A K + A oder A K ist, und nur eine der beiden Produktionen kann als erstes angewandt werden. Entsprechendes gilt für w L(K) und die Konkatenation. ei allen Ableitungen von Wörtern w L() aus der Variablen ist ebenfalls die erste Produktionsanwendung durch w vorgegeben. 7

3. Der yntaxbaum sieht mit G wie folgt aus: A K + A K K 0 K 1 1 0 utoraufgabe 3 ei G = (V, Σ, P, ) eine kontextfreie Grammatik. eigen ie, dass für alle α, β, u, v (Σ V ) gilt: 1. α G β = uαv G uβv (Abschluss von G unter Kontext) 2. α n G β = uαv n G uβv (Abschluss von n G unter Kontext) 1. Wenn α G β, dann gibt es nach Def. 3.4 eine Regel A γ P und Wörter α 1, α 2 (über V Σ), so dass α = α 1 Aα 2 und β = α 1 γα 2. Dann gilt aber auch uαv = (uα 1 )A(α 2 v) und uβv = (uα 1 )γ(α 2 v) und damit uαv G uβv. 2. Die zuvor gezeigte Eigenschaft übertragen wir mit Induktion über n auf die Mehrschrittrelation n G : n = 0: Aus α 0 G β folgt α = β, also uαv = uβv und daher uαv 0 G uβv. n n + 1: Wenn α n+1 G β, dann α n G γ G β laut Definition von n G. Allgemeiner gilt dann auch uαv n G uγv G uβv aufgrund der Induktionshypothese und des Abschlusses von G unter Kontext. Damit folgt dann uαv n+1 G uβv aus der Definition von n G. 8