automaten, formale sprachen und berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0....

54
Automaten, formale Sprachen und Berechenbarkeit 1 Wintersemester 2006 / 2007 Prof. Dr. M. Holzer Mitschrift von Jan Hauffa ([email protected])

Upload: ngokiet

Post on 23-Aug-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

Automaten, formale Sprachen und Berechenbarkeit 1

Wintersemester 2006 / 2007

Prof. Dr. M. Holzer

Mitschrift von Jan Hauffa ([email protected])

Page 2: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

Inhalt

0. Einleitung ............................................................................................................................... 1

1. Grundlagen ............................................................................................................................. 1

1.1. Endliche Automaten........................................................................................................ 2

2. Alternative Darstellungen regulärer Mengen......................................................................... 7

2.1. Beschriftete Myhill-Graphen und lokale Mengen........................................................... 7

2.2. Reguläre Ausdrücke ........................................................................................................ 8

2.3. Erkennbarkeit ................................................................................................................ 10

2.4. Rechnen mit regulären Ausdrücken .............................................................................. 14

2.5. Zweiwegeautomaten (zweiseitige endliche Automaten)...............................................16

2.6. MSO-Logik ................................................................................................................... 19

2.7. Endliche Automaten über unendlichen Wörtern........................................................... 23

2.7.1. Büchi-Automaten ................................................................................................... 23

2.7.2. Muller-Automaten.................................................................................................. 26

2.7.3. Rabin-Automaten ................................................................................................... 28

3. Berechenbarkeit.................................................................................................................... 35

3.1. Grundlagen .................................................................................................................... 35

3.2. Kardinalitätsargumente ................................................................................................. 36

3.3. Syntax und Semantik von WHILE-Programmen.......................................................... 37

3.4. Aufzählbarkeit von WHILE-Programmen und einfache Konsequenzen...................... 38

3.5. Techniken der Theorie der Berechenbarkeit ................................................................. 40

3.5.1. Das s-m-n-Theorem................................................................................................ 40

3.5.2. Unentscheidbare Probleme..................................................................................... 41

3.6. Das Rekursionstheorem und Eigenschaften von Aufzählungen ................................... 43

3.7. Berechenbare Eigenschaften von Mengen .................................................................... 47

3.8. Die Sätze von Rice ........................................................................................................ 49

Page 3: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

1

0. Einleitung

Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

„Formale Sprachen sind Kunstsprachen, wie sie z.B. zur Kommunikation mit Rechnern entwickelt werden (Programmiersprachen,…) Sie dienen der Beschreibung unendlicher Objekte (Sprachen über endliche / unendliche Wörter / Bäume,…) durch endliche Mecha-nismen. Der Beschreibungsmechanismus hängt stark davon ab, was man beschreiben will (Se-quentialität, Verteiltheit,…). Untersucht werden verschiedene Klassen solcher Sprachen, ihre Eigenschaften und Beschreibungsmöglichkeiten, durch die diese Sprachen erkannt oder gene-riert werden.“

In der Vorlesung werden hauptsächlich regulärartige Sprachen behandelt.

1. Grundlagen

Sei Σ ein Alphabet (die Elemente von Σ sind unteilbar), z.B. ist Σ = {0, 1} ein Alphabet, {a, ab} (mit ab teilbar) ist kein Alphabet. Ein Wort x über dem Alphabet Σ ist eine endliche Σ-Sequenz, d.h. x = a1 a2 … ak mit k ≥ 0 und ai ∈ Σ für 1 ≤ i ≤ k. Falls k = 0 ist, beschreibt x das leere Wort λ oder ε. Die Länge von x ist k und wird mit |x| bezeichnet; |λ| = 0.

Σ* bezeichnet die Menge aller endlichen Wörter Σ (einschließlich λ). Für x, y ∈ Σ* sei x · y

(oder auch x ◦ y, xy) die Konkatenation (Hintereinanderschreibung) von x und y. Das Tripel (Σ*, ·, λ) ist ein Monoid. Das Monoid ist sogar „frei“, d.h. jedes Element aus Σ* hat eine eindeutige Zerlegung bezüglich der Konkatenation aus Σ-Elementen.

Für eine konkrete Sprache L ⊆ Σ* sind Potenzen von L wie folgt definiert:

L0 = {λ} Li+1 = L · Li = {x · y | x ∈ L und y ∈ Li} für i ≥ 0,

wobei für X, Y ⊆ Σ* gilt: X · Y = {x · y | x ∈ X und y ∈ Y}.

BEISPIEL

L = {a} ⊆ {a, b}*, dann ist L2 = L · L = {a2}

L = {ab, a, λ} ⊆ {a, b}*, dann ist L2 = {abab, aba, ab, aab, a2, a, λ}

Ferner setzt man L* = ∪i ≥ 0 Li und L+ = ∪i ≥ 1 L

i. Hierbei heißt L* die Kleene'sche Hülle.

Reguläre Ausdrücke (RA) über dem Alphabet Σ und deren Mengen sind rekursiv wie folgt definiert:

• λ ist ein regulärer Ausdruck mit L(λ) = {λ}

• ∅ ist ein regulärer Ausdruck mit L(∅) = ∅

• a, für a ∈ Σ ist ein regulärer Ausdruck mit L(a) = {a}

• wenn r und s reguläre Ausdrücke sind, dann auch:

o (r + s) mit L((r + s)) = L(r) ∪ L(s)

o (r · s) mit L((r · s)) = L(r) · L(s)

Page 4: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

2

o (r*) mit L((r)*) = L(r)*

Üblicherweise werden die Klammern so weit wie möglich weggelassen, unter der Annahme, daß * stärker bindet als + und ·, und · stärker als +.

BEISPIEL :

∅* beschreibt die Menge {λ}.

Im allgemeinen gilt z.B. ∅ · r = ∅, d.h. L(∅ · r) = L(∅), oder (r + s)* = (r*s*)* für beliebige reguläre Ausdrücke r und s.

1.1. Endliche Automaten

Ein endlicher Automat (EA) ist wie folgt definiert:

DEFINITION : NICHTDETERMINISTISCHER ENDLICHER AUTOMAT

Ein nichtdeterministischer endlicher Automat (NEA) ist ein 5-Tupel A = (Q, Σ, δ, q0, F), wobei Q die endliche Menge von Zuständen ist, Σ das endliche Eingabealphabet, q0 ∈ Q der Startzustand, F ⊆ Q die Menge der Endzustände und δ : Q × Σ → 2Q die Überführungs-funktion ist.

δ kann auch Q × Σ ∪ λ sein, die beiden Varianten lassen sich durch Konstruktion ineinander überführen.

Ein NEA heißt deterministisch (DEA), wenn für alle q ∈ Q und a ∈ Σ gilt |δ(q, a)| = 1.

Endliche Automaten werden meist graphisch dargestellt: Zustände sind Knoten eines Graphen. Die Überführungsfunktion induziert beschriftete Kanten. Startzustand und Endzu-stände sind speziell markiert.

Für die Akzeptanz wird δ zu δ* erweitert. δ* = Q × Σ → 2Q per Induktion. Dann ist die von A akzeptierte Sprache L(A) = {w ∈ Σ* | δ*(q0, w) ∩ F ≠ ∅}.

Zwei endliche Automaten A1 und A2 sind äquivalent, falls L(A1) = L(A2).

Für endliche Automaten sind deterministische und nichtdeterministische Automaten äqui-valent, d.h. sie beschreiben die gleiche Sprachklasse.

THEOREM : POTENZAUTOMAT

Zu jedem NEA A gibt es einen äquivalenten DEA B, so daß L(A) = L(B). Automat B ist effektiv konstruierbar.

Page 5: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

3

BEWEIS:

Sei A = (Q, Σ, δ, q0, F) ein NEA. Wir konstruieren einen DEA B = (2Q, Σ, δ', {q0}, F') mit δ'(P, a) = ∪p ∈ P δ(p, a) und F' = {P ⊆ Q | P ∩ F ≠ ∅}.

Zu zeigen L(A) = L(B).

„⊆“ Sei w = a1 a2 … an ∈ L(A). Dann gibt es Zustände q0, q1, … qn+1 mit q0 ist Anfangs-zustand, qi+1 ∈ δ(qi, ai+1) für 1 ≤ i < n und qn ∈ F. Sei P0, P1, … Pn die zu w gehörenden Zustände in B während der Bearbeitung dieses Wortes. Per Induktion zeigt man, daß pi ∈ Pi gilt. Insbesondere gilt P0 = {q0} und Pn ∩ F ≠ ∅, da pn ∈ Pn und pn ∈ F. Damit gilt w ∈ L(B).

„⊇“ Sei w ∈ L(B) und w = a1 a2 … an. Weiter seien P0, P1, … Pn die zu w gehörenden Zu-stände während der Bearbeitung. Dann gilt P0 = {q0}, Pi+1 = ∪p ∈ Pi

δ'({p}, a i+1) für 0 ≤ 1 < n,

und Pn ∩ F ≠ ∅. Wähle qn ∈ Pn ∩ F (beliebig).

Sei qn-1 ∈ Pn-1 mit qn ∈ δ(qn-1, an).

Sei qn-2 ∈ Pn-2 mit qn-1 ∈ δ(qn-2, an-1).

Sei q0 ∈ P0 mit q1 ∈ δ(q0, a1).

Die Zustände q0, q1, … qn mit dem Wort w bilden eine akzeptierende Berechnung in A. Daher folgt w ∈ L(A). □

Hieraus kann man sofort folgern, daß endliche Automaten gegenüber Komplementbildung abgeschlossen sind.

THEOREM :

Zu jedem NEA A gibt es einen EA B mit L(B) = co-L(A), wobei co-L(A) = Σ* \ L(A) wenn L(A) ⊆ Σ* gilt.

BEWEISIDEE :

Verwandle NEA A in einen DEA und vertausche Endzustände und Nicht-Endzustände.

Um die Größe von DEA abzuschätzen, benötigt man folgende Definition:

DEFINITION : ÄQUIVALENZRELATION ~L

Sei L ⊆ Σ* eine Sprache. Für x, y ∈ Σ* gilt x ~L y genau dann, wenn für alle z ∈ Σ*: xz ∈ L ⇔ yz ∈ L. Die Relation ~L ist eine Äquivalenzrelation. Man schreibt [x]~L

, bzw. [x]L für die Äquivalenzklassen von x bzgl. ~L, sowie Σ*/L für den Quotienten Σ*/~L.

BEISPIEL :

Betrachte die Sprache 0*1*. Zum Beispiel gilt 0 ~L 00 ~L 03 … Man sieht, daß alle Elemente

aus 0* in einer (der gleichen) Äquivalenzklasse liegen. Entsprechend gilt 1 ~L 0m1n für m ≥ 0 und n ≥ 1. Alle anderen Wörter sind paarweise äquivalent zueinander.

Page 6: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

4

THEOREM : SATZ VON MYHILL -NERODE

Sei L ⊆ Σ* eine Sprache. Dann ist L regulär (von einem EA akzeptierbar) genau dann, wenn der Index von L (Anzahl der Äquivalenzklassen von ~L) endlich ist.

Um dieses Theorem beweisen zu können, sind eine weitere Definition und 2 Hilfsaussagen nötig.

Für einen DEA A = (Q, Σ, δ, q0, F) definiert man die Äquivalenzrelation ~A durch x ~A y ⇔ δ(q0, x) = δ(q0, y). Man schreibt Σ*/A für den Quotientenraum Σ*/~A.

HILFSAUSSAGE 1:

Für jeden DEA ist der Index von ~A endlich.

BEWEISIDEE :

Betrachte die Menge Kp = {x ∈ Σ* | δ(q0, x) = p}. Für x, y ∈ Kp gilt, x ~A y. Andererseits, wenn nicht x ~A y für p ≠ q und x ∈ Kp, y ∈ Kq gilt. Es gilt [x]~A

= Kp, falls δ(q0, x) = p.

Daher gilt Σ*/A = {K p | p ∈ Q} \ { ∅}. Es folgt |Σ*/A| ≤ |Q|.

HILFSAUSSAGE 2:

Sei A = (Q, Σ, δ, q0, F) ein DEA mit L = L(A). Dann gilt:

1. ~A ist eine Verfeinerung von ~L, d.h. für alle x, y ∈ Σ* gilt: x ~A y ⇒ x ~L y.

2. |Σ*/L| ≤ |Σ*/A| ≤ |Q|

zu 2.2

BEWEISIDEE :

Es gelte x ~A y, es sei z ∈ Σ*, dann gilt:

δ(q0, xz) = δ(δ(q0, x), z) = δ(δ(q0, y), z) = δ(q0, yz)

Hieraus folgt: xz ∈ L ⇔ δ(q0, xz) ∈ F ⇔ δ(q0, yz) ∈ F ⇒ yz ∈ L

Somit gilt x ~L y (da z beliebig gewählt). Daher ist ~A eine Verfeinerung von ~L, denn jede Äquivalenzklasse bzgl. ~A ist auch eine Äquivalenzklasse von ~L.

2.2 folgt analog zu Hilfsaussage 1.

BEWEIS: SATZ VON MYHILL -NERODE

„⇒“ folgt mit Hilfsaussage 1

„⇐“ Aus x ~L y folgt für alle a ∈ Σ: xa ~L ya. Definiere DEA A = (Σ*/L, Σ, δL, Kq0 = [λ]~L,

FL) mit

Page 7: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

5

δL([x] ~L, a) = [xa]~L

FL = {[x] ~L | x ∈ L}

Korrektheit per Induktion.

Im Satz von Myhill-Nerode wurde ein DEA mit Hilfe von ~L konstruiert. Dieser Automat wird minimaler Automat von L genannt. Für die Hauptaussage dieses Abschnitts wird die Definition von Isomorphie für DEA benötigt.

DEFINITION :

Zwei DEA Ai = (Qi, Σ, δi, qi, Fi) mit i = 1, 2 heißen isomorph, wenn es eine bijektive Abbildung f: Q1 � Q2 gibt mit:

1. q2 = f(q1)

2. F2 = f(F1)

3. δ2(f(q), a) = f(δ1(q, a)) q ∈ Q1

Offensichtlich: Wenn A1 und A2 isomorph sind, dann gilt L(A1) = L(A2).

THEOREM :

Sei L eine reguläre Sprache.

a) Der Minimalautomat AL für L ist der bis auf Isomorphie eindeutig bestimmte DEA mit den folgenden Eigenschaften:

1) L(A L) = L

2) ~AL = ~L

3) Jeder Zustand ist vom Anfangszustand aus erreichbar.

b) Ist A = (Q, Σ, δ, q0, F) ein DEA mit L(A) = L, dann gilt |Σ*/~L| ≤ |Q|.

Gegenbeispiel für NEA (2 minimale NEA)

BEWEIS:

Es ist bekannt: L(AL) = L und ~A ist Verfeinerung von ~L. Es bleibt zu zeigen, daß ~L eine Verfeinerung von ~AL

ist. Per Induktion zeigt man δ*AL

([λ]L, x) = [x]L für alle x ∈ Σ*. Sei

x ~L y. Dann gilt:

δ*AL

([λ]L, x) = [x]L = [y]L = δ*AL

([λ]L, y).

Page 8: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

6

Damit x ~AL y. Die Äquivalenzklassen sind nicht leer, daher folgt a.3. Damit erfüllt AL die

drei Eigenschaften.

Es soll nun gezeigt werden, daß jeder DEA, der die drei Eigenschaften erfüllt, isomorph zu AL ist. Sei B = (Q, Σ, δ, q0, F) ein DEA mit

1. L(B) = L

2. ~B = ~L

3. Jeder Zustand in B ist aus q0 erreichbar.

Für jeden Zustand q ∈ Q sei Kq = {x ∈ Σ* | δ(q0, x) = q}. Die Menge Kq ist eine Äquivalenz-klasse bzgl. ~B = ~L. Also ist Kq ∈ Σ*/~L ein Zustand aus AL. Man sieht, daß die Abbildung f : Q → Σ*/~L mit f(q) = Kq ein Isomorphismus ist.

Aussage 2 folgt aus der Tatsache, daß ~A eine Verfeinerung von ~L ist.

Mit Hilfe der Charakterisierung des minimalen DEA läßt sich folgendes beweisen:

THEOREM : „Z USTANDSEXPLOSION“

Sei Ln = {w ∈ {0, 1} * | das n-letzte Zeichen ist 1}. Die Sprache Ln wird durch einen NEA mit n + 1 Zuständen akzeptiert und jeder DEA für Ln benötigt mindestens 2n Zustände.

BEWEIS:

Zeige, daß die Relation ~L mindestens 2n verschiedene Äquivalenzklassen besitzt. Es gilt: Je zwei Wörter x ≠ y ∈ {0, 1}n sind bzgl. ~L nicht äquivalent. Sei x = a1 a2 … an und y = b1 b2 … bn. Dann gibt es ein i mit ai ≠ bi, etwa ai = 0 und bi = 1 (sonst x und y vertauschen). Dann ist x0i-1 ∉ L und y0i-1 ∈ L. Damit folgt die Behauptung.

Page 9: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

7

2. Alternative Darstellungen regulärer Mengen

Es folgen einige alternative Darstellungen regulärer Mengen. Dazu gehören:

• reguläre Ausdrücke

• beschriftete Myhill-Graphen und lokale Mengen (Syntaxdiagramme)

• Transitionsmonoid und erkennbare Mengen

• Gleichungssysteme

• monadische Logik 2. Stufe

• Zweiwege-Automaten

2.1. Beschriftete Myhill-Graphen und lokale Mengen

Ein klassisches Konzept zur Beschreibung von Mengen sind Myhill-Graphen (MG). Ein MG ist ein 4-Tupel G = (X, K, S, F), wobei X ein endliches Alphabet, S, F ⊆ X die Menge der Start- und Endknoten und K ⊆ X × X. MG lassen sich graphisch darstellen:

Die Wegemenge W(G) besteht aus der Menge aller Folgen von Knoten auf dem Weg von einem Startknoten zu einem Endknoten in G. Also

W(G) = {x1 x2 … xn | x1 ∈ S, xn ∈ F und (xi, xi+1) ∈ K für 1 ≤ i < n}.

Man kann sich überlegen, daß gilt:

W(G) = (SX* ∩ X*F) \ X*VX * mit xy ∈ V ⇔ (x, y) ∉ K.

Diese Wortmengen heißen in der Automatentheorie „lokale Mengen“ oder Standardmengen (zum Akzeptieren braucht man nur ein „Schiebefenster“ der Größe 2).

Man beachte, daß nicht jede endliche Menge von Wörtern über X eine lokale Menge ist, z.B. {ab, ac, bc} ist keine lokale Menge (abc nicht enthalten).

THEOREM :

Jede lokale Menge ist regulär.

Wenn man zu einem Myhill-Graphen eine Knotenbeschriftung, d.h. eine Abbildung

β : X → Σ ∪ {λ} (alphabetischer Homomorphismus)

hinzufügt, dann erhält man einen beschrifteten MG (BMG). Formal ist ein BMG ein 6-Tupel G = (X, K, S, F, Σ, β), wobei (X, K, S, F) ein MG ist, Σ ein Alphabet und β wie oben beschrieben. Die Wegemenge eines BMG G = (X, K, S, F, Σ, β) ist wie folgt definiert:

W(G) = β(W(G')) mit G' = (X, K, S, F).

Page 10: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

8

BMG sind Syntaxdiagramme ohne Rekursion und es gilt:

THEOREM :

Jede reguläre Menge ist homomorphes Bild (eines alphabetischen Homomorphismus) einer lokalen Menge und umgekehrt.

BEWEIS:

Offensichtlich ist jede Wegemenge eines BMG regulär. Sei A = (Q, Σ, δ, q0, F) ein EA. Definiere einen MG G = (X, K, S, F) und einen Homomorphismus β : X → Σ ∪ {λ} wie folgt:

X = {(q, a, p) | q, p ∈ Q, a ∈ Σ ∪ {λ}},

S = {(q0, a, p) | p ∈ Q, a ∈ Σ ∪ {λ}, δ*(q0, a) ∋ p},

F = {(q, a, p) | q, p ∈ Q, p ∈ F, a ∈ Σ ∪ {λ}, δ*(q, a) ∋ p},

K = {(q, a, q') (q', b, p) | q, q', p ∈ Q, a, b ∈ Σ ∪ {λ}, δ*(q, a) ∋ q', δ*(q', b) ∋ p} und

β((q, a, p)) = a für (q, a, p) ∈ X.

Man überlegt sich, daß L(A) = β(W(G)) ist. G beschreibt ein Protokoll der Berechnung von A.

2.2. Reguläre Ausdrücke

Syntax und Semantik wurden in Kapitel 1 eingeführt.

THEOREM :

Zu jedem regulären Ausdruck α gibt es einen (nichtdeterministischen) EA A mit L(α) = L(A) und umgekehrt.

BEWEIS:

„⇒“ Für α = ∅, λ oder α ∈ Σ kann ein EA explizit angegeben werden:

Page 11: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

9

Rest folgt mit Abschlußeigenschaften „∪“:

„⇐“ Sei A = (Q, Σ, δ, q0, F) ein EA. Folgendes Verfahren (graphisch dargestellt) liefert einen äquivalenten RA α.

Das vorgestellte Verfahren beruht auf dem Warshall-Algorithmus zur Bestimmung von Wegen in Graphen.

Initialisierung:

Page 12: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

10

Regel S(chleife):

Regel K(ante):

Regel E(liminieren):

Endliches Anwenden obiger Regeln liefert einen verallgemeinerten EA (Kantenbeschriftun-gen mit regulären Ausdrücken) der Form

und es gilt L(A) = L(α). □

2.3. Erkennbarkeit

Erkennbarkeit beruht auf der „algebraischen Sichtweise“ der formalen Sprache. Erkennbarkeit ist definiert wie folgt:

DEFINITION :

Sei Σ ein Alphabet. Eine Menge L ⊆ Σ* wird von einem Monoid M erkannt, wenn es einen Homomorphismus φ : Σ* → M und ein E ⊆ M gibt mit L = φ-1(E).

Page 13: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

11

Für reguläre Mengen gilt folgende Aussage:

THEOREM :

Eine Menge L ⊆ Σ* ist regulär genau dann, wenn L von einem endlichen Monoid akzeptiert wird.

BEWEIS:

Sei A = (Q, Σ, δ, q0, F) ein DEA. Jedes Wort w ∈ Σ* induziert eine Abbildung wA : Q → Q vermöge wA(p) = δ(p, w) für p ∈ Q. Wie man sich leicht überlegt, bildet die Menge aller Abbildungen von Q nach Q zusammen mit der Identität (= wλ) und der Hintereinander-ausführung von Abbildungen ein Monoid. Sei M dieses Monoid – dieses wird Transitions-monoid genannt. Dann gilt mit E = {wA : Q → Q | δ(q0, w) ∈ F} (wA(q0) = p ∈ F) und dem Homomorphismus φ(w) = wA die Behauptung L = φ-1(E).

Für die Umkehrung sei L = φ-1(E) mit E ⊆ M. Definiere A = (M, Σ, δ, q0, E) mit q0 = φ(λ) und δ(m, a) = m · φ(a) für m ∈ M und a ∈ Σ. Per Induktion folgt δ*(m, w) = m · φ(w) für m ∈ M und w ∈ Σ*. Dann ist φ-1(E) = L(A), da

w ∈ L(A) ⇔ δ*(q0, w) ∈ E ⇔ φ(w) = φ(λ) · φ(w) ∈ E ⇔ w ∈ φ-1(E). □

Hinweis: Das Transitionsmonoid eines EA läßt sich „einfach“ berechnen, da die Menge aller Abbildungen von Q nach Q endlich ist.

BEISPIEL :

φ(a) = aA

φ(b) = bA

0 1 2 � λA 0 1 2 (= id.) � aA 1 2 0 bA 0 1 2 = λA � aAaA 2 0 1

Page 14: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

12

aAbA = aA bAaA 1 2 0 = aA bAbA = λA a3

A 0 1 2 = λA a3

A ≠ w Reduziert mit Hilfe von bA = λA

Dann läßt sich jedes Wort der Länge ≥ 4 auf ein kleineres reduzieren.

M = {λA, aA, a2A}

· λA aA a2A

λA λA aA a2A

aA aA a2A λA

a2A a2

A λA aA

E = {λA}

L = φ-1(E)

Ähnlich wie im Fall von DEA, wo es ein kanonisches Objekt für reguläre Sprachen gibt (minimaler Automat), gibt es auch ein kanonisches Monoid für reguläre Sprachen. Hierzu wird eine Relation definiert:

DEFINITION :

Für eine Sprache L ⊆ Σ* definiere: x ≈L y genau dann, wenn für alle z, z' ∈ Σ* gilt:

zxz' ∈ L ⇔ zyz' ∈ L.

Die Relation ≈L wird syntaktische Kongruenz genannt, da ≈L eine Äquivalenzrelation ist und u ≈L v, u' ≈L v' impliziert uu' ≈L vv'. Beachte, daß u ≈L v impliziert u ~L v (Myhill-Nerode).

Die Umkehrung gilt im allgemeinen nicht. z.B. L = bba*. Es gilt a ~L ba, aber a ≉L ba, wegen b · a · λ ∉ L und b · ba · λ ∈ L.

Das syntaktische Monoid von L ist dann Σ*/≈L mit der Operation [u]≈L

· [v]≈L = [u · v]≈L

und

dem neutralen Element [λ]≈L. Die Abbildung ηL : Σ* → Σ*/≈L definiert vermöge ηL(x) = [x]≈L

heißt syntaktischer Homomorphismus von L. Mit EL= ηL(L) = {[x] ≈L | x ∈ L} gilt dann

L = ηL-1(EL). Die Sprache L wird vom syntaktischen Monoid erkannt – es gilt L = ηL

-1(ηL(L)).

Folgendes Theorem zeigt, daß Erkennbarkeit immer durch das syntaktische Monoid erreicht werden kann.

THEOREM :

Eine Sprache L ⊆ Σ* ist genau dann von einem Monoid M erkennbar, wenn es ein Unter-monoid M' ⊆ M, einen surjektiven Homomorphismus ψ : M' → Σ*/≈L und einen Homomor-phismus φ : Σ* → M gibt mit ηL = ψ ◦ φ (zuerst φ, dann ψ).

Page 15: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

13

BEWEIS:

Es sei L = φ-1(E) für einen Homomorphismus φ : Σ* → M und E ⊆ M. Setze M' = φ(Σ*). Dann ist φ : Σ* → M' ein surjektiver Homomorphismus. Ist m ∈ M', also m = φ(x) für ein x ∈ Σ*, so definiere ψ(m) = ηL(x). Abbildung ψ ist wohldefiniert, da für m = φ(x) = φ(y) gilt:

φ(zxz') = φ(zyz'). Also:

zxz' ∈ L ⇔ φ(zxz') ∈ E ⇔ φ(zyz') ∈ E ⇔ zyz' ∈ L.

Hieraus folgt ηL(x) = ηL(y). Darüber hinaus ist ψ ein Homomorphismus, da für m = φ(x) und m' = φ(y) gilt:

ψ(m · m') = ψ(φ(x) ◦ φ(y)) = ψ(φ(xy)) = ηL(xy) = ηL(x) ◦ ηL(y) = ψ(φ(x)) ◦ ψ(φ(y)) = ψ(m) ◦ ψ(m').

Die Surjektivität folgt unmittelbar, da für [x]≈L ∈ Σ*/≈L gilt ψ(φ(x)) = [x]≈L

, da ηL(x) = ψ(φ(x)).

Die Umkehrung sieht man wie folgt: Sei ηL = ψ ◦ φ für einen surjektiven Homomorphismus ψ : M' → Σ*/≈L und M' ⊆ M. Setze E = ψ-1(EL), wobei EL = ηL(L). Dann gilt

φ-1(E) = φ-1(ψ-1(EL)) = ηL

-1(EL) = L.

Das syntaktische Monoid einer regulären Menge läßt sich einfach aus dem minimalen DEA berechnen.

THEOREM :

Sei L ⊆ Σ* eine reguläre Sprache und AL der minimale DEA für L, d.h. L = L(AL). Das syntaktische Monoid Σ*/≈L ist isomorph zum Transitionsmonoid von AL.

BEWEIS:

Sei T(AL) das Transitionsmonoid von AL. Definiere f : Σ*/≈L → T(AL) vermöge f([x]≈L) = xAL

für x ∈ Σ*. Abbildung f ist wohldefiniert und injektiv, da

[x]≈L = [y]≈L

⇔ xAL = yAL

.

Dies folgt, da [x]≈L = [y]≈L

⇔ ∀ z, z' ∈ Σ* : zxz' ∈ L ⇔ zyz' ∈ L

⇔ ∀ z ∈ Σ* : [zx]≈L = [zy]≈L

Page 16: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

14

⇔ ∀ z ∈ Σ* : δAL*([z], x) = δAL

*([z], y)

⇔ xAL = yAL

.

Die Surjektivität folgt unmittelbar, da xAL = f([x]≈L) für alle xAL

∈ T(AL). Es bleibt zu zeigen, daß f ein Homomorphismus ist. Dies folgt, da f([x]≈L

· [y]≈L) = f([xy]≈L

) = xyAL = xAL

· yAL =

f([x] ≈L) · f([y]≈L

). □

2.4. Rechnen mit regulären Ausdrücken

Anstatt die Äquivalenz von regulären Ausdrücken auf die Äquivalenz von DEA zurückzu-führen, kann man diese auch mit Hilfe eines Axiomensystems ausrechnen. Hierzu wird eine Definition benötigt.

DEFINITION : LEERWORTEIGENSCHAFT

Ein regulärer Ausdruck α besitzt die Leerworteigenschaft (LWE), falls λ ∈ L(α) gilt.

Bemerkung: Die LWE läßt sich auch induktiv definieren.

Es sollen Rechenregeln und Axiome für RA eingeführt werden. Die Axiome nach Salomaa und Urponen lauten wie folgt:

0. λ = ∅*

0'. r = r 0''. r + ∅ = r 0'''. r + r = r 1. (r + s) + t = r + (s + t) 2. (rs) t = r (st) 3. r + s = s + r 4. r (s + t) = rs + rt 5. (r + s) t = rt + st 6. r · λ = r 7. r · ∅ = ∅ 8. r* = r · r* + λ 9. r* = (r + λ)*

Axiome 0' bis 0''' sind nur dazu da, die Rechnung zu vereinfachen; diese braucht man nicht, um die Vollständigkeit der Rechenregeln und der Axiome zu beweisen.

Die Rechenregeln sind:

1. Kongruenz: Wenn r = s gilt, kann in einem Ausdruck t1 ein Vorkommen von r durch s ersetzt werden. Für den resultierenden Ausdruck t2 gilt dann t1 = t2. (auch Substitu-tionsregel)

2. Symmetrie: Wenn r = s gilt, dann auch s = r.

3. Transitivität: Wenn r = s und s = t gilt, dann auch r = t.

4. Gleichungsauflösung: Wenn die Gleichung r = sr + t gilt und s die Leerworteigen-schaft nicht erfüllt, dann gilt auch r = s*t.

Bemerkung: Falls s die LWE erfüllt, dann ist für einen beliebigen Ausdruck p der reguläre Ausdruck r = s*(p + t) eine Lösung der Gleichung r = sr + t.

Page 17: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

15

Offensichtlich sind alle Axiome und Rechenregeln korrekt. Daß r = s*t eine Lösung der Gleichungsauflösung ist, sieht man wie folgt:

Sei r = s*t; r = sr + t = s(s*t) + t = (Regeln 5 und 2) (ss* + λ) · t = (Regel 8) s*t

⇒ r = s*t.

Beachte, daß die Gleichung r = sr + t eine Fixpunktgleichung ist, deren kleinster Fixpunkt (im mengentheoretischen Sinn) sich durch sukzessive Approximation berechnen läßt. Definiere hierzu:

r0 = s · ∅ + t = t

ri+1 = s · ri + t = s · (sri-1 + t) + t = … = sit + si-1t + … + st + t

⇒ r = s*t

Daß die Lösung eindeutig ist, wenn s die LWE nicht erfüllt, sieht man wie folgt. Sei r' eine beliebige Lösung. Sukzessives Einsetzen von sr' + t für r' liefert:

r' = sr' + t = ssr' +st + t = … = sk+1r' + skt + … + st + t für k ≥ 0 (*)

Also gilt L(ri) ⊆ L(s*t) ⊆ L(r') für i ≥ 0. Sei u ∈ L(r') mit |u| = n; setze k = n. Da s die LWE nicht erfüllt, hat jedes Wort w ∈ L(sk+1) eine Länge |w| ≥ n + 1; also gilt u ∉ L(sk+1r'). Wegen (*) muß gelten: u ∈ L(skt + … + st + t). Also L(r') ⊆ L(s*t) ⇒ L(r') = L(s*t).

Es folgt das Haupttheorem dieses Abschnitts. Der Beweis ist langwierig und technisch, wird daher nicht durchgeführt.

THEOREM :

Das oben angegebene Axiomensystem (0) – (9) mit den Rechenregeln Kongruenz, Symme-trie, Transitivität und Gleichungsauflösung ist wohldefiniert, korrekt und vollständig. D.h. alle Äquivalenzen der Form L(α) = L(β) für reguläre Ausdrücke α, β lassen sich damit beweisen.

BEISPIEL :

(a + b)* = a* · (a + b)*

(a + b)* = (Regel 8) (a + b) (a + b)* + λ = (a + (a + b)) (a + b)* + λ

= a · (a + b)* + ((a + b) (a + b)* + λ)

= a* · ((a + b) (a + b)* + λ)

= a* · (a + b)*

Sei A = (Q, Σ, δ, q0, F) ein verallgemeinerter EA mit Q = {q0, …, qn} und dem regulären Aus-druck rij auf der Kante von qi nach qj. Das zu A gehörende Gleichungssystem ist wie folgt:

y0 = r00 y0 + r01 y1 + … + r0n yn + δ0

yn = rn0 y0 + rn1 y1 + … + rnn yn + δn

wobei y0, …, yn Variablen sind und δi = λ, falls qi ∈ F und δi = ∅ sonst. Man schreibt

y = M · y + δ (*)

wobei M = (rij) die (n+1) · (n+1) Matrix der ri, δ der Spaltenvektor über δi und y der Spalten-vektor über yi ist. Die folgende Aussage gilt für (*).

Page 18: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

16

THEOREM :

Sei A = (Q, Σ, δ, q0, F) ein verallgemeinerter EA mit Q = {q0, …, qn}. Für k = 0, 1, …, n sei Lk = {w ∈ Σ* | δ(qk, w) ∩ F ≠ ∅} und L der Spaltenvektor der Lk. Ferner sei y = M y + δ das zu A gehörige Gleichungssystem. Dann gilt:

(i) L erfüllt das Gleichungssystem, d.h. L = M · L + δ.

(ii) L läßt sich durch Iteration ausgehend von L(0) = δ und L(i+1) = M · L(i) + δ gewinnen. Damit gilt L = M* · δ.

(iii) Für jede Lösung L' des Gleichungssystems gilt L ⊆ L'.

(iv) Das Gleichungssystem hat die eindeutige Lösung M* · δ, falls M nicht die LWE besitzt. Die Matrix M = (rij) besitzt die LWE genau dann, wenn es eine Folge von Indizes i1, …, ik gibt mit k ≥ 1, so daß λ ∈ ripip+1

für 1 ≤ p ≤ k – 1 und λ ∈ riki1 gilt.

2.5. Zweiwegeautomaten (zweiseitige endliche Automa ten)

Als Erweiterung endlicher Automaten werden nun solche betrachtet, die auf der Eingabe auch wieder zurück gehen können. Damit kann man Schnittmengen regulärer Sprachen sehr einfach erkennen.

BEISPIEL :

Sei Σ = {a, b, $}, X = {a, b} ⊆ Σ; L = $X*aX*aX*aX* ∩ $X*bX*bX*bX* ∩ $X*aXX. Der nichtdeterministische Zweiwegeautomat akzeptiert Worte aus L wie folgt:

Wenn er zu Beginn ein $ liest, sucht er 3 a (liest von links nach rechts), geht so weit wie möglich nach rechts und prüft, daß kein weiteres $ auftritt. Analog dann für b von rechts nach links bis zum Anfang und prüft dort das $. Abschließend wird noch von links nach rechts geprüft, ob das drittletzte Zeichen ein a ist.

Ähnlich wie bei Turing-Maschinen spricht man auch bei Zweiwegeautomaten von Konfigura-tionen, die wie folgt aussehen: Für ein Wort a1 … an, den Zustand q und die Position i schreibt man a1 … ai-1 q ai … an, falls die Menge der Zustände und das Alphabet disjunkt sind.

Es werden nur deterministische endliche Zweiwegeautomaten (2DEA) betrachtet.

DEFINITION :

Ein 2DEA über Σ besteht aus:

• einem Eingabealphabet Σ

• einer endlichen Menge Q von Zuständen mit Q ∩ Σ = ∅

• einem Startzustand q0 ∈ Q

• einer Menge F ⊆ Q von Endzuständen

• einer Überführungsfunktion δ : (Q × Σ) → (Q × {L, R, S})

Man schreibt A = (Q, Σ, δ, q0, F).

Ein Wort γ ∈ Σ* Q Σ* heißt Konfiguration des Automaten. Die binäre Relation ⊢A ist definiert durch:

Page 19: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

17

u p a v ⊢A u a q v falls u, v ∈ Σ*, a ∈ Σ und δ(p, a) = (q, R)

u b p a v ⊢A u q b a v falls u, v ∈ Σ*, a, b ∈ Σ und δ(p, a) = (q, L)

u p a v ⊢A u q a v falls u, v ∈ Σ*, a ∈ Σ, δ(p, a) = (q, S)

L(A) = {w | q0w ⊢A* wq und q ∈ F}, wobei w ∈ Σ*.

THEOREM :

Jede Sprache, die von einem 2DEA akzeptiert wird, ist regulär (und umgekehrt).

BEWEIS:

Da jede reguläre Sprache durch einen DEA akzeptierbar ist, folgt die Behauptung von rechts nach links.

Sei A = (Q, Σ, δ, q0, F) ein 2DEA und x = a1 a2 … an die Eingabe. Assoziiere zu jedem Präfix a1 a2 … ai eine Abbildung ∆i : Q → Q ∪ {⊥}. Dabei sei ∆i(q) = p mit p ∈ Q, falls es eine

Berechnung der Form a1 a2 … ai-1 q ai ⊢A* a1 a2 … ai p gibt und p der Zustand ist, der das

erste Mal nach einer Rechtsbewegung auf ai erreicht wird. Im weiteren sei ∆i(q) = ⊥, falls es eine ablehnende Berechnung gibt, die in a1 a2 … ai-1 q ai startet und dabei das Wort a1 a2 … ai nie nach rechts verläßt.

Die Anzahl aller Abbildungen von Q nach Q ∪ {⊥} ist (|Q| + 1)|Q|. Definiere einen EA A' = (Q', Σ, δ', q0', F'), wobei

Page 20: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

18

Q' = {(q, ∆) | q ∈ Q und ∆ : Q → Q ∪ {⊥}} ∪ {t}.

Für den Fangzustand t gilt δ'(t, a) = t für alle a ∈ Σ. Man konstruiert die Abbildung δ' auf Zuständen (q, ∆) wie folgt: Es soll gelten, daß A' im Zustand (q, ∆) nach Lesen des Wortes y ist genau dann, wenn der 2DEA A das erste Mal das Wort y nach rechts im Zustand q verlassen hat und ∆ die mit y assoziierte Abbildung ist. Es gilt

δ'((q1, ∆1), a) = (q2, ∆2),

wenn:

Es gilt δ'(q1, ∆1), a) = (q2, ∆2), wenn q2, ∆2 aus q1, ∆1 wie folgt berechenbar ist:

i) ∆2(p1) = p, falls es eine Sequenz von Zuständen p2, p3, …, pn, p gibt, so daß entweder

δ(pi, a) = (pi+1, S) oder

δ(pi, a) = (pi', L) und ∆1(pi') = pi+1 für alle 1 ≤ i < n, und δ(pn, a) = (p, R).

Die Sequenz von Zuständen p1, p2, …, pn nennt man Kreuzungsfolge.

ii) ∆2(p1) = ⊥, falls es keine Sequenz wie in i) gefordert gibt.

iii) q2 = ∆(q1). Falls ∆2(q1) = ⊥, dann sei δ'((q1, ∆1), a) = t, wobei t der Fangzustand ist.

Beachte: In der Sequenz von Zuständen p1, p2, …, pn wiederholt sich kein Zustand. Andern-falls ist der EA in einer Schleife und kann das Wort ya niemals nach rechts verlassen. Damit läßt sich ∆2 induktiv definieren.

Der Anfangszustand q0' sei (q0, ∆0), wobei ∆0 die Abbildung ist, die mit λ assoziiert wird, d.h. ∆0(q) = ⊥ für q ∈ Q. Darüber hinaus sei F' = {(q, ∆} ∈ Q' | q ∈ F}. Per Induktion über die Länge der Eingabe zeigt man, daß A' korrekt arbeitet. □

Bemerkungen:

i) Auch für nichtdeterministische Zweiwegeautomaten ist obiges Theorem gültig.

ii) Ob obige Simulation optimal ist, ist bisher offen.

Page 21: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

19

2.6. MSO-Logik

In diesem Abschnitt wird eine Verbindung zwischen Automatentheorie und Logik eingeführt. Hierzu sind einige Definitionen notwendig.

Sei w = a0 a1 … an-1 ein Wort über dem Alphabet Σ. Das mit w assoziierte Wortmodell ist wie folgt definiert:

w = (dom(w), SW, <W, (QaW)a ∈ Σ), wobei

dom(w) = {0, 1, …, n – 1} die Wortpositionen, SW die Nachfolgerrelation ist (0 ֏ 1,

1 ֏ 2, …), <W die „echt kleiner“ Relation (0 < 1, 0 < 2, …) und QaW ein unäres Prädikat mit

der Eigenschaft QaW = {i ∈ dom(w) | ai = a}. Die Struktur w kann als Graph mit Knoten-

menge dom(w) aufgefaßt werden; z.B. ergibt sich für das Wort w = abac über dem Alphabet {a, b, c} folgender Graph:

Formeln der Prädikatenlogik erster Stufe (mit Gleichheit) sind aus folgenden Elementen auf-gebaut:

• Variablen x, y, … (erster Ordnung). Diese stehen für Elemente aus dem Grundbereich, d.h. natürliche Zahlen.

• logische Symbole ¬, ∧, ∨, →, ←, ↔, ∃, ∀

• „nichtlogische“ Symbole S (Nachfolger), <, Qa mit a ∈ Σ und =.

Die Menge aller Formeln der Prädikatenlogik erster Stufe (Fo) läßt sich induktiv definieren. Die Definition wird an dieser Stelle als bekannt vorausgesetzt. Sei φ eine Fo-Formel. Man schreibt φ(x1, x2, …, xn) um zu zeigen, daß in φ höchstens x1, x2, …, xn frei vorkommen. Sei w ein Wort und w = (dom(w), SW, <W, (Qa

W)a ∈ Σ) seine Struktur. Im weiteren seien p1, p2, …, pn Positionen in dom(w) und φ = φ(x1, x2, …, xn) eine Fo-Formel. Definiere (w, p1, p2, …, pn)

⊨ φ(x1, x2, …, xn) („erfüllt“) genau dann, wenn φ in w gilt, sofern die Zeilen S, <, Qa mit a ∈ Σ und = durch SW, <W, Qa

W mit a ∈ Σ und Gleichheit auf Position interpretiert werden und die freie Variable xj durch pj ersetzt wird.

BEISPIEL :

(abac, 0, 3) ⊨ Qa(x1) ∧ Qc(x2)

(abac, 1, 3) ⊭ ∃ x : (S(x1, x) ∧ Qb(x))

Sei φ eine Fo-Formel ohne freie Variablen. Dann ist die durch φ definierte Sprache gegeben

vermöge L(φ) = {w ∈ Σ* | w ⊨ φ}.

Page 22: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

20

BEISPIEL :

Betrachte folgenden Automaten A mit Eingabealphabet {a, b, c}.

Die von A akzeptierte Sprache besteht aus allen Wörtern über {a, b, c} mit folgenden Eigenschaften:

i) Kein b folgt direkt auf a,

ii) jedes b hat ein direkt nachfolgendes a, und

iii) a ist der letzte Buchstabe.

Warum dies so ist, kann man sich leicht überlegen. Diese Sprache läßt sich logisch folgt charakterisieren:

φ = [¬ ∃x ∃y : (S(x, y) ∧ Qa(x) ∧ Qb(y))] (1)

∧ [∀x : (Qb(x) ⇒ ∃ y : (S(x, y) ∧ Qa(y)))] (2)

∧ [∃x : ((¬ ∃y : S(x, y)) ∧ Qa(x)] (3)

„Wortende“

Es gilt L(A) = L(φ) – ohne Beweis.

Man kann zeigen, daß die Sprache L = {a2n | n ≥ 0} über dem Alphabet {a} nicht Fo-definierbar ist, d.h. es gibt keine Fo-Formel φ mit L = L(φ). Die Sprache L' = a*ba*ca* ist nicht Fo[S]-definierbar, d.h. es gibt keine Fo-Formel φ', ohne die <-Relation mit L' = L(φ').

Die Fo-Logik soll nun zur monadischen Logik zweiter Stufe (MSO) erweitert werden. Formeln der MSO-Logik sind aus folgenden Elementen aufgebaut:

• Elemente der Fo

• Variablen 2. Stufe X, Y,… Diese stehen für Mengen von Elementen aus dem Grund-bereich, d.h. Mengen von natürlichen Zahlen.

• atomare Formeln der Art X(x), Y(x),… mit der Bedeutung „x ∈ X“, „x ∈ Y“,…

Wie im Fall von Fo-Formeln läßt sich die Menge aller MSO-Formeln induktiv definieren. Sei φ eine MSO-Formel ohne freie Variablen. Dann ist die von φ definierte Sprache gegeben

durch L(φ) = {w ∈ Σ* | w ⊨ φ}, wobei Erfüllbarkeit ähnlich wie im Fo-Fall definiert ist (Variable 2. Ordnung benötigt Pi ⊆ dom(w)).

Es folgt der Hauptsatz dieses Abschnitts.

THEOREM : SATZ VON BÜCHI

Eine Sprache L ⊆ Σ* ist durch einen EA akzeptierbar genau dann, wenn es eine MSO-Formel φ gibt mit L = L(φ).

Page 23: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

21

BEWEIS:

Sei A = (Q, Σ, δ, q0, F) ein EA. O.b.d.A. sei Q = {0, 1, …, k} und q0 = 0. Die folgende Konstruktion läßt sich schematisch wie folgt darstellen:

X0 = {0, …}

X1 = {3, …}

X2 = {2, 5, 6, …, n-1}

X3 = {1, 4, …}

Es wird folgende Schreibweise eingeführt:

first(x) = ¬ ∃y : S(y, x) und

last(x) = ¬ ∃y : S(x, y)

Betrachte die folgende MSO-Formel

φ = ∃ X0 ∃ X1 … ∃ Xk : φ1 ∧ φ2 ∧ φ3 ∧ φ4 mit

φ1 = [∧0 ≤ i ≠ j ≤ k ∀x : ¬ (Xi(x) ∧ Xj(x))] „X i paarweise disjunkt“

φ2 = [∀x : first(x) ⇒ X0(x)] „0 ∈ X0 ≙ erstes Symbol wird im Startzustand gelesen“

φ3 = [∀ x ∀ y : S(x, y) ⇒ ∨δ(i, a) ∋ j (Xi(x) ∧ Qa(x) ∧ Xj(y)) „Übergänge sind korrekt“

φ4 = [∀x : last(x) ⇒ ∨δ(i, a) ∋ j, j ∈ F (Xi(x) ∧ Qa(x))]

„am letzten Symbol Übergang in Endzustand korrekt“

Sei ψ = {φ falls λ ∈ L(A), φ ∧ ∃x : (x = x) sonst}. Es gilt w ⊨ ψ ⇔ es gibt X0, …, Xk, die die Eigenschaften 1 – 4 erfüllen ⇔ es gibt eine akzeptierende Berechnung ⇔ w ∈ L(A).

Die Umkehrung sieht man wie folgt: Sei φ eine MSO-Formel. Ohne Einschränkung kann man annehmen, daß φ keine Fo-Variablen enthält und sich durch folgende Syntax beschreiben läßt:

„|Xj| = 1“ „Formel mit m – 1 freien Variablen“

ψ ::= (Xj ⊆ Xk) | Sing(Xj) | S(Xj, Xk) | Xj ⊆ Qa | ψ1 ∨ ψ2 | ¬ψ1 | ∃Xm ψ(X1, X2, … Xm)

Die folgende Aussage soll per Induktion bewiesen werden. Dabei gibt es folgendes Problem: Eine Formel wie z.B. ∃x : ψ(x) hat keine freien Variablen (geschlossen), aber die Formel ψ(x) enthält x frei. Um nicht geschlossene Formeln mit n freien Variablen betrachten, wird das Wortmodell über Σ × {0, 1}m verwendet. Anstatt ψ auf (w, P1, …, Pm) zu interpretieren, kann

Page 24: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

22

man ψ auf einem Wort w' über Σ × {0, 1}m interpretieren. Sei w = a0 a1 … an-1. Dann sei w' = a0' a1' … an-1' mit ai' = (ai, c1

i, c2i, …, cm

i) mit cji = 0, falls i ∉ Pj und cj

i = 1 sonst.

Konstruiere per Induktion einen Automaten, über dem Alphabet Σ × {0, 1}m, der die gleiche Sprache akzeptiert wie die Formel φ mit m freien Variablen. Folgende Fälle müssen unterschieden werden:

• Der Automat, der Xj ⊆ Xk erkennt, sieht wie folgt aus (o.E. j < k):

Analog lassen sich Automaten für Sing(Xj), S(Xj, Xk) und Xj ⊆ Qa konstruieren.

• Seien A1 und A2 die Automaten für φ1 und φ2, d.h. L(Ai) = L(φi) für i = 1, 2. Da reguläre Sprachen unter Vereinigung und Komplementbildung abgeschlossen sind, lassen sich Automaten für L(φ1 ∨ φ2) und L(¬ φ1) bilden.

• Sei A ein Automat, der L(φ1(X1, …, Xm)) akzeptiert. Den Automat, der L(∃ Xm φ1(X1, …, Xm)) akzeptiert, erhält man aus A durch Projektion, d.h. indem man die m-te Komponente wegläßt. Sei B dieser Automat. Falls B das Wort

w' = (a0, c10, …, cm-1

0) … (an-1, c1n-1, …, cm-1

n-1) (*)

durch einen Weg akzeptiert, so definiert dieser Weg auch einen akzeptierenden Pfad in A. Dessen Beschriftung ist

w = (a0, c10, …, cm-1

0, cm0) … (an-1, c1

n-1, …, cm-1n-1, cm

n-1)

mit gewissen cm0, cm

1, …, cmn-1. Wegen der Induktionshypothese erfüllt w die Formel

φ1(X1, …, Xm). Setze Pm = {i | 0 ≤ i ≤ n – 1 und cmi = 1}. Mit Pm eingesetzt für Xm gilt

w' ∈ L(∃Xm φ1(X1, …, Xm)). Also L(B) ⊆ L(∃Xm φ1(X1, …, Xm)).

Sei umgekehrt w' ∈ L(∃Xm φ1(X1, …, Xm)), wobei w' so aussieht wie in (*). Sei Pm ⊆ {0, 1, …, n-1} die Menge von Indizes, die laut Definition des ∃Xm-Quantors für Xm eingesetzt werden kann, so daß w' die Formel ∃Xm φ1(X1, …, Xm) erfüllt.

Definiere cmi = 0, falls i ∉ Pm und cm

i = 1 sonst. Sei w das aus w' gewonnene Wort, indem man die cm

i als letzte Komponente hinzufügt. Dann gilt w ∈ L(φ1(X1, …, Xm)) nach Konstruktion. Wegen der Induktionshypothese existiert ein akzeptierender Pfad in A für w, und damit auch in B für w', also L(∃Xm φ1(X1, …, Xm)) ⊆ L(B). Hieraus folgt Gleichheit.

KOROLLAR :

Jede MSO-Formel ist äquivalent zu einer existentiellen MSO-Formel, d.h. eine MSO-Formel, die mit Existenzquantoren zweiter Stufe beginnt.

BEWEIS:

Anwendung des obigen Theorems.

Page 25: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

23

2.7. Endliche Automaten über unendlichen Wörtern

Zunächst werden einige Definitionen zu unendlichen Wörtern benötigt. Ein unendliches Wort über einem Alphabet Σ ist eine unendliche Sequenz von Elementen aus Σ, d.h. w = a0, a1, …,

an, … Ein unendliches Wort w läßt sich als Abbildung w : ℕ → Σ auffassen mit w(n) = an für

alle n ∈ ℕ. Mit Σω bezeichnet man die Menge aller unendlichen Wörter über Σ und man setzt Σ∞ = Σ* ∪ Σω. Die Konkatenation von u = a0 a1 … an ∈ Σ* und v = b0 b1 … bn … ∈ Σω ist

uv = a0 a1 … an b0 b1 … bn … ∈ Σω. Für eine Menge A ⊆ Σ* sei

Aω = {u0 u1 … un … | ui ∈ A \ {λ} für i ≥ 0}.

Es gelten folgende Eigenschaften (ohne Beweis):

THEOREM :

Für alle A, B ⊆ Σ* gilt:

i) (A+B)ω = (A*B)ω + (A+B)*Bω + (A+B)*Aω

ii) (AB)ω = A(BA)ω

iii) (An)ω = (A+)ω = Aω für n ≥ 0

iv) AAω = A+Aω = Aω

Die ω-regulären Mengen von Σ∞ werden nun definiert wie folgt: Die Menge der ω-regulären Teilmenge von Σ∞ ist die kleinste Menge R von Teilmengen von Σ

∞ mit den Eigenschaften:

i) ∅ ∈ R und für alle a ∈ Σ gilt {a} ∈ R,

ii) R ist unter endlicher Vereinigung abgeschlossen,

iii) für alle A ⊆ Σ* und B ⊆ Σ∞ mit A, B ∈ R folgt A · B ∈ R, und

iv) für alle A ⊆ Σ* mit A ∈ R folgt A* ∈ R und Aω ∈ R.

Folgendes Theorem charakterisiert die ω-regulären Mengen von Σω (diese werden im folgenden ω-reguläre Mengen genannt).

THEOREM :

Eine Teilmenge von Σω ist ω-regulär genau dann, wenn sie endliche Vereinigung von Mengen der Form A · Bω ist, mit A und B reguläre Teilmengen von Σ

*.

BEWEISIDEE :

Strukturelle Induktion; Fall (iii) ist kompliziert.

2.7.1. Büchi-Automaten

Büchi-Automaten sind folgendermaßen definiert: Ein Büchi-Automat (BA) ist ein 5-Tupel A = (Q, Σ, δ, q0, F), wobei Q, Σ, δ, q0, F wie im Fall von endlichen Automaten definiert sind. Eine Berechnung von w = a0 a1 a2 … ∈ Σω auf A ist eine Folge π(w) von Konfigurationen

(q0, w) = (q0, a0 a1 a2 …) ⊢A (q1, a1 a2 …) ⊢A … mit qi+1 ∈ δ(qi, ai) für i ≥ 0. Sei nun inf(π(w)) die Menge aller Zustände, die unendlich oft in der Berechnung π(w) vorkommen. Die Menge, die von A akzeptiert wird, ist dann

Page 26: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

24

Lω(A) = {w ∈ Σω | es gibt eine Berechnung π(w) mit inf(π(w)) ∩ F ≠ ∅},

d.h. mindestens ein Endzustand muß unendlich oft besucht werden. Ein BA A mit Zustands-menge Q ist deterministisch, falls δ eine Abbildung von Q × Σ nach Q ist.

LEMMA :

Jede nicht leere Menge, die durch einen BA akzeptiert wird, enthält ein ultimativ periodisches Wort, d.h. ein Wort der Form uvω.

BEWEIS:

Offensichtlich, denn für Wörter u und v mit δ(q0, u) ∋ q ∈ F und δ(q, v) ∋ q folgt, daß uvω akzeptiert wird. Beachte, daß u und v existieren, da die betrachtete Menge nicht leer ist.

Nachfolgendes Theorem beschreibt die Beziehung von Büchi-erkennbaren und ω-regulären Mengen.

THEOREM :

Eine Sprache L ⊆ Σω ist Büchi-akzeptierbar genau dann, wenn L eine ω-reguläre Menge ist.

BEWEIS:

Analog zum endlichen Wortfall.

Im endlichen Wortfall sind deterministische und nichtdeterministische EA gleich mächtig. Bei Büchi-Automaten ist dies nicht der Fall. Um dies zu zeigen, wird eine neue formalsprachliche Operation ein.

Für L ⊆ Σ* sei

L = {w ∈ Σω | unendlich viele Präfixe von w sind in L}.

BEISPIEL :

1. L = a*b L = ∅

2. L = (ab)+ L = (ab)ω

3. L = (a+b)*b = (a*b)+ L = (a*b)ω

Folgendes Beispiel zeigt, daß sich nicht jede Menge in der Form L schreiben läßt.

BEISPIEL :

Sei (a+b)*aω die Menge aller Wörter, die nur endlich viele b enthält. Angenommen, es gäbe L ⊆ Σ* mit L = (a+b)*aω. Dann hat das Wort baω ein Präfix ban1 in L, das Wort ban1baω ein Präfix ban1ban2 in L, usw., und damit das unendliche Wort u = ban1 ban2 ban3… bani… unend-lich viele Präfixe in L. Damit muß u ∈ L gelten. Dies ist ein Widerspruch, da u unendlich viele b enthält.

Folgendes Theorem zeigt die Beziehung zwischen deterministischen BA und der oben einge-führten Operation.

Page 27: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

25

THEOREM :

Sei A ein deterministischer BA. Dann gilt Lω(A) = L(A).

BEWEIS:

Sei A = (Q, Σ, δ, q0, F) ein deterministischer BA und w ∈ Lω(A). Dann gibt es eine Berech-

nung (q0, a0 a1 … an …) ⊢A (q1, a1 a2 … an …) ⊢A mit w = a0 a1 … an … und n0 < n1 < …, so daß qn0, qn1, … ∈ F. Es gilt wk = a0 a1 … an(k)-1 ist in L(A) und ein Präfix von w. Hieraus folgt Lω(A) ⊆ L(A). Umgekehrt sei w ∈ L(A). Damit hat w unendlich viele Präfixe in L(A). Da A deterministisch ist, kann man folgern, daß w eine Berechnung induziert, welche unendlich oft durch F läuft. Hieraus folgt w ∈ Lω(A). □

Aus obigem Theorem folgt unmittelbar folgende Charakterisierung von deterministischen Büchi-Mengen:

KOROLLAR :

Sei L ⊆ Σω für ein Alphabet Σ. Folgende Aussagen sind äquivalent:

1. L wird durch einen deterministischen BA akzeptiert.

2. Es gibt eine reguläre Menge M ⊆ Σ* mit L = M.

Darüber hinaus kann man folgende Aussage beweisen:

THEOREM :

Jede Sprache, die von einem deterministischen BA akzeptiert wird, ist ω-regulär, aber nicht jede ω-reguläre Menge wird von einem deterministischen BA akzeptiert.

BEWEIS:

Erste Aussage ist trivial und zweite folgt aus obigem Beispiel ((a+b)*aω).

Es folgen noch einige Abschlußeigenschaften von deterministischen Büchi-Mengen.

THEOREM :

Deterministische Büchi-Sprachen sind unter endlicher Vereinigung und Schnitt abgeschlos-sen.

BEWEIS:

Die Vereinigung folgt aus ∪1 ≤ i ≤ n Li = [∪1 ≤ i ≤ n Li] und obigem Korollar.

Für den Schnitt benötigt man eine spezielle Konstruktion. Seien Ai = (Qi, Σ, δi, qi0, Fi) deter-ministische BA mit i ∈ {1, 2}. Definiere B = (Q1 × Q2 × {0, 1, 2}, Σ, δ, (q10, q20, 0), F) mit δ((p1, p2, s), a) = (q1, q2, t), falls δ1(p1, a) = q1 und δ2(p2, a) = q2 und

i) t = 0, falls s = 2 und p2 ∈ F2

ii) t = 1, falls s = 0 und q1 ∈ F1

iii) t = 2, falls s = 1 und q2 ∈ F2

Page 28: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

26

iv) t = s sonst

und F = Q1 × F2 × {2}. Damit speichert die dritte Komponente, ob ein Endzustand aus F1 und dann aus F2, usw. besucht wird. Dann läßt sich per Induktion zeigen, daß Lω(B) = Lω(A1) ∩ Lω(A2) gilt.

Bemerkung: Die Abschlußeigenschaften (von obigem Theorem) für deterministische Büchi-Sprachen gelten auch für nichtdeterministische Büchi-Sprachen.

THEOREM :

Deterministische Büchi-Sprachen sind nicht unter Komplementbildung abgeschlossen.

BEWEIS:

Sei Σ = {a, b} und L = {w ∈ Σω | w enthält unendlich viele b} und L ist eine deterministische Büchi-Sprache, aber L ist keine deterministische Büchi-Sprache.

2.7.2. Muller-Automaten

Ein Muller-Automat ist ein Büchi-Automat mit veränderter Akzeptanzbedingung. Formal ist

ein Muller-Automat (MA) ein 5-Tupel A = (Q, Σ, δ, q0, ℱ), wobei Q, Σ, δ, q0 wie bei einem

BA definiert sind und ℱ ⊆ 2Q. Die von einem MA akzeptierte Sprache ist Lω(A) = {w ∈ Σω |

es gibt eine Berechnung π(w) von A auf Wort w mit inf(π(w)) ∈ ℱ}.

Im nachfolgenden sollen hauptsächlich deterministische MA betrachtet werden.

BEISPIEL :

Betrachte MA A:

Page 29: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

27

mit ℱ = {{2}}. Es gilt L ω(A) = (a+b)* bω.

THEOREM :

Für einen (deterministischen) MA A ist die Menge Lω(A) ω-regulär.

BEWEIS:

Sei A = (Q, Σ, δ, q0, ℱ) ein MA. Ohne Einschränkung kann man annehmen, daß die Menge ℱ

einelementig ist (Abschluß unter Vereinigung). Sei ℱ = {{t 0, t1, …, tk}} und F := {t0, t1, …, tk}. Sei X die Menge von endlichen Wörtern, die vom Startzustand q0 nach t0 führen. Für 0 ≤ i < k sei Yi die Menge der endlichen Wörter, die vom Zustand ti nach ti+1 (bzw. von tk nach t0) führen und nur Zustände aus {t0, t1, …, tk} besuchen. Dann gilt Lω(A) = X · (Y0 Y1 … Yk)

ω.

Falls v ∈ X(Y0 Y1 … Yk)ω, dann ist inf(π(v)) = F und daher v ∈ Lω(A). Im Fall v ∈ Lω(A)

gibt es einen Pfad π(v) = (q0, a0 a1 …) ⊢ (q1, a1 a2 …) ⊢ … mit inf(π(v)) = F. Insbesondere gibt es n0 mit qn(0) = t0 und für alle n ≥ n0 gilt qn ∈ F.

Daher gibt es eine unendliche Folge n0 < n1 < n2 < …, so daß die Folge qn(0), qn(1), qn(2), … gleich der periodischen Folge t0, t1, …, tk, t0, t1, …, tk, t0, … ist. Es gilt a0 a1 … an(0)-1 ∈ X und für alle r ≥ 0 :

an(r) an(r)+1 … an(r+1)-1 ∈ Yr mod (k+1).

Daher folgt v ∈ X(Y0 Y1 … Yk)ω. □

THEOREM :

Die deterministischen Muller-Sprachen sind unter Komplementbildung und Schnitt abge-schlossen.

Es folgt die Hauptaussage zu Muller-Automaten.

THEOREM :

Folgende Aussagen für L ⊆ Σω sind äquivalent:

i) L wird von einem deterministischen MA akzeptiert.

Page 30: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

28

ii) L hat die Form L = ∪1 ≤ i ≤ n (Ui \ Vi), wobei Ui und Vi Teilmengen von Σω sind, die von deterministischen BA akzeptiert werden.

iii) L ist eine Boole'sche Kombination von Sprachen aus Σω, die von deterministischen BA

akzeptiert werden.

BEWEIS:

i ⇒ ii Sei A = (Q, Σ, δ, q0, ℱ) ein deterministischer MA. Ohne Einschränkung sei ℱ

einelementig, d.h. ℱ = {F}. Dann gilt:

Lω(A) = ∩t ∈ F Lω(Bt) \ ∪t ∉ F L

ω(Bt), wobei

Bt = (Q, Σ, δ, q0, {t})

Da deterministische BA unter Schnitt und Vereinigung abgeschlossen sind, folgt die Behauptung.

ii ⇒ iii offensichtlich

iii ⇒ i Sei A = (Q, Σ, δ, q0, F) ein deterministischer BA. Dann akzeptiert der deterministische

MA B = (Q, Σ, δ, q0, ℱ) mit ℱ = {T ⊆ Q | T ∩ F ≠ ∅} die gleiche Menge wie A. Das jede Boole'sche Kombination von deterministischen MA-Sprachen wieder eine deterministische MA-Sprache ist, folgt aus den Abschlußeigenschaften unter Vereinigung, Schnitt und Kom-plement. □

2.7.3. Rabin-Automaten

Obiges Theorem motiviert ein neues Automatenmodell, den sogenannten Rabin-Automat. Ein

Rabin-Automat (RA) ist ein 5-Tupel A = (Q, Σ, δ, q0, ℛ), wobei Q, Σ, δ und q0 wie bei BA

definiert sind und ℛ = {(L1, U1), (L2, U2), …, (Ln, Un)} mit L i, Ui ⊆ Q. Die vom RA akzep-tierte Sprache ist definiert vermöge:

Lω(A) = {w ∈ Σω | es gibt eine Berechnung π(w) und einen Index i mit inf(π(w)) ∩ Li = ∅ und inf(π(w)) ∩ Ui ≠ ∅}.

Wie im Fall von MA sollen hauptsächlich deterministische RA betrachtet werden.

THEOREM :

Jeder deterministische RA ist zu einem deterministischen MA äquivalent und umgekehrt.

BEWEIS:

Sei A = (Q, Σ, δ, q0, ℛ) ein deterministischer RA. Definiere ℱ = {T ⊆ Q | T ∩ L = ∅ und

T ∩ U ≠ ∅ für ein (L, U) ∈ ℛ}. Offensichtlich akzeptiert der deterministische MA B = (Q, Σ,

δ, q0, ℱ) die gleiche Menge wie A.

Sei L eine Sprache, die durch einen deterministischen MA akzeptiert wird. Dann läßt sich L als ∪1 ≤ i ≤ n Ui \ Vi schreiben, wobei Ui, Vi deterministische BA-Sprachen sind. Betrachte zuerst die Mengen X1 und X2, die durch die deterministischen BA Ai = (Qi, Σ, δi, q0,i, Fi)

akzeptiert werden. Dann akzeptiert der deterministische RA B = (Q1 × Q2, Σ, δ, (q0,1, q0,2), ℛ) mit δ((q1, q2), a) = (q1', q2'), falls δ1(q1, a) = q1' und δ2(q2, a) = q2' und

Page 31: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

29

ℛ = {(Q1 × F2, F1 × Q2)}

∩ = ∅ ∩ ≠ ∅

die Menge X1 \ X2.

Sei Bi = (Qi, Σ, δi, q0,i, ℛi) der deterministische RA, der Ui \ Vi akzeptiert mit ℛi = {(L i, Ui)}.

Dann akzeptiert der deterministische RA A = (Q1 × Q2 × … × Qn, Σ, δ, (q0,1, q0,2, …, q0,n), ℛ) mit δ((q1, q2, …, qn), a) = (q1', q2', …, qn') falls δi(qi, a) = qi' für alle 1 ≤ i ≤ n und

ℛ = {(Q1 × Q2 × … × Qj-1 × Lj × Qj+1 × … × Qn, Q1 × Q2 × … × Qj-1 × Uj × Qj+1 × … × Qn) |

(Lj, Uj) ∈ ℛj für 1 ≤ j ≤ n}

die Menge L. □

Abschließend das Haupttheorem dieses Abschnitts.

THEOREM :

Jede BA-Sprache wird von einem deterministischen RA akzeptiert.

Die Beweisidee basiert auf einer verallgemeinerten Potenzautomaten-Konstruktion (Safra-Konstruktion). Betrachte den BA:

Normale Potenzautomaten-Konstruktion liefert:

Dieser Automat akzeptiert bω! Das Problem kommt daher,

daß der Endzustand zwar in jeder Menge vorkommt, aber es keinen unendlichen Lauf gibt, auf dem dieser Endzustand unendlich oft vorkommt.

Allgemein:

Page 32: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

30

Jedes Si enthält qf ∈ F, aber qf ∈ Si muß nicht notwendigerweise von qf ∈ Si-1 kommen (obiges Beispiel qf = 2). Daher kommt folgende Idee: Betrachte Pfad

mit

i) S0 ⊆ δ(q0, u0) und Sn+1 ⊆ δ(Sn, un+1) für n > 0

ii) für jedes n ≥ 0 und q ∈ Sn+1 gibt es ein p ∈ Sn und im Automaten einen Pfad

, der durch einen Endzustand führt.

Speichere hierzu das Vorkommen von Endzuständen in Form von markierten Bäumen, deren Knoten mit den Mengen Si beschriftet sind. Wenn die Zustandsmenge Q = {1, 2, …, n} ist, denn setze die Knotenmenge des Baumes zu V = {1, 2, …, 2n}. Die Bäume werden wie folgt konstruiert:

1) Führe die Potenzautomaten-Konstruktion für jeden Knoten durch und lösche alle Markierungen.

2) Für jeden Knoten mit Beschriftung S füge einen markierten Kindknoten (äußerst) rechts ein mit Beschriftung S ∩ F.

3) Für jeden Knoten lösche Zustände, die schon weiter links vorkommen.

4) Lösche alle Knoten mit Beschriftung ∅.

5) Markiere alle Knoten, deren Beschriftung gleich der Vereinigung der Kinder ist, und lösche diese Kinder.

Alle so konstruierten Bäume bilden die Menge Tn.

LEMMA (OHNE BEWEIS):

Jeder Baum, der auf die oben genannte Weise konstruiert ist, hat höchstens n Knoten.

Page 33: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

31

BEISPIEL :

Sei A folgender BA:

Anfangszustand:

Anfangszustand und a-Übergang:

Anfangszustand mit b-Übergang:

Page 34: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

32

obiger Zustand mit a:

obiger Zustand mit b:

Die Menge ℛ für die Akzeptanz definiere wie folgt: ℛ = {(L v, Uv) | v ∈ V} mit L v = {R ∈ Tn | v ist kein Knoten von R} und Uv = {R ∈ Tn | v ist ein markierter Knoten von R}.

Für obiges Beispiel gilt: L1 = ∅, U1 = ∅; L2 = {1, 3}, U2 = {2}

L3 = {1, 2}, U3 = {3}

Page 35: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

33

Betrachte Arbeitsweise des DRA D:

Mit Ri Zustände des DRA, v ein Knoten, der in den Ri vorkommt mit Beschriftung Si. v ist in R0 und Rn markiert. Dann kann man folgendes zeigen (ohne Beweis):

LEMMA :

Für 0 ≤ i ≤ n – 1 gilt Si+1 ⊆ δ(Si, ai+1). Für jedes q ∈ Sn gibt es einen Pfad in A, der in S0 startet, in q endet, mit u beschriftet ist und mindestens einmal einen Endzustand nach Lesen des ersten Zeichens von u betritt.

Angenommen, u wird von D akzeptiert. Dann gibt es einen Knoten v, der markiert ist und unendlich oft durchlaufen wird. Mit obigem Lemma (für S0 = I) gibt es eine Zerlegung u = u0 u1 u2 … und Sn ⊆ Q mit

i) Sn+1 ⊆ δ(Sn, un) für n ≥ 0

ii) Für jedes n ≥ 0 und q ∈ Sn+1 gibt es einen Pfad in A, der in Sn startet, in q endet, mit un beschriftet ist und mindestens einen Endzustand nach Start der Berechnung sieht.

Konstruiere Baum mit Knoten {r} ∪ {(q, n) | q ∈ Sn, n ≥ 0} mit folgenden Eigenschaften:

i) Jeder Knoten der Form (q, 0) hat r als Vater.

ii) (q', n+1) ist Kind von (q, n), falls gilt.

Nach Königs Lemma hat dieser Baum einen unendlichen Pfad (wichtig: endlicher Ver-zweigungsgrad). Damit gibt es einen Zustand im originalen Automaten A, der unendlich oft gesehen wurde. Damit wird u auch von A akzeptiert.

Die Rückrichtung kann mit analogen Mitteln bewiesen werden.

Beachte, daß D O(2n log n) Zustände haben kann – zähle beschriftete Bäume mit maximal n Knoten.

THEOREM :

Die BA-Sprachen sind unter Komplementbildung abgeschlossen.

Page 36: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

34

BEWEIS:

Folgt aus folgenden Aussagen:

L ist BA-akzeptierbar ⇔ L ist ω-regulär

L ist BA-akzeptierbar ⇒ L ist DRA-akzeptierbar ⇒ L ist DMA-akzeptierbar

⇒ L ist MA-akzeptierbar ⇒ L ist ω-regulär ⇔ L ist BA-akzeptierbar

DMA sind unter Komplementbildung abgeschlossen. □

Inklusionsdiagramm:

Page 37: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

35

3. Berechenbarkeit

Betrachte „Rechnen“ als Eingabe/Ausgabe-System und frage nach den realisierbaren E/A-Relationen. Zur Beantwortung dieser Frage sollen Modelle mit unbegrenztem „Speicher“ betrachtet werden. Beispiele für die Frage:

„Was können Rechner alles?“

1. Gegeben sei eine endliche Menge von Wang-Dominos. Ein Wang-Domino ist ein Quadrat mit eingeschriebenen Diagonalen und gefärbten Flächen. Die Frage, ob es eine Parkettierung der Ebene mit Wang-Dominos gibt, ist unentscheidbar (es gibt kein Programm, das in endlicher Zeit feststellt, ob die Antwort ja oder nein ist).

2. Die Goodstein-Sequenz ist wie folgt definiert: (n)0 := n (n)k+1 := { Bk+2[(n)k] – 1 wenn (n)k > 0 0 sonst wobei Bk die Base-Pumping-Funktion ist. Intuitiv funktioniert Base-Pumping wie folgt: 266 = 28 + 23 + 2

= 222+1 + 22+1 + 2

B2(266) = 333+1

+ 33+1 +3 Die Frage, ob die Goodstein-Sequenz zu einem gegebenen Wert wird (d.h. gleich Null wird) ist entscheidbar.

3.1. Grundlagen

Sei A eine nicht notwendigerweise endliche Menge von Objekten. Bezeichne die leere Menge mit ∅ und mit 2A die Potenzmenge von A. Eine Relation ist eine Menge von geordneten Paaren. Definiere das Urbild und das Bild einer Relation vermöge

x ∈ dom(R) ⇔ ∃ y (x, y) ∈ R

y ∈ range(R) ⇔ ∃ x (x, y) ∈ R

Relationen lassen sich auf n-stellige Relationen erweitern. Eine partielle Funktion ist eine Relation f ⊆ A × B, so daß für jedes x ∈ dom(f) ein y mit xfy existiert. Man schreibt f: A → B anstelle von f ⊆ A × B und y = f(x) anstelle von xfy. Eine totale Funktion f: A → B ist eine partielle Funktion mit dom(f) = A. Hintereinanderausführung (Komposition) von Funktionen soll hier von links nach rechts geschrieben werden, d.h. für f: A → B und g: B → C sei

g ◦ f: A → C vermöge x ֏ g(f(x)).

Eine totale Funktion f: A → B ist

i) injektiv, falls x1 ≠ x2 ∈ A impliziert f(x1) ≠ f(x2)

ii) surjektiv, falls range(f) = B

iii) bijektiv, falls i) und ii)

Zwei Mengen A und B haben die selbe Kardinalität (sind gleich groß), wenn es eine Bijektion f: A → B gibt (i.Z. |A| = |B| oder A ≈ B). Eine Menge B hat gleiche oder größere Kardinalität

als A, falls es eine injektive Abbildung f: A → B gibt (i.Z. |A| ≤ |B| oder A ≼ B).

Page 38: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

36

Folgende Aussage ist sehr nützlich um zu bestimmen, ob 2 Mengen gleich mächtig sind.

THEOREM : SCHRÖDER-BERNSTEIN

Wenn |A| ≤ |B| und |B| ≤ |A|, dann |A| = |B|.

Eine Menge heißt abzählbar, falls |A| ≤ |ℕ|, wobei ℕ die Menge der natürlichen Zahlen mit

der Null ist. Die Menge A ist überabzählbar, falls |ℕ| < |A|, d.h. |A| ≤ |ℕ| gilt nicht.

3.2. Kardinalitätsargumente

Offensichtlich ist ℕ abzählbar. Dies gilt auch für z.B. die Menge der Quadratzahlen {1, 4, 9,

16, …} ⊊ ℕ. Weitere kardinalitätsgleiche Mengen zu ℕ sind ℕ × ℕ und ℚ. Hierbei be-

zeichne ℚ die Menge der rationalen Zahlen (Bruchzahlen). Das ℕ × ℕ ≈ ℕ gilt sieht man

leicht mit dem Aufzählungsschema von Cantor, das eine Bijektion f: ℕ × ℕ → ℕ realisiert:

Man kann sich leicht überlegen, daß f(x, y) = ½ [(x+y)2 + 3x +y] gilt. Ein ähnliches Schema

zeigt ℚ ≈ ℕ.

Sei ℝ die Menge der reellen Zahlen. Das offene Einheitsintervall (0, 1) := {x ∈ ℝ | 0 < x < 1}

ist kardinalitätsgleich zu ℝ. Offensichtlich gilt (0, 1) ≼ ℝ. Folgende geometrische Konstruk-

tion liefert ℝ ≼ (0, 1):

Mit Schröder-Bernstein folgt R ≈ (0, 1). Das Verhältnis von ℕ und ℝ läßt sich wie folgt charakterisieren.

THEOREM : CANTOR

Es gibt keine Bijektion von ℕ nach ℝ.

BE WEIS:

Zeige, daß für jede Funktion f: ℕ → ℝ ein Element in ℝ existiert, das nicht im Bild von f liegt. Eine Auflistung von f könnte z.B. wie folgt aussehen:

Page 39: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

37

1. St. 2. St. 3. St. …

f(0) = 236. 0 0 1 …

f(1) = -7. 7 7 7 …

f(2) = 3. 1 4 1 …

Konstruiere eine reelle Zahl z. Der ganzzahlige Anteil sei 0, und die (n+1)-te Dezimalstelle ist 7, falls die (n+1)-te Dezimalstelle von f(n) ungleich 7 ist. Ansonsten ist die (n+1)-te Dezimal-stelle von z gleich 6. Im angegebenen Beispiel erhält man:

0 7 1 …

z = 0. 7 6 7 …

Die reelle Zahl z liegt nicht in range(f), da sie von f(n) an der (n+1)-ten Dezimalstelle ver-schieden ist. □

Die im Beweis verwendete Methode heißt Diagonalisierung. Damit ist gezeigt, daß ℝ überabzählbar ist.

Was hat das mit Berechenbarkeit zu tun? Es soll gezeigt werden, daß folgendes gilt:

i) Die Menge aller Programme über einer Programmiersprache, die Funktionen von ℕ

nach ℕ berechnet ist abzählbar.

ii) Die Menge aller Funktionen von ℕ nach ℕ ist überabzählbar.

Aussage i) wird später bewiesen und Aussage ii) folgt aus der Überlegung: (0, 1) ≼ {f | f ist

eine Funktion von ℕ nach ℕ} mit der injektiven Abbildung, die jeder Zahl z eine Funktion zuordnet. Sei z.B.:

1. St. 2. St. 3. St. 4. St. …

z = 0. 1 0 1 0 …

fz: ℕ → ℕ

0 ֏ 1 (1. Stelle)

1 ֏ 0

2 ֏ 1

dann sei fz(n) gleich der (n+1)-ten Dezimalstelle von z. Damit folgt, daß die Menge aller

Funktionen von ℕ nach ℕ überabzählbar ist. Es gilt sogar Kardinalitätsgleichheit mit ℝ. Man folgt daher, daß es Funktionen gibt, die nicht berechenbar sind.

3.3. Syntax und Semantik von WHILE-Programmen

Für die Formalisierung von Begriffen wie Berechenbarkeit oder Entscheidbarkeit ist die Präzisierung des Algorithmenbegriffs notwendig. Hierbei gibt es viele Möglichkeiten:

• Programme / Flußdiagramme

• Maschinen

• Grammatiken

Page 40: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

38

• λ-Kalkül

• Gleichungssysteme

• partielle rekursive Funktionen

• …

Alle diese Ansätze sind äquivalent! Dies führte zur Church-Turing-These:

„Die durch diese Ansätze charakterisierte Klasse von Funktionen stimmt mit der Klasse der von uns als intuitiv berechenbar angesehenen Funktionen überein.“

Es gibt Modelle (z.B. interaktive TM), die die Church-Turing-These brechen.

Es soll nun das Modell von Programmen betrachtet werden. Syntax und Semantik von WHILE-Programmen werden als bekannt vorausgesetzt. Jedes WHILE-Programm mir k

Variablen / Registern berechnet eine j-stellige Funktion φP: ℕj → ℕ bei Eingabevektoren (a1,

a2, …, aj) vermöge:

i) φP(a1, …, aj, 0, …, 0) = b [(k – j) Nullen], wobei b der Inhalt der 1. Variable (meistens x bzw. x1) ist, falls P terminiert und k ≥ j.

ii) φP(a1, …, ak) = b, wobei b der Inhalt der 1. Variable (meistens x bzw. x1) ist, falls P terminiert und k < j.

Falls P auf dem Eingabevektor nicht terminiert, dann ist der Wert von φP(a1, …, aj) undefiniert, i.Z. φP(a1, …, aj) = ⊥.

Da die Syntax von WHILE-Programmen eingeschränkt ist, ist es sinnvoll, Makros, wie z.B. x := x mult y, zu verwenden.

DEFINITION : BERECHENBARKEIT

Eine Funktion ψ: ℕj → ℕ heißt effektiv berechenbar oder berechenbar, falls es ein WHILE-Programm P gibt mit ψ = φP. Wenn man die Anzahl der Eingabevariablen benötigt, schreibt

man ψ(j): ℕj → ℕ.

BEISPIEL :

while x1 ≠ x2 + x3 do x1 := succ(x1);

x2 := pred(x2); // modifiziere Subtraktion: 0 – 1 = 0

od;

Eingabe (3, 2, 1) liefert 3 als Ergebnis von φP(3): ℕ3 → ℕ. Eingabe (1, 2, 3) liefert 3, bei

Eingabe (1, 1, 1) ist φP(3) undefiniert. Andererseits ist x3 zu Null setzen bei φP

(2): ℕ2 → ℕ. Damit ist φP

(2)(1, 2) undefiniert und φP(2)(1, 3) = 2.

3.4. Aufzählbarkeit von WHILE-Programmen und einfac he Konse-quenzen

Man kann sich leicht überlegen, daß man WHILE-Programme aufzählen kann (ASCII nach binär umwandeln und dann als Zahl interpretieren; dieses Verfahren ist effektiv). Damit hat man ein systematisches Verfahren, jedem WHILE-Programm einen Index zuzuweisen und

Page 41: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

39

umgekehrt. Dieses Verfahren wird auch „Arithmetisierung der Syntax“ oder „Gödelisierung“ genannt. Aus der effektiven Aufzählbarkeit der natürlichen Zahlen folgt auch die effektive Aufzählbarkeit der WHILE-Programme.

0 1 2 3 … n …

P0 P1 P2 P3 … Pn …

Damit erhält man eine Aufzählung aller berechenbaren Funktionen.

φ0(j) φ1

(j) φ2(j) … φn

(j) …

wobei φi(j) die j-stellige Funktion ist, die von Pi berechnet wird.

• Nicht jede Zahl n liefert ein syntaktisch korrektes Programm. Jedes nicht-Programm wird durch das leere Programm ersetzt.

• Es gibt andere Formen der Aufzählung. Diese sind aber alle „irgendwie äquivalent“, d.h. die Theorie ist unabhängig von der Form der Aufzählung.

Einfache Beobachtungen:

1. Jede berechenbare Funktion ψ = φi(j) kommt in der Aufzählung unendlich oft vor.

2. Es gibt unendlich viele Indizes i, so daß φi z.B. die Identität berechnet.

Damit läßt sich folgendes Theorem zum Halteproblem formulieren:

THEOREM : NICHT -BERECHENBARKEIT DES HALTEPROBLEMS

Es gibt keine totale berechenbare Funktion f mit

f(i) = { 1, falls φi(i) hält

0 sonst

BEWEIS:

Angenommen, f ist berechenbar. Betrachte die Funktion ψ: ℕ → ℕ, die wie folgt definiert ist:

ψ(i) = { 1, falls f(i) = 0

undefiniert sonst

Folgendes Programm berechnet ψ:

begin while f(x1) = 1 do x1 := x1 od ;

x1 := 1;

end.

Sei e der Index des Programms, d.h. φe = ψ. Dann gilt, φe(e) hält, falls f(e) = 0. Dies impliziert,

daß φe(e) divergiert, also nicht anhält. Andererseits gilt, φe

(e) divergiert, falls f(e) = 1, was zur Folge hat, daß φe

(e) hält. In beiden Fällen erhält man einen Widerspruch. Also ist f nicht berechenbar. □

Nachfolgendes Theorem ist das Hauptresultat dieses Abschnitts, welches zeigt, daß „univer-selle“ Funktionen existieren. Vereinfacht ausgedrückt zeigt es, daß es einen Index u gibt mit φu

(2)(x, y) = φx(1)(y) für alle x und y. Hier ist φu

(2) eine Art „Interpreter“ für WHILE-Pro-gramme. Nachfolgendes Theorem ohne Beweis.

Page 42: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

40

THEOREM : ENUMERATIONS -THEOREM

Für jedes j ≥ 1 existiert eine berechenbare Funktion Φ: ℕj+1 → ℕ, welche universell bzgl. der

Aufzählung j-stelliger Funktionen φ0(j), φ1

(j), … ist. D.h. für alle e ∈ ℕ und (a1, a2, …, aj) ∈ ℕj gilt:

Φ(e, a1, a2, …, aj) = φe(j)(a1, a2, …, aj).

Der Name des Theorems kommt daher, daß Φ alle j-stelligen Funktionen aufzählt, indem man das erste Argument variiert.

Das Enumerations-Theorem, und damit auch das untenstehende Makro, gilt nicht für LOOP-Programme.

THEOREM :

Es gibt ein Makro (bei WHILE-Programmen) X := Φ(Y, Z) mit folgenden Eigenschaften: Seien i und j die Werte von Y und Z, dann gilt:

1. Falls φi(j) undefiniert ist, dann terminiert Φ(Y, Z) nicht.

2. Sonst bekommt X den Wert von φi(j) zugewiesen und Y und Z bleiben unverändert.

3.5. Techniken der Theorie der Berechenbarkeit

Bisherige Möglichkeiten zu zeigen, daß eine Funktion (nicht) berechenbar ist:

i) explizite Angabe eines Programms (eventuell mit Hilfe von Φ)

ii) informelle Beschreibung und Verweis auf CT-These

iii) Diagonalisierung

Weitere Möglichkeiten:

i) Parametrisierung: Sei Θ(x, y) berechenbar. Halte x = c fest. Welchen Index hat Θ(c, y)?

ii) Reduktion: Löse φ mit Hilfe von ψ.

3.5.1. Das s-m-n-Theorem

Betrachte die Berechnung φi(m+n)(y1, …, ym, z1, …, zn), falls die Werte von y1, y2, …, ym fest-

gehalten werden. Dann kann man den Wert φi(m+n) an der Stelle (y1, …, ym, z1, …, zn) bestim-

men: Pi' = Qj Pi, wobei Q folgendes Programm ist:

xm+n+1 := x1; // Werte sichern

xm+n+n := xn;

x1 := y1; // y „einlesen“

xm := ym;

xm+1 := xm+n+1; // gesicherte x „einlesen“

Page 43: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

41

xm+n := xm+n+n;

xm+n+1 := 0; // restliche Register auf 0 setzen

xm+n+n := 0;

und Pi' als Eingabe z1, …, zn erhält. Falls y1, …, ym und i gegeben sind, dann läßt sich i' be-

rechnen, d.h. i' = snm(i, y1, …, ym) für eine totale und berechenbare Funktion sn

m: ℕm+1 → ℕ. Offensichtlich gilt:

φsnm(i, y1, …, ym)

(n)(z1, …, zn) = φi(m+n)(y1, …, ym, z1, …, zn). (*)

Damit wurde folgendes bewiesen:

THEOREM : S-M-N-THEOREM

Es gibt eine totale und berechenbare Funktion snm: ℕm+1 → ℕ, so daß (*) gilt.

BEISPIEL :

Betrachte Komposition von Funktionen. Sei Θ: ℕ3 → ℕ definiert vermöge Θ(m, n, x) = φm ◦ φn(x). Funktion Θ ist berechenbar und hat Index e, d.h. φe(m, n, x) = Θ(m, n, x) = φm ◦ φn(x), Das s-m-n-Theorem liefert φs1

2(e, m, n)(x) = Θ(m, n, x) = φm ◦ φn(x).

3.5.2. Unentscheidbare Probleme

Ein Ja/Nein-Problem ist entscheidbar, falls es einen Algorithmus gibt, der bei jeder Eingabe terminiert und das richtige Ergebnis liefert (0/1 entspricht Nein/Ja). Ein Beispiel für ein unentscheidbares Problem ist das Halteproblem:

halt: ℕ → ℕ

halt(i) = { 1, falls φi(i) terminiert

0, sonst

Per Diagonalisierung zeigt man folgendes Theorem:

THEOREM :

Es gibt eine totale Funktion f: ℕ → ℕ, die nicht berechenbar ist.

BEWEIS:

Sei f0, f1, … eine (nicht notwendigerweise effektive) Aufzählung aller totalen und berechen-

baren Funktionen. Betrachte f: ℕ → ℕ, definiert vermöge f(i) = fi(i) + 1. Falls f berechenbar ist, gäbe es einen Index j mit f = fj. Dann müßte fj(j)= f(j) = f j(j) + 1 gelten, ein Widerspruch. □

Page 44: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

42

THEOREM :

Sei f0, f1, … eine effektive Aufzählung, in der jede Funktion fi eine totale und berechenbare

Funktion von ℕ nach ℕ ist. Dann gibt es eine totale und berechenbare Funktion, die nicht in obiger Aufzählung erscheint.

Beweis analog zu oben.

KOROLLAR :

Es gibt keine effektive Aufzählung aller totalen und berechenbaren Funktionen von ℕ → ℕ.

Als Beispiel soll das Aufzählungsproblem totaler und berechenbarer Funktionen mit Hilfe des Totalitätsproblems gelöst werden (Reduktion).

THEOREM :

Es gibt keinen Algorithmus, der entscheidet, ob für einen gegebenen Index i die Funktion φi:

ℕ → ℕ total ist oder nicht.

BEWEIS:

Definiere

total(i) = { 1, falls φi: ℕ → ℕ ist total

0 sonst

Annahme: Funktion total ist berechenbar. Betrachte g: ℕ → ℕ

g(0) = kleinstes i mit total(i) = 1

g(n+1) = kleinstes i größer als g(n), so daß total(i) = 1.

Man kann sich überlegen, daß g durch ein WHILE-Programm (das total(i) als Subroutine ver-wendet) berechenbar ist – dies ist eine Reduktion. Dann ist aber φg(0), φg(1),… eine effektive Aufzählung aller totalen und berechenbaren Funktionen, ein Widerspruch zu obigem Korollar. □

THEOREM : UNENTSCHEIDBARKEIT DES ALLGEMEINEN HALTEPROBLEMS

Es gibt keinen Algorithmus, der entscheidet, ob bei gegebenem Index i und a ∈ ℕ die

Funktion φi: ℕ → ℕ auf Eingabe a, d.h. φi(a) definiert ist oder nicht.

BEWEIS:

Sei h(i, j) = { 1, falls φi(j) terminiert

0 sonst.

Dann gilt halt(i) = h(i, i) und damit reduziert sich das Halteproblem auf das allgemeine Halte-problem. Wenn letzteres entscheidbar wäre, wäre es auch das Halteproblem. Widerspruch. □

Folgende Probleme sind ebenfalls unentscheidbar (ohne Beweis).

Page 45: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

43

THEOREM :

Die Funktion e(i) = { 1, falls φi = id

0 sonst

ist nicht berechenbar. (Gilt für jede beliebige Funktion anstelle der Identität.)

Außerdem gibt es keinen Algorithmus, der entscheidet, ob φi = φj gilt für gegebene Indizes i und j.

Wie verwendet man Reduktion: Problem A reduziert auf Problem B (A wird mit Hilfe von B gelöst), dann folgt: B entscheidbar ⇒ A entscheidbar; B berechenbar ⇒ A berechenbar. Beachte Kontraposition!

3.6. Das Rekursionstheorem und Eigenschaften von Au fzählungen

Frage: Gibt es eine Funktion φe: ℕ → ℕ mit der Eigenschaft φe(x) = e für alle x? Das Problem ist, daß eine direkte Berechnung von e dazu führt, daß der Programmindex zu groß wird.

THEOREM : REKURSIONSTHEOREM

Sei f: ℕ → ℕ eine totale und berechenbare Funktion. Dann gibt es für jedes j ∈ ℕ ein n ∈ ℕ, so daß Pn und Pf(n) die gleiche j-stellige Funktion berechnen. D.h. es gilt φn

(j) = φf(n)(j).

φn = φf(n) ist ein Fixpunkt. Beachte, daß i.a. n ≠ f(n) gilt.

BEWEIS (FÜR J = 1):

Sei Pg(i) = x2 := Φ(i, i) und x1 := Φ(x2, x1), wobei Φ(x, y) der „universelle“ Interpreter ist. Beachte, daß g total und berechenbar ist (wegen s-m-n-Theorem). Man sieht,

φg(i)(j) = { φφi(i)(j), falls φi(i) terminiert,

⊥ sonst.

Sei f: ℕ → ℕ eine beliebige totale und berechenbare Funktion. Betrachte f ◦ g: Diese Funktion ist total und berechenbar, d.h. es gibt einen Index m mit φm = f ◦ g. Dann ist

φg(m)(j) = φφm(m)(j), da φm total und berechenbar ist.

Da φm = f ◦ g ist folgt

[φu(x, y) = φx(y) Φ(x, y)]

φg(m)(j) = φφm(m)(j) = φf◦g(m)(j)

Mit g(m) = n folgt das Ergebnis φn = φf(n). □

Was nützt das? Beispiel:

1. Anweisungen werden umgeordnet in umgekehrter Reihenfolge.

2. Ersetze xi := xi + 1 durch xi := exi und xi := xi – 1 durch xi := 2 · xi und xi := 0 durch xi := 42.

Page 46: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

44

In allen Fällen liefert das Rekursionstheorem, daß es ein n gibt mit φn = φf(n). Die Funktion f heißt auch „Programmtransformationsfunktion“ (engl. „program transforming function“). Beachte, daß im Fall φn = φf(n) nicht gilt, daß φn'= φf(n') für z.B.: Pn' = x1 := x1 + 1; x1 := x1 – 1; Pn.

Es gilt aber:

THEOREM :

Sei f: ℕ → ℕ total und berechenbar. Dann gibt es unendlich viele Indizes n mit φn = φf(n).

BEWEIS (FÜR J = 1):

Betrachte die k+1-sten Funktionen. Wähle ein l mit

φe ≠ φ0, φe ≠ φ1, …, φe ≠ φk.

Definiere g: ℕ → ℕ vermöge g(x) = { l falls x ≤ k,

f(x) falls x > k.

Funktion g ist total und berechenbar und hat einen Fixpunkt n. Wenn n ≤ k gilt, dann ist φg(n) = φe ≠ φn (siehe oben). Dies ist ein Widerspruch zu „n ist Fixpunkt“. Also ist n > k und g(n) = f(n) und damit ein Fixpunkt für f. Beachte, daß n beliebig groß ist, da k beliebig aber fest gewählt wurde. □

Es folgt eine unerwartete Eigenschaft für (WHILE-) Programme.

BEISPIEL :

Es gibt ein Programm, daß seinen eigenen Index ausgibt, d.h. φe(x) = e für alle x. Betrachte

f: ℕ → ℕ mit f(i) := „Gödelnummer von x1 := i“. Das Rekursionstheorem sagt, daß es ein n gibt mit φn(x) = φf(n)(x) = n.

BEISPIEL 2:

Es gibt eine Zahl i*, so daß für alle j gilt: φi*(j) = φj(i*).

Definiere Pf(i) = x1 := Φ(x1, i).

Dann gilt φf(i)(j) = { φj(i), falls φj(i) terminiert,

⊥ sonst.

Das Rekursionstheorem liefert den Fixpunkt i* für f, nämlich

φi*(j) = φf(i * )(j) = { φj(i*), falls φj(i

*) terminiert,

⊥ sonst.

Damit folgt das Ergebnis.

Obige Beispiele beinhalten den Begriff der Selbstreferenzierung. Es ist zu beachten, daß das Rekursionstheorem aus dem s-m-n-Theorem und dem Enumerationstheorem folgt.

Führe den Begriff des akzeptablen Programmiersystems ein. Sei A0, A1, A2,… eine effektive Aufzählung von Algorithmen (bzgl. einer algorithmischen Spezifikation). Für jedes j assoziiere man eine effektive Indizierung der j-stelligen Funktionen α0

(j), α1(j), α2

(j), …, wobei

Page 47: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

45

A i die j-stellige Funktion αi(j) berechnet. Dann ist A0, A1, … ein akzeptables

Programmiersystem und die dazugehörige Indizierung j-stelliger Funktionen eine akzeptable Indizierung, falls:

1. Jede intuitiv berechenbare Funktion von ℕj nach ℕ findet sich in {αi(j) | i, j ∈ ℕ}.

2. Für jedes k hat die Folge α0(k), α1

(k), … eine universelle intuitiv berechenbare Funktion

αu(k+1) ∈ {αi

(j) | i, j ∈ ℕ} (Enumerationstheorem).

3. Für jedes m und n gibt es eine totale Funktion snm in α0

(m+1), α1(m+1), …, so daß

αsnm(i, y1, …, ym)

(n)(z1, …, zn) = αi(m+n)(y1, …, ym, z1, …, zn).

Es gilt:

THEOREM :

Seien A0, A1, …, und B0, B1, … akzeptable Programmiersysteme. Für jedes j gibt es eine

totale und berechenbare Funktion t: ℕ → ℕ, so daß αi(j) = βt(i)

(j).

BEWEIS (J = 1):

Betrachte αu(z): ℕz → ℕ, die universelle Funktion von α0, α1, … Wegen Bedingung 1 gibt es

einen Index k, so daß αu(z) = βk

(z). Dann gilt:

(1) (3)

αi(x) = αu(z)(i, x) = βk

(z)(i, x) = βs11(k, i)(x).

Setze t(i) = s11(k, i) und das Ergebnis folgt unmittelbar. □

Funktion t kann so gewählt werden, daß t eine injektive Funktion ist.

Folgendes Theorem zeigt, daß die Theorie der Berechenbarkeit unabhängig vom gewählten Modell ist.

THEOREM : ROGERS ISOMORPHIE-THEOREM

Seien A0, A1, … und B0, B1, … akzeptable Programmiersysteme. Für jedes j gibt es eine

bijektive totale und berechenbare Funktion t: ℕ → ℕ mit αi(j) = βt(i)

(j).

Rogers Isomorphie-Theorem ist der Schröder-Bernstein der Berechenbarkeit.

BEWEIS:

Eine endliche Menge geordneter Paare (x1, y1), …, (xn, yn) ist eine endliche Korrespondenz zwischen den Ai und Bj, falls:

1. i ≠ j impliziert xi ≠ xj und yi ≠ yj

2. αxi = βyi

für alle 1 ≤ i, j ≤ n.

Es gibt eine effektive Prozedur, die bei Eingabe einer endlichen Korrespondenz (x1, y1), …, (xn, yn) und x' ∉ {x 1, …, xn} ein y' berechnet, so daß (x1, y1), …, (xn, yn), (x', y') eine endliche

Korrespondenz ist. Sei t: ℕ → ℕ eine injektive, totale und berechenbare Funktion mit

Page 48: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

46

αx = βt(x). Für x' ∉ {x 1, …, xn} betrachte t(x'). Falls t(x') ≠ yi für alle 1 ≤ i ≤ n gilt, dann setze y' := t(x'). Andernfalls gilt t(x') = yi1 für ein i1. Falls t(xi1) ≠ yi für alle 1 ≤ i ≤ n gilt, dann setze

y' := t(xi1). Andernfalls gilt t(xi1) = yi2

für ein i2, etc. Da t injektiv ist und die Korrespondenz

endlich ist, findet der Algorithmus ein y' ∉ {y1, …, yn} mit αx' = βy'. Beachte, daß i1 ≠ i2 ≠ …!

Ohne Einschränkung sei j = 1. Funktion t ist eine injektive, totale und berechenbare Funktion von den Ai zu den Bj und Funktion u ist eine injektive, totale und berechenbare Funktion von den Bj zu den Ai. D.h. αx = βt(x) und βy = αu(y). Beachte, daß obige Aussage über die Berechnung von y' aus x' und der endlichen Korrespondenz symmetrisch ist (vertausche x und y). Anstelle von t kann auch u verwendet werden. Konstruiere eine Bijektion wie folgt:

Schritt 0: Produziere (0, t(0)).

Schritt 1: Falls t(0) = 0, dann gehe zu Schritt 2. Andernfalls bestimme ein Paar, dessen zweite Komponente 0 ist (mit Hilfe von u).

Schritt 2n: Falls n schon in einem Paar an erster Stelle vorkommt, dann gehe zu Schritt 2n+2. Andernfalls bestimme ein Paar, dessen erste Komponente n ist (mit Hilfe von t).

Schritt 2n+1: Falls n schon in einem Paar an zweiter Stelle vorkommt, dann gehe zu Schritt 2n+2. Andernfalls bestimme ein Paar, dessen zweite Komponente n ist (mit Hilfe von u).

Korrektheit der konstruierten Korrespondenz ist offensichtlich. □

BEISPIEL :

f(n) = 2n und g(n) = n+1. Beginne mit g: (0, g(0)) = (0, 1) [Schritt 0]

Schritt 1: (f(0), 0) = (0, 0), Kollision an erster Stelle, Auflösen mit dem zu 0 gehörenden Element, welches 1 ist: (f(1), 0) = (2, 0)

Schritt 2: (1, g(1)) = (1, 2)

Schritt 3: 1 kommt in zweiter Komponente vor, gehe zu Schritt 4.

Page 49: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

47

3.7. Berechenbare Eigenschaften von Mengen

Sei A ⊆ ℕk. Die einfachste Möglichkeit, A darzustellen, ist die charakteristische Funktion χA:

ℕk → {0, 1}, definiert vermöge

χA(x) = { 1, falls x ∈ A,

0 sonst.

DEFINITION :

Eine Menge A ⊆ ℕ(k) heißt entscheidbar oder lösbar oder rekursiv, falls es seine charakteristische Funktion χA eine totale und berechenbare Funktion ist.

BEISPIEL :

1. Menge {i | φi: ℕ → ℕ} ist rekursiv

2. Menge {i | φi: ℕ → ℕ total} ist nicht rekursiv

Es folgen einige Eigenschaften von rekursiven Mengen. Eine Menge A ⊆ ℕk ist co-endlich,

falls A := ℕk \ A endlich ist.

THEOREM :

1. Falls die Menge A endlich oder co-endlich ist, dann ist A rekursiv.

2. Falls A rekursiv ist, dann ist auch A rekursiv.

3. Wenn A1 und A2 rekursiv sind, dann sind auch A1 ∩ A2 und A1 ∪ A2 rekursiv.

Definiere rekursive Aufzählbarkeit wie folgt:

DEFINITION :

Eine Menge A ⊆ ℕ(k) ist semi-entscheidbar oder rekursiv aufzählbar, falls entweder A = ∅

oder A = range(f) für eine totale und berechenbare Funktion f: ℕ → ℕ(k). Dann wird f als Enumerationsfunktion bezeichnet, denn eine Auflistung der Elemente aus A ist f(0), f(1), …

BEISPIEL :

1. Menge ℕ mit f = id.

2. Menge aller Primzahlen mit f(i) = pi, wobei pi die i-te Primzahl ist.

THEOREM :

Jede rekursive Menge ist auch rekursiv aufzählbar.

Page 50: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

48

BEWEIS:

Falls A = ∅, dann ist A rekursiv aufzählbar per Definition. Sei nun A ≠ ∅ und a ∈ A. Dann berechnet das WHILE-Programm

if χA(x1) ≠ 1 then x1 := a fi;

die totale Funktion

f(n) = { n, falls n ∈ A,

a, falls n ∉ A.

Offensichtlich gilt A = range(f). □

Folgendes Theorem beinhaltet die fundamentale Technik des dove-tailing.

THEOREM :

Die Menge K = {i | φi(i) terminiert} ist rekursiv aufzählbar, aber nicht rekursiv.

BEWEIS:

Die Menge K ist nicht rekursiv, da man ansonsten das Halteproblem lösen könnte. Betrachte folgendes Programm:

n := 0; while true do x := τ1(n); y := τ2(n); if Px hält auf Eingabe x in y Schritten then output x; fi; n := n + 1; od;

Wobei τ1 und τ2 Projektionen mit der Eigenschaft n = τ(x, y) und τ die bijektive Abbildung

aus Abschnitt 3.2 ist. Offensichtlich testet der Algorithmus jedes Pi mit j Schritten für i, j ∈ ℕ (dove-tailing). Definiere die totale und berechenbare Funktion f(i) = „(i+1)-tes Element in der Ausgabeliste des Algorithmus“. Dann sieht man leicht, daß A = range(f). □

THEOREM (OHNE BEWEIS):

Die Menge TOT = {i | φi: ℕ → ℕ total} ist nicht rekursiv aufzählbar (und damit nicht rekursiv).

Weitere Eigenschaften rekursiver Mengen:

THEOREM :

Die Menge A ⊆ ℕ ist rekursiv genau dann, wenn A und A sind rekursiv aufzählbar.

KOROLLAR :

Die Menge K = {i | φi(i) divergiert}ist nicht rekursiv aufzählbar.

Page 51: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

49

BEWEIS:

Folgt unmittelbar aus obigem Theorem und der Tatsache, daß K rekursiv aufzählbar, aber nicht rekursiv ist.

Das folgende Theorem benötigt noch eine Definition. Eine Menge A ⊆ ℕ heißt rekursiv aufzählbar in aufsteigender Reihenfolge, wenn sie durch eine totale und berechenbare Funktion f rekursiv aufzählbar ist und für i < j folgt f(i) < f(j).

THEOREM :

Eine unendliche Menge A ⊆ ℕ ist rekursiv genau dann, wenn A rekursiv aufzählbar in aufsteigender Reihenfolge ist.

BEWEIS:

Wenn A rekursiv ist, folgt, daß A auch rekursiv aufzählbar in aufsteigender Reihenfolge ist. Zähle hierzu die natürlichen Zahlen auf (0, 1, 2, …) und berechne χA(0), χA(1), χA(2), … Falls χA(i) = 1, dann nehme i in die A-Liste auf. Hieraus kann man eine totale und berechenbare Funktion mit den notwendigen Eigenschaften konstruieren.

Es folgt eine alternative Charakterisierung der rekursiv-aufzählbaren Mengen:

THEOREM :

1. Eine Menge A ist rekursiv-aufzählbar genau dann, wenn A Urbildbereich einer berechenbaren Funktion f ist, d.h. A = dom(f).

2. Eine Menge A ist rekursiv-aufzählbar genau dann, wenn A Bildbereich einer berechenbaren Funktion f ist, d.h. A = range(f).

Operationen auf rekursiven Mengen: Sei A ⊆ ℕ und Θ: ℕ → ℕ, dann sei

Θ(A) = {Θ(a) | a ∈ dom(Θ) und a ∈ A}

und Θ-1(A) = {b | b ∈ dom(Θ) und Θ(b) ∈ A}.

3.8. Die Sätze von Rice

Der Satz von Rice zeigt, daß jede nicht triviale (Eigenschaft) Partitionierung von ℕ mit einer

bestimmten Eigenschaft von ℕ ist nicht entscheidbar.

Achtung: An dieser Stelle ist die Mitschrift unvollständig.

THEOREM : SATZ VON RICE

Sei I eine Menge von Indizes, die Funktionen respektiert. Dann ist I rekursiv genau dann,

wenn I = ∅ oder I = ℕ.

Page 52: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

50

BEWEIS:

Wenn I = ∅ oder I = ℕ, dann ist I trivialerweise rekursiv / entscheidbar. Sei ∅ ≠ I ≠ ℕ. Annahme, I sei rekursiv. Ohne Einschränkung enthalte I alle Indizes einer berechenbaren Funktion Θ, welche nicht überall undefiniert ist (andernfalls betrachte I). Es wird noch ⊥ ∉ I benötigt. Betrachte

Pf(i) := x2 := Φ(i, i); x1 := Θ(x1);

Dann gilt φf(i) = { Θ, falls φi(i) terminiert,

⊥ sonst.

Dann gilt f(i) ∈ I genau dann, wenn φi(i) terminiert, und damit

χI(f(i)) = { 1, falls φi(i) terminiert,

0 sonst.

Die Funktion χI ◦ f ist nicht berechenbar, da sonst das Halteproblem lösbar wäre. Daher ist I nicht rekursiv. □

BEISPIEL :

Folgende Mengen sind unentscheidbar:

1. A1 = {i | φi ist total}.

2. A2 = {i | range(φi) = ℕ}.

Beachte, daß auf die Menge K = {i | φi(i) terminiert}ist der Satz von Rice nicht anwendbar. Sei we = {e}. Dann ist e ∈ K, aber für ein e' ≠ e mit φe' = φe ist e' ∉ K.

Es wird eine weitere Notation benötigt. Für zwei Funktionen f und g schreibe f ≤ g, falls gilt: Wenn f(x) definiert ist, dann ist auch g(x) definiert und f(x) = g(x).

THEOREM : SATZ VON RICE , VARIANTE 1

Sei I eine Indexmenge, die Funktionen respektiert. Wenn es eine berechenbare Funktion Θ gibt mit

i) {i | φi = Θ} ≤ I und

ii) es gibt eine berechenbare Funktion Θ mit Θ ≤ Θ und {i | φi = Θ} ⊆ I,

dann ist I nicht rekursiv-aufzählbar.

Aus Bedingung ii) folgt, daß Θ ≠ Θ und deshalb ist Θ nicht total.

BEWEIS:

Betrachte folgende berechenbare Funktion µ: ℕ2 → ℕ, definiert als

µ(i, j) = { Θ, falls φi(i) divergiert,

Θ, falls φi(i) terminiert.

Page 53: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

51

Θ ≤ Θ sagt, daß wenn Θ(x) definiert ist, ist es gleich Θ(x). Starte Θ(j) und φi(i) „gemeinsam“ (dove-tailing). Falls Θ(j) hält, stoppe und gebe das Ergebnis aus – dann gilt Θ(j) = Θ(j), unab-hängig von φi(i). Falls φi(i) vor Θ(j) hält, stoppe Θ(j)-Berechnung und berechne Θ(j).

D.h. µ(i, j) = φe(i, j) für ein e. Mit dem s-m-n-Theorem folgt, daß es eine totale und berechenbare Funktion f gibt mit µ(i, j) = φf(i)(j). Dann gilt f(i) ∈ I genau dann, wenn φi(i) terminiert nicht. Dann läßt sich K wie folgt schreiben: K = f-1(i), wobei K = {i | φi(i) terminiert}. Wenn I rekursiv-aufzählbar wäre, dann auch K, wegen der Abgeschlossenheit unter Inversenbildung. Dies ist ein Widerspruch. □

BEISPIEL :

A1 = {i | φi ist nicht total}. Setze

Θ(n) = { 0, falls n = 0, ⊥ sonst

und Θ(n) = n. Mit obigem Theorem folgt daraus, daß A1 nicht rekursiv-aufzählbar ist.

Es existiert eine weitere Variante des Satzes von Rice.

THEOREM : SATZ VON RICE , VARIANTE 2 (OHNE BEWEIS)

Sei I eine Indexmenge, die Funktionen respektiert. Wenn eine berechenbare Funktion Θ existiert mit

1) {i | φi = Θ} ⊆ I und

2) {i | φi ≤ Θ und dom(φi) ist endlich} ⊆ I,

dann ist I nicht rekursiv-aufzählbar.

BEISPIEL :

A1 = {i | φi ist total}. Mit Θ(n) = n für n ≥ 0 folgt die nicht-rekursive Aufzählbarkeit von A1 (in (2) sind nur nicht-totale Funktionen enthalten).

Der Begriff der Reduktion ist wie folgt definiert:

DEFINITION : MANY -ONE REDUKTION

Eine Menge A ist many-one reduzierbar auf B, i.Z. A ≤m B, falls es eine totale und berechenbare Funktion f gibt, so daß x ∈ A ⇔ f(x) ∈ B für alle x.

DEFINITION : TURING-REDUKTION

Eine Menge A ist Turing-reduzierbar auf B, i.Z. A ≤T B, falls A rekursiv mit Hilfe von B ist, d.h. falls es ein WHILE-Programm mit Orakel für B gibt, welches χA berechnet. Ein WHILE-Programm mit B-Orakel darf Instruktionen der Form

while x ∈ B do … od oder

while x ∉ B do … od

enthalten.

Page 54: Automaten, formale Sprachen und Berechenbarkeit 1home.in.tum.de/~hauffa/fsab-skript.pdf · 1 0. Einleitung Automaten und formale Sprachen sind Teilgebiete der theoretischen Informatik:

52

THEOREM (OHNE BEWEIS):

Die Menge K = {i | φi(i) terminiert} ist vollständig bzgl. ≤m für die rekursiv-aufzählbaren Sprachen, d.h. eine Menge A ist vollständig, falls

i) A ist rekursiv-aufzählbar,

ii) jede rekursiv-aufzählbare Sprache läßt sich mittels ≤m-Reduktion auf A reduzieren.