Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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.

Ähnliche Präsentationen


Präsentation zum Thema: "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."—  Präsentation transkript:

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 zur Vorl. Autom. form. Spr. u. Berechenb. Weitere Unterlagen auf der Webseite dieser Vorlesung)

2

3

4

5

6

7

8

9

10

11

12

13

14

15 Ä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

16

17

18

19

20

21

22

23

24

25

26

27

28

29 Ä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

30 Definitionsmethoden für formale Sprachen - Beispiel Dyck-Sprache D 1 über einem Klammerpaar {a, b} (A) Beschreibende Definitionen: (1)D 1 := { w {a, b}* | In jedem Präfix von w kommen mindestens so viele as vor wie bs, und in jedem Suffix von w kommen mindestens so viele bs vor wie as } (2) D 1 := { w {a, b}* | In jedem Präfix von w kommen mindestens so viele as vor wie bs, und in w selbst sind diese Anzahlen gleich } [ Das entspricht der saloppen Beschreibung von D 1 als Menge aller wohlgeformten 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 as als bs enthalten kann, weil sonst w mehr as als bs enthielte.

31 (B) Induktive Definitionen (1) D 1 sei die kleinste Teilmenge von {a, b}* mit (i) D 1 (ii) Wenn u und v in D 1 liegen, so sollen auch uv und aub in D 1 liegen. (2) D 1 sei die kleinste Teilmenge von {a, b}* mit (i) D 1 (ii) Für jedes w D 1 und jede Zerlegung w = uv gilt uabv D 1 Ä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 D 1 und w = uv. Dann liegt auch v in D 1. Ist u = w, so gilt w = awb mit w D 1. Erfülle w die Def. (A) (1). Für jede Zerlegung w = uv gilt dann: Das Wort uabv Erfüllt die Def. (A) (1).

32 (C) Rekursive Definition - durch Kürzungsregeln D 1 := { 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 D 1, wenn man es zu reduzieren kann, indem man sukzessive ab durch ersetzt. (D) Definition durch einen Erzeugungsmechanismus (1) D 1 = L(G), wobei G eine kontextfreie Grammatik ist - mit den Produktionen S SS | aSb | (2) D 1 = 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.

33 (E) Definition durch Erkennungs-/Akzeptierungsverfahren (1)D 1 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) D 1 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 D 1 verwendeten Kellerautomaten.

34

35

36

37

38

39


Herunterladen ppt "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."

Ähnliche Präsentationen


Google-Anzeigen