Grenzen endlicher Automaten

Werbung
Grenzen endlicher Automaten
Gesucht ist ein Endlicher Automat, der die Sprache L = {anbn | n  } erkennt,
wobei für a das Symbol "(" und für b das Symbol ")" verwendet werden kann und
somit eine korrekte Klammersetzung akzeptiert würde. Die zugehörige Grammatik ist
leicht zu erzeugen:
G = (N, T, P, S) mit:
V = {S}
T = {a, b}
P = { S ab, S aSb}
Ein Akzeptor für diese Sprache ist ebenfalls kein Problem, solange n endlich und
gegeben ist! [ Mathematiker sagen: „n beliebig, aber fest!“ ]
Beispiel für n = 3:
Eine Erweiterung scheint problemlos möglich, man muss nur endliche viele neue
Zustände einführen. Im allgemeinen Fall würde der Automat unendlich viele Zustände
besitzen müssen. Dies widerspricht aber der Definition des endlichen Automaten. Es
scheint also, dass diese Sprache nicht von einem endlichen Automaten akzeptiert werden
kann.
Um die Sprache zu erkennen, ist es notwendig, dass sich der Automat
irgendwie die Anzahl der n-mal gelesenen Buchstaben merkt.
Das führt uns zu einer neuen, leistungsstärkeren Art von Automaten, den
Kellerautomaten
Für einen Automaten, der sich etwas merken soll, braucht man zunächst eine
1. Speichereinheit
Ein sehr simpler Speicher ist der sog. Kellerspeicher. Wie in einem Keller können Objekte
abgelegt (push) und wieder entnommen (pop) werden. Dabei gilt: das zuletzt abgelegte
Objekt muss als erstes wieder entnommen werden.
Dieses Prinzip bezeichnet man mit Last in – First out (LIFO).
2. Aufbau des Kellerautomaten
Der Automat besitzt also einen Kellerspeicher zum Ablegen beliebiger
Objekte. Der Kellerspeicher
- ist unendlich groß, d. h., man kann beliebig viele Objekte darin ablegen,
- hat das Symbol # zur Anzeige des leeren Kellers, das nicht entnommen
werden kann.
Zum Kellerautomaten gehören außerdem eine Steuereinheit und ein
Eingabeband, dass die Eingabezeichen und Bandvorbelegungszeichen $
enthält.
Die Steuereinheit kann folgende Speicheroperationen vornehmen:



push(Zeichen)
top 
pop 
Ablegen des Objekts Zeichen
anzeigen
wegnehmen
plus (manchmal ganz hilfreich)

nop
no Operation – keine Operation
sowie

is_empty
3. Arbeitsweise:
 Initialisierung des Kellerautomaten: Keller ist leer, der Kellerlesekopf steht
auf #.
 Einlesen des Eingabezeichens und des aktuelle Kellerzeichen
pop/push(Zeichen).
 Zustandsübergang und Speicheroperation in Abhängigkeit vom aktuellen
Zustand, Eingabezeichen und Kellerzeichen
 Vorrücken des Eingabelesekopf um ein Zeichen
 ggf. Wiederholung der Schritte 2 bis 4
Der Kellerautomat akzeptiert eine Eingabe, wenn das Eingabewort
vollständig eingelesen wurde und dann der aktuelle Zustand ein
Endzustand ist. Der Inhalt des Kellers bleibt hierbei unberücksichtigt.
4. Definition:
Ein nichtdeterministischer Kellerautomat ist ein 7-Tupel M = (X, Z, Γ, δ, z0, k0, E),
mit:
X – Eingabealphabet
Z – endliche Zustandsmenge
Γ – Kelleralphabet
δ – partielle Überführungsfunktion
z0 – Anfangszustand
k0 – Kellervorbelegungszeichen
E – Menge der Endzustände.







Streng genommen:
Ein Widerspruch in sich!
Der Automat wird als nichtdeterministisch definiert, d. h., von einem
Ausgangszustand sind bei identischen Eingabe- und Kellerzeichen mehrere
Folgezustände möglich. Dies drückt auch die Bezeichnung partielle
Überführungsfunktion aus.
5. Anwendung für die Sprache L = {anbn | n }
Man definiert den Kellerautomaten wir folgt:
M = ({a, b}, {z0,z1,z2}, {#, a}, δ, z0, #, {z2})
Darstellung als verkürzter Zustandsgraph ohne Fehlerzustand:
wobei:
In diesem Falle ist der Kellerautomat sogar deterministisch.
Aufgabe:
Erstelle eine passende Übergangstabelle für diesen Kellerautomaten!
Zustand
Kellerzeichen
Eingabe
neuer
Zustand
Operation
z0
#
a
z0
push(a)
z0
a
a
z0
push(a)
z0
a
b
z1
pop
z1
a
b
z1
pop
z1
#
eof
z2
nop
z0
#
eof
z2
nop
z0
a
eof
zf
nop
z1
#
a
zf
nop
z1
a
a
zf
nop
z1
#
b
zf
nop
z1
a
eof
zf
nop
zf
#
a
zf
nop
zf
a
a
zf
nop
zf
#
b
zf
nop
zf
a
b
zf
nop
Entspricht
dem Graphen
von oben!
Ergänzungen
Ähnlich
wie bei den Zahlbereichserweiterungen in der Mathematik stellen wir als
nächstes die Frage nach den
Grenzen von Kellerautomaten
Betrachte die folgende Sprache L = {anbncn | n > 0} mit der Grammatik:
G = (V, T, R, S) mit
V = {S, B, C}
T = {a, b, c}
R = { S aSBC, S
aBC, CB
BC, aB
ab, bB
bb, bC
bc, cC
cc}
Es gilt beispielsweise:
S
aSBC aaSBCBC aaaBCBCBC aaaBBCCBC aaaBBCBCC aaaBBBCCC
aaaBBCCC aaabbBCCC aaabbbCCC aaabbbcCC aaabbbccC
aaabbbccc
Kann man die von der Grammatik erzeugte Sprache ein Kellerautomaten erkennen? Der
im vorherigen Abschnitt beschriebene Kellerautomat ist in der Lage, sich n-mal a zu
speichern und mit der Anzahl der b's zu vergleichen. Jedoch verliert er beim Vergleich die
zu merkende Zahl n. Sie steht dem System für etwaige Prüfungen nicht mehr zur
Verfügung.
Damit ist es für Kellerautomaten nicht möglich, die Sprache L = {a nbncn | n > 0}
zu erkennen.
Die nächst höhere Stufe in der Hierarchie der Automaten besteht aus den
sogenannten
Turing-Maschinen
Alan Turing (1912–1954) entwickelte eine abstrakte Maschine, die solche
Sprachen akzeptiert.
Diese Turing-Maschine ist im Prinzip das mathematische Modell eines
Computers und dient den Informatikern zur Untersuchung der Leistungsgrenzen
von modernen Rechnern.
Wir werden die Turingmaschinen nicht im Unterricht besprechen.
Sie könnten jedoch Gegenstand einer interessanten Facharbeit in Informatik sein!
Alan Mathison Turing
(* 23. Juni 1912 in London; † 7. Juni 1954 in Wilmslow)
war ein britischer Logiker, Mathematiker und
Kryptoanalytiker.
Er schuf einen großen Teil der theoretischen Grundlagen für
die moderne Informations- und Computertechnologie.
Als richtungsweisend erwiesen sich auch seine Beiträge zur
theoretischen Biologie.
Alan Turing ist eine sehr interessante Persönlichkeit, über
dessen Leben einen Film zu machen sich sicherlich lohnen
würde!
Avram Noam Chomsky (* 7. Dezember
1928 in Philadelphia, Pennsylvania, USA)
ist Professor für Linguistik am
Massachusetts Institute of Technology
(MIT).
Neben seiner linguistischen Arbeit gilt
Chomsky als einer der bedeutendsten linken
politischen Intellektuellen Nordamerikas
und ist als scharfer Kritiker der USamerikanischen und israelischen Außenund Wirtschaftspolitik bekannt.
RvdG
Herunterladen