Vorkurs Theoretische Informatik - Einführung in reguläre ... ·...
Transcript of Vorkurs Theoretische Informatik - Einführung in reguläre ... ·...
![Page 1: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/1.jpg)
Vorkurs Theoretische InformatikEinführung in reguläre Sprachen
Arbeitskreis Theo VorkursDonnerstag, 15.10.2020
Fachgruppe Informatik
![Page 2: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/2.jpg)
Übersicht
1. Chomsky-Hierachie
2. Automaten
NEA
DEA
3. Wiederholung
Fachgruppe Informatik 2 Vorkurs Theoretische Informatik
![Page 3: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/3.jpg)
Chomsky-Hierarchie
![Page 4: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/4.jpg)
Manche Sprachen sind schwerer zu beschreiben als andere
Wenn wir unsere Grammatiken einschränken, können wir nicht mehralle Sprachen beschreiben.
BeispielMit der EinschränkungAlle Produktionsregeln müssen der Form A→ a oder A→ aBentsprechen, wobei A, B ∈ V und a ∈ Σ.können wir Sprachen wie L1 = {an | n ∈ N} beschreiben,aber nicht mehr Sprachen wie L1 = {anbn | n ∈ N}.Achtung: ist ε ∈ L, ist auch S→ ε erlaubt, sofern S nicht auf derrechten Seite einer Produktion vorkommt.
Sprachen, die wir mit dieser starken Einschränkung beschreibenkönnen, nennen wir regulär oder vom Typ 3.Es gibt weitere Typen Mehr dazu in der Vorlesung
Fachgruppe Informatik 4 Vorkurs Theoretische Informatik
![Page 5: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/5.jpg)
Manche Sprachen sind schwerer zu beschreiben als andere
Fachgruppe Informatik 5 Vorkurs Theoretische Informatik
![Page 6: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/6.jpg)
Reguläre Grammatik
AufgabenFinde eine reguläre Grammatik für die folgenden Sprachen
Normal
• L1 = {a2n | n ∈ N}• L2 = {anbm | n,m ∈ N}• L3 = {uv | u ∈ {a,b}∗, v ∈ {c,d}}• L4 = {w | |w| = 3,w ∈ {a,b, c}∗}
Etwas Schwerer
• L5 = {an | n ≡ 1 mod 3}• L6 = {uv | u ∈ {¶, º, ·, »}∗, v ∈ {!}}• L7 = {w ∈ {a,b, c}∗ | |w|a = 3, |w|b = 1}
Fachgruppe Informatik 6 Vorkurs Theoretische Informatik
![Page 7: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/7.jpg)
Lösung
• P1 = {S→ aA | ε, A→ aB | a, B→ aA}
• P2 = {S→ aA | bB | b | a | ε, A→ aA | bB | b | a, B→ bB | b}• P3 = {S→ aS | bS | c | d}• P4 = {S→ aA | bA | cA, A→ aB | bB | cB, B→ a | b | c}• P5 = {S→ aA | a, A→ aB, B→ aS}• P6 = {S→ ¶S | ºS | ·S | »S | !}
Fachgruppe Informatik 7 Vorkurs Theoretische Informatik
![Page 8: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/8.jpg)
Lösung
• P1 = {S→ aA | ε, A→ aB | a, B→ aA}• P2 = {S→ aA | bB | b | a | ε, A→ aA | bB | b | a, B→ bB | b}
• P3 = {S→ aS | bS | c | d}• P4 = {S→ aA | bA | cA, A→ aB | bB | cB, B→ a | b | c}• P5 = {S→ aA | a, A→ aB, B→ aS}• P6 = {S→ ¶S | ºS | ·S | »S | !}
Fachgruppe Informatik 8 Vorkurs Theoretische Informatik
![Page 9: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/9.jpg)
Lösung
• P1 = {S→ aA | ε, A→ aB | a, B→ aA}• P2 = {S→ aA | bB | b | a | ε, A→ aA | bB | b | a, B→ bB | b}• P3 = {S→ aS | bS | c | d}
• P4 = {S→ aA | bA | cA, A→ aB | bB | cB, B→ a | b | c}• P5 = {S→ aA | a, A→ aB, B→ aS}• P6 = {S→ ¶S | ºS | ·S | »S | !}
Fachgruppe Informatik 9 Vorkurs Theoretische Informatik
![Page 10: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/10.jpg)
Lösung
• P1 = {S→ aA | ε, A→ aB | a, B→ aA}• P2 = {S→ aA | bB | b | a | ε, A→ aA | bB | b | a, B→ bB | b}• P3 = {S→ aS | bS | c | d}• P4 = {S→ aA | bA | cA, A→ aB | bB | cB, B→ a | b | c}
• P5 = {S→ aA | a, A→ aB, B→ aS}• P6 = {S→ ¶S | ºS | ·S | »S | !}
Fachgruppe Informatik 10 Vorkurs Theoretische Informatik
![Page 11: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/11.jpg)
Lösung
• P1 = {S→ aA | ε, A→ aB | a, B→ aA}• P2 = {S→ aA | bB | b | a | ε, A→ aA | bB | b | a, B→ bB | b}• P3 = {S→ aS | bS | c | d}• P4 = {S→ aA | bA | cA, A→ aB | bB | cB, B→ a | b | c}• P5 = {S→ aA | a, A→ aB, B→ aS}
• P6 = {S→ ¶S | ºS | ·S | »S | !}
Fachgruppe Informatik 11 Vorkurs Theoretische Informatik
![Page 12: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/12.jpg)
Lösung
• P1 = {S→ aA | ε, A→ aB | a, B→ aA}• P2 = {S→ aA | bB | b | a | ε, A→ aA | bB | b | a, B→ bB | b}• P3 = {S→ aS | bS | c | d}• P4 = {S→ aA | bA | cA, A→ aB | bB | cB, B→ a | b | c}• P5 = {S→ aA | a, A→ aB, B→ aS}• P6 = {S→ ¶S | ºS | ·S | »S | !}
Fachgruppe Informatik 12 Vorkurs Theoretische Informatik
![Page 13: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/13.jpg)
Lösung
• P7 = {S→ cS | aA1 | bB0,A1 → cA1 | aA2 | bB1,A2 → cA2 | aA3 | bB2,A3 → cA3 | bB3 | b,B0 → cB0 | aB1,B1 → cB1 | aB2,B2 → cB2 | aB3 | a,B3 → cB3 | c}
Fachgruppe Informatik 13 Vorkurs Theoretische Informatik
![Page 14: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/14.jpg)
Murmelpause
Fachgruppe Informatik 14 Vorkurs Theoretische Informatik
![Page 15: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/15.jpg)
Automaten
![Page 16: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/16.jpg)
Reguläre Sprachen anders beschreiben
Wir können reguläre Sprachen auch graphisch beschreiben.Dafür nutzen wir endliche Automaten.Ein Automat prüft Wörter und entscheidet, ob sie Teil der Sprachesind oder nicht. Wir nennen das akzeptieren, bzw. nicht akzeptieren.
Funktionsweise
1. Ein Wort wird in den Automat eingegeben2. Wort wird zeichenweise abgearbeitet3. Nach jedem Zeichen wird der Automat in einen Zustandüberführt, der bestimmt, wie fortgefahren wird
4. Befindet sich der Automat in einem Endzustand, sobald dasWort abgearbeitet wurde, akzeptiert der Automat das Wort.
Fachgruppe Informatik 16 Vorkurs Theoretische Informatik
![Page 17: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/17.jpg)
Bestandteile eines endlichen Automaten
Der Automat kann als gerichteter Graph notiert werden.Wir konstruieren ihn aus den folgenden Komponenten:
StartzustandIm Startzustand wird das Wort eingegeben.
q0start
Fachgruppe Informatik 17 Vorkurs Theoretische Informatik
![Page 18: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/18.jpg)
Bestandteile eines endlichen Automaten
Der Automat kann als gerichteter Graph notiert werden.Wir konstruieren ihn aus den folgenden Komponenten:
ZustandsübergangWird das Zeichen auf dem Übergang gelesen, geht der Automat inden folgenden Zustand über.
qi qja
Fachgruppe Informatik 18 Vorkurs Theoretische Informatik
![Page 19: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/19.jpg)
Bestandteile eines endlichen Automaten
Der Automat kann als gerichteter Graph notiert werden.Wir konstruieren ihn aus den folgenden Komponenten:
EndzustandFalls sich der Automat in diesem Zustand befindet, und das Wortabgearbeitet ist, wird das Wort akzeptiert.
qE
Anmerkung: Unter Umständen sind mehrere hiervon nötig
Fachgruppe Informatik 19 Vorkurs Theoretische Informatik
![Page 20: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/20.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qEa
a,b
b
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 20 Vorkurs Theoretische Informatik
![Page 21: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/21.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qEa
a,b
b
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 21 Vorkurs Theoretische Informatik
![Page 22: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/22.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qEa
a,b
b
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 22 Vorkurs Theoretische Informatik
![Page 23: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/23.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qEa
a,b
b
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 23 Vorkurs Theoretische Informatik
![Page 24: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/24.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qEa
a,b
b
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 24 Vorkurs Theoretische Informatik
![Page 25: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/25.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qEa
a,b
b
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 25 Vorkurs Theoretische Informatik
![Page 26: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/26.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qEa
a,b
b
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 26 Vorkurs Theoretische Informatik
![Page 27: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/27.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qEa
a,b
b
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 27 Vorkurs Theoretische Informatik
![Page 28: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/28.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qEa
a,b
b
Worteingabe:aababb ∈ L akzeptiert
Fachgruppe Informatik 28 Vorkurs Theoretische Informatik
![Page 29: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/29.jpg)
Beispiel: Automat
Gegeben ist eine Sprache L. Gesucht ist ein Automat M, der genau dieWörter aus L akzeptiert.
L1 = {uv | u ∈ {a,b}∗, v ∈ {c,d}}
q0start q1c,d
a,b
Fachgruppe Informatik 29 Vorkurs Theoretische Informatik
![Page 30: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/30.jpg)
Denkpause
knifflige AufgabeWir entwerfen einen Automat zur Aufzugskontrolle. Der Aufzug hat folgendeMöglichkeiten:Σ = { EG↗1.OG , EG↗2.OG , 1.OG↘EG , 1.OG↗2.OG , 2.OG↘EG ,
2.OG↘1.OG , OFF }
• Der Aufzug startet vom Erdgeschoss und darf sich nur aus Stockwerkenbewegen, in denen er sich befindet.
• Der Aufzug kann nur im Erdgeschoss ausgeschaltet werden. Er kanndann keine Bewegung durchführen.
• Der Aufzug muss ausgeschaltet werden.
Zeichne einen Automaten an, dessen akzeptierte Sprache genau die Mengeder korrekten Abläufe ist.
Fachgruppe Informatik 30 Vorkurs Theoretische Informatik
![Page 31: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/31.jpg)
Lösung
q0start
q1
q2
qE
EG↗1.OG
OFF
EG↗2.OG
1.OG↗
2.OG
1.OG↘
EG2.O
G↘1.OG
2.OG↘EG
Fachgruppe Informatik 31 Vorkurs Theoretische Informatik
![Page 32: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/32.jpg)
Denkpause
AufgabenFinde Automaten, die genau folgende Sprachen erkennen.
Normal
• L1 = {anbm | n,m ∈ N}• L2 = {w | |w| = 3,w ∈ {a,b, c}∗}• L3 = {uv | u ∈ {¶, º, ·, »}∗, v ∈ {!}}
Etwas Schwerer
• L4 = {an | n ≡ 1 mod 3}• L5 = {w ∈ {a,b, c}∗ | |w|a = 3, |w|b = 1}• L6 = {w ∈ {a,b}∗ | |w|a ≡ |w|b mod 3}
Fachgruppe Informatik 32 Vorkurs Theoretische Informatik
![Page 33: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/33.jpg)
Lösung
q0start q1b
a b
q0start q1 q2 q3a,b,c a,b,c a,b,c
q0start q1
¶, º, ·, »
!
q0start q1 q2a a
a
Fachgruppe Informatik 33 Vorkurs Theoretische Informatik
![Page 34: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/34.jpg)
Lösung
q0start q1b
a b
q0start q1 q2 q3a,b,c a,b,c a,b,c
q0start q1
¶, º, ·, »
!
q0start q1 q2a a
a
Fachgruppe Informatik 34 Vorkurs Theoretische Informatik
![Page 35: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/35.jpg)
Lösung
q0start q1b
a b
q0start q1 q2 q3a,b,c a,b,c a,b,c
q0start q1
¶, º, ·, »
!
q0start q1 q2a a
a
Fachgruppe Informatik 35 Vorkurs Theoretische Informatik
![Page 36: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/36.jpg)
Lösung
q0start q1b
a b
q0start q1 q2 q3a,b,c a,b,c a,b,c
q0start q1
¶, º, ·, »
!
q0start q1 q2a a
a
Fachgruppe Informatik 36 Vorkurs Theoretische Informatik
![Page 37: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/37.jpg)
Lösung
q0start q1 q2 q3
q4 q5 q6 q7
a
b
c
a
b
c
a
b
c
b
c
a
c
a
c
a
c c
Fachgruppe Informatik 37 Vorkurs Theoretische Informatik
![Page 38: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/38.jpg)
Lösung
q0start q1
q2
a
b a
b
a
b
Fachgruppe Informatik 38 Vorkurs Theoretische Informatik
![Page 39: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/39.jpg)
Murmelpause
Fachgruppe Informatik 39 Vorkurs Theoretische Informatik
![Page 40: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/40.jpg)
Verschiedene endliche Automaten
NEABeim Lesen eines Wortes ist es manchmal unklar, welchen Übergangder Automat nehmen soll. Der Automat ist nichtdeterministisch.
DEAWir können unsere Möglichkeiten so einschränken, dass bei jedemZeichen eindeutig ist, welcher Übergang genutzt wird. Der Automat ist deterministisch.
Fachgruppe Informatik 40 Vorkurs Theoretische Informatik
![Page 41: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/41.jpg)
Unterschied NEA und DEA
Bildlich kann man den Unterschied zwischen NEA und DEA anverschiedenen Merkmalen erkennen:
Mehrere Möglichkeiten bei Übergängen:
qi
qj
qk
a
a,b
Bei einem DEA wäre nur ein Weg mit einem a von dem Zustand qi auserlaubt!Fachgruppe Informatik 41 Vorkurs Theoretische Informatik
![Page 42: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/42.jpg)
Unterschied NEA und DEA
Bildlich kann man den Unterschied zwischen NEA und DEA anverschiedenen Merkmalen erkennen:
Nicht definierte Übergänge
qi qj
a
a,b
Bei einem DEA müsste ein Übergang mit b für den Zustand qidefiniert werden!
Fachgruppe Informatik 42 Vorkurs Theoretische Informatik
![Page 43: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/43.jpg)
Unterschied NEA und DEA
Bildlich kann man den Unterschied zwischen NEA und DEA anverschiedenen Merkmalen erkennen:
Mehrere Startzustände
q0start
q̃0start
q1
a
b
a,b
Ein DEA muss genau einen Startzustand besitzen!Fachgruppe Informatik 43 Vorkurs Theoretische Informatik
![Page 44: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/44.jpg)
Wann wird ein Wort akzeptiert?
Ein Wort w ∈ Σ∗ wird von einem NEA akzeptiert, wenn es mindestenseinen akzeptierenden Pfad gibt.
BeispielWelche Zustände können erreicht werden, wenn w = aabaeingelesen wird?
q0start q1 q2
a,b
a
ba
a,b
i) q0 → q0 → q0 → q0 → q0ii) q0 → q0 → q0 → q0 → q1 (Endzustand erreicht)iii) q0 → q0 → q1 → q0 → q1 (Endzustand erreicht)iv) q0 → q1 → q2 → q2 → q2
Fachgruppe Informatik 44 Vorkurs Theoretische Informatik
![Page 45: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/45.jpg)
Wann wird ein Wort akzeptiert?
Ein Wort w ∈ Σ∗ wird von einem NEA akzeptiert, wenn es mindestenseinen akzeptierenden Pfad gibt.
BeispielWelche Zustände können erreicht werden, wenn w = aabaeingelesen wird?
q0start q1 q2
a,b
a
ba
a,b
i) q0 → q0 → q0 → q0 → q0
ii) q0 → q0 → q0 → q0 → q1 (Endzustand erreicht)iii) q0 → q0 → q1 → q0 → q1 (Endzustand erreicht)iv) q0 → q1 → q2 → q2 → q2
Fachgruppe Informatik 45 Vorkurs Theoretische Informatik
![Page 46: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/46.jpg)
Wann wird ein Wort akzeptiert?
Ein Wort w ∈ Σ∗ wird von einem NEA akzeptiert, wenn es mindestenseinen akzeptierenden Pfad gibt.
BeispielWelche Zustände können erreicht werden, wenn w = aabaeingelesen wird?
q0start q1 q2
a,b
a
ba
a,b
i) q0 → q0 → q0 → q0 → q0ii) q0 → q0 → q0 → q0 → q1 (Endzustand erreicht)
iii) q0 → q0 → q1 → q0 → q1 (Endzustand erreicht)iv) q0 → q1 → q2 → q2 → q2
Fachgruppe Informatik 46 Vorkurs Theoretische Informatik
![Page 47: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/47.jpg)
Wann wird ein Wort akzeptiert?
Ein Wort w ∈ Σ∗ wird von einem NEA akzeptiert, wenn es mindestenseinen akzeptierenden Pfad gibt.
BeispielWelche Zustände können erreicht werden, wenn w = aabaeingelesen wird?
q0start q1 q2
a,b
a
ba
a,b
i) q0 → q0 → q0 → q0 → q0ii) q0 → q0 → q0 → q0 → q1 (Endzustand erreicht)iii) q0 → q0 → q1 → q0 → q1 (Endzustand erreicht)
iv) q0 → q1 → q2 → q2 → q2
Fachgruppe Informatik 47 Vorkurs Theoretische Informatik
![Page 48: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/48.jpg)
Wann wird ein Wort akzeptiert?
Ein Wort w ∈ Σ∗ wird von einem NEA akzeptiert, wenn es mindestenseinen akzeptierenden Pfad gibt.
BeispielWelche Zustände können erreicht werden, wenn w = aabaeingelesen wird?
q0start q1 q2
a,b
a
ba
a,b
i) q0 → q0 → q0 → q0 → q0ii) q0 → q0 → q0 → q0 → q1 (Endzustand erreicht)iii) q0 → q0 → q1 → q0 → q1 (Endzustand erreicht)iv) q0 → q1 → q2 → q2 → q2
Fachgruppe Informatik 48 Vorkurs Theoretische Informatik
![Page 49: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/49.jpg)
Deterministische endliche Automaten
Wir beschränken unseren Automaten folgendermaßen:Von jedem Zustand muss genau ein Übergang für jedes a ∈ Σ
ausgehen.
Um dies zu ermöglichen führen wir eine neue Komponente ein:
FangzustandDieser Zustand kann nicht verlassen werden.Falls der Automat in diesem Zustand landet, kommt er nicht mehrraus. Das Wort kann nicht akzeptiert werden.
qf x ∈ Σ
Fachgruppe Informatik 49 Vorkurs Theoretische Informatik
![Page 50: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/50.jpg)
Deterministische endliche Automaten
Wir beschränken unseren Automaten folgendermaßen:Von jedem Zustand muss genau ein Übergang für jedes a ∈ Σ
ausgehen.
Um dies zu ermöglichen führen wir eine neue Komponente ein:
FangzustandDieser Zustand kann nicht verlassen werden.Falls der Automat in diesem Zustand landet, kommt er nicht mehrraus. Das Wort kann nicht akzeptiert werden.
qf x ∈ Σ
Fachgruppe Informatik 50 Vorkurs Theoretische Informatik
![Page 51: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/51.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qE
qf
a
b
ab
a,b
b
a
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 51 Vorkurs Theoretische Informatik
![Page 52: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/52.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qE
qf
a
b
ab
a,b
b
a
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 52 Vorkurs Theoretische Informatik
![Page 53: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/53.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qE
qf
a
b
ab
a,b
b
a
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 53 Vorkurs Theoretische Informatik
![Page 54: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/54.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qE
qf
a
b
ab
a,b
b
a
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 54 Vorkurs Theoretische Informatik
![Page 55: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/55.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qE
qf
a
b
ab
a,b
b
a
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 55 Vorkurs Theoretische Informatik
![Page 56: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/56.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qE
qf
a
b
ab
a,b
b
a
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 56 Vorkurs Theoretische Informatik
![Page 57: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/57.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qE
qf
a
b
ab
a,b
b
a
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 57 Vorkurs Theoretische Informatik
![Page 58: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/58.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qE
qf
a
b
ab
a,b
b
a
Worteingabe:aababb ∈ L?
Fachgruppe Informatik 58 Vorkurs Theoretische Informatik
![Page 59: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/59.jpg)
Beispiel
L = {axb | x ∈ {a,b}∗}
q0start q1 qE
qf
a
b
ab
a,b
b
a
Worteingabe:aababb ∈ L akzeptiert
Fachgruppe Informatik 59 Vorkurs Theoretische Informatik
![Page 60: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/60.jpg)
Denkpause
AufgabenFinde deterministische endliche Automaten (DEAs) für die folgenden Sprachen.
Normal
• L1 = {a2n | n ∈ N} über Σ = {a}
• L2 = {w ∈ {a, b}∗ | |w|a ≥ 2} über Σ = {a, b}
Prüfungsaufgabe: Etwas Schwerer• L3 = {w ∈ {a, b, c}∗ | |w|b ≥ 1 und aaca ist Suffix von w} über Σ = {a, b, c}
Prüfungsaufgabe: Schwer• L4 = {bin(n) | ∃k ∈ N : n = 4k, bin(n) ist Binärdarstellung von n} überΣ = {1, 0}Achtung: Keine führenden Nullen.
Fachgruppe Informatik 60 Vorkurs Theoretische Informatik
![Page 61: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/61.jpg)
Lösung: Normal
L1 = {a2n | n ∈ N}
q0start q1
a
a
Fachgruppe Informatik 61 Vorkurs Theoretische Informatik
![Page 62: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/62.jpg)
Lösung: Normal
L1 = {a2n | n ∈ N}
q0start q1
a
a
L2 = {w ∈ {a,b}∗ | |w|a ≥ 2}
q0start q1 q2a
b
a
b a,b
Fachgruppe Informatik 62 Vorkurs Theoretische Informatik
![Page 63: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/63.jpg)
Lösung: Prüfungsaufgabe: Etwas Schwerer
L3 = {w ∈ {a,b, c}∗ | |w|b ≥ 1 und aaca ist Suffix von w}
q0start q1 q2 q3 q4 qEb
a,c
a
b,c
ab,c
c
ba
a
b,c
b,c
a
Fachgruppe Informatik 63 Vorkurs Theoretische Informatik
![Page 64: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/64.jpg)
Lösung: Prüfungsaufgabe: Schwer
L4 = {bin(n) | ∃k ∈ N : n = 4k,bin(n) ist Binärdarstellung von n}
q0start q1 q2
q3q4 qf
1
0
0
1
01
0
10,1
0,1
Fachgruppe Informatik 64 Vorkurs Theoretische Informatik
![Page 65: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/65.jpg)
Wiederholung
![Page 66: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/66.jpg)
Das können wir jetzt beantworten
Heute: Reguläre Grammatiken
• Wie sehen Produktionsregeln für reguläre Grammatiken aus?• Bilden einer regulären Grammatik für gegebene reguläreSprache
Fachgruppe Informatik 66 Vorkurs Theoretische Informatik
![Page 67: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/67.jpg)
Das können wir jetzt beantworten
Heute: Automaten
• Was sind Automaten?• Wie wandelt man Automaten zu einer äquivalenten Grammatikum?
• Was macht einen deterministischen Automaten aus?• Finden eines (deterministischen) Automaten für gegebeneSprache
Fachgruppe Informatik 67 Vorkurs Theoretische Informatik
![Page 68: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/68.jpg)
Das können wir jetzt beantworten
Heute: Reguläre Ausdrücke
• Wie funktioniert die Konkatenation?• Was bedeuten (α | β) und (α)∗?• Finden eines regulären Ausdrucks für gegebene reguläre Sprache
Fachgruppe Informatik 68 Vorkurs Theoretische Informatik
![Page 69: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/69.jpg)
Noch Fragen?
Fachgruppe Informatik 69 Vorkurs Theoretische Informatik
![Page 70: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/70.jpg)
Glossar
Abk. Bedeutung Was?!
q0start Startzustand Hier fängt der Automat beimLesen eines Wortes an
qi qja Zustandsübergang gibt an, welches Symbol einge-lesen werden kann, um in denFolgezustand zu übergehen.
qE Endzustand Hier kann ein fertig gelesenesWort akzeptiert werden.
qf x ∈ Σ Fangzustand wird benötigt, um Determinis-mus zu gewährleisten. In Gra-phiken oft nicht eingezeichnet,ist aber da. Malt den hin.
Fachgruppe Informatik 70 Vorkurs Theoretische Informatik
![Page 71: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/71.jpg)
Glossar
Abk. Bedeutung Was?!
T(M) Sprache von Automat M Die Sprache, die von einem Auto-mat M erkannt wird
L(G) Sprache von Grammatik G Die Sprache, die von einer Gram-matik G erzeugt wird
γ kleines Gamma oft Bezeichner für regulären Aus-druck
L(γ) Sprache von reg. Ausdruck γ Die Sprache. die von einem regu-lären Ausdruck γ erkannt wird
Fachgruppe Informatik 71 Vorkurs Theoretische Informatik
![Page 72: Vorkurs Theoretische Informatik - Einführung in reguläre ... · MancheSprachensindschwererzubeschreibenalsandere WennwirunsereGrammatikeneinschränken,könnenwirnichtmehr alleSprachenbeschreiben.](https://reader035.fdocuments.net/reader035/viewer/2022071407/60fde09335aaa02a3979bbfd/html5/thumbnails/72.jpg)
Online-Whiteboard