Formale Sprachen und Automaten - IMS - Universität Stuttgart

ims.uni.stuttgart.de

Formale Sprachen und Automaten - IMS - Universität Stuttgart

Formale Sprachen und Automaten

Stefan Riezler

Institut für Maschinelle Sprachverarbeitung

Universität Stuttgart, Azenbergstraße 12, 70174 Stuttgart

riezler@ims.uni-stuttgart.de

WS 99/00

1


Inhaltsverzeichnis

1 Alphabete und Sprachen 3

2 Reguläre Ausdrücke und endliche Automaten 4

2.1 Reguläre Ausdrücke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Endliche Automaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.3 Äquivalenz von regulären Ausdrücken und endlichen Automaten . . . . . . . . . . . 7

2.4 Formale Eigenschaften regulärer Sprachen . . . . . . . . . . . . . . . . . . . . . . . 9

2.4.1 Abschlußeigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4.2 Algorithmische Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4.3 Periodizitätseigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Kontextfreie Grammatiken und Kellerautomaten 11

3.1 Kontextfreie Grammatiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.2 Kellerautomaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.3 Äquivalenz von kontextfreien Grammatiken und Kellerautomaten . . . . . . . . . . 13

3.4 Formale Eigenschaften kontextfreier Sprachen . . . . . . . . . . . . . . . . . . . . . 15

3.4.1 Periodizitätseigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.4.2 Abschlußeigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.4.3 Algorithmische Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . 17

4 Typ-0-Grammatiken und Turing-Maschinen 18

4.1 Typ-0-Grammatiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.2 Turing-Maschinen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.3 Äquivalenz von Typ-0-Sprachen und Turing-Maschinen . . . . . . . . . . . . . . . . 22

4.4 Unentscheidbarkeit und die Church-Turing-These . . . . . . . . . . . . . . . . . . . 23

4.4.1 Die Church-Turing-These . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.4.2 Ein unentscheidbares Problem: Das Halteproblem für Turing-Maschinen . . 23

5 Die Chomsky-Hierarchie 25

2


Literatur

Aho, A. V. and J. D. Ullman (1972). The Theory of Parsing, Translation and Compiling, Volume I:

Parsing. NJ: Prentice-Hall.

Hopcroft, J. E. and J. D. Ullman (1979). Introduction to Automata Theory, Languages, and Computation.

Reading, MA: Addison-Wesley.

Lewis, H. and C. Papadimitriou (1981). Elementes of the Theory of Computation. Englewood

Cliffs: Prentice Hall.

3


1 Alphabete und Sprachen

Ein Alphabet Σ ist eine endliche Menge von Symbolen. Ein Wort w über Σ ist eine endliche Sequenz

von Symbolen aus Σ, wobei w die Wortlänge, ε das leere Wort, und Σ¡ die Menge aller Worte

(einschließlich ε) über Σ bezeichnen.

©¨��

Definition 1 (Wort). Ein ¢ Σ¡ Wort w ist eine Funktion £ 1¤¦¥¦¥¦¥§¤ w : w w� i��¤ Σ, � 1¤¦¥¦¥¦¥�¤

wobei i

das i-te Symbol in Wort w ist.

Definition 2 (Konkatenation). w � x � y gdw

1.

w

x ��� y ,


w� i��� x� i��¤ 2. � 1¤¦¥¦¥¦¥ i

3. w�

x ��

x ,

y� i��¤ i � 1¤¦¥¦¥¦¥

i���

Notation: w0 ε¤ w � i� 1 w � i w. �

Definition 3 (Spiegelung).

y .

� w 0: wR w � ε, �

��

w 0: � w ua für ein ¢ a Σ und w � R auR .

Beispiel: � bla� 2 � blabla

Beispiel: � ste f an� R � na f ets

Eine Sprache L über einem Alphabet Σ ist eine beliebige Menge von Wörtern über Σ, i.e., eine beliebige

Teilmenge von Σ¡ .

Definition 4 (Konkatenation von Sprachen).

¨

L1L2 � L1 ��£ L2 � x y ¢ L1¤ x ¢ y L2

� .

Beispiel: ��£ wort¤ L1 satz ¨ , ��£ länge¤ L2 bildung ¨

¤

� L1 ��£ wortlänge¤ satzlänge¤ wortbildung¤ L2 satzbildung ¨

Definition 5 (Kleenesche Hülle einer Sprache).

w1 � w2 ��¥¦¥¦¥�� wn w1¤ w2¤¦¥¦¥¦¥�¤ wn ¢ L¤ n � 0 L¡���£ ¨ ,

L� LL¡���£ w1 � w2 ��¥¦¥¦¥�� wn w1¤ w2¤¦¥¦¥¦¥�¤ wn ¢ L¤ n � 1 � ¨ .

Beispiel: L ��£ di¤ da ¨ ,

L¡ ��£ ε¤ di¤ da¤ didi¤ dida¤ dadi¤ dada¤ dididi¤ didida¤ didadi¤ didada¤ dadidi¤¦¥¦¥�¥

4

¨

w


2 Reguläre Ausdrücke und endliche Automaten

2.1 Reguläre Ausdrücke

Mit regulären Ausdrücken lassen sich einige unendliche Sprachen mit endlichen Mitteln generieren.

Definition 6 (Reguläre Ausdrücke).

1. /0/0/0 und jedes Element des Alphabets Σ ist ein regulärer Ausdruck,

2. Wenn α und β reguläre Ausdrücke sind, dann sind auch ��� αβ��� , ��� α ��� β��� , und α¡¡¡ reguläre Ausdrücke.

N.B. /0/0/0, ��� , ��� , ��� , und ��� in Definition 6 sind rein syntaktische Objekte. Ihre Bedeutung wird in Definition

7 spezifiziert.

Definition 7 (Reguläre Sprachen/Mengen). Die von einem regulären Ausdruck α beschriebene Sprache

L� α� ist durch folgende Mengen definiert:

1. L� /0/0/0��� /0,

L� σ����£ 2. σ ¨

L����� αβ������� L� α� L� β� 3. ,

für alle σ ¢ Σ,

4. L����� α��� β���¦��� L� α�§� L� β� ,

5. L� α¡¡¡ ��� L� α� ¡ .

Beispiel: Regulärer Ausdruck �¦�¦� �¦�¦� �¦�¦� a��� b����¡¡¡���� aa�¦��� �¦��� �¦��� a��� b����¡¡¡¦��� α: ,

� vereinfacht: � b� ¡ aa� a � b� ¡ a ,

beschreibt L� α����£ Menge ¢�£ a¤ w b ¨

2.2 Endliche Automaten

¡

in w kommen zwei as nacheinander vor ¨ .

Mit endlichen Automaten läßt sich die Frage w ¢ L? für reguläre Sprachen algorithmisch entscheiden.

Definition 8 (Deterministischer endlicher Automat (DEA)). Ein DEA ist ein Quintupel M ��� K¤ Σ¤ δ¤ s¤ F�

sodaß

1. K eine endliche Menge von Zuständen,

2. Σ ein Alphabet,

3. s ¢ K ein Anfangszustand,

4. F � K eine Menge von Endzuständen

5


5. δ : K � Σ � K eine Übergangsfunktion ist.

Die Berechnung eines DEA wird eindeutig bestimmt durch den aktuellen Zustand und die noch zu

lesenden Zeichen, i.e, durch eine Konfiguration � q¤ w��¤ q ¢ K¤ w ¢ Σ¡ .

Konfiguration � q¤ w� ergibt in einem Schritt Konfiguration

q��¤ � w��� w��� q��¤ w��� σw� q¤ � σ��� � � ¢ δ� q¤ q�

q¤ ��¡ w� � � q� ¤ w� � �

, i.e., M gdw w für ein σ Σ und . Die reflexiv-transitive

Hülle von M ist M , und bedeutet ergibt in null oder mehreren Schritten.

Ein Wort w ¢ Σ¡ wird von einem DEA M akzeptiert, i.e., w ¢ L� M� gdw es gibt ein q ¢ F sodaß

� s¤ w����¡ M � q¤ ε� . L� M� , die von M akzeptierte Sprache, ist die Menge aller von M akzeptierten Wörter.

��� K¤ δ¤ s¤ F� ��£ p¤ Σ¤ Beispiel: MDEA wo K q ¨

a¤ ¤ ��£ Σ b ¨

p¤ ��£ ¤ � s F p ¨ a��� p¤ δ� p¤ b��� q¤ δ� q¤ a��� p¤ δ� q¤ b��� δ� p¤

,

q.

L� MDEA��� L�¦�¦� a � b� ¡ a� ¡ � .

a

p

Nichtdeterministische endliche Automaten können in jedem Berechnungsschritt in einen von null oder

mehreren Zuständen übergehen, und zusätzlich null oder mehrere Zeichen in einem Schritt lesen.

Definition 9 (Nichtdeterministischer endlicher Automat (NEA)). Ein NEA ist ein Quintupel � M

K¤ Σ¤ Δ¤ s¤ F� und ist definiert wie ein DEA außer der Übergangsrelation Δ auf K � Σ¡ � K.


Eine Konfiguration eines NEA ist ein Paar � q¤ w��¢ K � Σ¡ ; Konfiguration � q¤ w� ergibt in einem

Schritt Konfiguration � q� ¤ w� � , i.e., � q¤ w��� M � q� ¤ w� � gdw es gibt ein u ¢ Σ¡ und � q¤ u¤ q� ��¢ Δ. ��¡ M ist

die reflexiv-transitive Hülle von � M.

Ein Wort w ¢ Σ¡ wird von einem NEA M akzeptiert gdw es gibt einen Zustand q ¢ F sodaß � s¤ w����¡ M

� q¤ ε� . L� M� , die von M akzeptierte Sprache, ist wieder die Menge aller von M akzeptierten Wörter.

Beispiel: ��� K¤ Σ¤ Δ¤ s¤ F� MNEA wo ��£ K p ¨

Σ ��£ a¤ b ¤ ¨

s � p¤ F ��£ p ¤ ¨ ,

p¤ ab¤ p��¢ Δ¤�� p¤ aba¤ p��¢ Δ.


L� MNEA��� L�¦� ab � aba� ¡ � .

b

ab aba

p

6

a

q

b


Theorem 1. Jeder DEA ist ein NEA.

Beweis. Die Übergangsfunktion δ : � K Σ � K für DEAs ist ein Spezialfall der Übergangsrelation

� Δ � Σ¡ � K K für NEAs, i.e., für DEAs gilt, � q¤ u¤ q����¢ wenn Δ, dann � u 1 und für alle ¢ K¤ q ¢ σ Σ

gibt es einen eindeutigen q� ¢ Zustand K � q¤ σ¤ q� ��¢ sodaß Δ.

Theorem 2. Zu jedem NEA MNEA gibt es einen DEA MDEA sodaß L� MDEA��� L� MNEA� .

Beweis. Sei M ��� K¤ Σ¤ Δ¤ s¤ F� ein NEA.

Zuerst konstruieren wir einen zu M äquivalenten M����� K��¤ Σ¤ Δ��¤ s¤ F� NEA , der nur � p¤ u¤ q��¢

Übergänge

hat mit u Δ� �� 1. Die Konstruktion erfolgt durch Einführung von � n 1 neuen Zuständen und n neuen

� p¤ a1¤ p1��¤�� p1¤ a2¤ p2��¤¦¥¦¥¦¥�¤�� pn� 1¤ an¤ q��¢ Δ� Übergängen für jeden � p¤ Übergang ¥¦¥¦¥ an¤ q��¢ a1 Δ.

Weiters konstruieren wir M� einen zu M� � ��� K� � ¤ Σ¤ δ� � ¤ s� � ¤ F� � � äquivalenten DEA wobei für ¢ K� alle q ¨ :

q����£ E ¢ K� � q¤ ε��� ¡ M� � p¤ ε�

p :


� 2 K� � K� ¨ ,

X � K� X � F � � /0 ,

F� ����£

� E � s� , s� ¨


� Q¤ σ������£ E � p� p ¢ K� und für ein q ¢ Q : � q¤ σ¤ p��¢ Δ� für alle Q � K� ¤ σ ¢ Σ.

� δ�

� ist deterministisch, da δ� � eine wohldefinierte totale Funktion ist, und M� � ist äquivalent zu M� , nach

M�

folgender Behauptung:

Für alle w ¢ Σ¡�¤ q¤ p¤¦¢ K� : � q¤ w����¡ M� � p¤ ε� gdw es gibt ein P mit p ¢ P sodaß � E � q��¤ w����¡ M��

� P¤ ε� .

Aus dieser Behauptung folgt das Theorem, da für alle w ¢ Σ¡ :

w ¢ L� M� �

gdw � s¤ w����¡ M� � f ¤ ε� für ein f ¢ F

gdw � E � s��¤ w��� ¡ M�� � Q¤ ε� für ein Q mit f ¢ Q

gdw � s� � ¤ w����¡ M�� � Q¤ ε� für ein Q ¢ F� �

gdw w ¢ L� M� ��� .

Obige Behauptung läßt sich über Induktion über w wie folgt beweisen:

Basis: w

0: Hier ist w � ε, und wir müssen zeigen, daß � q¤ ε��� ¡ M� � p¤ ε� gdw es gibt ein P mit


¢ p P � sodaß � q��¤ ε����¡ M�� � P¤ ε� E .

Die erste Aussage ist äquivalent zu ¢ p � q� E , laut Definition von E. Die zweite Aussage ist

äquivalent zu ¢ p � P � q� E , M� � weil deterministisch ist.

Hypothese: Obige Behauptung gelte für w �� n.

Schritt: w

� n � 1: Sei w � va für a ¢ Σ¤ v ¢ Σ¡ .

n, gilt nach der Hypothese, daß

: Wenn � q¤ w����¡ M� � p¤ ε� , dann gibt es Zustände r1¤ r2 sodaß � q¤ va����¡ M� � r1¤ a��� M� � r2¤ ε����¡ M�

���

p¤ ε� . Es gilt dann � q¤ v��� ¡ M� � r1¤ ε� , und weil v � ��

E � q��¤ v����¡ M�� � R1¤ ε� für R1 mit r ¢ R1. Weiters gilt � r1¤ a¤ r2��¢ Δ� , und nach der Konstruk-


tion M� � von , gilt dann � r2��� δ� ��� R1¤ a� E . Weiters gilt ¢ p � r2� E und daher ¢ δ� ��� R1¤ a� p .

Daher � R1¤ a����¡ M�� � P¤ ε� gilt für ein P mit ¢ p P � und � q��¤ va����¡ M�� � R1¤ a����¡ M�� � P¤ ε� E , was

zu zeigen war.

7



: Wenn � E � q��¤ va����¡ M�� � P¤ ε� für ein P mit p ¢ P, dann gibt es einen Zustand R1 mit


��� R1¤ a��� P sodaß E �¦� q��¤ va��� ¡ M� � � R1¤ a� . Nach der Konstruktion von δ� � bedeutet δ� ��� R1¤ a���

δ�

P daß es einen Zustand r2 M� von gibt mit ¢ p � r2� E und für ein ¢ r1 � r1¤ a¤ r2��¢ Δ�

R1:

ist. Dann � r2¤ ε��� ¡ M� � p¤ ε� gilt , nach der Definition von � r2� E . Weiters gilt, nach der Hypothese,

� q¤ v����¡ M� � r1¤ ε� daß . Dann � q¤ va����¡ M� � r1¤ a����¡ M� � r2¤ ε����¡ M� � p¤ ε� gilt .

Damit ist die Behauptung, und dadurch das Theorem, bewiesen.

Beispiel: NEA M mit L� M����£ w ¢�£ a¤ c ¨

a, c

¡

w endet mit cc ¨ .

p c q c

r

M� � DEA : Hier M��� ist M und M� � für ist � p����£ E p ¨

E � q����£ q ¤ ¨

E � r��� ¤

r £ ¨

s� � � E � s����£ p ¤ ¨

K� � ��£ /0¤�£ p ¤ ¨

q ¤�£ ¨

r ¤�£ ¨

p¤ q ¤�£ ¨

p¤ r ¤¦£ ¨

q¤ r ¤�£ ¨

£�£ r ¨

¤�£ p¤ r ¨

p¤ q¤ r ¤�£ ¨�¨ F� � � ,

q¤ r ¤�£ ¨

p¤ q¤ r ¤�£ ¨�¨ und die relevanten Übergänge M� � von sind:

a

{p} c {p, q} c {p, q, r}

2.3 Äquivalenz von regulären Ausdrücken und endlichen Automaten

a

Theorem 3. Eine Sprache L ist regulär gdw es einen endlichen Automaten M gibt sodaß L � L� M� .

��� Beweis. : Wir konstruieren M� α� Teilautomaten für reguläre Ausdrücke α L� M� α�¦���

wobei

α� und kombinieren diese zu einem NEA M wobei L� M��� L.

L�

1. M� α� für α � /0:

2. M� α� für α � σ ¢ Σ:

σ

8

a

c



3. M� α� für α ��� βγ� :

4. M� α� für α ��� β � γ� :

5. M� α� für α � β¡ :

ε

Μ(β) ε

Μ(γ) ε

ε

ε

ε

ε

Μ(β)

Μ(γ)

Μ(β)

Diese Richtung der Behauptung folgt über Induktion über α.

: Wir konstruieren einfache reguläre Sprachen R und vereinigen diese zu einer regulären Sprache


L für einen DEA M sodaß � L� M� L .

Für ��� q1¤ q2¤¦¥¦¥¦¥�¤ qn� K , wobei � q1 i¤ s, � 1¤¦¥¦¥¦¥�¤ j n, � 1¤¦¥¦¥¦¥�¤ k n � 1, definieren R� i¤ j¤ k� wir

als die Menge der Wörter, die gelesen werden, wenn M sich von Zustand qi bis Zustand q j

bewegt, ohne sich durch einen Zustand qm wobei � m k zu bewegen, i.e.,

i¤ k� £ j¤ � w��� � R� ε�

¢ Σ¡ qi¤ ¡ j¤

¢ Σ¡

qi¤ � � qm¤ w����¡ x�

= w M q

und für alle x , für alle m:

Wenn M ,

dann ist entweder m �

oder x � ε und m � j,

oder x � w und m � i.

k,

Für � k n � 1 gilt L� M��� � £ R� 1¤ j¤ dann: n � q j ¢ F 1�

¨ .

Wir beweisen über Induktion über k, daß jede solche R� i¤ j¤ k� Menge , und L� M� damit , als

endliche Vereinigung, regulär ist.


¨

� � R� i¤ j¤ ¢ 1����£ δ� qi¤ σ���

R� i¤ j¤ 1����£ �

Basis: Für k 1 gilt:

Wenn i j, dann ist σ Σ q j .

Wenn i j, dann ist ε ¨

Hypothese: Für l �

σ ¢ Σ δ� qi¤ σ��� q j

��£

k R� i¤ j¤ l� sei regulär.

Schritt: R� i¤ j¤ k � 1��� R� i¤ j¤ k��� R� i¤ k¤ k¤�� R� k¤ k¤ k� ¡ R� k¤ j¤ k� .

9

ε

ε

ε

¨ .


Nach der Hypothese sind alle Sprachen auf der rechten Seite dieses Ausdrucks regulär,

und da die regulären Sprachen unter Vereinigung, Konkatenation und Kleenscher Hüllenbildung

abgeschlossen sind, ist auch R� i¤ j¤ k � 1� regulär.

Dies vervollständigt die Induktion und damit den Beweis der Behauptung.

2.4 Formale Eigenschaften regulärer Sprachen

2.4.1 Abschlußeigenschaften

Theorem 4. Die regulären Sprachen sind abgeschlossen unter

1. Vereinigung,

2. Konkatenation,

3. Kleenescher Hüllenbildung,

4. Komplementbildung,

5. Schnittbildung.

Beweis. 1. bis 3. folgt aus Teil ��� des Beweises von Theorem 2.3.

4. Sei L eine reguläre Sprache. Dann gibt es einen DEA M ��� K¤ Σ¤ δ¤ s¤ F� , der L akzeptiert. Die

Komplementsprache Σ¡�� L wird dann von dem DEA ¯M akzeptiert, der die finalen und nicht-finalen

Zustände austauscht, i.e.,

¯M ��� K¤ Σ¤ δ¤ s¤ K � F��¥

5. Seien L1 und L2 reguläre Sprachen, die von endlichen Automaten M1 und M2 akzeptiert werden.

Nach 1. und 4. gibt es auch endliche Automaten, die die Sprache

akzeptieren.

2.4.2 Algorithmische Eigenschaften

L1 � L2 � Σ¡ � �¦� Σ¡ � L1�§��� Σ¡ � L2�¦�

Theorem 5. Es gibt Entscheidungsalgorithmen für die folgenden Probleme für endliche Automaten,

wobei M, M1, M2 endliche Automaten seien und w ¢ Σ¡ :

1. Ist w ¢ L� M� ?

2. Ist L� M��� /0?

3. Ist L� M��� Σ¡ ?

10


4. Ist L� M1��� L� M2� ?

5. Ist L� M1��� L� M2� ?

Beweis. Wir nehmen an, daß die Automaten DEAs sind.

1. Bei Eingabe w für einen DEA erfolgt die Antwort in w Schritten.

2. Äquivalent zur Frage: Ist mindestens ein Endzustand vom Startzustand erreichbar? Diese Frage läßt

sich mithilfe eines endlichen Zustandsdiagramms beantworten.

3. Äquivalent zur Frage: Ist Σ¡�� L� M��� /0? Diese Frage läßt sich nach 2. mithilfe eines Automaten

M� mit L� M� ��� Σ¡ � L� M� beantworten.

4. Äquivalent zur Frage: Ist � Σ¡�� L� M2�¦��� L� M1��� /0? Diese Frage läßt sich mithilfe von 2. und

Theorem 2.4.1, 5. beantworten.

5. Äquivalent zur Frage: Ist L� M1��� L� M2� und L� M2��� L� M1� ? Diese Frage läßt sich mithilfe von

4. beantworten.

2.4.3 Periodizitätseigenschaften

Theorem 6 (Pumping-Theorem). Sei ��� K¤ Σ¤ δ¤ s¤ F� M ein DEA, und sei w ein beliebiges Wort in

M� mit w � K.

L�

Dann läßt sich w als � w xyz schreiben mit xy ��� K und � � y ε, und für alle � n 0: xyn ¢ L� M� z .

Beweis. Sei w � σ1 ¥¦¥¦¥ σl, wobei σ1¤¦¥¦¥¦¥�¤ σl ¢ Σ. Ein DEA M liest w in l Schritten, d.h., es gibt Zustände

q0¤¦¥¦¥¦¥�¤ ql, wobei q0 � s und ql ¢ F sodaß

q0¤ ¥¦¥¦¥ ¥¦¥¦¥�� � ql� σl��� 1¤ σl��� � ql¤ ε��¥


� � � Wenn l w

σ1 M M M

K k, dann müssen mindestens zwei der k � q0¤¦¥¦¥¦¥�¤


1 Zustände ql gleich sein. Dann

gibt es j wo 0 �

i �

j �


¥¦¥¦¥ � σi�

k sodaß qi q j. Das heißt, daß sich der Automat während des Lesens des

Teilworts 1 σ j von Zustand qi nach qi zurückbewegt. Das heißt wiederum, daß für alle n 0 das

Wort

σ1 ¥¦¥¦¥ σi� σi� 1 ¥¦¥¦¥ σ j� n σ j� 1 ¥¦¥¦¥ σl

σi� ¥¦¥¦¥

� ¥¦¥¦¥ � σi� � j� ¥¦¥¦¥ � ¥¦¥¦¥

akzeptiert wird, wo das Teilwort 1 σ j beliebig oft „gepumpt“ werden kann. Das heißt, daß für

x σ1 σi, y 1 σ j, z σ 1 σl, xy j �

� ε gilt:

k, y �

� q0¤ xy n z��� ¡ M � qi¤ y n z��� ¡ M � qi¤ y n� 1 z��� ¡ M ¥¦¥¦¥�� ¡ M � qi¤ z��� ¡ M � ql¤ ε��¥

Das Pumping-Theorem findet Verwendung zum Nachweis dafür, daß bestimmte Sprachen nicht regulär

sind.

11


Beispiel: ��£ L ¢ Σ¡ w w � R ¨

w ist nicht regulär.

(L ist die Sprache der Palindrome, z.B., wenn als Wort ohne Leerzeichen gelesen: „Ein

Neger mit Gazelle zagt im Regen nie“.)

Beweis. Angenommen, L sei regulär. Sei M ein DEA, der L akzeptiert und k die Anzahl der

Zustände von M.

Sei � w akbak L. Laut Theorem muß es Wörter x¤ y¤ z geben sodaß w � xyz und für alle

¢

� n 0: xyn ¢ z L.

Die einzig mögliche Aufteilung, die den Bedingungen xy ��

y � a m für 1 � m �

eine Kontradiktion, da xy 2 z �

k und � � y ε genügt, ist jedoch

k. Dann hat aber, z.B. für n � 2, xy 2 z zu viele as vor dem b. Dies ergibt

¢ L.

3 Kontextfreie Grammatiken und Kellerautomaten

3.1 Kontextfreie Grammatiken

Definition 10 (Kontextfreie Grammatik). Eine kontextfreie Grammatik ist ein Quadrupel G ��� V¤ Σ¤ R¤ S�

wobei

1. V ein Alphabet,

2. Σ � V die Menge der Terminalsymbole,

3. S ¢ V � Σ das Startsymbol,

4. R eine endliche Teilmenge von � V � Σ��� V¡ , die Menge der Regeln (oder Produktionen) ist.

V � Σ ist die Menge der Nichtterminale.

Regeln � A¤ u��¢ R werden A � G u geschrieben.

Für u¤ v ¢ V ¡ definieren wir: v ist direkt ableitbar aus u, i.e., u � G v

gdw es gibt x¤ y¤ v� ¢ V ¡ , A ¢ V � Σ, wobei u � xAy, v � xv� y, und A � G v� .

Für w0¤¦¥¦¥¦¥�¤ wn ¢ V ¡ nennen wir eine Sequenz der Form w0 � G w1 � G �¦�¦� � G wn eine Ableitung in

n Schritten, und schreiben w0 � n G wn.

Für n � 0 sodaß u � n G v, heißt v ableitbar aus u, geschrieben u ��¡ G v, i.e., ��¡ G ist die reflexiv-transitive

Hülle von � G.

Eine Linksableitung ist eine Ableitung in der in jedem Schritt das am weitesten links stehende Nichtterminal

ersetzt wird. Wir schreiben � L G .

In der graphischen Darstellung von Ableitungen als Ableitungsbäumen ist ein Pfad eine Folge von

mit Kanten verbundenen Knoten, die mit der Wurzel anfängt und mit einem Blatt endet. Die Länge

eines Pfades ist die Anzahl der Kanten, i.e., die Anzahl der Knoten minus 1. Die Höhe eines Baumes

ist die Länge des längsten Pfades im Baum.

Die von einer kontextfreien Grammatik G generierte Sprache ist L� G����£ w ¢ Σ¡

12

S � ¡G w ¨ .


Beispiel: G ��� V¤ Σ¤ R¤ S� wobei

V ��£ S¤ NP¤ V P¤ V¤ Juan¤ f eeds¤ Pedro ¨ ,

Σ ��£ Juan¤ f eeds¤ Pedro ¨ ,

R ��£ S � NP V P,

V P � V NP,

NP �

Juan,

NP � Pedro,

V �

f eeds ¨ .

Ableitungen:

S � NP V P � Juan V P � Juan V NP � Juan f eeds NP � Juan f eeds Pedro

S � NP V P � Juan V P � Juan V NP � Juan V Pedro � Juan f eeds Pedro

Ableitungsbaum:

3.2 Kellerautomaten

S

NP VP

Juan

V

NP

feeds Pedro

Definition 11 (Kellerautomat). Ein Kellerautomat ist ein Sextupel M ��� K¤ Σ¤ Γ¤ Δ¤ s¤ F� , wobei

1. K eine endliche Menge von Zuständen,

2. Σ ein Alphabet von Eingabesymbolen,

3. Γ ein Alphabet von Kellersymbolen,

4. s ¢ K ein Startzustand,

5. F � K eine Menge von Endzuständen,

6. Δ eine Übergangsrelation auf � K � Σ¡�� Γ¡������ K � Γ¡�� .

Eine Konfiguration eines Kellerautomaten ist ein Element von K � Σ¡ � Γ¡ und wird nichtdeterministisch

durch den Zustand der Maschine, die noch zu lesende Eingabe, und den Kellerinhalt (von oben

nach unten gelesen) spezifiziert.

13


Eine � q¤ w¤ α� Konfiguration ergibt in einem Schritt � q¤ w� ¤ α� � Konfiguration , � q¤ w¤ α��� i.e., � q¤ w� ¤ α� �

M

gdw � uw� w für ein ¢ Σ¡ u , � α βγ α��� β� und γ β¤ β��¤ für ¢ Γ¡ γ �¦� q¤ u¤ β��¤�� q��¤ β���¦��¢ und Δ. Die er-

��¡ gibt-Relation M ist wiederum die reflexiv-transitive Hülle � von M.

Die von einem Kellerautomaten M akzeptierte Sprache L� M� ist die Menge der Eingaben, die den

Automaten in einen Endzustand mit leerem Kellerinhalt und leerer Eingabe führen, i.e., w ¢ L� M�

gdw es gibt ein q ¢ F sodaß � s¤ w¤ ε��� ¡ M � q¤ ε¤ ε� .

Beispiel: M ��� K¤ Σ¤ Γ¤ Δ¤ s¤ F� , wo

K ��£ s¤ f ¨ ,

Σ � Γ ��£ a¤ b ¨ ,

F ��£ f ¨ ,

Δ ��£��¦� s¤ a¤ ε��¤�� s¤ a�¦��¤

s¤ b¤ ε��¤�� s¤ b�¦� , �¦�

s¤ ε¤ ε��¤�� f ¤ ε�¦� , �¦�

f ¤ a¤ a��¤�� f ¤ ε�¦� ,

�¦�

¨ .

f ¤ b¤ b��¤�� f ¤ ε�¦� �¦�

M����£ ww L� R ¢�£ a¤ w b ¨

¡

3.3 Äquivalenz von kontextfreien Grammatiken und Kellerautomaten

¨ .

Theorem 7. Eine Sprache L ist kontextfrei gdw es einen Kellerautomaten M gibt sodaß L � L� M� .

Beweis. Wir teilen das Theorem in zwei Lemmata:

Lemma 8. Zu jeder kontextfreien Sprache gibt es einen Kellerautomaten, der die Sprache akzeptiert.

Beweis. Sei ��� V¤ Σ¤ R¤ S� G eine kontextfreie Grammatik. Wir konstruieren einen Kellerautomaten

M, der eine Linksableitung simuliert, wobei ����£ s¤ M f ¨

Σ¤ V¤ Δ¤ s¤�£ f ¤ ¨

und Δ spezifiziert folgende


Übergänge:

i) �¦� s¤ ε¤ ε��¤�� f ¤ S�¦�

ii) �¦� f ¤ ε¤ A��¤�� f ¤ x�¦� für alle Regeln � A �

iii) �¦� f ¤ a¤ a��¤�� f ¤ ε�¦� für alle a ¢ Σ

x��¢ R

Um zu zeigen, daß L(M)=L(G), beweisen wir folgende Behauptungen:

1. Wenn � S ¡ L

G α1α2, wo ¢ Σ¡ α1 , ¢�� α2 � Σ� V¡���£ V ε ¨ , � dann ¤ α1¤ S����¡ f � M ¤ ε¤ α2� f .

2. � Wenn ¤ α1¤ A��� ¡ f � M ¤ ε¤ α2� f , wo ¢ Σ¡ α1 , ¢ V¡ α2 , dann � S ¡ L

G α1α2.

1. und 2. reichen aus, um das Theorem zu beweisen, da für � α2 ε gilt, daß � S ¡ L

G α wo ¢ Σ¡ α gdw

f ¤ α¤ S����¡ M � f ¤ ε¤ ε� .


Beweis für 1. Über Induktion über Ableitungslänge.

14


Basis: Wenn � S ¡ L

G α1α2 eine Ableitung in 0 Schritten ist, dann ist � ε¤ α1 � α2 S � und ¤ α1¤ S����¡ f M

f ¤ ε¤ α2� ist � f ¤ ε¤ S��� ¡ M � f ¤ ε¤ S� .


Hypothese: Behauptung 1. gelte für Ableitungen der Länge � n.

Schritt: Sei � L n� 1

S G

α1α2 eine Linksableitung in n � 1 Schritten. Dann gilt � S L n

G � β1Aβ2 G

� β1γβ2 α1α2, wo ¢ Σ¡ β1 β2¤ , ¢ γ ¡ V und A � G γ.

Nach der Hypothese gilt � f ¤ β1¤ S����¡ M � f ¤ ε¤ Aβ2� .

Weil ¢ Σ¡ α1 und α2 entweder ε ist oder mit einem Nichtterminal beginnt, gilt daß α1

und wir können schreiben � α1 β1δ für ein ¢ Σ¡ δ sodaß � δα2 γβ2.

���

und α2 γβ2

Dann gilt:

� f ¤ α1¤ S��� � f ¤ β1δ¤ S� weil α1 � β1δ

M � f ¤ δ¤ Aβ2� nach der Hypothese

��¡

M � f ¤ δ¤ γβ2� als Übergang vom Typ ii) für Regel A � � G γ

¡ M � f ¤ ε¤ α2� als Übergang vom Typ iii) weil δα2 � γβ2¥


Dies vervollständingt die Induktion für den Beweis für 1.

Beweis für 2. Über Induktion über Berechungslänge.

Basis: � Wenn ¤ α1¤ S����¡ f � M ¤ ε¤ α2� f in 0 Schritten, dann ist � α1 ε, � α2 S und � S ¡ L

G α1α2.

Hypothese: Behauptung 2. gelte für Berechnungen in � n Schritten.

Schritt: � Wenn ¤ α1¤ S��� n� 1

f � M ¤ ε¤ α2� f , � dann ¤ α1¤ S��� f n � M ¤ β¤ γ��� f � M ¤ ε¤ α2� f wo ¢ Σ¡ β , ¢ Γ¡ γ .

Der letzte Übergang war entweder ein Übergang vom Typ ii) oder Typ iii).

Falls vom Typ ii), dann ist � β ε, � γ Aγ1, � α2 δγ1 für ein ¢�� A � Σ��¤ V ¢ γ1 ¡�¤�� V A � δ��¢ G R.

Weil � S ¡ L

G α1Aγ1, nach der Hypothese, gilt auch � S ¡ L

G � α1δγ1 α1α2.

Falls vom Typ iii), dann ist � β a für ein Terminalsymbol ¢ a Σ, und � γ aα2. Dann ist � α1 δa

für ein ¢ Σ¡ δ , � und ¤ δ¤ S��� f n � M ¤ ε¤ aα2� f , und nach Hypothese gilt dann � S ¡ L

G � δaα2 α1α2.

Dies vervollständigt den Beweis für 2., und damit für das Lemma.

Lemma 9. Wenn eine Sprache von einem Kellerautomaten akzeptiert wird, ist sie kontextfrei.

Beweis. Siehe Lewis and Papadimitriou (1981), Lemma 3.4.4.

Beispiel: Kontextfreie Grammatik ����£ S¤ a¤ G b ¨

a¤ b ¤�£ ¨

S ¤�£ �

a £ nbn � n 0 ¨ L� G� . ist kontextfrei, aber nicht regulär!

Konstruktion von Kellerautomat M nach Beweis:

, wobei �

����£ s¤ M f ¨

a¤ b ¤�£ ¨

S¤ a¤ b ¤�£ ¨

Δ¤ s¤�£ f ¤ ¨

��£��¦� s¤ ε¤ ε��¤�� Δ ¤ S�¦��¤ f

f ¤ ε¤ S��¤�� f ¤ aSb�¦��¤

�¦�

�¦� f ¤ ε¤ S��¤�� f ¤ ε�¦��¤

f a¤ a��¤�� f ¤ ε�¦��¤ �¦� ¨ ¤

¤ b¤ b��¤�� f ¤ ε�¦� f �¦�

15

aSb¤ S �

ε ¨

¤ S� , L� G���


β1


3.4 Formale Eigenschaften kontextfreier Sprachen

3.4.1 Periodizitätseigenschaften

Theorem 10 (Pumping-Theorem für kontextfreie Sprachen). Sei G eine kontextfreie Grammatik.

Dann gibt es eine Zahl K sodaß für jedes Wort w ¢ L� G� wo w �� K gilt:

Es gibt Worte u¤ v¤ x¤ y¤ z ¢ Σ¡ sodaß

1. w � uvxyz,

2. mindestens eines von v oder y ist nicht ε,

3. für alle n � 0: uv n xy n z ¢ L� G� .

Beweis. Sei ��� V¤ Σ¤ R¤ S� G . Es genügt, zu zeigen, daß es ein K gibt sodaß jedes Wort ¢ L� G� w mit

��

w K eine Ableitung � S ¡G � ¡ uAz G � ¡ uvAyz G uvxyz hat, u¤ v¤ x¤ y¤ wo ¢ Σ¡ z , ¢ A � V Σ, und � � v ε

ε. Weil dann kann die Ableitung A ��¡ G vAy beliebig oft wiederholt werden und das Wort


oder � y

uvnxynz wird generiert.

α wo � A � α��¢ R ¨ . Dann hat ein Ableitungsbaum der Höhe m höchstens p m Blätter.

Sei � max£ p

Umgekehrt, ein Ableitungsbaum mit einem Ertrag mit Länge �

p m hat einen Pfad mit Länge � m.

Sei m V Σ , � K pm ��

, w ein Wort mit w K. Sei T ein Ableitungsbaum mit Wurzel S und Ertrag w.

� �

Dann hat T mindestens einen Pfad mit � mehr als V Σ �� 1 Knoten und daher mindestens einen Pfad,

der zwei Knoten mit ¢�� demselben � Σ� Nichtterminalsymbol A V hat. Zu jedem solchen Pfad gibt es

einen Teilbaum mit Wurzel A und Ertrag v¤ vAy ¢ Σ¡ für y . Nun können v und y zwar leer sein, und

T�

der Teilbaum kann entfernt werden. Dies ist jedoch nicht für jeden Pfad mit Länge T� � m möglich,

weil es sonst einen Baum mit Höhe � m mit w als Ertrag gäbe. Dies steht jedoch im �� Widerspruch � zu

w K pm , wonach es einen Pfad mit Länge m � geben muß.

Beispiel: L ��£ a n b n c n n � 0 ¨

ist nicht kontextfrei.

Beweis. Angenommen, L wird von einer kontextfreien Grammatik G generiert. Sei K wie

in Theorem 3.4.1 und n � 3. Dann ist a K� nbncn �� K.

Für � w uvxyz wobei � � v ε oder � � y ε, gibt es zwei Möglichkeiten:

Entweder enthält v oder y oder beide zwei Symbole £ a¤ b¤ aus c ¨ . Dann kommt aber in

uv2xy2z mindestens ein b vor einem a vor, oder ein c vor einem b, also � ¢ L� G� w .

Oder v oder y oder beide bestehen nur aus as, bs oder cs. Dann hat uv2xy2z eine ungleiche

Anzahl von as, bs und cs, also � ¢ L� G� w .

3.4.2 Abschlußeigenschaften

Theorem 11. Die kontextfreien Sprachen sind abgeschlossen unter

1. Vereinigung,

16


2. Konkatenation,

3. Kleenescher Hüllenbildung.

Beweis. Seien G1 ��� V1¤ Σ1¤ R1¤ S1� und G2 ��� V2¤ Σ2¤ R2¤ S2� kontextfreie Grammatiken wobei O.E.

� V1 � Σ1�§��� V2 � Σ2��� /0.

1. Sei S ein neues Symbol und ��� G � V1 ��£ V2 S ¨

Σ1 � Σ2¤ R1 � R2 ��£ S ¤ �

G��� L� G1�§� L� G2� .

L�

L� G1� L� G2� 2. wird generiert durch ��� G � V1 ��£ V2 S ¨


G1��¡ 3. wird generiert durch ��� V1¤ Σ1¤ G ��£ R1 L� S1

S1¤ S �

¨

S1S2

¨

S2

¤ S� . Dann ist

Σ1 Σ2¤ � R1 ��£ R2 ¤ � S �

¨ ¨ �

¤ S1 � S1S1 ε¤ S1 .

Theorem 12. Die kontextfreien Sprachen sind unter 1. Schnittbildung und 2. Komplementbildung

nicht abgeschlossen.

Beweis. 1. Die Sprachen ��£ L1 ambncn n � 0 m¤ ¨ und ��£ L2 ambmcn n � 0 m¤ ¨ sind kontextfrei. Die

aus Schnittbildung resultierende Sprache � L1 ��£ L2 anbncn � n 0 ¨

ist jedoch nicht kontextfrei.

2. Wenn die kontextfreien Sprachen unter Komplementbildung abgeschlossen wären, dann wären sie

auch unter Schnittbildung abgeschlossen, weil L1 � L2 � Σ¡ � �¦� Σ¡ � L1����� Σ¡ � L2�¦� . Dies steht im

Widerspruch zu 1.

Theorem 13. Die kontextfreien Sprachen sind unter Schnittbildung mit regulären Sprachen abgeschlossen.

Beweis. Sei M1 ��� K1¤ Σ1¤ Γ1¤ Δ1¤ s1¤ F1� ein Kellerautomat, der die kontextfreie Sprache L akzeptiert,

und M2 ��� K2¤ Σ2¤ δ2¤ s2¤ F2� ein DEA, der die reguläre Sprache R akzeptiert.

Wir konstruieren einen Kellerautomaten M, der L � R akzeptiert. Da alle von einem Kellerautomaten

akzeptierte Sprachen kontextfrei sind, ist auch L � R kontextfrei.

Sei M ��� K1 � K2¤ Σ1 � Σ2¤ Γ1¤ Δ¤�� s1¤ s2��¤ F1 � F2� wobei �¦�¦� q1¤ q2��¤ u¤ β��¤��¦� p1¤ p2��¤ γ�¦��¢ Δ gdw �¦� q1¤ u¤ β��¤�� p1¤ γ�¦��¢

Δ1 und � q2¤ u����¡ M2 � p2¤ ε� .

Beispiel: L ¢�£ a¤ b¤ w c ��£ ¨

¨

Anzahl der as, bs, und cs in w ist ¡

dieselbe

frei.

Beweis. Wenn L kontextfrei wäre, dann � a¡ b¡ c¡ ��£ auch L anbncn n 0 � ¨ .

3.4.3 Algorithmische Eigenschaften

¤ S� .

ist nicht kontext-

Theorem 14. Es gibt Entscheidungsalgorithmen für folgende Probleme für kontextfreie Grammatiken:

1. Gegeben eine kontextfreie Grammatik G und ein Wort w, ist w ¢ L� G� ?

2. Ist L� G��� /0?

17


Beweis zu 1. Wir konstruieren eine Grammatik G mit Regeln der Form A �

u, wo u ¢ Σ oder u

Für eine solche Grammatik muß jeder Ableitungsbaum der Höhe h einen Ertrag der Länge � h haben.

Um zu entscheiden, ob ein Wort w in L� G� ist, müssen nur Ableitungsbäume der Höhe �� w inspiziert

werden.

Jede kontextfreie Grammatik G� kann durch folgende Eliminationsoperationen in eine solche Grammatik

G konvertiert werden:

1. Elimination von ε-Regeln: Für alle Regeln der Form A �

füge eine Regel B �

S �

ε falls ¢ L� G� � ε .

� 2.

ε und B �

¢ G� ¡ u¤

G� G�

uAv in wo v V ,

uv zu ; Eliminiere aus alle Regeln der Form A �

ε, außer der Regel

2. Elimination von Kettenregeln: Für alle Regeln A �

Regel B �

u zu G� ; Eliminiere alle Regeln A � B.

u in G� wo u ¢ V ¡ und B � ¡ G� A, füge eine

Klarerweise ist eine Entscheidung des Problems w ¢ L� G� ? durch diesen Algorithmus sehr ineffizient,

i.e., falls kein Nichtterminalsymbol aus G in mehr als k Regeln expandiert wird, dann gibt es höchstens

k� w � Linksableitungen für Worte der Länge w . Das heißt, die zur Entscheidung des Problems benötigte

Zeit ist für diesen Algorithmus exponentiell in w . Effizientere Algorithmen mit polynomieller

Zeitkomplexität werden in Aho and Ullman (1972) beschrieben.

Beweis zu 2. L� G��� � Wenn /0, dann gibt es einen Ableitungsbaum mit Höhe �� � V Σ und einem

Wort in der Sprache als Ertrag. Ableitungsbäume mit einer Höhe �� � V Σ haben einen Pfad, in

dem dasselbe Nichtterminalsymbol mehr als einmal vorkommt. Der Teilbaum zwischen diesen beiden

Vorkommen läßt sich entfernen und der Ertrag des Baumes bleibt ein Wort in der Sprache.

Mit folgender Operation läßt sich dann die Frage L� G��� /0? entscheiden: Generiere jeden Ableitungsbaum

der Grammatik G mit Höhe �� V � Σ und überprüfe, ob dessen Ertrag ein Wort über Σ ist.

Theorem 15. Folgende Probleme sind unentscheidbar für kontextfreie Sprachen L bzw. kontextfreie

Grammatiken G:

1. Ist L� G��� Σ¡ ?

2. Ist L� G1��� L� G2� ?

3. Ist L� G1��� L� G2� ?

4. Ist L� G��� R für eine reguläre Sprache R?

5. Ist R � L� G� für eine reguläre Sprache R?

6. Ist L� G� regulär?

7. Ist L mehrdeutig?

8. Ist Σ¡�� L� G� kontextfrei?

9. Ist L� G1��� L� G2� kontextfrei?

Beweis. Siehe Hopcroft and Ullman (1979), Kapitel 8.6.

18


4 Typ-0-Grammatiken und Turing-Maschinen

4.1 Typ-0-Grammatiken

Definition 12 (Typ-0-Grammatik). Eine Typ-0-Grammatik G ist definiert wie eine kontextfreie Grammatik

G ��� V¤ Σ¤ R¤ S� , außer R ist eine endliche Teilmenge von V � � V¡ , i.e., eine Typ-0-Grammatik

enthält Regeln der Form

α �

Beispiel: ��� V¤ Σ¤ R¤ S� G wobei

��£���¤���¤ D¤ S¤ V a ¨ ,

��£ Σ a ¨ ,

��£ R S �

a��¤ �


� D, �

Da �

aaD, �

� , D� �

ε, � �

ε ¨ .


β¤ wobei α ¢ V � ¤ β ¢ V¡ ¥

L� G����£ a 2n n � 0 ¨ .

Ableitung:

S ��� a����� Da����� aaD����� aa�§��� Daa�§��� aaDa�§��� aaaaD�§��� aaaa�§� aaaa��� aaaa

4.2 Turing-Maschinen

Definition 13 (Turing-Maschine). Eine Turing-Maschine ist ein Quadrupel M ��� K¤ Σ¤ δ¤ s� wobei

1. K eine Menge von Zuständen, ohne den Haltezustand h,

2. Σ ein Alphabet, mit dem Leersymbol # ¢ Σ, aber ohne Linksrücksymbol L und Rechtsrücksymbol

R,

3. s ¢ K ein Startzustand,

4. δ eine Übergangsfunktion von K � Σ in � K ��£ h ¨

����� Σ ��£ L¤ R ¨

q¤ a����� p¤ b� bedeutet, daß die Maschine, wenn sie in Zustand q ist und ein a sieht, in den Zustand

δ�

p übergeht und dabei

� wenn b ¢ Σ, das a mit einem b überschreibt,

� oder wenn b entweder L oder R ist, sich in die entsprechende Richtung auf dem Band bewegt.

19

� ist.


Da δ eine totale Funktion ist, ist M deterministisch, und die Berechnung läuft bis M sich in einem

Haltezustand h befindet (M hält) oder M sich links des am weitesten links stehenden Zeichens befindet

(M hängt).

Eine Konfiguration einer Turing-Maschine ist ein Element � aus ��£ K h ¨

Σ¡ � Σ ��� Σ¡ � Σ � £ # ��� ¨

���

ε £ ¨

. Vereinfacht geschrieben, � p¤ uσv� ist eine Konfiguration, wobei p der aktuelle Zustand, u der


Teil des Bandes links der aktuellen Position, σ das in der aktuellen Position gelesene Zeichen und v

der Teil des Bandes rechts der aktuellen Position bis einschließlich dem letzten Leersymbol ist.

Sei M ��� K¤ Σ¤ δ¤ s� eine Turing-Maschine. Dann ergibt Konfiguration � q1¤ w1¤ a1¤ u1� in einem Schritt

Konfiguration � q2¤ w2¤ a2¤ u2� , i.e., � q1¤ w1¤ a1¤ u1��� M � q2¤ w2¤ a2¤ u2� gdw für ein b ¢ Σ��£ L¤ R ¨ , δ� q1¤ a1���

� q2¤ b� und entweder ist

1. b ¢ Σ¤ w1 � w2¤ u1 � u2¤ a2 � b.

Beispiel: Für u¤ v ¢ Σ¡ , v endet nicht in #, und c¤ d ¢ Σ: � q1¤ ucv��� M � q2¤ udv� für δ� q1¤ c���

� q2¤ d� .

2. b � L¤ w1 � w2a2 und entweder

(a) � u2 a1u1, wenn � � a1 # oder � � u1 ε.

� q1¤ udcv��� Beispiel: � q2¤ udcv� M δ� q1¤ c����� q2¤ L� für .

(b) u2 � ε, wenn a1 � # und u1 � ε.

Beispiel: � q1¤ uc#��� M � q2¤ uc� für δ� q1¤ #����� q2¤ L� .

3. b � R¤ w2 � w1a1 und entweder

(a) u1 � a2u2.

Beispiel: � q1¤ ucdv��� M � q2¤ ucdv� für δ� q1¤ c����� q2¤ R� .

(b) u1 � u2 � ε¤ a2 � #.

Beispiel: � q1¤ uc��� M � q2¤ uc#� für δ� q1¤ c����� q2¤ R� .

Eine Hängekonfiguration tritt auf in Fall 2. wenn b � L und w1 � ε. Jede Konfiguration mit Zustandskomponente

h heißt Haltekonfiguration.

Beispiel: M ��� K¤ Σ¤ δ¤ q� , wobei K ��£ q ¨ , Σ ��£ a¤ # ¨ ,

und δ� q¤ a����� q¤ L� , δ� q¤ #����� h¤ #� .

a/L

q

Definition 14 (Turing-Berechenbarkeit). Seien Σ1¤ Σ2 Alphabete ohne #, und sei f eine Funktion

von Σ1 in Σ2.

Eine Turing-Maschine M ��� K¤ Σ¤ δ¤ s� berechnet f gdw für alle w ¢ Σ¡ 1 : � s¤ #w#����¡ M

� h¤ # f � w� #� .

20

#/#

h


Eine Funktion f heißt Turing-berechenbar, wenn es eine Turing-Maschine gibt, die f

berechnet.

Definition 15 (Turing-Akzeptierbarkeit). Sei Σ ein Alphabet ohne #, und sei L eine Sprache über

Σ.

M akzeptiert w ¢ Σ¡ gdw M bei Eingabe w hält.

M akzeptiert L gdw L ��£ w ¢ Σ¡

M akzeptiert w ¨ .

Eine Sprache L ist Turing-akzeptabel gdw es eine Turing-Maschine gibt, die L akzeptiert.

Wir nennen eine solche Sprache rekursiv aufzählbar.

Definition 16 (Turing-Entscheidbarkeit). Sei Σ ein Alphabet ohne #, Y und N, und sei χL Σ¡ :

Y¤ N £ ¨ die charakteristische Funktion der Menge L sodaß

χL� w���

M entscheidet L gdw M χL berechnet.


¢ L¤

¢ L¥ �

Y wenn w

N wenn w

Eine Sprache L ist Turing-entscheidbar gdw χL Turing-berechenbar ist. Wir nennen eine

solche Sprache rekursiv.

Definition 17 (Zusammengesetzte Turing-Maschinen). Seien M und N zwei Turing-Maschinen.

Dann ist MN die zusammengesetzte Turing-Maschine, die zuerst die Berechnung von M ausführt, und

falls M hält, in den Startzustand von N übergeht.

M a


N ist die zusammengesetzte Turing-Maschine, die zuerst die Berechnung von M ausführt, und

falls M mit einem a unter dem Lesekopf hält, in den Startzustand von N übergeht, und ansonsten hält.


Wir verwenden folgende Basismaschinen:

L hat für alle a ¢ Σ, für alle Σ die einzige Transition δ� s¤ a����� h¤ L� .

R hat für alle a ¢ Σ, für alle Σ die einzige Transition δ� s¤ a����� h¤ R� .

σ hat für alle a ¢ Σ, für alle Σ die einzige Transition δ� s¤ a����� h¤ σ� .

Definition 18 (Standardisierte Eingabe für Turing-Maschinen).

Eine Turingmaschine M hält bei Eingabe w gdw. � s¤ #w#� eine Haltekonfiguration ergibt.

Eine Turingmaschine M hängt bei Eingabe w gdw. � s¤ #w#� eine Hängekonfiguration ergibt.

21


Beispiel: M entscheidet die Sprache £ a ¨ und arbeitet mit dem Alphabet £ a¤ #¤ Y¤ N ¨ :

L

a

#

Universalmaschinen sind Turing-Maschinen, die „programmierbar“ sind, i.e., die Berechnungen beliebiger

Turing-Maschinen simulieren können.

¨

Wir nehmen an, daß es aufzählbar unendliche ��£ q1¤ q2¤¦¥¦¥¦¥

Mengen K∞ ��£ σ1¤ σ2¤¦¥¦¥¦¥

und Σ∞

sodaß jede Turing-Maschine ein endliches � Alphabet Σ Σ∞ und eine endliche � Zustandsmenge K K∞

hat.

#L

a

#L

#

RNR

#

a

RYR

¨ gibt,

Wir kodieren die Komponenten k einer Turing-Maschine unär über dem Alphabet £ I ¨ mittels der

Funktion λ:

λ� k� k

qi i� I 1

h I

L I

R II

σi I

¨ ¨

K¤ Σ¤ δ¤ s� Sei M ��£ und ¤¦¥¦¥¦¥�¤ K qi1

qik ��£ , Σ ¤¦¥¦¥¦¥�¤ σ j1 σ jl . Dann werden Übergangsfunktionen

���

qip jr����� q� ¤ b� σ für � 1¤¦¥¦¥¦¥�¤ p k, � 1¤¦¥¦¥¦¥�¤ r q� ¢ l, ��£ K δ� h ¤ ¨ und ��£ L¤ b Σ R ¢ ¨ als kl Worte

kodiert.

Die Maschine M wird dann als Wort

i� 2

Spr � cλ� qip� cλ� σ jr� cλ� q� � cλ� b� c

M��� cS0cS11S12 ¥¦¥¦¥ S1lS21S22 ¥¦¥¦¥ S2l ¥¦¥¦¥ Sk1Sk2 ¥¦¥¦¥ Sklc

ρ�

kodiert, wobei � λ� s� S0 .

Worte über dem Eingabealphabet von M werden wie folgt kodiert: Sei w � b1¤¦¥¦¥¦¥�¤ bn, bi ¢ Σ∞, dann

ρ� w��� cλ� b1� cλ� b2� c ¥¦¥¦¥ cλ� bn� c¥

Eine Universalmaschine U nimmt als Eingabe ρ� M� ρ� w� , i.e., eine Kodierung der Maschine M und

eines Eingabeworts w, und führt die Operationen aus, die M mit Eingabe w ausführen würde. Weiter

gilt, daß U bei Eingabe ρ� M� ρ� w� hält gdw M bei Eingabe w hält und das Eingabeband von U

22


im Haltezustand enthält die Kodierung des Eingabebands von M im Haltezustand (siehe Lewis and

Papadimitriou (1981)).

Beispiel: M ��� K¤ Σ¤ δ¤ s� wobei

¨

K q2 , ��£

a1¤ a3¤ Σ ��£ a6

s � q2,

¨ ,

q2¤ a3��� δ� q2¤ a6����� q2¤ R� ,

δ�

q2¤ a1����� h¤ a3� .

δ�

Dann ist � 1¤ k � 2¤ i1

� 3¤ l � 1¤ j1 � 3¤ j2 � 6¤ j3

und

� S11 cI3cI3cIcI5c, � S12 cI3cI5cI3cI2c, � S13 cI3cI8cI3cI2c, und

ρ� M��� cI 3 ccI 3 cI 3 cIcI 5 ccI 3 cI 5 cI 3 cI 2 ccI 3 cI 8 cI 3 cI 2 cc.

4.3 Äquivalenz von Typ-0-Sprachen und Turing-Maschinen

Theorem 16. Eine Sprache L ist rekursiv aufzählbar gdw es eine Typ-0-Grammatik G gibt sodaß

L � L� G� .

Beweis. ��� : Sei M ��� K¤ Σ¤ δ¤ s� eine Turing-Maschine. Zuerst müssen zeigen, daß es eine Typ-

0-Grammatik G gibt sodaß für alle Konfigurationen � q¤ u¤ a¤ v� und � q� ¤ u� ¤ a� ¤ v� � von M gilt:

� q¤ u¤ a¤ v��� ¡ M � q��¤ u��¤ a��¤ v��� gdw � uqav��� ¡ G � u� q� a� v��� .

Wir repräsentieren also eine Konfiguration � q¤ u¤ a¤ v� durch ein Wort � uqav� , wo die Position

des Zustands im Wort die Position des Lesekopfs ausdrückt.

Wir konstruieren eine Typ-0-Grammatik ��� V¤ Σ¤ R¤ S� G wobei � V � K ��£���¤���¤ h¤ Σ S ¨ , � K � Σ

/0, [ und ] sind neue Symbole und R enthält die folgenden Regeln:

1. δ� q¤ a����� p¤ b� Wenn : qa �

2. δ� q¤ a����� p¤ R� Wenn : qab �

pb,

apb für alle b ¢ Σ, und qa�

3. δ� q¤ a����� p¤ L� Wenn : bqac �

pbac für alle ¢ b Σ, ¢ c ��£��


Σ

für alle b ¢ Σ wo a � #.

pb�

bq#�


ap#� ,

¨

wo � � a # oder � ��� c , und

Nehmen wir nun an, daß M die rekursiv enumerierbare Sprache L � Σ¡ 0 als seine Ausgabesprache

definiert, i.e., L ��£ w es gibt ein u ¢ Σ¡ 0 sodaß � s¤ #u#��� ¡ M � h¤ #w#�

¨ . Dann gilt, daß

� s¤ #u#��� ¡ M � h¤ #w#� gdw � #us#��� ¡ G � #wh#��¥

Weiters fügen wir folgende Regeln hinzu, um Ableitungen zu starten, Eingaben zu generieren,

Ableitungen zu beenden und Endmarkierungen zu entfernen:

23



1. S �

2. S1

3. S1

4. h#�



#S1#� , �

aS1 für alle ¢ a Σ0,

s,

� X,

5. aX � Xa für alle a ¢ Σ0,

6. � #X �

ε.

Dies garantiert, daß die Typ-0-Grammatik G die rekursiv aufzählbare Ausgabesprache L von M

generiert.

MG speichert das Eingabewort w und erzeugt alle Zeichenketten über � V ��£��

� : Sei G eine Typ-0-Grammatik. Wir konstruieren eine Turing-Maschine MG wie folgt:

überprüft MG für jede solche Zeichenkette, ob sie eine Ableitung von G ist und ob w ihr Ertrag

ist, und hält, falls ja; andernfalls setzt MG die Generierung fort.

4.4 Unentscheidbarkeit und die Church-Turing-These

4.4.1 Die Church-Turing-These

Alles, was berechenbar ist, läßt sich von einer Turing-Maschine berechnen.

Anders gesagt: Es existiert ein Algorithmus zur Entscheidung eines Problems gdw die

Sprache zur Kodierung des Problems Turing-entscheidbar ist.

4.4.2 Ein unentscheidbares Problem: Das Halteproblem für Turing-Maschinen

¨

� ¡ . Weiters

Lemma 17. Wenn eine Sprache L Turing-entscheidbar ist, dann ist auch ihr Komplement Σ¡ � L

Turing-entscheidbar.

Beweis. Wenn L von M entschieden wird, dann wird Σ¡ � L von der folgenden zusammengesetzten

Turing-Maschine entschieden:

ML

N

YR

Lemma 18. Wenn eine Sprache L Turing-entscheidbar ist, dann ist L auch Turing-akzeptabel.

24

Y

NR


Beweis. Wenn M die Sprache L entscheidet, dann wird L von der folgenden Turing-Maschine akzeptiert:

ML

Theorem 19 (Unentscheidbarkeit des Halteproblems).

Das folgende Problem ist unentscheidbar: Gibt es eine Turing-Maschine, die für jede beliebige Turing-

Maschine M und für jede Zeichekette w entscheiden kann, ob M bei Eingabe w hält, i.e., ob M w

akzeptiert?

Formal gesagt: Die Sprache

ist nicht Turing-entscheidbar.

K0 ��£ ρ� M� ρ� w�

N

N

M akzeptiert w ¨

Beweis. Angenommen, K0 sei Turing-entscheidbar und M0 eine Turing-Maschine, die K0 entscheidet.

Dann ist auch

Turing-entscheidbar.

K1 ��£ ρ� M�

¨

ρ� M�

M akzeptiert

Dies gilt, weil wir eine Turing-Maschine M1 zur Entscheidung von K1 konstruieren können, die ihre

Eingabe #w# in #wρ� w� # transformiert und als Eingabe an M0 weitergibt. Nach Definition von K0

berechnet M0 das Ergebnis Y für Eingabe #wρ� w� # gdw w ρ� M� für eine Turing-Maschine M ist und

M die Eingabe w � ρ� M� akzeptiert. Dies ist genau die Definition von K1 und M1 berechnet Y für

Eingabe #w# gdw M0 Y für Eingabe #wρ� w� # berechnet.

Es genügt also, zu zeigen, daß K1 nicht Turing-entscheidbar ist:

Nach Lemma 4.4.2 gilt, daß K1 � Σ¡ � K1 Turing-entscheidbar ist, wenn K1 Turing-entscheidbar ist.

Nach Lemma 4.4.2 gilt weiter, daß K1 dann auch Turing-akzeptabel ist.

Wir zeigen, daß K1 nicht Turing-akzeptabel ist:

Sei M¡ eine Turing-Maschine, die K1 akzeptiert. Dann gilt nach Definition von K1, daß ρ� M¡ ��¢ K1

gdw M¡ die Eingabe ρ� M¡�� nicht akzeptiert. Andererseits ist M¡ als Turing-Maschine, die K1 akzeptiert,

definiert. Danach ist ρ� M¡ ��¢ K1 gdw M¡ die Eingabe ρ� M¡ � akzeptiert. Dies ist ein Widerspruch!

Das heißt, daß K1 nicht Turing-akzeptabel sein kann, und deshalb auch K1 nicht Turingentscheidbar,

und deshalb K0 nicht Turing-entscheidbar.

Korrolar 20. Es gibt Sprachen, die nicht Turing-akzeptabel sind.

Beweis. Ein Beispiel für eine nicht-Turing-akzeptable Sprache ist K1 aus dem Beweis von Theorem

4.4.2.

Theorem 21. Es gibt Turing-akzeptable Sprachen, die nicht Turing-entscheidbar sind.

25


Beweis. Die Sprache K0 aus dem Beweis von Theorem 4.4.2 ist Turing-akzeptabel, aber nicht Turingentscheidbar.

Korrolar 22. Die Turing-akzeptablen Sprachen sind nicht unter Komplementbildung abgeschlossen.

Beweis. Die Sprache K1 aus dem Beweis von Theorem 4.4.2 ist Turing-akzeptabel, weil K0 es ist. K1

ist aber nicht Turing-akzeptabel.

5 Die Chomsky-Hierarchie

Alle bisher besprochenen (und einige weitere) Sprachklassen lassen sich grammatikalisch charakterisieren.

Definition 19. Sei G ��� V¤ Σ¤ R¤ S� eine Grammatik-Tupel. Dann ist G eine

1. reguläre oder Typ-3-Grammatik, wenn R ��� V � Σ��� Σ¡ �¦� V � Σ����£ ε ¨

Regeln der Form A � wB oder A � w, wo A¤ B Nichterminale und w eine möglicherweise leere

Kette von Terminalen sind.

� , i.e., R enthält nur

2. kontextfreie oder Typ-2-Grammatik, wenn R ��� V � Σ��� V ¡ , i.e., R enthält nur Regeln A � α

mit einem einzigen Nichtterminal A auf der linken Seite und eine möglicherweise leeren Kette

α von Terminalen und Nichtterminalen auf der rechten Seite.

3. kontextsensitive oder Typ-1-Grammatik, wenn R � V � � V¡ wobei für Regeln α �

β wo

¢ α V� β ¢ V¡ : α ¤ ��� β . Eine Normalform für kontextsensitive Grammatiken sind Grammatiken

mit Regeln αAγ � αβγ, wo A ein Nichtterminal ist α¤ β¤ und γ Ketten von Terminalen

und Nichtterminalen sind und � � β ε.

4. Typ-0-Grammatik, wenn R � V � � V ¡ , i.e., R enthält Regeln α �

β aus beliebigen Zeichenket-

α¤ ten β mit � � α ε.

Zwischen den genannten Sprachklassen besteht eine hierarchische Beziehung sodaß, außer für den

Fall des leeren Wortes ε, die Typ-i-Sprachen Typ-� die i � -Sprachen für i � 0¤ 1¤ 2 vollständig bein-

1�

halten.

Theorem 23 (Hierarchie-Satz).

1. Die regulären Sprachen sind eine echte Teilmenge der kontextfreien Sprachen,

2. Die kontextfreien Sprachen, die nicht das leere Wort enthalten, sind eine echte Teilmenge der

kontextsensitiven Sprachen.

3. Die kontextsensitiven Sprachen sind eine echte Teilmenge der rekursiv-aufzählbaren Sprachen.

Beweis. 1. Jede reguläre Grammatik ist eine kontextfreie Grammatik; die Sprache £ a n b n n � 1 ¨

Beispiel für eine kontextfreie Sprache, die nicht regulär ist.

2. Jede kontextfreie Grammatik ohne ε-Regeln ist eine kontextsensitive Grammatik. Die Sprache

£ a n b n c n n � 1 ¨

ist ein Beispiel für eine nicht-kontextfreie Sprache, die von der kontextsensitiven

S abc¤ �

bb ¨ generiert wird.

Grammatik G ��� V¤ Σ¤ R¤ S� mit R ��£ S �

26

aSBc¤ cB � Bc¤ bB �

ist


3. Jede kontextsensitive Grammatik ist eine Typ-0-Grammatik. Es gibt Beispiele für rekursive Sprachen,

die nicht kontext-sensitiv sind (siehe Hopcroft and Ullman (1979), Kap. 9.4.)

27

Weitere Magazine dieses Users
Ähnliche Magazine