39
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02 zur Vorl. Autom. form. Spr. u. Berechenb. Weitere Unterlagen auf der Webseite dieser Vorlesung)

Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02

Embed Size (px)

Citation preview

Page 1: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02

Automaten, formale Sprachen und Berechenbarkeit II

SoSe 2004Prof. W. Brauer

Teil 1: Wiederholung(Vor allem Folien von Priv.-Doz. Dr. Kindler vom

WS 2001/02 zur Vorl. Autom. form. Spr. u. Berechenb. Weitere Unterlagen auf der Webseite

dieser Vorlesung)

Page 2: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 3: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 4: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 5: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 6: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 7: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 8: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 9: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 10: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 11: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 12: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 13: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 14: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 15: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02

Äquivalente Konzepte zur Beschreibung regulärer Sprachen

(N)DEA Wege in endlichen (Kanten- oder Knoten-bewerteten) Graphen

Zweiweg-Automaten „Lesen“ von Wörtern bei festen Speicherplatz

Reguläre Ausdrücke Termdarstellung von Mengen von Wörtern mithilfe von Operatoren (+, •, *) [nichtdet. Spezifikation von Mengen von Abläufen: Alternative, Nacheinander, Iteration/FOR-Schleife]

Lineare Gleichungssysteme Verwendung obiger Operatoren

Kongruenzrelationen auf ∑*, endliche Monoide

Chomsky-Grammatik vom Typ 3

Page 16: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 17: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 18: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 19: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 20: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 21: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 22: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 23: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 24: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 25: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 26: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 27: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 28: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 29: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02

Äquivalente Konzepte zur Beschreibung kontextfreier Sprachen

(N)DKA Wege in endlich vielen endlichen Kanten-bewerteten Graphen, die sich gegenseitig aufrufen können (Unterprogrammtechnik) - Syntaxdiagramme

Keller-Automaten „Lesen“ von Wörtern bei Speicherplatz mit Kellereigenschaft

Kontextfreie Ausdrücke Termdarstellung von Mengen von Wörtern mithilfe von Operatoren (+, •, *, spezielle iterierte Substitution) [nichtdet. Spezifikation von Mengen von Abläufen: Alternative, Nacheinander, Iteration, rekursive Aufrufe]

Algebraische Gleichungssysteme Verwendung von +, •, *

(Kongruenzrelationen auf Term-Algebren: Terme ~ Bäume )

Chomsky-Grammatik vom Typ 2

Page 30: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02

Definitionsmethoden für formale Sprachen - BeispielDyck-Sprache D1 über einem Klammerpaar {a, b}

(A) Beschreibende Definitionen:(1) D1 := { w {a, b}* | In jedem Präfix von w kommen mindestens so viele a‘s vor wie b‘s, und in jedem Suffix von w kommen mindestens so viele b‘s vor wie a‘s }

(2) D1 := { w {a, b}* | In jedem Präfix von w kommen mindestens so viele a‘s vor wie b‘s,

und in w selbst sind diese Anzahlen gleich }[ Das entspricht der saloppen Beschreibung von D1 als Menge allerwohlgeformten Klammerausdrücke. ]Äquivalenz der beiden Def. , Beweisskizze: - Aus Def. (1) folgt Def. (2), weil w sowohl Präfix als auch Suffix von w ist.

- Aus Def. (2) folgt für jedes Suffix v von w, dass ein Präfix u von w existiert mit w = uv, so dass v nicht mehr a‘s als b‘s enthalten kann, weil sonst w

mehr a‘s als b‘s enthielte.

Page 31: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02

(B) Induktive Definitionen

(1) D1 sei die kleinste Teilmenge von {a, b}* mit

(i) D1

(ii) Wenn u und v in D1 liegen, so sollen auch uv und aub in D1 liegen.

(2) D1 sei die kleinste Teilmenge von {a, b}* mit

(i) D1

(ii) Für jedes w D1 und jede Zerlegung w = uv gilt uabv D1

Äquivalenzbeweis: Erfüllt eine Sprache (B) (i) mit i = 1 oder i = 2, so ist sie Teil einer nach (A) definierten Sprache.

Erfülle w die Def. (A) (2). Sei u das kürzeste Präfix von w mit u D1 undw = uv. Dann liegt auch v in D1. Ist u = w, so gilt w = aw‘b mit w‘ D1 .

Erfülle w die Def. (A) (1). Für jede Zerlegung w = uv gilt dann: Das Wort uabvErfüllt die Def. (A) (1).

Page 32: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02

(C) Rekursive Definition - durch Kürzungsregeln

D1 := { w | p(w) = true }, wobei p folgendes Prädikat ist:

p(w) := if w = then true else ( u,v: w = uabv) p(uv) fi.

Bemerkung: Diese Def. Ist „spiegelbildlich“ zu Def. (B) (2) - sie ist „abbauend“, die andere war „aufbauend“. Nach dieser Def. gehört ein Wort zu D1, wenn man

es zu reduzieren kann, indem man sukzessive ab durch ersetzt.

(D) Definition durch einen Erzeugungsmechanismus

(1) D1 = L(G), wobei G eine kontextfreie Grammatik ist - mit den Produktionen

S SS | aSb | (2) D1 = L(G), wobei G eine kontextfreie Grammatik ist - mit den Produktionen

S aSbS | Äquivalenz: (1) entspricht sehr genau (B) (1).Alles, was mit (2) erzeugbar ist, ist es auch mit (1). (Ersetze das erste S in SS durch aSb). Aus SS erhält man mit (2) nur dann ein Terminalwort, wenn man

das erste S durch aSb oder ersetzt.

Page 33: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02

(E) Definition durch Erkennungs-/Akzeptierungsverfahren

(1) D1 besteht aus allen Wörtern w {a, b}*, die wie folgt akzeptiert werden: Sei k eine integer-Variable mit Startwert 0; w werde zeichenweise von links

nach rechts gelesen: while w noch nicht ganz gelesen do lese nächstes Zeichen z; if z=a then k := k + 1 else if k ≠ 0 then k:= k - 1 else w wird nicht akzeptiert fi fi od; if k=0 then w wird akzeptiert else w wird nicht akzeptiert fi Das Verfahren entspricht genau Def. (A) (2).

(2) D1 besteht aus allen Wörtern w {a, b}*, die wie folgt akzeptiert werden:

while w ≠ do Suche in w das am weitesten links stehende b und streiche es sowie das links daneben stehende a - findet man kein b oder steht kein a links von dem b, so wird w nicht akzeptiert od; w wird akzeptiert.

Das Verfahren entspricht ziemlich genau der Arbeitsweise des üblicherweise

zur Akzeptierung von D1 verwendeten Kellerautomaten.

Page 34: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 35: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 36: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 37: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 38: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02
Page 39: Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02