Sie sind auf Seite 1von 9

82 4.

Endliche Automaten und formale Sprachen

4.1 Endliche Automaten


SB S. 148 1. a) Übergangsfunktion d: Ausgangsfunktion l:
d HL HR M10 M20 l HL HR M10 M20
q0 q0 q0 q1 q2 q0 N N N N
q1 q1 q1 q2 q1 q1 N N N N
q2 q0 q0 q2 q2 q2 BSauer BSuess N N

b) Überführungsgraph
HL / BSauer
HR / BSuess
HL / N
HR / N
M20 / N

M10 / N M10 / N M10 / N


Start q0 q1 q2
M20 / N

HL / N M20 / N
HR / N

2. a) nicht gültig Das Alphabet eines endlichen Automaten muss endlich sein. Die Anzahl der ungeraden
natürlichen Zahlen ist es nicht.
b) nicht gültig Das Eingabealphabet darf nicht aus einer leeren Menge bestehen.
c) gültig Das Eingabealphabet besteht aus einer endlichen, nicht leeren Menge an Symbolen.
d) gültig vgl. c)

3. a) S = {a, b, c, ,}
b) S = {a, b, A, B}
c) S = {a}
d) S = {a, b, +, *, (, ), 2}
e) S = {0, 1}
f) S = {I, V, X, ,}
g) S = {0, 1, 2, 4}
4.1 Endliche Automaten 83

SB S. 149 4. dreistelliges Zahlenschloss

a) 3. Ziffer
q3 Schloss geöffnet
0
2. Ziffer
q2
0
1. Ziffer
q1
0 3. Ziffer
Start q0 2. Ziffer 1, 2, 3, 4, 5, 6, 7, 8, 9
1, 2, 3, 4, 5,
6, 7, 8, 9
1. Ziffer
1, 2, 3, 4, 5, 6, 7, 8, 9

q4 Schloss verschlossen

b) Die Grundstruktur des Automaten bleibt bei einer möglichen dreistelligen Zahlenkombination immer
gleich. Es ändern sich nur die benötigten Eingaben an den drei Übergängen hin zum Endzustand
(1. Ziffer, 2. Ziffer, 3. Ziffer), da diese bei einer anderen Kombination angepasst werden müssen. Gleich-
zeitig müssen die nun nicht mehr zielführenden Eingaben hin zur Fehlersenke führen.

c) Sollten zwei Kombinationen das Schloss öffnen können, muss diese zweite Kombination ausgehend
vom Startzustand hin zum Endzustand modelliert werden. Somit erhält der Startzustand einen neuen
Übergang zu einem Zustand, von dem aus die weiteren Zustände hin zum Endzustand erreichbar sind.
Falls an einer Stelle der dreistelligen Kombination die gleiche Ziffer wie bei der anderen Kombination
vorkommt, können die Wege hier auch zusammengefügt werden.

5. a) Die Wörter „mn“ und „n“ werden akzeptiert, die Wörter „m“ und „nn“ nicht.

b) Der Automat akzeptiert die Sprache mit Wörtern, die entweder nach einem führenden „m“ oder einem
führenden „n“ darauf folgend eine gerade Anzahl an „n“ besitzt. Zudem gehört auch das Wort „n“ zur
Sprache.

c) Lmn = (S, Q, F, s, d)
Eingabealphabet: S = {m,n}
Zustandsmenge: Q = {q0, q1, q2}
Endzustände: F = {q2}
Startzustand: s = q0
Übergangsfunktion: d =

m n
q0 q1 q2
q1 – q2
q2 – q1

d) Der Automat kann nicht minimiert werden. Dazu müsste eine Zustand entfallen können; da aber der
Zustand q1 notwendig ist, da ein „m“ allein nicht in den akzeptierenden Zustand führen darf, ist dies
nicht möglich.
84 4. Endliche Automaten und formale Sprachen

6. a) Übergangsgraph:
Der gegebene Graph beinhaltet nicht die Möglichkeit, zu viel Geld für einen Fahrschein zu bezahlen.
Würde man diese Variante realisieren, sollten bei Aufgabe b) nicht alle Möglichkeiten aufgeführt wer-
den, da es zu viele wären.
1E B
q5 q6 q7
2E 2E
1E
1E 1E 1E A
Start q0 q1 q2 q3 q4

2E
2E

Übergangstabelle:
1E = 1 € Münze
2E = 2 € Münze
A = Fahrschein Preisklasse A
B = Fahrschein Preisklasse B

1E 2E A B
q0 q1 q2 - -
q1 q2 q3 - -
q2 q3 q5 - -
q3 q5 q6 q4 -
q4 - - - -
q5 q6 - - -
q6 - - - q7
q7 - - - -

b) Akzeptierende Folgen von Münzeinwürfen für den gegebenen Automaten:


1, 1, 1, A
1, 2, A
2, 1, A

1, 1, 1, 1, 1, B
2, 1, 1, 1, B
1, 2, 1, 1, B
1, 1, 2, 1, B
1, 1, 1, 2, B

2, 2, 1, B
2, 1, 2, B
1, 2, 2, B

7. DVD-Player

a) Der DEA des DVD-Players hat bei der gegebenen Anforderungsbeschreibung sechs Zustandsübergän-
ge, wenn man nur die Übergänge aufzählt, in denen der Automat den Zustand wechselt. Ansonsten
wären es neun Übergänge, da es in den drei Zuständen jeweils drei Eingabemöglichkeiten gibt.
4.1 Endliche Automaten 85

b) Übergangsgraph:
Play

q1
Play

Stop Stop

Start q0 Play Forward

Forward

Stop
q2

Forward
Übergangstabelle:

d Forward Play Stop


q0 q2 q1 q0
q1 q2 q1 q0
q2 q2 q1 q0

8. a) Es wird eine beliebig lange ab-Folge und das leere Wort als Sprache akzeptiert.

b) Der Zustand q0 ist der Startzustand des Automaten und gleichzeitig der einzige akzeptierende Zu-
stand. Über die Eingabe a erreicht man den Zustand q1 und über b den Zustand q2. Da der Startzustand
auch der akzeptierende Zustand ist, wird auch das leere Wort akzeptiert.
Der Zustand q1 ist einzige Zustand, von dem aus man über die Eingabe b in den akzeptierenden
Zustand q0 gelangen kann. Die Eingabe b überführt den DEA in den Zustand q2.
Der Zustand q2 ist eine Fehlersenke, da es von dort keine Übergänge in einen anderen Zustand gibt.
Sowohl die Eingabe a als auch die Eingabe b verweisen wieder auf den Zustand q2.

SB S. 150 9. Übungen Automatensimulationen: JFLAP, Exociser, Atocc, VAS

a) Individuelle Lösungen, eine Musterlösung liegt als XML-File für Atocc bei.
b) Individuelle Lösungen

10. a) Teilwort 010


1 0 0,1

0 1 0
Start q0 q1 q2 q3

1
86 4. Endliche Automaten und formale Sprachen

b) höchstens drei 1
0 0 0 0

1 1 1
Start q0 q1 q2 q3

c) gerade Anzahl 1
0 0
1

Start q0 q1

11. a) DEAGraph1 = (Q, s, S, F, d)


d a b
Q= {q0, q1, q2, q3}
s = q0 q0 q1 q0
S = {a, b}
q1 q2 q3
F = {q2, q3}
Übergangsfunktion d: q2 – q2
q3 q3 –

DEAGraph2 = (Q, s, S, F, d)
d a b
Q= {q0, q1, q2, q3}
s = q0 q0 q0 q1
S = {a, b}
q1 q0 q2
F = {q3}
Übergangsfunktion d: q2 q0 q3
q3 q3 -

b) Der DEA zum Übergangsgraphen 1 akzeptiert z. B. folgende Wörter: baa, aa, aabb, ab, abaaa. Nicht
akzeptiert werden Wörter wie: bb, babb, bbb, bbba.
Der Automat akzeptiert Wörter der Form bnaabm oder bnabam.

Ableitung aabb:
a a b b
q0 −→ q1 −→ q2 −→ q2 −→ q2

Der DEA zum Übergangsgraphen 2 akzeptiert alle Wörter, die die Teilfolge bbb enthalten, auf die noch
eine beliebige Anzahl a folgen können, z. B. abbb oder abbaa.

Ableitung abbb: Ableitung abbaa:


a b b b a b b b a a
q0 −→ q0 −→ q1 −→ q2 −→ q3 q0 −→ q0 −→ q1 −→ q2 −→ q3 −→ q3 −→ q3
4.1 Endliche Automaten 87

12. Übergangsgraph Artikel


s
q2 q13

a n q6

d e m
Start q0 q1 q3 q7
r
s q8 e
n
i q10 q11
e
s
q9 q12

e
q4 q5

13. Unterschiede zwischen NEA und DEA


a) Die Notation der beiden Automatentypen unterscheidet sich in der erweiterten Möglichkeit des NEA,
auch E-Übergänge einzeichnen zu können (in diesem Automaten nicht gegeben), und der Möglich-
keit, von einem Zustand aus mit der gleichen gelesenen Eingabe zwei unterschiedliche Folgezustände
zu erreichen. Dadurch erhält der Automat die Eigenschaft des Nichtdeterminismus, da eben nicht klar
definiert ist, welcher Folgezustand bei dieser Eingabe eintritt.
SB S. 151 b) 0111, 0001

c) Der Automat akzeptiert alle Wörter, an deren Beginn eine „0“ und deren Ende eine „1“ steht. Dazwi-
schen stehen entweder nur „0“ oder nur „1“ in gerader Anzahl ab zwei.

d) 1
q1 q3
0

0 1
Start q0
0 1

q1 q4 q5
0 1

e) LA = (N, T, P, S)
N = {S, A, B, C, D, E}
T = {0, 1}
Startsymbol S

P={
S → A1
A → B1 | C0
B → D1
C → E0
D → B1 | 0
E → C1 | 0
}
88 4. Endliche Automaten und formale Sprachen

SB S. 151 14. Automaten zur Texterkennung

a) DEA in Tabellendarstellung:

d A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q1 q0 q0 q0 q0
q1 q0 q0 q0 q0 q0 q0 q0 q0 q2 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q1 q0 q0 q0 q0
q2 q3 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q1 q0 q0 q0 q0
q3 q0 q0 q0 q0 q0 q0 q4 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q1 q0 q0 q0 q0
q4 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q5 q0 q0 q0 q1 q0 q0 q0 q0
q5 q6 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q0 q1 q0 q0 q0 q0
q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6 q6

b) NEA als 5-Tupel:


V = (Q, s, S, F, d)
Q= {q0, q1, q2, q3,q4, q5, q6}
s = q0
S = {A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z}
F = q6

Übergangsrelation d =

A-Z V I A G R
q0 q0 {q0,q1} q0 q0 q0 q0
q1 – – q2 – – –
q2 – – – q3 – –
q3 – – – – q4 –
q4 – – – – – q5
q5 – – – q6 – –
q6 q6 – – – – –

c) DEA/NEA für das Wort „Kredit“

DEA Kredit
K

K
K
A–J, L–Z A–Z
K

K R E D I T
Start q0 q1 q2 q3 q4 q5 q6
A–J, L–Q,
Z
S–Z F–J,L– J, L
–Z –Z
D, E– , J, L
A– A –C, A–H U–Z
S,
, L–
A–J
4.1 Endliche Automaten 89

NEA Kredit
A–Z A–Z

K R E D I T
Start q0 q1 q2 q3 q4 q5 q6

d) NEA Kredit und Geld

A–Z A–Z

K R E D I T
Start q0 q1 q2 q3 q4 q5 q6

G
E L D
q7 q8 q9 q10

A–Z

15. 1 0

0
Start q0 q1

1 0 1

q22

16. a) Der erste Teil des Wortes anbm könnte durch einen DEA entschieden werden, da nur eine Kombination
von beliebig vielen „b“ auf eine Kombination von beliebig vielen „a“ folgt. Da die Länge der darauf
folgenden „c“ jedoch von der Anzahl der „a“ und „b“ direkt abhängt, müsste der Automat einen kon-
kreten (m+n), nach oben nicht begrenzten Wert abzählen können. Dies können DEA jedoch nicht.
b) Der Kellerautomat muss zuerst einmal erkennen, ob die geforderte Reihenfolge von anbmcn+m einge-
halten wird. Wenn von dieser Eigenschaft abgewichen wird, bricht der Kellerautomat die Bearbeitung
ab. Der Kellerautomat merkt sich darüber hinaus im Kellerspeicher die Anzahl der gelesenen „a“,
indem dort z. B. jeweils ein „C“ gespeichert wird. Die Anzahl der gelesenen „b“ werden genauso ge-
merkt. Beim Lesen eines „c“ in der Eingabe wird dann jeweils ein Element aus dem Speicher gelöscht.
Wird das Ende der Eingabe erreicht und ist der Kellerspeicher in diesem Moment leer bzw. wird das
Kellersymbol gelesen, wird das Wort akzeptiert.

Kaabc = (S, Q, F, s, K, #, d)

Eingabealphabet: S = {a,b,c,d }
Zustandsmenge: Q = {q0, q1, q2, q3}
Endzustände: F = {q3}
Startzustand: s = q0
Kelleralphabet: K = {C,#}
Kellersymbol: #
Übergangsfunktion: d =
90 4. Endliche Automaten und formale Sprachen

bisheriger gelesene oberstes neuer Keller-


Zustand Eingabe Kellerzeichen Zustand operation
1. q0 a #, C → q0 push(C)
2. q0 b C → q1 push(C)
3. q1 b C → q1 push(C)
4. q1 c C → q2 pop()
5. q2 c C → q2 pop()
6. q2 d # q3 nop

17. Der Kellerautomat muss um eine Zeile erweitert werden.

bisheriger gelesene oberstes neuer Keller-


Zustand Eingabe Kellerzeichen Zustand operation
z0 ε # → z1 nop

18. Kaabc = (S, Q, F, s, K, #, d)


Eingabealphabet: Σ = {a,b,c }
Zustandsmenge: Q = {q0, q1, q2}
Endzustände: F = {q2}
Startzustand: s = q0
Kelleralphabet: K = {#,A}
Kellersymbol: #
Übergangsfunktion: d =

bisheriger gelesene oberstes neuer Keller-


Zustand Eingabe Kellerzeichen Zustand operation
1. q0 a #, A → q0 push(A)
2. q0 b A → q1 nop
3. q1 c A → q1 pop()
4. q1 ε # q2 nop

4.2 Formale Sprachen


SB S. 157 1. Vergleich natürliche Sprache mit einer Programmiersprache
Sowohl die natürlichen Sprachen (z. B. das Deutsche) als auch die Programmiersprachen unterliegen
einem Regelwerk. Bei beiden lässt sich auf der formalen Ebene definieren, welche Kombinationen aus
Wörtern erlaubt sind und welche nicht. Allerdings begrenzt sich die natürliche Sprache nicht auf ihr syn-
taktisches Regelwerk. Unerlässlich für eine funktionierende Kommunikation ist auch die Bedeutung der
Wörter und Sätze, die sich gar nicht oder nur bedingt durch die Form erschließen lassen. Neben der Mehr-
deutigkeit der natürlichen Sprachen ist vor allem der Umgang mit Fehlern ein wesentlicher Unterschied
zu einer Programmiersprache. Die Aussagen „Ich esse der Brötchen“ und „Brötchen der ich esse“ sind
zwar syntaktisch falsch, aber in der Bedeutung für Menschen wahrscheinlich verständlich, da man auf-
grund des Kontextes weiß, was wohl gemeint ist. Ein Computerprogramm muss hingegen korrekt imple-
mentiert sein, um das Gewünschte umzusetzen, denn der Computer kann nicht wissen, was man wohl
möchte, weil er nur erkennt, aber nicht versteht. Der Erkennen beschränkt sich jedoch auf die Form.

Diskussion: individuelle Ansätze

Das könnte Ihnen auch gefallen