Automatentheorie und Formale Sprachen Wintersemester...

Post on 26-Sep-2019

10 views 0 download

Transcript of Automatentheorie und Formale Sprachen Wintersemester...

. . . . . .

Automatentheorie und Formale SprachenWintersemester 2007/2008

Steffen Reithreith@informatik.fh-wiesbaden.de

Fachhochschule Wiesbaden

18. Oktober 2007

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 1 / 30

. . . . . .

Administratives

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 2 / 30

. . . . . .

Termine

Vorlesung:

Donnerstag 745 - 915 im Horsaal C101

Ubungsgruppen:

Gruppe A Montag 1115 - 1245 Horsaal C104 Berthold

Gruppe B Montag 930 - 1100 Horsaal C104 Berthold

Gruppe C Donnerstag 930 - 1100 Horsaal A322 Reith

Gruppe D Donnerstag 1115 - 1245 Horsaal C104 Reith

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 3 / 30

. . . . . .

Uber den Dozenten

Prof. Dr. Steffen Reith, geboren ja, verheiratet, ein KindSeit Sommersemester 2006 an der FH WiesbadenVorher tatig als Softwareentwickler fur kryptographische undmathematische Algorithmen fur tief eingebettete System in KFZs.Spezialgebiete: Komplexitatstheorie, Logik in der Informatik undKryptographie

EMail:reith@informatik.fh-wiesbaden.de

IM (Jabber):streit@jabber.org

Buro:Raum C304

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 4 / 30

. . . . . .

Uber den Dozenten

Prof. Dr. Steffen Reith, geboren 1968, verheiratet, ein KindSeit Sommersemester 2006 an der FH WiesbadenVorher tatig als Softwareentwickler fur kryptographische undmathematische Algorithmen fur tief eingebettete System in KFZs.Spezialgebiete: Komplexitatstheorie, Logik in der Informatik undKryptographie

EMail:reith@informatik.fh-wiesbaden.de

IM (Jabber):streit@jabber.org

Buro:Raum C304

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 4 / 30

. . . . . .

Weitere Informationen zur Vorlesung

Webseite: http://www.informatik.fh-wiesbaden.de/˜reith

Literatur:John E. Hopcroft and Rajeev Motwani and Jeffrey D. Ullman,Introduction to Automata Theory, Languages, and Computation,Addison Wesley Publishing Company, 2001John E. Hopcroft and Rajeev Motwani and Jeffrey D. Ullman,Einfuhrung in die Automatentheorie, Formale Sprachen undKomplexitatstheorie, Pearson Studium, 2002Uwe Schoning, Theoretische Informatik - kurzgefasst, SpektrumAkademischer Verlag, 2001Juraj Hromkovic, Theoretische Informatik - Formale Sprachen,Berechenbarkeit, Komplexitatstheorie, Algorithmik,Kommunikation und Kryptographie, 3. Auflage, Teubner, 2007

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 5 / 30

. . . . . .

Weitere Informationen zur Vorlesung (II)Ersatztermine:Werden dienstags stattfinden

Skript:Wird in unregelmaßigen Abstanden auf der Webseite der Vorlesungveroffentlicht (Eine alte Variante steht bereits auf der Webseite zurVerfugung).

Folien:Einzelne (kleine) Teile der Vorlesung werden in Folienform zurVerfugung stehen. Folien, die vom Skript abweichen, werden auf derWebseite (nachtraglich) zur Verfugung stehen.

Eine eigene Mitschrift sollte angefertigt werden!

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 6 / 30

. . . . . .

Ein roter Faden

In der Vorlesung werden die folgenden Themen untersucht:

.

..

1 Einleitung (grundlegende Begriffe, L-Systeme)

.

.

.

2 Die Chomsky-Hierarchie (Sprachklassen, Wortproblem)

.

.

.

3 Endliche Automaten und regulare Sprachen (Pumping Lemma)

.

.

.

4 Kontextfreie Sprachen (Normalformen, Kellerautomaten)

.

.

.

5 Kontextsensitive- und Typ0-Sprachen (Turingmaschinen,Unentscheidbarkeit)

.

.

.

6 Komplexitat von Algorithmen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 7 / 30

. . . . . .

Ein roter Faden

In der Vorlesung werden die folgenden Themen untersucht:

.

..

1 Einleitung (grundlegende Begriffe, L-Systeme)

.

.

.

2 Die Chomsky-Hierarchie (Sprachklassen, Wortproblem)

.

.

.

3 Endliche Automaten und regulare Sprachen (Pumping Lemma)

.

.

.

4 Kontextfreie Sprachen (Normalformen, Kellerautomaten)

.

.

.

5 Kontextsensitive- und Typ0-Sprachen (Turingmaschinen,Unentscheidbarkeit)

.

.

.

6 Komplexitat von Algorithmen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 7 / 30

. . . . . .

Ein roter Faden

In der Vorlesung werden die folgenden Themen untersucht:

.

..

1 Einleitung (grundlegende Begriffe, L-Systeme)

.

.

.

2 Die Chomsky-Hierarchie (Sprachklassen, Wortproblem)

.

.

.

3 Endliche Automaten und regulare Sprachen (Pumping Lemma)

.

.

.

4 Kontextfreie Sprachen (Normalformen, Kellerautomaten)

.

.

.

5 Kontextsensitive- und Typ0-Sprachen (Turingmaschinen,Unentscheidbarkeit)

.

.

.

6 Komplexitat von Algorithmen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 7 / 30

. . . . . .

Ein roter Faden

In der Vorlesung werden die folgenden Themen untersucht:

.

..

1 Einleitung (grundlegende Begriffe, L-Systeme)

.

.

.

2 Die Chomsky-Hierarchie (Sprachklassen, Wortproblem)

.

.

.

3 Endliche Automaten und regulare Sprachen (Pumping Lemma)

.

.

.

4 Kontextfreie Sprachen (Normalformen, Kellerautomaten)

.

.

.

5 Kontextsensitive- und Typ0-Sprachen (Turingmaschinen,Unentscheidbarkeit)

.

.

.

6 Komplexitat von Algorithmen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 7 / 30

. . . . . .

Ein roter Faden

In der Vorlesung werden die folgenden Themen untersucht:

.

..

1 Einleitung (grundlegende Begriffe, L-Systeme)

.

.

.

2 Die Chomsky-Hierarchie (Sprachklassen, Wortproblem)

.

.

.

3 Endliche Automaten und regulare Sprachen (Pumping Lemma)

.

.

.

4 Kontextfreie Sprachen (Normalformen, Kellerautomaten)

.

.

.

5 Kontextsensitive- und Typ0-Sprachen (Turingmaschinen,Unentscheidbarkeit)

.

.

.

6 Komplexitat von Algorithmen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 7 / 30

. . . . . .

Ein roter Faden

In der Vorlesung werden die folgenden Themen untersucht:

.

..

1 Einleitung (grundlegende Begriffe, L-Systeme)

.

.

.

2 Die Chomsky-Hierarchie (Sprachklassen, Wortproblem)

.

.

.

3 Endliche Automaten und regulare Sprachen (Pumping Lemma)

.

.

.

4 Kontextfreie Sprachen (Normalformen, Kellerautomaten)

.

.

.

5 Kontextsensitive- und Typ0-Sprachen (Turingmaschinen,Unentscheidbarkeit)

.

.

.

6 Komplexitat von Algorithmen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 7 / 30

. . . . . .

Ein roter Faden

In der Vorlesung werden die folgenden Themen untersucht:

.

..

1 Einleitung (grundlegende Begriffe, L-Systeme)

.

.

.

2 Die Chomsky-Hierarchie (Sprachklassen, Wortproblem)

.

.

.

3 Endliche Automaten und regulare Sprachen (Pumping Lemma)

.

.

.

4 Kontextfreie Sprachen (Normalformen, Kellerautomaten)

.

.

.

5 Kontextsensitive- und Typ0-Sprachen (Turingmaschinen,Unentscheidbarkeit)

.

.

.

6 Komplexitat von Algorithmen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 7 / 30

. . . . . .

Warum Theoretische Informatik?Theoretische Informatik wird (wohl aufgrund der mathematischenPragung) oft als ”schwach motiviert“, ”langweilig“ und ”nutzlos“beschrieben.

Warum lohnt sich die Theoretische Informatik?

Konkrete Technologien andern sich sehr schnell, deshalb sollteman die Konzepte verstehen.Hintergrundinformationen ermoglichen Chancen und Grenzen vonTechnologien zu verstehen.Theoretische Informatik gibt Hinweise, welche Wege zu keinerLosung fuhren werden.Verbesserung des strukturierten Denkens und derProblemlosungskompetenz.(Tiefgreifende) Ideen fuhren zu schnellen Algorithmen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 8 / 30

. . . . . .

Warum Theoretische Informatik?Theoretische Informatik wird (wohl aufgrund der mathematischenPragung) oft als ”schwach motiviert“, ”langweilig“ und ”nutzlos“beschrieben.

Warum lohnt sich die Theoretische Informatik?

Konkrete Technologien andern sich sehr schnell, deshalb sollteman die Konzepte verstehen.Hintergrundinformationen ermoglichen Chancen und Grenzen vonTechnologien zu verstehen.Theoretische Informatik gibt Hinweise, welche Wege zu keinerLosung fuhren werden.Verbesserung des strukturierten Denkens und derProblemlosungskompetenz.(Tiefgreifende) Ideen fuhren zu schnellen Algorithmen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 8 / 30

. . . . . .

Warum Theoretische Informatik?Theoretische Informatik wird (wohl aufgrund der mathematischenPragung) oft als ”schwach motiviert“, ”langweilig“ und ”nutzlos“beschrieben.

Warum lohnt sich die Theoretische Informatik?

Konkrete Technologien andern sich sehr schnell, deshalb sollteman die Konzepte verstehen.

Hintergrundinformationen ermoglichen Chancen und Grenzen vonTechnologien zu verstehen.Theoretische Informatik gibt Hinweise, welche Wege zu keinerLosung fuhren werden.Verbesserung des strukturierten Denkens und derProblemlosungskompetenz.(Tiefgreifende) Ideen fuhren zu schnellen Algorithmen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 8 / 30

. . . . . .

Warum Theoretische Informatik?Theoretische Informatik wird (wohl aufgrund der mathematischenPragung) oft als ”schwach motiviert“, ”langweilig“ und ”nutzlos“beschrieben.

Warum lohnt sich die Theoretische Informatik?

Konkrete Technologien andern sich sehr schnell, deshalb sollteman die Konzepte verstehen.Hintergrundinformationen ermoglichen Chancen und Grenzen vonTechnologien zu verstehen.

Theoretische Informatik gibt Hinweise, welche Wege zu keinerLosung fuhren werden.Verbesserung des strukturierten Denkens und derProblemlosungskompetenz.(Tiefgreifende) Ideen fuhren zu schnellen Algorithmen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 8 / 30

. . . . . .

Warum Theoretische Informatik?Theoretische Informatik wird (wohl aufgrund der mathematischenPragung) oft als ”schwach motiviert“, ”langweilig“ und ”nutzlos“beschrieben.

Warum lohnt sich die Theoretische Informatik?

Konkrete Technologien andern sich sehr schnell, deshalb sollteman die Konzepte verstehen.Hintergrundinformationen ermoglichen Chancen und Grenzen vonTechnologien zu verstehen.Theoretische Informatik gibt Hinweise, welche Wege zu keinerLosung fuhren werden.

Verbesserung des strukturierten Denkens und derProblemlosungskompetenz.(Tiefgreifende) Ideen fuhren zu schnellen Algorithmen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 8 / 30

. . . . . .

Warum Theoretische Informatik?Theoretische Informatik wird (wohl aufgrund der mathematischenPragung) oft als ”schwach motiviert“, ”langweilig“ und ”nutzlos“beschrieben.

Warum lohnt sich die Theoretische Informatik?

Konkrete Technologien andern sich sehr schnell, deshalb sollteman die Konzepte verstehen.Hintergrundinformationen ermoglichen Chancen und Grenzen vonTechnologien zu verstehen.Theoretische Informatik gibt Hinweise, welche Wege zu keinerLosung fuhren werden.Verbesserung des strukturierten Denkens und derProblemlosungskompetenz.

(Tiefgreifende) Ideen fuhren zu schnellen Algorithmen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 8 / 30

. . . . . .

Warum Theoretische Informatik?Theoretische Informatik wird (wohl aufgrund der mathematischenPragung) oft als ”schwach motiviert“, ”langweilig“ und ”nutzlos“beschrieben.

Warum lohnt sich die Theoretische Informatik?

Konkrete Technologien andern sich sehr schnell, deshalb sollteman die Konzepte verstehen.Hintergrundinformationen ermoglichen Chancen und Grenzen vonTechnologien zu verstehen.Theoretische Informatik gibt Hinweise, welche Wege zu keinerLosung fuhren werden.Verbesserung des strukturierten Denkens und derProblemlosungskompetenz.(Tiefgreifende) Ideen fuhren zu schnellen Algorithmen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 8 / 30

. . . . . .

Ein sehr einfaches BeispielKugeln sind in einer quadratischen Pyramide der Hohe h gestapelt.Schreiben Sie ein Programm, dass die Anzahl der Kugeln berechnet:

unsigned long CalcBalls(unsigned long height) {

unsigned long i; /* Zaehler */unsigned long sum = 0U; /* Akt. Summe v. Kugeln */

for (i = 1U; i <= height; i++) {sum += (i*i);

}

return sum; /* Summe ist Anzahl der Kugeln */

}

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 9 / 30

. . . . . .

Ein sehr einfaches BeispielKugeln sind in einer quadratischen Pyramide der Hohe h gestapelt.Schreiben Sie ein Programm, dass die Anzahl der Kugeln berechnet:

unsigned long CalcBalls(unsigned long height) {

unsigned long i; /* Zaehler */unsigned long sum = 0U; /* Akt. Summe v. Kugeln */

for (i = 1U; i <= height; i++) {sum += (i*i);

}

return sum; /* Summe ist Anzahl der Kugeln */

}

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 9 / 30

. . . . . .

Ein sehr einfaches BeispielKugeln sind in einer quadratischen Pyramide der Hohe h gestapelt.Schreiben Sie ein Programm, dass die Anzahl der Kugeln berechnet:

unsigned long CalcBalls(unsigned long height) {

unsigned long i; /* Zaehler */unsigned long sum = 0U; /* Akt. Summe v. Kugeln */

for (i = 1U; i <= height; i++) {

sum += (i*i);}

return sum; /* Summe ist Anzahl der Kugeln */

}

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 9 / 30

. . . . . .

Ein sehr einfaches BeispielKugeln sind in einer quadratischen Pyramide der Hohe h gestapelt.Schreiben Sie ein Programm, dass die Anzahl der Kugeln berechnet:

unsigned long CalcBalls(unsigned long height) {

unsigned long i; /* Zaehler */unsigned long sum = 0U; /* Akt. Summe v. Kugeln */

for (i = 1U; i <= height; i++) {sum += (i*i);

}

return sum; /* Summe ist Anzahl der Kugeln */

}

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 9 / 30

. . . . . .

Ein sehr einfaches BeispielKugeln sind in einer quadratischen Pyramide der Hohe h gestapelt.Schreiben Sie ein Programm, dass die Anzahl der Kugeln berechnet:

unsigned long CalcBalls(unsigned long height) {

unsigned long i; /* Zaehler */unsigned long sum = 0U; /* Akt. Summe v. Kugeln */

for (i = 1U; i <= height; i++) {sum += (i*i);

}

return sum; /* Summe ist Anzahl der Kugeln */

}

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 9 / 30

. . . . . .

Ein sehr einfaches Beispiel (II)

Es giltn∑

i=1i2 = n(n+1)(2n+1)

6 .

(IA) Eine Pyramide der Hohe n = 1 enthalt 1·2·36 = 1 Kugel.

(IV) Fur k ≤ n giltk∑

i=1i2 = k(k+1)(2k+1)

6 .

(IS)n+1∑i=1

i2 =n∑

i=1i2 + (n + 1)2

IV= n(n+1)(2n+1)

6 + (n2 + 2n + 1)

= 2n3+3n2+n6 + (n2 + 2n + 1)

= 2n3+9n2+13n+66

= (n+1)(2n2+7n+6)6

= (n+1)(n+2)(2n+3)6

= (n+1)((n+1)+1)(2(n+1)+1)6

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 10 / 30

. . . . . .

Ein sehr einfaches Beispiel (II)

Es giltn∑

i=1i2 = n(n+1)(2n+1)

6 .

(IA) Eine Pyramide der Hohe n = 1 enthalt 1·2·36 = 1 Kugel.

(IV) Fur k ≤ n giltk∑

i=1i2 = k(k+1)(2k+1)

6 .

(IS)n+1∑i=1

i2 =n∑

i=1i2 + (n + 1)2

IV= n(n+1)(2n+1)

6 + (n2 + 2n + 1)

= 2n3+3n2+n6 + (n2 + 2n + 1)

= 2n3+9n2+13n+66

= (n+1)(2n2+7n+6)6

= (n+1)(n+2)(2n+3)6

= (n+1)((n+1)+1)(2(n+1)+1)6

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 10 / 30

. . . . . .

Ein sehr einfaches Beispiel (II)

Es giltn∑

i=1i2 = n(n+1)(2n+1)

6 .

(IA) Eine Pyramide der Hohe n = 1 enthalt 1·2·36 = 1 Kugel.

(IV) Fur k ≤ n giltk∑

i=1i2 = k(k+1)(2k+1)

6 .

(IS)n+1∑i=1

i2 =n∑

i=1i2 + (n + 1)2

IV= n(n+1)(2n+1)

6 + (n2 + 2n + 1)

= 2n3+3n2+n6 + (n2 + 2n + 1)

= 2n3+9n2+13n+66

= (n+1)(2n2+7n+6)6

= (n+1)(n+2)(2n+3)6

= (n+1)((n+1)+1)(2(n+1)+1)6

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 10 / 30

. . . . . .

Ein sehr einfaches Beispiel (II)

Es giltn∑

i=1i2 = n(n+1)(2n+1)

6 .

(IA) Eine Pyramide der Hohe n = 1 enthalt 1·2·36 = 1 Kugel.

(IV) Fur k ≤ n giltk∑

i=1i2 = k(k+1)(2k+1)

6 .

(IS)n+1∑i=1

i2 =n∑

i=1i2 + (n + 1)2

IV= n(n+1)(2n+1)

6 + (n2 + 2n + 1)

= 2n3+3n2+n6 + (n2 + 2n + 1)

= 2n3+9n2+13n+66

= (n+1)(2n2+7n+6)6

= (n+1)(n+2)(2n+3)6

= (n+1)((n+1)+1)(2(n+1)+1)6

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 10 / 30

. . . . . .

Ein sehr einfaches Beispiel (II)

Es giltn∑

i=1i2 = n(n+1)(2n+1)

6 .

(IA) Eine Pyramide der Hohe n = 1 enthalt 1·2·36 = 1 Kugel.

(IV) Fur k ≤ n giltk∑

i=1i2 = k(k+1)(2k+1)

6 .

(IS)n+1∑i=1

i2 =n∑

i=1i2 + (n + 1)2

IV= n(n+1)(2n+1)

6 + (n2 + 2n + 1)

= 2n3+3n2+n6 + (n2 + 2n + 1)

= 2n3+9n2+13n+66

= (n+1)(2n2+7n+6)6

= (n+1)(n+2)(2n+3)6

= (n+1)((n+1)+1)(2(n+1)+1)6

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 10 / 30

. . . . . .

Ein sehr einfaches Beispiel (II)

Es giltn∑

i=1i2 = n(n+1)(2n+1)

6 .

(IA) Eine Pyramide der Hohe n = 1 enthalt 1·2·36 = 1 Kugel.

(IV) Fur k ≤ n giltk∑

i=1i2 = k(k+1)(2k+1)

6 .

(IS)n+1∑i=1

i2 =n∑

i=1i2 + (n + 1)2

IV= n(n+1)(2n+1)

6 + (n2 + 2n + 1)

= 2n3+3n2+n6 + (n2 + 2n + 1)

= 2n3+9n2+13n+66

= (n+1)(2n2+7n+6)6

= (n+1)(n+2)(2n+3)6

= (n+1)((n+1)+1)(2(n+1)+1)6

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 10 / 30

. . . . . .

Ein sehr einfaches Beispiel (II)

Es giltn∑

i=1i2 = n(n+1)(2n+1)

6 .

(IA) Eine Pyramide der Hohe n = 1 enthalt 1·2·36 = 1 Kugel.

(IV) Fur k ≤ n giltk∑

i=1i2 = k(k+1)(2k+1)

6 .

(IS)n+1∑i=1

i2 =n∑

i=1i2 + (n + 1)2

IV= n(n+1)(2n+1)

6 + (n2 + 2n + 1)

= 2n3+3n2+n6 + (n2 + 2n + 1)

= 2n3+9n2+13n+66

= (n+1)(2n2+7n+6)6

= (n+1)(n+2)(2n+3)6

= (n+1)((n+1)+1)(2(n+1)+1)6

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 10 / 30

. . . . . .

Ein sehr einfaches Beispiel (III)Dies fuhrt direkt zu einem rekursiven Algorithmus:

unsigned long CalcBalls(unsigned long height) {

/* Rekursionsabbruch? */if (height == 0U) || (height == 1U) {return height;

} else {return /* Kugeln in akt. Ebene */

(height*height)/* Restpyramide */

+ CalculateBalls(height - 1U);}

}

Leider auch nicht schneller

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 11 / 30

. . . . . .

Ein sehr einfaches Beispiel (III)Dies fuhrt direkt zu einem rekursiven Algorithmus:

unsigned long CalcBalls(unsigned long height) {

/* Rekursionsabbruch? */if (height == 0U) || (height == 1U) {return height;

} else {

return /* Kugeln in akt. Ebene */(height*height)/* Restpyramide */

+ CalculateBalls(height - 1U);}

}

Leider auch nicht schneller

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 11 / 30

. . . . . .

Ein sehr einfaches Beispiel (III)Dies fuhrt direkt zu einem rekursiven Algorithmus:

unsigned long CalcBalls(unsigned long height) {

/* Rekursionsabbruch? */if (height == 0U) || (height == 1U) {return height;

} else {return /* Kugeln in akt. Ebene */

(height*height)

/* Restpyramide */+ CalculateBalls(height - 1U);

}}

Leider auch nicht schneller

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 11 / 30

. . . . . .

Ein sehr einfaches Beispiel (III)Dies fuhrt direkt zu einem rekursiven Algorithmus:

unsigned long CalcBalls(unsigned long height) {

/* Rekursionsabbruch? */if (height == 0U) || (height == 1U) {return height;

} else {return /* Kugeln in akt. Ebene */

(height*height)/* Restpyramide */

+ CalculateBalls(height - 1U);}

}

Leider auch nicht schneller

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 11 / 30

. . . . . .

Ein sehr einfaches Beispiel (III)Dies fuhrt direkt zu einem rekursiven Algorithmus:

unsigned long CalcBalls(unsigned long height) {

/* Rekursionsabbruch? */if (height == 0U) || (height == 1U) {return height;

} else {return /* Kugeln in akt. Ebene */

(height*height)/* Restpyramide */

+ CalculateBalls(height - 1U);}

}

Leider auch nicht schneller

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 11 / 30

. . . . . .

Ein sehr einfaches Beispiel (IV)Aber wir wissen:

unsigned long CalcBalls(unsigned long height) {

/* Induktiv gezeigte Formel verwenden */return height

* (height + 1U)

* (2U*(height) + 1U) / 6;

}

Hintergrundwissen fuhrt zu einemschnelleren und ubersichtlicheren Algorithmus

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 12 / 30

. . . . . .

Ein sehr einfaches Beispiel (IV)Aber wir wissen:

unsigned long CalcBalls(unsigned long height) {

/* Induktiv gezeigte Formel verwenden */return height

* (height + 1U)

* (2U*(height) + 1U) / 6;

}

Hintergrundwissen fuhrt zu einemschnelleren und ubersichtlicheren Algorithmus

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 12 / 30

. . . . . .

Ein sehr einfaches Beispiel (IV)Aber wir wissen:

unsigned long CalcBalls(unsigned long height) {

/* Induktiv gezeigte Formel verwenden */return height

* (height + 1U)

* (2U*(height) + 1U) / 6;

}

Hintergrundwissen fuhrt zu einemschnelleren und ubersichtlicheren Algorithmus

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 12 / 30

. . . . . .

Spielregeln

Rechner und Handys sind zu Beginn der Veranstaltung aus

Wir (Dozent + Horer) sind punktlichEs redet nur eine PersonBei Fragen und Problemen sofort melden / fragenEs wird Eigeninitiative und selbststandiges Arbeiten erwartetEine Vorlesung ist keine (wochentliche) Fernsehserie!

I Eine Vorlesung wird von den Horern und vom Dozenten gestaltetI aktive Mitarbeit erwunscht und erforderlichI Der Dozent will motiviert werdenI Umfangreiche selbststandige Vor- und Nachbereitung ist notwendigI Lernen nur kurz vor dem Vortrag ist todlich! (kontinuierliches

Lernen)

Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis

Was wunschen Sie sich?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 13 / 30

. . . . . .

Spielregeln

Rechner und Handys sind zu Beginn der Veranstaltung ausWir (Dozent + Horer) sind punktlich

Es redet nur eine PersonBei Fragen und Problemen sofort melden / fragenEs wird Eigeninitiative und selbststandiges Arbeiten erwartetEine Vorlesung ist keine (wochentliche) Fernsehserie!

I Eine Vorlesung wird von den Horern und vom Dozenten gestaltetI aktive Mitarbeit erwunscht und erforderlichI Der Dozent will motiviert werdenI Umfangreiche selbststandige Vor- und Nachbereitung ist notwendigI Lernen nur kurz vor dem Vortrag ist todlich! (kontinuierliches

Lernen)

Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis

Was wunschen Sie sich?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 13 / 30

. . . . . .

Spielregeln

Rechner und Handys sind zu Beginn der Veranstaltung ausWir (Dozent + Horer) sind punktlichEs redet nur eine Person

Bei Fragen und Problemen sofort melden / fragenEs wird Eigeninitiative und selbststandiges Arbeiten erwartetEine Vorlesung ist keine (wochentliche) Fernsehserie!

I Eine Vorlesung wird von den Horern und vom Dozenten gestaltetI aktive Mitarbeit erwunscht und erforderlichI Der Dozent will motiviert werdenI Umfangreiche selbststandige Vor- und Nachbereitung ist notwendigI Lernen nur kurz vor dem Vortrag ist todlich! (kontinuierliches

Lernen)

Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis

Was wunschen Sie sich?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 13 / 30

. . . . . .

Spielregeln

Rechner und Handys sind zu Beginn der Veranstaltung ausWir (Dozent + Horer) sind punktlichEs redet nur eine PersonBei Fragen und Problemen sofort melden / fragen

Es wird Eigeninitiative und selbststandiges Arbeiten erwartetEine Vorlesung ist keine (wochentliche) Fernsehserie!

I Eine Vorlesung wird von den Horern und vom Dozenten gestaltetI aktive Mitarbeit erwunscht und erforderlichI Der Dozent will motiviert werdenI Umfangreiche selbststandige Vor- und Nachbereitung ist notwendigI Lernen nur kurz vor dem Vortrag ist todlich! (kontinuierliches

Lernen)

Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis

Was wunschen Sie sich?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 13 / 30

. . . . . .

Spielregeln

Rechner und Handys sind zu Beginn der Veranstaltung ausWir (Dozent + Horer) sind punktlichEs redet nur eine PersonBei Fragen und Problemen sofort melden / fragenEs wird Eigeninitiative und selbststandiges Arbeiten erwartet

Eine Vorlesung ist keine (wochentliche) Fernsehserie!I Eine Vorlesung wird von den Horern und vom Dozenten gestaltetI aktive Mitarbeit erwunscht und erforderlichI Der Dozent will motiviert werdenI Umfangreiche selbststandige Vor- und Nachbereitung ist notwendigI Lernen nur kurz vor dem Vortrag ist todlich! (kontinuierliches

Lernen)

Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis

Was wunschen Sie sich?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 13 / 30

. . . . . .

Spielregeln

Rechner und Handys sind zu Beginn der Veranstaltung ausWir (Dozent + Horer) sind punktlichEs redet nur eine PersonBei Fragen und Problemen sofort melden / fragenEs wird Eigeninitiative und selbststandiges Arbeiten erwartetEine Vorlesung ist keine (wochentliche) Fernsehserie!

I Eine Vorlesung wird von den Horern und vom Dozenten gestaltetI aktive Mitarbeit erwunscht und erforderlichI Der Dozent will motiviert werdenI Umfangreiche selbststandige Vor- und Nachbereitung ist notwendigI Lernen nur kurz vor dem Vortrag ist todlich! (kontinuierliches

Lernen)

Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis

Was wunschen Sie sich?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 13 / 30

. . . . . .

Spielregeln

Rechner und Handys sind zu Beginn der Veranstaltung ausWir (Dozent + Horer) sind punktlichEs redet nur eine PersonBei Fragen und Problemen sofort melden / fragenEs wird Eigeninitiative und selbststandiges Arbeiten erwartetEine Vorlesung ist keine (wochentliche) Fernsehserie!

I Eine Vorlesung wird von den Horern und vom Dozenten gestaltet

I aktive Mitarbeit erwunscht und erforderlichI Der Dozent will motiviert werdenI Umfangreiche selbststandige Vor- und Nachbereitung ist notwendigI Lernen nur kurz vor dem Vortrag ist todlich! (kontinuierliches

Lernen)

Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis

Was wunschen Sie sich?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 13 / 30

. . . . . .

Spielregeln

Rechner und Handys sind zu Beginn der Veranstaltung ausWir (Dozent + Horer) sind punktlichEs redet nur eine PersonBei Fragen und Problemen sofort melden / fragenEs wird Eigeninitiative und selbststandiges Arbeiten erwartetEine Vorlesung ist keine (wochentliche) Fernsehserie!

I Eine Vorlesung wird von den Horern und vom Dozenten gestaltetI aktive Mitarbeit erwunscht und erforderlich

I Der Dozent will motiviert werdenI Umfangreiche selbststandige Vor- und Nachbereitung ist notwendigI Lernen nur kurz vor dem Vortrag ist todlich! (kontinuierliches

Lernen)

Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis

Was wunschen Sie sich?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 13 / 30

. . . . . .

Spielregeln

Rechner und Handys sind zu Beginn der Veranstaltung ausWir (Dozent + Horer) sind punktlichEs redet nur eine PersonBei Fragen und Problemen sofort melden / fragenEs wird Eigeninitiative und selbststandiges Arbeiten erwartetEine Vorlesung ist keine (wochentliche) Fernsehserie!

I Eine Vorlesung wird von den Horern und vom Dozenten gestaltetI aktive Mitarbeit erwunscht und erforderlichI Der Dozent will motiviert werden

I Umfangreiche selbststandige Vor- und Nachbereitung ist notwendigI Lernen nur kurz vor dem Vortrag ist todlich! (kontinuierliches

Lernen)

Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis

Was wunschen Sie sich?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 13 / 30

. . . . . .

Spielregeln

Rechner und Handys sind zu Beginn der Veranstaltung ausWir (Dozent + Horer) sind punktlichEs redet nur eine PersonBei Fragen und Problemen sofort melden / fragenEs wird Eigeninitiative und selbststandiges Arbeiten erwartetEine Vorlesung ist keine (wochentliche) Fernsehserie!

I Eine Vorlesung wird von den Horern und vom Dozenten gestaltetI aktive Mitarbeit erwunscht und erforderlichI Der Dozent will motiviert werdenI Umfangreiche selbststandige Vor- und Nachbereitung ist notwendig

I Lernen nur kurz vor dem Vortrag ist todlich! (kontinuierlichesLernen)

Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis

Was wunschen Sie sich?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 13 / 30

. . . . . .

Spielregeln

Rechner und Handys sind zu Beginn der Veranstaltung ausWir (Dozent + Horer) sind punktlichEs redet nur eine PersonBei Fragen und Problemen sofort melden / fragenEs wird Eigeninitiative und selbststandiges Arbeiten erwartetEine Vorlesung ist keine (wochentliche) Fernsehserie!

I Eine Vorlesung wird von den Horern und vom Dozenten gestaltetI aktive Mitarbeit erwunscht und erforderlichI Der Dozent will motiviert werdenI Umfangreiche selbststandige Vor- und Nachbereitung ist notwendigI Lernen nur kurz vor dem Vortrag ist todlich! (kontinuierliches

Lernen)

Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis

Was wunschen Sie sich?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 13 / 30

. . . . . .

Spielregeln

Rechner und Handys sind zu Beginn der Veranstaltung ausWir (Dozent + Horer) sind punktlichEs redet nur eine PersonBei Fragen und Problemen sofort melden / fragenEs wird Eigeninitiative und selbststandiges Arbeiten erwartetEine Vorlesung ist keine (wochentliche) Fernsehserie!

I Eine Vorlesung wird von den Horern und vom Dozenten gestaltetI aktive Mitarbeit erwunscht und erforderlichI Der Dozent will motiviert werdenI Umfangreiche selbststandige Vor- und Nachbereitung ist notwendigI Lernen nur kurz vor dem Vortrag ist todlich! (kontinuierliches

Lernen)

Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis

Was wunschen Sie sich?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 13 / 30

. . . . . .

Spielregeln

Rechner und Handys sind zu Beginn der Veranstaltung ausWir (Dozent + Horer) sind punktlichEs redet nur eine PersonBei Fragen und Problemen sofort melden / fragenEs wird Eigeninitiative und selbststandiges Arbeiten erwartetEine Vorlesung ist keine (wochentliche) Fernsehserie!

I Eine Vorlesung wird von den Horern und vom Dozenten gestaltetI aktive Mitarbeit erwunscht und erforderlichI Der Dozent will motiviert werdenI Umfangreiche selbststandige Vor- und Nachbereitung ist notwendigI Lernen nur kurz vor dem Vortrag ist todlich! (kontinuierliches

Lernen)

Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis

Was wunschen Sie sich?Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 13 / 30

. . . . . .

Ubung

Start der Ubung: Heute

Auf der Webseite werden Sie jede Woche Aufgabenblatter fur dieUbung finden. Diese Ubungen sollten selbststandig undregelmaßig gelost werden.Gemeinsames Vorstellen und Besprechen von Losungen an derTafel.Die Ubung ist fur Sie die Chance neue Konzepte zu vertiefen, zuverstehen und anzuwenden.Viele Begriffe und Konzepte (in der Informatik) kann man nurdurch bestandiges Uben erlernen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 14 / 30

. . . . . .

Ubung

Start der Ubung: Heute

Auf der Webseite werden Sie jede Woche Aufgabenblatter fur dieUbung finden. Diese Ubungen sollten selbststandig undregelmaßig gelost werden.

Gemeinsames Vorstellen und Besprechen von Losungen an derTafel.Die Ubung ist fur Sie die Chance neue Konzepte zu vertiefen, zuverstehen und anzuwenden.Viele Begriffe und Konzepte (in der Informatik) kann man nurdurch bestandiges Uben erlernen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 14 / 30

. . . . . .

Ubung

Start der Ubung: Heute

Auf der Webseite werden Sie jede Woche Aufgabenblatter fur dieUbung finden. Diese Ubungen sollten selbststandig undregelmaßig gelost werden.Gemeinsames Vorstellen und Besprechen von Losungen an derTafel.

Die Ubung ist fur Sie die Chance neue Konzepte zu vertiefen, zuverstehen und anzuwenden.Viele Begriffe und Konzepte (in der Informatik) kann man nurdurch bestandiges Uben erlernen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 14 / 30

. . . . . .

Ubung

Start der Ubung: Heute

Auf der Webseite werden Sie jede Woche Aufgabenblatter fur dieUbung finden. Diese Ubungen sollten selbststandig undregelmaßig gelost werden.Gemeinsames Vorstellen und Besprechen von Losungen an derTafel.Die Ubung ist fur Sie die Chance neue Konzepte zu vertiefen, zuverstehen und anzuwenden.

Viele Begriffe und Konzepte (in der Informatik) kann man nurdurch bestandiges Uben erlernen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 14 / 30

. . . . . .

Ubung

Start der Ubung: Heute

Auf der Webseite werden Sie jede Woche Aufgabenblatter fur dieUbung finden. Diese Ubungen sollten selbststandig undregelmaßig gelost werden.Gemeinsames Vorstellen und Besprechen von Losungen an derTafel.Die Ubung ist fur Sie die Chance neue Konzepte zu vertiefen, zuverstehen und anzuwenden.Viele Begriffe und Konzepte (in der Informatik) kann man nurdurch bestandiges Uben erlernen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 14 / 30

. . . . . .

Ubung

Start der Ubung: Heute

Auf der Webseite werden Sie jede Woche Aufgabenblatter fur dieUbung finden. Diese Ubungen sollten selbststandig undregelmaßig gelost werden.Gemeinsames Vorstellen und Besprechen von Losungen an derTafel.Die Ubung ist fur Sie die Chance neue Konzepte zu vertiefen, zuverstehen und anzuwenden.Viele Begriffe und Konzepte (in der Informatik) kann man nurdurch bestandiges Uben erlernen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 14 / 30

. . . . . .

Automatentheorieund

Formale Sprachen

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 15 / 30

. . . . . .

Naturliche SprachenNaturliche Sprachen legen ihre Struktur durch

die Regeln einer Grammatik

und eine Menge von erlaubten Worten (, Strings gebildet ausBuchstaben)

fest.

Allerdings mussen syntaktisch korrekte Satze einer naturlichenSprache keinen Sinn tragen:

Wiesbaden wohnt weiterhin weichDer bissige Student jagt die verschlafene Mensa

D.h. syntakisch korrekte Satze mussen keinen Sinn (, Semantik)tragen.

Kann man diese Beobachtungen in der Informatik ausnutzen?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 16 / 30

. . . . . .

Naturliche SprachenNaturliche Sprachen legen ihre Struktur durch

die Regeln einer Grammatikund eine Menge von erlaubten Worten (, Strings gebildet ausBuchstaben)

fest.

Allerdings mussen syntaktisch korrekte Satze einer naturlichenSprache keinen Sinn tragen:

Wiesbaden wohnt weiterhin weichDer bissige Student jagt die verschlafene Mensa

D.h. syntakisch korrekte Satze mussen keinen Sinn (, Semantik)tragen.

Kann man diese Beobachtungen in der Informatik ausnutzen?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 16 / 30

. . . . . .

Naturliche SprachenNaturliche Sprachen legen ihre Struktur durch

die Regeln einer Grammatikund eine Menge von erlaubten Worten (, Strings gebildet ausBuchstaben)

fest.

Allerdings mussen syntaktisch korrekte Satze einer naturlichenSprache keinen Sinn tragen:

Wiesbaden wohnt weiterhin weich

Der bissige Student jagt die verschlafene MensaD.h. syntakisch korrekte Satze mussen keinen Sinn (, Semantik)tragen.

Kann man diese Beobachtungen in der Informatik ausnutzen?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 16 / 30

. . . . . .

Naturliche SprachenNaturliche Sprachen legen ihre Struktur durch

die Regeln einer Grammatikund eine Menge von erlaubten Worten (, Strings gebildet ausBuchstaben)

fest.

Allerdings mussen syntaktisch korrekte Satze einer naturlichenSprache keinen Sinn tragen:

Wiesbaden wohnt weiterhin weichDer bissige Student jagt die verschlafene Mensa

D.h. syntakisch korrekte Satze mussen keinen Sinn (, Semantik)tragen.

Kann man diese Beobachtungen in der Informatik ausnutzen?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 16 / 30

. . . . . .

Naturliche SprachenNaturliche Sprachen legen ihre Struktur durch

die Regeln einer Grammatikund eine Menge von erlaubten Worten (, Strings gebildet ausBuchstaben)

fest.

Allerdings mussen syntaktisch korrekte Satze einer naturlichenSprache keinen Sinn tragen:

Wiesbaden wohnt weiterhin weichDer bissige Student jagt die verschlafene Mensa

D.h. syntakisch korrekte Satze mussen keinen Sinn (, Semantik)tragen.

Kann man diese Beobachtungen in der Informatik ausnutzen?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 16 / 30

. . . . . .

Naturliche SprachenNaturliche Sprachen legen ihre Struktur durch

die Regeln einer Grammatikund eine Menge von erlaubten Worten (, Strings gebildet ausBuchstaben)

fest.

Allerdings mussen syntaktisch korrekte Satze einer naturlichenSprache keinen Sinn tragen:

Wiesbaden wohnt weiterhin weichDer bissige Student jagt die verschlafene Mensa

D.h. syntakisch korrekte Satze mussen keinen Sinn (, Semantik)tragen.

Kann man diese Beobachtungen in der Informatik ausnutzen?

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 16 / 30

. . . . . .

Formale Regeln zur Erzeugung einer Sprache

Der Linguist NOAM CHOMSKY hatte folgende Idee:Korrekte Satze einer (naturlichen) Sprache sollen durch ein (endlichesSystem) von formalen Regeln erzeugt werden.

Bis heute ist diese Ideein der Linguistik umstritten, aberextrem bedeutsam in der Informatik.

Basis fur z.B. alle Programmiersprachen / Compilerbau,Auszeichnungssprachen (SGML, XML, HTML, . . .).

Ahnlich sind die sogenannten (Semi) Thue Systeme, die heute z.B. inSpezialformen in der Computergraphik Bedeutung erlangt haben.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 17 / 30

. . . . . .

Formale Regeln zur Erzeugung einer Sprache

Der Linguist NOAM CHOMSKY hatte folgende Idee:Korrekte Satze einer (naturlichen) Sprache sollen durch ein (endlichesSystem) von formalen Regeln erzeugt werden.

Bis heute ist diese Ideein der Linguistik umstritten, aber

extrem bedeutsam in der Informatik.

Basis fur z.B. alle Programmiersprachen / Compilerbau,Auszeichnungssprachen (SGML, XML, HTML, . . .).

Ahnlich sind die sogenannten (Semi) Thue Systeme, die heute z.B. inSpezialformen in der Computergraphik Bedeutung erlangt haben.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 17 / 30

. . . . . .

Formale Regeln zur Erzeugung einer Sprache

Der Linguist NOAM CHOMSKY hatte folgende Idee:Korrekte Satze einer (naturlichen) Sprache sollen durch ein (endlichesSystem) von formalen Regeln erzeugt werden.

Bis heute ist diese Ideein der Linguistik umstritten, aberextrem bedeutsam in der Informatik.

Basis fur z.B. alle Programmiersprachen / Compilerbau,Auszeichnungssprachen (SGML, XML, HTML, . . .).

Ahnlich sind die sogenannten (Semi) Thue Systeme, die heute z.B. inSpezialformen in der Computergraphik Bedeutung erlangt haben.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 17 / 30

. . . . . .

Einige grundlegende BegriffeEine endliche Menge Σ heißt Alphabet

Die Elemente von Σ werden Buchstaben genannt.Eine Folge von Buchstaben nennt man Wort (uber Σ)Eine beliebige Menge von Worten uber Σ nennt man dann eine(formale) Sprache.

.

Beispiel (arithmetische Ausdrucke)

.

.

.

. ..

. .

Sei Σ = {), (,+,−, ∗, /, x} und EXPR alle korrekten arithmetischenAusdrucke. Damit gilt

(x − x) ∈ EXPR((x + x) ∗ x)/x ∈ EXPR))(x−) ∗ x 6∈ EXPR

EXPR ist eine Menge von Worten uber Σ, also kann man EXPR alsformale Sprache (uber {), (, +,−, ∗, /, x}) bezeichnen.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 18 / 30

. . . . . .

Einige grundlegende BegriffeEine endliche Menge Σ heißt AlphabetDie Elemente von Σ werden

Buchstaben genannt.Eine Folge von Buchstaben nennt man Wort (uber Σ)Eine beliebige Menge von Worten uber Σ nennt man dann eine(formale) Sprache.

.

Beispiel (arithmetische Ausdrucke)

.

.

.

. ..

. .

Sei Σ = {), (,+,−, ∗, /, x} und EXPR alle korrekten arithmetischenAusdrucke. Damit gilt

(x − x) ∈ EXPR((x + x) ∗ x)/x ∈ EXPR))(x−) ∗ x 6∈ EXPR

EXPR ist eine Menge von Worten uber Σ, also kann man EXPR alsformale Sprache (uber {), (, +,−, ∗, /, x}) bezeichnen.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 18 / 30

. . . . . .

Einige grundlegende BegriffeEine endliche Menge Σ heißt AlphabetDie Elemente von Σ werden Buchstaben genannt.Eine Folge von Buchstaben nennt man

Wort (uber Σ)Eine beliebige Menge von Worten uber Σ nennt man dann eine(formale) Sprache.

.

Beispiel (arithmetische Ausdrucke)

.

.

.

. ..

. .

Sei Σ = {), (,+,−, ∗, /, x} und EXPR alle korrekten arithmetischenAusdrucke. Damit gilt

(x − x) ∈ EXPR((x + x) ∗ x)/x ∈ EXPR))(x−) ∗ x 6∈ EXPR

EXPR ist eine Menge von Worten uber Σ, also kann man EXPR alsformale Sprache (uber {), (, +,−, ∗, /, x}) bezeichnen.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 18 / 30

. . . . . .

Einige grundlegende BegriffeEine endliche Menge Σ heißt AlphabetDie Elemente von Σ werden Buchstaben genannt.Eine Folge von Buchstaben nennt man Wort (uber Σ)Eine beliebige Menge von Worten uber Σ nennt man dann

eine(formale) Sprache.

.

Beispiel (arithmetische Ausdrucke)

.

.

.

. ..

. .

Sei Σ = {), (,+,−, ∗, /, x} und EXPR alle korrekten arithmetischenAusdrucke. Damit gilt

(x − x) ∈ EXPR((x + x) ∗ x)/x ∈ EXPR))(x−) ∗ x 6∈ EXPR

EXPR ist eine Menge von Worten uber Σ, also kann man EXPR alsformale Sprache (uber {), (, +,−, ∗, /, x}) bezeichnen.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 18 / 30

. . . . . .

Einige grundlegende BegriffeEine endliche Menge Σ heißt AlphabetDie Elemente von Σ werden Buchstaben genannt.Eine Folge von Buchstaben nennt man Wort (uber Σ)Eine beliebige Menge von Worten uber Σ nennt man dann eine(formale) Sprache.

.

Beispiel (arithmetische Ausdrucke)

.

.

.

. ..

. .

Sei Σ = {), (,+,−, ∗, /, x} und EXPR alle korrekten arithmetischenAusdrucke. Damit gilt

(x − x) ∈ EXPR((x + x) ∗ x)/x ∈ EXPR))(x−) ∗ x 6∈ EXPR

EXPR ist eine Menge von Worten uber Σ, also kann man EXPR alsformale Sprache (uber {), (, +,−, ∗, /, x}) bezeichnen.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 18 / 30

. . . . . .

Einige grundlegende BegriffeEine endliche Menge Σ heißt AlphabetDie Elemente von Σ werden Buchstaben genannt.Eine Folge von Buchstaben nennt man Wort (uber Σ)Eine beliebige Menge von Worten uber Σ nennt man dann eine(formale) Sprache.

.

Beispiel (arithmetische Ausdrucke)

.

.

.

. ..

. .

Sei Σ = {), (,+,−, ∗, /, x} und EXPR alle korrekten arithmetischenAusdrucke.

Damit gilt

(x − x) ∈ EXPR((x + x) ∗ x)/x ∈ EXPR))(x−) ∗ x 6∈ EXPR

EXPR ist eine Menge von Worten uber Σ, also kann man EXPR alsformale Sprache (uber {), (, +,−, ∗, /, x}) bezeichnen.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 18 / 30

. . . . . .

Einige grundlegende BegriffeEine endliche Menge Σ heißt AlphabetDie Elemente von Σ werden Buchstaben genannt.Eine Folge von Buchstaben nennt man Wort (uber Σ)Eine beliebige Menge von Worten uber Σ nennt man dann eine(formale) Sprache.

.

Beispiel (arithmetische Ausdrucke)

.

.

.

. ..

. .

Sei Σ = {), (,+,−, ∗, /, x} und EXPR alle korrekten arithmetischenAusdrucke. Damit gilt

(x − x) ∈ EXPR((x + x) ∗ x)/x ∈ EXPR))(x−) ∗ x 6∈ EXPR

EXPR ist eine Menge von Worten uber Σ, also kann man EXPR alsformale Sprache (uber {), (, +,−, ∗, /, x}) bezeichnen.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 18 / 30

. . . . . .

Weitere Beispiele fur formale Sprachen

.

Beispiel (Zahlenmengen)

.

.

.

. ..

.

.

Sei Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, dann sind die folgenden Mengenauch formale Sprachen uber Σ:

PRIMES = {2, 3, 5, 7, 11, 13, 17, 19, 23, . . .}EVEN = {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, . . .}2POT = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, . . .}

.

Beispiel (Wortmengen uber {a, b})

.

.

.

. ..

.

.

Sei Σ = {a, b}, dann sind die folgenden Mengen auch formaleSprachen uber Σ:

BRACKET = {ab, aabb, aaabbb, aaaabbbb, . . .}UODD = {a, aaa, aaaaa, aaaaaaa, aaaaaaaaa, . . .}Σ∗ = ALL = {ε, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, . . .}

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 19 / 30

. . . . . .

Weitere Beispiele fur formale Sprachen

.

Beispiel (Zahlenmengen)

.

.

.

. ..

.

.

Sei Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, dann sind die folgenden Mengenauch formale Sprachen uber Σ:

PRIMES = {2, 3, 5, 7, 11, 13, 17, 19, 23, . . .}EVEN = {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, . . .}2POT = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, . . .}

.

Beispiel (Wortmengen uber {a, b})

.

.

.

. ..

.

.

Sei Σ = {a, b}, dann sind die folgenden Mengen auch formaleSprachen uber Σ:

BRACKET = {ab, aabb, aaabbb, aaaabbbb, . . .}UODD = {a, aaa, aaaaa, aaaaaaa, aaaaaaaaa, . . .}Σ∗ = ALL = {ε, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, . . .}

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 19 / 30

. . . . . .

Weitere Beispiele fur formale Sprachen

.

Beispiel (Zahlenmengen)

.

.

.

. ..

.

.

Sei Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, dann sind die folgenden Mengenauch formale Sprachen uber Σ:

PRIMES = {2, 3, 5, 7, 11, 13, 17, 19, 23, . . .}EVEN = {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, . . .}2POT = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, . . .}

.

Beispiel (Wortmengen uber {a, b})

.

.

.

. ..

.

.

Sei Σ = {a, b}, dann sind die folgenden Mengen auch formaleSprachen uber Σ:

BRACKET = {ab, aabb, aaabbb, aaaabbbb, . . .}UODD = {a, aaa, aaaaa, aaaaaaa, aaaaaaaaa, . . .}Σ∗ = ALL = {ε, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, . . .}

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 19 / 30

. . . . . .

Grammatiken und Automaten

(Formale) Sprachen enthalten meist unendlich viele Worter

Wir brauchen endlich viele Erzeugungsregeln, um (algorithmisch)mit formalen Sprachen umgehen zu konnen. Die Rolle der Regelnubernehmen die Grammatiken.Weiterhin werden Erkenner benotigt, die entscheiden, ob ein Wortzu einer Sprache gehort. Die Rolle der Erkenner spielen dieAutomaten, die wir in dieser Vorlesung studieren.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 20 / 30

. . . . . .

Grammatiken und Automaten

(Formale) Sprachen enthalten meist unendlich viele Worter

Wir brauchen endlich viele Erzeugungsregeln, um (algorithmisch)mit formalen Sprachen umgehen zu konnen. Die Rolle der Regelnubernehmen die Grammatiken.

Weiterhin werden Erkenner benotigt, die entscheiden, ob ein Wortzu einer Sprache gehort. Die Rolle der Erkenner spielen dieAutomaten, die wir in dieser Vorlesung studieren.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 20 / 30

. . . . . .

Grammatiken und Automaten

(Formale) Sprachen enthalten meist unendlich viele Worter

Wir brauchen endlich viele Erzeugungsregeln, um (algorithmisch)mit formalen Sprachen umgehen zu konnen. Die Rolle der Regelnubernehmen die Grammatiken.Weiterhin werden Erkenner benotigt, die entscheiden, ob ein Wortzu einer Sprache gehort. Die Rolle der Erkenner spielen dieAutomaten, die wir in dieser Vorlesung studieren.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 20 / 30

. . . . . .

Grammatiken und Automaten

(Formale) Sprachen enthalten meist unendlich viele Worter

Wir brauchen endlich viele Erzeugungsregeln, um (algorithmisch)mit formalen Sprachen umgehen zu konnen. Die Rolle der Regelnubernehmen die Grammatiken.Weiterhin werden Erkenner benotigt, die entscheiden, ob ein Wortzu einer Sprache gehort. Die Rolle der Erkenner spielen dieAutomaten, die wir in dieser Vorlesung studieren.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 20 / 30

. . . . . .

Teil einer naturlichen Sprache

.

Beispiel (Eine Grammatik)

.

.

.

. ..

.

.

Satz → Subjekt Pradikat ObjektSubjekt → Artikel Attribut SubstantivArtikel → ε | der | die | das

Attribut → εAttribut → AdjektivAttribut → Adjektiv Attribut

Adjektiv → kleine | bissige | verschlafeneSubstantiv → Student | Katze

Pradikat → jagt | betrittObjekt → Artikel Attribut Substantiv

Das Symbol ”|“ markiert eine Alternative. D.h. A → B | C ist Abkurzungfur die beiden Regeln A → B und A → C

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 21 / 30

. . . . . .

Teil einer naturlichen Sprache

.

Beispiel (Eine Grammatik)

.

.

.

. ..

.

.

Satz → Subjekt Pradikat ObjektSubjekt → Artikel Attribut SubstantivArtikel → ε | der | die | das

Attribut → εAttribut → AdjektivAttribut → Adjektiv Attribut

Adjektiv → kleine | bissige | verschlafeneSubstantiv → Student | Katze

Pradikat → jagt | betrittObjekt → Artikel Attribut Substantiv

Das Symbol ”|“ markiert eine Alternative. D.h. A → B | C ist Abkurzungfur die beiden Regeln A → B und A → C

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 21 / 30

. . . . . .

Teil einer naturlichen Sprache (II)

Durch Anwendung der Regeln und Ersetzung der fett gedrucktenWorter konnen z.B. die folgenden Satze gebildet werden:

Der kleine bissige Student betritt die verschlafene MensaDer verschlafene Student jagt die kleine Katze

Mit Syntaxbaumen man man die Ableitungschritte verdeutlichen:

Katze

Satz

jagt

Subjekt

AttributArtikel Substantiv

Prädikat Objekt

Artikel Attribut Substantiv

Adjektiv AdjektivDer

verschlafene

Student die

kleine

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 22 / 30

. . . . . .

Teil einer naturlichen Sprache (II)

Durch Anwendung der Regeln und Ersetzung der fett gedrucktenWorter konnen z.B. die folgenden Satze gebildet werden:

Der kleine bissige Student betritt die verschlafene MensaDer verschlafene Student jagt die kleine Katze

Mit Syntaxbaumen man man die Ableitungschritte verdeutlichen:

Katze

Satz

jagt

Subjekt

AttributArtikel Substantiv

Prädikat Objekt

Artikel Attribut Substantiv

Adjektiv AdjektivDer

verschlafene

Student die

kleine

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 22 / 30

. . . . . .

Teil einer naturlichen Sprache (II)

Durch Anwendung der Regeln und Ersetzung der fett gedrucktenWorter konnen z.B. die folgenden Satze gebildet werden:

Der kleine bissige Student betritt die verschlafene MensaDer verschlafene Student jagt die kleine Katze

Mit Syntaxbaumen man man die Ableitungschritte verdeutlichen:

Katze

Satz

jagt

Subjekt

AttributArtikel Substantiv

Prädikat Objekt

Artikel Attribut Substantiv

Adjektiv AdjektivDer

verschlafene

Student die

kleine

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 22 / 30

. . . . . .

L-Systeme

Die L-Systeme wurden 1968 durch ARISTID LINDENMEYER alsmathematisches Modell des Pflanzenwachstums eingefuhrt.

L-Systeme werden heute in der Computergraphik benutzt, umnaturlich wirkende Pflanzen schnell generieren zu konnen.Hier betrachten wir die einfachste Klasse von L-Systemen, die sogenannten D0L-System.

I Die Regeln sind deterministisch, d.h. fur jeden Buchstaben gibt esgenau eine Regel.

I Die Regeln sind kontextfrei, d.h. Ersetzungen hangen nicht von denumgebenden Buchstaben (, Kontext) ab.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 23 / 30

. . . . . .

L-Systeme

Die L-Systeme wurden 1968 durch ARISTID LINDENMEYER alsmathematisches Modell des Pflanzenwachstums eingefuhrt.L-Systeme werden heute in der Computergraphik benutzt, umnaturlich wirkende Pflanzen schnell generieren zu konnen.

Hier betrachten wir die einfachste Klasse von L-Systemen, die sogenannten D0L-System.

I Die Regeln sind deterministisch, d.h. fur jeden Buchstaben gibt esgenau eine Regel.

I Die Regeln sind kontextfrei, d.h. Ersetzungen hangen nicht von denumgebenden Buchstaben (, Kontext) ab.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 23 / 30

. . . . . .

L-Systeme

Die L-Systeme wurden 1968 durch ARISTID LINDENMEYER alsmathematisches Modell des Pflanzenwachstums eingefuhrt.L-Systeme werden heute in der Computergraphik benutzt, umnaturlich wirkende Pflanzen schnell generieren zu konnen.Hier betrachten wir die einfachste Klasse von L-Systemen, die sogenannten D0L-System.

I Die Regeln sind deterministisch, d.h. fur jeden Buchstaben gibt esgenau eine Regel.

I Die Regeln sind kontextfrei, d.h. Ersetzungen hangen nicht von denumgebenden Buchstaben (, Kontext) ab.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 23 / 30

. . . . . .

L-Systeme

Die L-Systeme wurden 1968 durch ARISTID LINDENMEYER alsmathematisches Modell des Pflanzenwachstums eingefuhrt.L-Systeme werden heute in der Computergraphik benutzt, umnaturlich wirkende Pflanzen schnell generieren zu konnen.Hier betrachten wir die einfachste Klasse von L-Systemen, die sogenannten D0L-System.

I Die Regeln sind deterministisch, d.h. fur jeden Buchstaben gibt esgenau eine Regel.

I Die Regeln sind kontextfrei, d.h. Ersetzungen hangen nicht von denumgebenden Buchstaben (, Kontext) ab.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 23 / 30

. . . . . .

L-Systeme

Die L-Systeme wurden 1968 durch ARISTID LINDENMEYER alsmathematisches Modell des Pflanzenwachstums eingefuhrt.L-Systeme werden heute in der Computergraphik benutzt, umnaturlich wirkende Pflanzen schnell generieren zu konnen.Hier betrachten wir die einfachste Klasse von L-Systemen, die sogenannten D0L-System.

I Die Regeln sind deterministisch, d.h. fur jeden Buchstaben gibt esgenau eine Regel.

I Die Regeln sind kontextfrei, d.h. Ersetzungen hangen nicht von denumgebenden Buchstaben (, Kontext) ab.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 23 / 30

. . . . . .

L-Systeme

Die L-Systeme wurden 1968 durch ARISTID LINDENMEYER alsmathematisches Modell des Pflanzenwachstums eingefuhrt.L-Systeme werden heute in der Computergraphik benutzt, umnaturlich wirkende Pflanzen schnell generieren zu konnen.Hier betrachten wir die einfachste Klasse von L-Systemen, die sogenannten D0L-System.

I Die Regeln sind deterministisch, d.h. fur jeden Buchstaben gibt esgenau eine Regel.

I Die Regeln sind kontextfrei, d.h. Ersetzungen hangen nicht von denumgebenden Buchstaben (, Kontext) ab.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 23 / 30

. . . . . .

Grundlegende Begriffe und Eigenschaften

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Mit Σ∗ bezeichnen wir die Menge aller Worter uber Σ.

Ein 0L-System G ist ein Tripel G = (Σ, ω, P), wobeiI Σ das Alphabet,I ω das Axiom undI P ⊆ Σ× Σ∗ die Menge der Produktionen.

Eine Produktion (a, χ) ∈ P wird als a → χ geschrieben. DerBuchstabe a heißt Vorganger und χ Nachfolger dieser Produktion.Fur jeden Buchstaben a ∈ Σ existiert eine Produktion (a, χ) ∈ P.Geben wir aus Bequemlichkeitsgrunden fur einen Buchstaben akeine Produktion an, dann gilt implizit (a, a) ∈ P.Ein 0L-System heißt deterministisch, wenn es fur jedenBuchstaben a ∈ Σ nur genau eine Produktion (a, χ) ∈ P gibt.Deterministische 0L-Systeme heißen D0L-Systeme.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 24 / 30

. . . . . .

Grundlegende Begriffe und Eigenschaften

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Mit Σ∗ bezeichnen wir die Menge aller Worter uber Σ.Ein 0L-System G ist ein Tripel G = (Σ, ω, P), wobei

I Σ das Alphabet,I ω das Axiom undI P ⊆ Σ× Σ∗ die Menge der Produktionen.

Eine Produktion (a, χ) ∈ P wird als a → χ geschrieben. DerBuchstabe a heißt Vorganger und χ Nachfolger dieser Produktion.Fur jeden Buchstaben a ∈ Σ existiert eine Produktion (a, χ) ∈ P.Geben wir aus Bequemlichkeitsgrunden fur einen Buchstaben akeine Produktion an, dann gilt implizit (a, a) ∈ P.Ein 0L-System heißt deterministisch, wenn es fur jedenBuchstaben a ∈ Σ nur genau eine Produktion (a, χ) ∈ P gibt.Deterministische 0L-Systeme heißen D0L-Systeme.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 24 / 30

. . . . . .

Grundlegende Begriffe und Eigenschaften

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Mit Σ∗ bezeichnen wir die Menge aller Worter uber Σ.Ein 0L-System G ist ein Tripel G = (Σ, ω, P), wobei

I Σ das Alphabet,

I ω das Axiom undI P ⊆ Σ× Σ∗ die Menge der Produktionen.

Eine Produktion (a, χ) ∈ P wird als a → χ geschrieben. DerBuchstabe a heißt Vorganger und χ Nachfolger dieser Produktion.Fur jeden Buchstaben a ∈ Σ existiert eine Produktion (a, χ) ∈ P.Geben wir aus Bequemlichkeitsgrunden fur einen Buchstaben akeine Produktion an, dann gilt implizit (a, a) ∈ P.Ein 0L-System heißt deterministisch, wenn es fur jedenBuchstaben a ∈ Σ nur genau eine Produktion (a, χ) ∈ P gibt.Deterministische 0L-Systeme heißen D0L-Systeme.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 24 / 30

. . . . . .

Grundlegende Begriffe und Eigenschaften

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Mit Σ∗ bezeichnen wir die Menge aller Worter uber Σ.Ein 0L-System G ist ein Tripel G = (Σ, ω, P), wobei

I Σ das Alphabet,I ω das Axiom und

I P ⊆ Σ× Σ∗ die Menge der Produktionen.

Eine Produktion (a, χ) ∈ P wird als a → χ geschrieben. DerBuchstabe a heißt Vorganger und χ Nachfolger dieser Produktion.Fur jeden Buchstaben a ∈ Σ existiert eine Produktion (a, χ) ∈ P.Geben wir aus Bequemlichkeitsgrunden fur einen Buchstaben akeine Produktion an, dann gilt implizit (a, a) ∈ P.Ein 0L-System heißt deterministisch, wenn es fur jedenBuchstaben a ∈ Σ nur genau eine Produktion (a, χ) ∈ P gibt.Deterministische 0L-Systeme heißen D0L-Systeme.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 24 / 30

. . . . . .

Grundlegende Begriffe und Eigenschaften

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Mit Σ∗ bezeichnen wir die Menge aller Worter uber Σ.Ein 0L-System G ist ein Tripel G = (Σ, ω, P), wobei

I Σ das Alphabet,I ω das Axiom undI P ⊆ Σ× Σ∗ die Menge der Produktionen.

Eine Produktion (a, χ) ∈ P wird als a → χ geschrieben. DerBuchstabe a heißt Vorganger und χ Nachfolger dieser Produktion.Fur jeden Buchstaben a ∈ Σ existiert eine Produktion (a, χ) ∈ P.Geben wir aus Bequemlichkeitsgrunden fur einen Buchstaben akeine Produktion an, dann gilt implizit (a, a) ∈ P.Ein 0L-System heißt deterministisch, wenn es fur jedenBuchstaben a ∈ Σ nur genau eine Produktion (a, χ) ∈ P gibt.Deterministische 0L-Systeme heißen D0L-Systeme.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 24 / 30

. . . . . .

Grundlegende Begriffe und Eigenschaften

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Mit Σ∗ bezeichnen wir die Menge aller Worter uber Σ.Ein 0L-System G ist ein Tripel G = (Σ, ω, P), wobei

I Σ das Alphabet,I ω das Axiom undI P ⊆ Σ× Σ∗ die Menge der Produktionen.

Eine Produktion (a, χ) ∈ P wird als a → χ geschrieben.

DerBuchstabe a heißt Vorganger und χ Nachfolger dieser Produktion.Fur jeden Buchstaben a ∈ Σ existiert eine Produktion (a, χ) ∈ P.Geben wir aus Bequemlichkeitsgrunden fur einen Buchstaben akeine Produktion an, dann gilt implizit (a, a) ∈ P.Ein 0L-System heißt deterministisch, wenn es fur jedenBuchstaben a ∈ Σ nur genau eine Produktion (a, χ) ∈ P gibt.Deterministische 0L-Systeme heißen D0L-Systeme.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 24 / 30

. . . . . .

Grundlegende Begriffe und Eigenschaften

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Mit Σ∗ bezeichnen wir die Menge aller Worter uber Σ.Ein 0L-System G ist ein Tripel G = (Σ, ω, P), wobei

I Σ das Alphabet,I ω das Axiom undI P ⊆ Σ× Σ∗ die Menge der Produktionen.

Eine Produktion (a, χ) ∈ P wird als a → χ geschrieben. DerBuchstabe a heißt Vorganger und χ Nachfolger dieser Produktion.

Fur jeden Buchstaben a ∈ Σ existiert eine Produktion (a, χ) ∈ P.Geben wir aus Bequemlichkeitsgrunden fur einen Buchstaben akeine Produktion an, dann gilt implizit (a, a) ∈ P.Ein 0L-System heißt deterministisch, wenn es fur jedenBuchstaben a ∈ Σ nur genau eine Produktion (a, χ) ∈ P gibt.Deterministische 0L-Systeme heißen D0L-Systeme.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 24 / 30

. . . . . .

Grundlegende Begriffe und Eigenschaften

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Mit Σ∗ bezeichnen wir die Menge aller Worter uber Σ.Ein 0L-System G ist ein Tripel G = (Σ, ω, P), wobei

I Σ das Alphabet,I ω das Axiom undI P ⊆ Σ× Σ∗ die Menge der Produktionen.

Eine Produktion (a, χ) ∈ P wird als a → χ geschrieben. DerBuchstabe a heißt Vorganger und χ Nachfolger dieser Produktion.Fur jeden Buchstaben a ∈ Σ existiert eine Produktion (a, χ) ∈ P.

Geben wir aus Bequemlichkeitsgrunden fur einen Buchstaben akeine Produktion an, dann gilt implizit (a, a) ∈ P.Ein 0L-System heißt deterministisch, wenn es fur jedenBuchstaben a ∈ Σ nur genau eine Produktion (a, χ) ∈ P gibt.Deterministische 0L-Systeme heißen D0L-Systeme.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 24 / 30

. . . . . .

Grundlegende Begriffe und Eigenschaften

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Mit Σ∗ bezeichnen wir die Menge aller Worter uber Σ.Ein 0L-System G ist ein Tripel G = (Σ, ω, P), wobei

I Σ das Alphabet,I ω das Axiom undI P ⊆ Σ× Σ∗ die Menge der Produktionen.

Eine Produktion (a, χ) ∈ P wird als a → χ geschrieben. DerBuchstabe a heißt Vorganger und χ Nachfolger dieser Produktion.Fur jeden Buchstaben a ∈ Σ existiert eine Produktion (a, χ) ∈ P.Geben wir aus Bequemlichkeitsgrunden fur einen Buchstaben akeine Produktion an, dann gilt implizit (a, a) ∈ P.

Ein 0L-System heißt deterministisch, wenn es fur jedenBuchstaben a ∈ Σ nur genau eine Produktion (a, χ) ∈ P gibt.Deterministische 0L-Systeme heißen D0L-Systeme.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 24 / 30

. . . . . .

Grundlegende Begriffe und Eigenschaften

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Mit Σ∗ bezeichnen wir die Menge aller Worter uber Σ.Ein 0L-System G ist ein Tripel G = (Σ, ω, P), wobei

I Σ das Alphabet,I ω das Axiom undI P ⊆ Σ× Σ∗ die Menge der Produktionen.

Eine Produktion (a, χ) ∈ P wird als a → χ geschrieben. DerBuchstabe a heißt Vorganger und χ Nachfolger dieser Produktion.Fur jeden Buchstaben a ∈ Σ existiert eine Produktion (a, χ) ∈ P.Geben wir aus Bequemlichkeitsgrunden fur einen Buchstaben akeine Produktion an, dann gilt implizit (a, a) ∈ P.Ein 0L-System heißt deterministisch, wenn es fur jedenBuchstaben a ∈ Σ nur genau eine Produktion (a, χ) ∈ P gibt.

Deterministische 0L-Systeme heißen D0L-Systeme.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 24 / 30

. . . . . .

Grundlegende Begriffe und Eigenschaften

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Mit Σ∗ bezeichnen wir die Menge aller Worter uber Σ.Ein 0L-System G ist ein Tripel G = (Σ, ω, P), wobei

I Σ das Alphabet,I ω das Axiom undI P ⊆ Σ× Σ∗ die Menge der Produktionen.

Eine Produktion (a, χ) ∈ P wird als a → χ geschrieben. DerBuchstabe a heißt Vorganger und χ Nachfolger dieser Produktion.Fur jeden Buchstaben a ∈ Σ existiert eine Produktion (a, χ) ∈ P.Geben wir aus Bequemlichkeitsgrunden fur einen Buchstaben akeine Produktion an, dann gilt implizit (a, a) ∈ P.Ein 0L-System heißt deterministisch, wenn es fur jedenBuchstaben a ∈ Σ nur genau eine Produktion (a, χ) ∈ P gibt.Deterministische 0L-Systeme heißen D0L-Systeme.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 24 / 30

. . . . . .

D0L-Systeme (II)

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Sei µ = a1 . . . am ein beliebiges Wort uber Σ, dann kann ν = χ1 . . . χmaus µ abgeleitet werden, wenn

fur alle i = 1, . . . m (ai , χi) ∈ P gilt, wobeiman µ ν schreibt.Ein Wort ν heißt von G generiert, wenn es in endlich vielenSchritten aus dem Axiom abgeleitet werden kann.

Achtung: Alle Regeln aus P werden gleichzeitig angewendet.

Wird ein Wort ν von G = (Σ, ω, P) generiert, dann konnen wir also

ω µ1 µ2 . . . µn = ν

schreiben (kurz: ω * ν).

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 25 / 30

. . . . . .

D0L-Systeme (II)

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Sei µ = a1 . . . am ein beliebiges Wort uber Σ, dann kann ν = χ1 . . . χmaus µ abgeleitet werden, wenn

fur alle i = 1, . . . m (ai , χi) ∈ P gilt, wobei

man µ ν schreibt.Ein Wort ν heißt von G generiert, wenn es in endlich vielenSchritten aus dem Axiom abgeleitet werden kann.

Achtung: Alle Regeln aus P werden gleichzeitig angewendet.

Wird ein Wort ν von G = (Σ, ω, P) generiert, dann konnen wir also

ω µ1 µ2 . . . µn = ν

schreiben (kurz: ω * ν).

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 25 / 30

. . . . . .

D0L-Systeme (II)

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Sei µ = a1 . . . am ein beliebiges Wort uber Σ, dann kann ν = χ1 . . . χmaus µ abgeleitet werden, wenn

fur alle i = 1, . . . m (ai , χi) ∈ P gilt, wobeiman µ ν schreibt.

Ein Wort ν heißt von G generiert, wenn es in endlich vielenSchritten aus dem Axiom abgeleitet werden kann.

Achtung: Alle Regeln aus P werden gleichzeitig angewendet.

Wird ein Wort ν von G = (Σ, ω, P) generiert, dann konnen wir also

ω µ1 µ2 . . . µn = ν

schreiben (kurz: ω * ν).

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 25 / 30

. . . . . .

D0L-Systeme (II)

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Sei µ = a1 . . . am ein beliebiges Wort uber Σ, dann kann ν = χ1 . . . χmaus µ abgeleitet werden, wenn

fur alle i = 1, . . . m (ai , χi) ∈ P gilt, wobeiman µ ν schreibt.Ein Wort ν heißt von G generiert, wenn es in endlich vielenSchritten aus dem Axiom abgeleitet werden kann.

Achtung: Alle Regeln aus P werden gleichzeitig angewendet.

Wird ein Wort ν von G = (Σ, ω, P) generiert, dann konnen wir also

ω µ1 µ2 . . . µn = ν

schreiben (kurz: ω * ν).

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 25 / 30

. . . . . .

D0L-Systeme (II)

.

Definition (0L-Systeme)

.

.

.

. ..

.

.

Sei µ = a1 . . . am ein beliebiges Wort uber Σ, dann kann ν = χ1 . . . χmaus µ abgeleitet werden, wenn

fur alle i = 1, . . . m (ai , χi) ∈ P gilt, wobeiman µ ν schreibt.Ein Wort ν heißt von G generiert, wenn es in endlich vielenSchritten aus dem Axiom abgeleitet werden kann.

Achtung: Alle Regeln aus P werden gleichzeitig angewendet.

Wird ein Wort ν von G = (Σ, ω, P) generiert, dann konnen wir also

ω µ1 µ2 . . . µn = ν

schreiben (kurz: ω * ν).

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 25 / 30

. . . . . .

Ein Beispiel

Sei G = (Σ, ω, P), wobeiΣ = {a, b, c},ω = abc undP = {a → aa, b → bb, c → cc}.

Mit Hilfe dieses D0L-Systems konnen Worte der Form

a2nb2n

c2n

fur n ≥ 0 abgeleitet werden.

Bemerkung: an ist die Abkurzung fur aaa . . . a︸ ︷︷ ︸n−mal

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 26 / 30

. . . . . .

Ein Beispiel

Sei G = (Σ, ω, P), wobeiΣ = {a, b, c},ω = abc undP = {a → aa, b → bb, c → cc}.

Mit Hilfe dieses D0L-Systems konnen Worte der Form

a2nb2n

c2n

fur n ≥ 0 abgeleitet werden.

Bemerkung: an ist die Abkurzung fur aaa . . . a︸ ︷︷ ︸n−mal

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 26 / 30

. . . . . .

Ein Beispiel

Sei G = (Σ, ω, P), wobeiΣ = {a, b, c},ω = abc undP = {a → aa, b → bb, c → cc}.

Mit Hilfe dieses D0L-Systems konnen Worte der Form

a2nb2n

c2n

fur n ≥ 0 abgeleitet werden.

Bemerkung: an ist die Abkurzung fur aaa . . . a︸ ︷︷ ︸n−mal

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 26 / 30

. . . . . .

Turtle-Graphik

Sei δ ein beliebiger Winkel, dann werden die Buchstaben F, f, + und− wie folgt interpretiert:

F Bewege den Stift um die Lange d und zeichne eine Linief Bewege den Stift um die Lange d und zeichne keine Linie− drehe um δ Grad nach rechts+ drehe um δ Grad nach links

Mit δ = 90◦ wird FFF− FF− F− F+ F+ FF− F− FFF in die Graphik

umgesetzt.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 27 / 30

. . . . . .

Turtle-Graphik

Sei δ ein beliebiger Winkel, dann werden die Buchstaben F, f, + und− wie folgt interpretiert:

F Bewege den Stift um die Lange d und zeichne eine Linief Bewege den Stift um die Lange d und zeichne keine Linie− drehe um δ Grad nach rechts+ drehe um δ Grad nach links

Mit δ = 90◦ wird FFF− FF− F− F+ F+ FF− F− FFF in die Graphik

umgesetzt.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 27 / 30

. . . . . .

Ein Beispiel

.

Beispiel (Kochsche Schneeflocke)

.

.

.

. ..

.

.

Gegeben sei G = (Σ, ω, P) mitΣ = {F, +,−},ω = F undP = {F→ F+ F−−F+ F}

Wir legen δ = 45◦ fest. Fur die Anzahl der Schritte n ergibt sich:

n = 1 F+ F−−F+ F

n = 2F+ F−−F+ F+ F+ F−− F+ F−−F+ F−−F+ F+ F+ F−−F+ F

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 28 / 30

. . . . . .

Ein Beispiel

.

Beispiel (Kochsche Schneeflocke)

.

.

.

. ..

.

.

Gegeben sei G = (Σ, ω, P) mitΣ = {F, +,−},ω = F undP = {F→ F+ F−−F+ F}

Wir legen δ = 45◦ fest. Fur die Anzahl der Schritte n ergibt sich:

n = 1 F+ F−−F+ F

n = 2F+ F−−F+ F+ F+ F−− F+ F−−F+ F−−F+ F+ F+ F−−F+ F

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 28 / 30

. . . . . .

Ein Beispiel

.

Beispiel (Kochsche Schneeflocke)

.

.

.

. ..

.

.

Gegeben sei G = (Σ, ω, P) mitΣ = {F, +,−},ω = F undP = {F→ F+ F−−F+ F}

Wir legen δ = 45◦ fest. Fur die Anzahl der Schritte n ergibt sich:

n = 1 F+ F−−F+ F

n = 2F+ F−−F+ F+ F+ F−− F+ F−−F+ F−−F+ F+ F+ F−−F+ F

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 28 / 30

. . . . . .

Ein Beispiel

.

Beispiel (Kochsche Schneeflocke)

.

.

.

. ..

.

.

Gegeben sei G = (Σ, ω, P) mitΣ = {F, +,−},ω = F undP = {F→ F+ F−−F+ F}

Wir legen δ = 45◦ fest. Fur die Anzahl der Schritte n ergibt sich:

n = 1 F+ F−−F+ F

n = 2F+ F−−F+ F+ F+ F−− F+ F−−F+ F−−F+ F+ F+ F−−F+ F

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 28 / 30

. . . . . .

Ein zweites Beispiel

.

Beispiel (Drachenkurve)

.

.

.

. ..

.

.

Sei δ = 90◦ und das L-System G = ({Fr,Fl, +,−},Fl,{Fl → Fl + Fr+,Fr → −Fl − Fr}), dann ergibt sich mit derTurtle-Interpretation:

Sowohl Fl als auch Fr werden als ”Bewege den Stift einen Schritt derLange d und zeichne eine Linie“ interpretiert.

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 29 / 30

. . . . . .

Weiterfuhrende LiteraturPrzemyslaw Prusinkiewicz und Aristid Lindenmayer, TheAlgorithmic Beauty of Plantsunter

http://algorithmicbotany.org/papers/#abop

Die folgenden Graphiken wurden diesem Buch entnommen:

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 30 / 30

. . . . . .

Weiterfuhrende LiteraturPrzemyslaw Prusinkiewicz und Aristid Lindenmayer, TheAlgorithmic Beauty of Plantsunter

http://algorithmicbotany.org/papers/#abop

Die folgenden Graphiken wurden diesem Buch entnommen:

Steffen Reith Automatentheorie und Formale Sprachen 18. Oktober 2007 30 / 30