Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor)

Größe: px
Ab Seite anzeigen:

Download "Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor)"

Transkript

1 Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor) wobei A = (E, Z, f, z 0, F ) E Z f : Z E Z z 0 Z Eingabealphabet Zustandsmenge (Zustands )Überführungsfunktion Startzustand F Z Menge der Endzustände E, Z: endliche Mengen Akzeptanz einer Zeichenkette w E durch A: w wird genau dann akzeptiert, wenn der Automat unmittelbar vor der Verarbeitung von w im Startzustand z 0 ist und sich unmittelbar nach dem Verarbeiten von w in einen Endzustand befindet. (Es spielt dabei keine Rolle, ob der Automat zwischenzeitlich schon ein oder mehrmals in einem Endzustand war.) Nichtdeterministischer endlicher Automat A ohne Ausgabe (nichtdeterministischer endlicher Akzeptor) wobei A = (E, Z, f, Z 0, F ) E Z Eingabealphabet Zustandsmenge f : Z E PZ (Zustands )Überführungsfunktion (PZ: Potenzmenge von Z) Z 0 Z Menge der Startzustände F Z Menge der Endzustände E, Z: endliche Mengen Akzeptanz einer Zeichenkette w E durch A: Der Automat befinde sich anfangs in irgendeinem Startzustand z 0 Z 0. Genau dann, wenn es möglich ist, dass der Automat sich unmittelbar nach Verarbeitung von w in einem Endzustand befindet, akzeptiert er w. 81

2 Nichtdeterministischer endlicher Akzeptor A mit Epsilon Übergängen A = (E, Z, f, Z 0, F ) wobei E Z Eingabealphabet Zustandsmenge f : Z (E {ε}) PZ (Zustands )Überführungsfunktion Z 0 Z F Z Menge der Startzustände Menge der Endzustände E, Z: endliche Mengen Interpretation der Epsilon Übergänge: Falls f(z, ε) = Z 1 ist für z Z, Z 1 Z, so soll der Automat, falls er sich in einem bestimmten Takt im Zustand z befindet, spontan in irgendeinen Zustand z Z 1 übergehen können, ohne dass die Position des Lesekopfes auf dem Eingabeband geändert wird (es wird in einer solchen Situation kein Eingabesymbol gelesen bzw. verarbeitet). Es gilt für jede Sprache L E : es gibt einen deterministischen endlichen Akzeptor mit E als Eingabealphabet, der L akzeptiert es gibt einen nichtdeterministischen endlichen Akzeptor mit E als Eingabealphabet, der L akzeptiert es gibt einen nichtdeterministischen endlichen Akzeptor mit Epsilon Übergängen und mit E als Eingabealphabet, der L akzeptiert 82

3 Reguläre Ausdrücke (regular expressions) Die Menge der regulären Ausdrücke zur Charakterisierung der regulären Sprachen über einem endlichen Alphabet E ist rekursiv wie folgt definiert: (a) Rekursionsanfang, ε und jedes a E seien reguläre Ausdrücke. (b) Rekursionsschritt Falls α und β reguläre Ausdrücke sind, so seien auch (α β), (α β) und (α ) reguläre Ausdrücke. (c) Minimalbedingung Nur aufgrund von (a) und (b) sollen reguläre Ausdrücke zur Charakterisierung regulärer Sprachen über E erhalten werden können. Vorrangregeln, auf deren Grundlage Klammern eingespart werden können: Von den drei Operatoren soll am stärksten trennen, dann, dann, und ein äußeres Klammernpaar darf weggelassen werden. Außerdem wird der Operator auch manchmal als Punkt notiert oder ganz weggelassen. Beispiel: Der reguläre Ausdruck (a ((b (c )) d)) über dem Alphabet {a, b, c, d} kann somit auch folgendermaßen notiert werden: a bc d Parallel zur rekursiven Definition der regulären Ausdrücke wird, ebenfalls rekursiv, jedem solchen Ausdruck α eine Sprache L(α) über dem Alphabet E zugeordnet: (a) Rekursionsanfang Es seien L( ) := (die leere Sprache), L(ε) := {ε} (Einermenge leeres Wort) und für jedes a E sei L(a) := {a} (Einermenge von a, wobei a hier als Zeichenkette der Länge 1 interpretiert wird). (b) Rekursionsschritt Falls α und β reguläre Ausdrücke sind, so sei L(α β) := L(α) L(β) (Vereinigung von L(α)und L(β)), L(αβ) := L(α)L(β) (Verkettung bzw. Produkt der Sprachen L(α) und L(β)), L(α ) := (L(α)) (Menge aller endlichen Verkettungen von Zeichenketten aus L(α); Sternoperation, KLEENE sche Hülle). 83

4 Reguläre Ausdrücke in UNIX Notation Die UNIX Kommandos grep, fgrep, egrep (grep: globally search for regular expression and print), awk (awk: Aho/Weinberger/Kernighan) und lex benutzen reguläre Ausdrücke als Argumente, um Textzeilen in Dateien nach Zeichenketten zu durchsuchen, die bestimmte Muster haben (grep, fgrep, egrep), um darüberhinausgehend Textdateien zu formatieren und zu transformieren (awk) und um lexikalische Analysen von Programmtexten durchzuführen (lex). Dabei gilt für Textsuchmuster zunächst die Regel: Kein Suchmuster (d.h. regulärer Ausdruck) wirkt über eine Zeile hinaus. Beispiele: grep ^[0-9][0-9]*$ datei.txt Es werden alle Zeilen von datei.txt ausgegeben, die nur Dezimalziffern (mindestens eine) enthalten. Dabei kennzeichnen den Zeilenanfang und $ das Zeilenende. grep ^[ss] datei.txt Es werden alle Zeilen von datei.txt ausgegeben, die mit s oder mit S beginnen. grep a.c datei.txt Es werden alle Zeilen von datei.txt ausgegeben, die eine Teilzeichenkette der Länge drei haben mit erstem Zeichen a, beliebigem zweiten Zeichen und drittem Zeichen c. Der Punkt hat also eine wild card Funktion. egrep ab?c datei.txt Es werden alle Zeilen von datei.txt ausgegeben, die eine Teilzeichenkette der Gestalt ac oder abc enthalten. Das Fragezeichen stellt also das Vorkommen von b in Frage. egrep [0-9]+\.[0-9]* \.[0-9]+ datei.txt Es werden alle Zeilen von datei.txt ausgegeben, die eine dezimale Gleitpunktzahl x.y enthalten, wobei x aus mindestens einer Ziffer besteht und y leer sein kann, oder x ist leer und y besteht aus mindestens einer Ziffer. 84

5 Chomsky Hierarchie von Grammatiken (Noam Chomsky, *1928) Ausgangspunkt ist der Begriff der Grammatik G = (T, N, P, S) laut Folie 47. Definition: 1. Jede Grammatik ist vom Typ Eine Grammatik ist genau dann vom Typ 1 oder kontextsensitiv, wenn für alle Regeln u v aus P gilt: length(u) length(v) 3. Eine Grammatik ist genau dann vom Typ 2 oder kontextfrei, falls sie vom Typ 1 ist und zusätzlich für alle Regeln u v aus P gilt: u ist ein Metasymbol 4. Eine Grammatik ist genau dann vom Typ 3 oder regulär, falls sie vom Typ 2 ist und zusätzlich für alle Regeln u v aus P gilt: v = ε oder v ist ein einzelnes Terminalsymbol oder v ist ein Terminalsymbol gefolgt von einem Metasymbol. Eine solche Grammatik heißt auch rechtslinear. Eine Sprache L über dem Alphabet T, d.h. L T, heiße genau dann vom Typ 0 bzw. 1 bzw. 2 bzw. 3, falls es eine Typ 0 bzw. Typ 1 bzw. Typ 2 bzw. Typ 3 Grammatik G gibt, so dass L = L(G) ist. kontextsensitiv: Es sind Regeln der Gestalt u 1 Au 2 u 1 xu 2 mit A N erlaubt, und eine solche Regel besagt, dass A zwischen u 1 und u 2, also im Kontext von u 1 und u 2, durch x ersetzt werden darf. Bemerkungen: Bei Typ 1 Grammatiken soll bei Bedarf die Ableitungsregel S ε zugelassen sein, dann darf S aber nicht auf der rechten Seite einer Ableitungsregel vorkommen. Bei kontextfreien Grammatiken darf man beliebig Ableitungsregeln der Gestalt A ε mit A N verwenden, also auch S ε für das Startsymbol S, falls man ε L(G) haben möchte. 85

6 Pumping Lemma Zunächst kann man beweisen, dass für jede Sprache L E gilt: es gibt einen (deterministischen oder nichtdeterministischen) endlichen Akzeptor mit E als Eingabealphabet, der L akzeptiert es gibt einen regulären Ausdruck α über dem Alphabet E mit L = L(α) es gibt eine reguläre Grammatik G mit E als Terminalalphabet, so dass L = L(G) ist Um zeigen zu können, dass eine bestimmte Sprache nicht regulär ist, ist oft das Pumping Lemma hilfreich. Pumping Lemma: Wenn L eine reguläre Sprache ist, so gibt es eine natürliche Zahl n, so dass sich alle Wörter w L mit length(w) n zerlegen lassen in w = w 1 w 2 w 3, wobei length(w 2 ) 1, length(w 1 w 2 ) n und w 1 w i 2w 3 L gilt für alle i N. Mit Hilfe des Pumping Lemmas kann beispielsweise bewiesen werden, dass jede der drei folgenden Sprachen L 1, L 2 und L 3 nicht regulär ist: L 1 := {a n b n n 1} L 2 := {0 n n ist eine Quadratzahl} L 3 := {0 p p ist eine Primzahl} 86

7 Deterministischer endlicher Automat A mit Ausgabe (Mealy Automat) wobei A = (E, A, Z, f, g, z 0 ) E A Z f : Z E Z g : Z E A Eingabealphabet Ausgabealphabet Zustandsmenge Überführungsfunktion Ausgabefunktion z 0 Z E, A, Z: endliche Mengen Startzustand 87

8 Nichtdeterministischer endlicher Kellerautomat A (nondeterministic finite pushdown automaton) A = (E, Z, K, f, z 0, k 0, F ) wobei E Z K Eingabealphabet Zustandsmenge Menge der Kellersymbole f : Z (E {ε}) K P(Z K ) Überführungsfunktion z 0 Z k 0 K: F Z E, Z, K: endliche Mengen Startzustand Kellerstartsymbol Menge der Endzustände Arbeitsweise: Anfangs befindet sich der Automat im Startzustand z 0, im Keller befindet sich nur das Kellerstartsymbol k 0 und das Eingabewort befindet sich auf dem Eingabeband, wobei der Lesekopf unter dem ersten Symbol des Eingabewortes steht, falls dieses nicht leer ist. Der Automat arbeitet wieder getaktet (wie alle Automaten), und sein Verhalten in den folgenden Takten wird durch die Überführungsfunktion f bestimmt: Befindet sich der Automat gerade im Zustand z, ist k das oberste Kellersymbol und ist a das aktuelle Eingabesymbol, so wird ein Paar (z, w) (f(z, ε, k) f(z, a, k)) zufällig ausgewählt, und im Folgetakt befindet sich der Automat im Zustand z, das vorher oberste Kellersymbol ist durch die Zeichenkette w von Kellersymbolen ersetzt worden (so dass jetzt das erste Zeichen von w oberstes Kellersymbol ist). Dabei ist der Lesekopf des Eingabebandes nur dann um einen Schritt nach rechts gerückt worden, wenn (z, w) f(z, a, k) galt. Falls w die leere Zeichenkette war, so wurde also bzgl. des Kellers eine pop Operation durchgeführt. Ist ein (z, w) f(z, ε, k) gewählt worden, so dass also der Lesekopf des Eingabewortes sich in diesem Takt nicht weiter bewegt, so spricht man wieder von einem Epsilon Übergang. 88

9 Akzeptanz von Sprachen durch nichtdeterministische endliche Kellerautomaten Es gibt hier zwei Arten der Akzeptanz: Akzeptanz durch Endzustand: Ein Eingabewort wird hier genau dan akzeptiert, wenn sich der Automat unmittelbar nach Verarbeitung des Wortes in einem Endzustand befindet. Der Inhalt des Stacks zu diesem Zeitpunkt ist völlig irrelevant, so dass man durch Hinzufügen geeigneter Epsilon Übergänge auch erreichen könnte, dass sich im Keller nur noch das Kellerstartsymbol befindet oder dass der Keller leer ist. Akzeptanz durch leeren Keller: Ein Eingabewort wird hier genau dan akzeptiert, wenn der Stack des Automaten unmittelbar nach Verarbeitung des Wortes leer ist (zwischenzeitlich darf er natürlich nicht leer sein, weil dann ein Weiterarbeiten des Automaten nicht möglich wäre). Der Zustand des Automaten unmittelbar nach Verarbeitung des Wortes ist dabei irrelevant. Es gilt für eine beliebige Sprache L E : es gibt einen nichtdeterministischen Kellerautomaten (E, Z, K, f, z 0, k 0, F ) der L per Akzeptanz durch Endzustand akzeptiert es gibt einen nichtdeterministischen Kellerautomaten (E, Z, K, f, z 0, k 0, F ) der L per Akzeptanz durch leeren Keller akzeptiert Genau dann, wenn L auf eine dieser Arten akzeptiert wird, ist L eine kontextfreie Sprache über E. 89

10 Deterministischer endlicher Kellerautomat A Ein deterministischer Kellerautomat A = (E, Z, K, f, z 0, k 0, F ) ist ein spezieller nichtdeterministischer Kellerautomat, für den zusätzlich gilt: für alle (z, a, k) Z (E {ε}) K ist card(f(z, a, k)) 1 wenn f(z, a, k) ist für ein a E, so muss f(z, ε, k) = sein Die Sprache L E eines solchen Kellerautomaten bestehe aus genau denjenigen Zeichenketten, die von dem Automaten durch Akzeptanz durch Endzustand akzeptiert werden. Jede solche Sprache heiße deterministisch kontextfrei. Es gilt für jedes Alphabet E: Jede reguläre Sprache über E ist auch eine deterministisch kontextfreie Sprache über E. Jede deterministisch kontextfreie Sprache über E ist auch eine kontextfreie Sprache über E. 90

11 Deterministische Turing Maschine T Alan Turing ( ) T = (Z, E, Γ, f, z 0,, F ) wobei Z E Γ Zustandsmenge Eingabealphabet Menge der Bandsymbole mit E Γ f : Z Γ Z Γ {L, R, N} Überführungsfunktion z 0 Z Startzustand Blank bzw. Trennsymbol mit Γ \ E F Z Z, Γ: endliche Mengen Menge der Endzustände Falls beispielsweise f(z, a) = (z, b, L) ist und die Turing Maschine sich im Takt t im Zustand z befindet sowie der Lese/Schreib Kopf auf dem Bandsymbol a steht, so geht sie in den Zustand z über, überschreibt a mit b und der Lese/Schreib Kopf rückt um eine Position nach links. Das ist dann die Ausgangssituation im Takt t+1. Akzeptanz eines Wortes w E durch T : Ausgangssituation: Die Turing Maschine befindet sich im Startzustand z 0, w befindet sich auf dem Band, beidseitig durch je mindestens ein Blank begrenzt, und der L/S Kopf befindet sich unmittelbar unter dem ersten Zeichen von w (oder, äquivalent dazu, unmittelbar links von w). Wie durch die Funktion f gegeben, nimmt die Maschine getaktet ihre Arbeit auf. Genau dann, wenn sie dabei (nach endlich vielen Takten) in einen Endzustand kommt, wird w akzeptiert, und die Maschine beendet ihre Arbeit. (Dabei muss w nicht unbedingt vollständig inspiziert worden sein.) Es gilt dann für jedes Alphabet E und jede Sprache L E : L ist vom Typ 0 es gibt eine (deterministische) Turingmaschine mit dem Eingabealphabet E, die genau die Zeichenketten aus L akzeptiert. (Analoges gilt für nichtdeterministische Turing Maschinen.) 91

12 Turing Berechenbarkeit Turing Maschinen können nicht nur als Akzeptoren benutzt werden, sondern sie sind auch einsetzbar zur Berechnung von Zeichenketten. Konfiguration bzw. Momentaufnahme einer deterministische Turing Maschine T : (γ 1, z, γ 2 ) Γ Z Γ wobei z der aktuelle Zustand ist, der L/S Kopf sich unter dem ersten Symbol von γ 2 befindet (bzw. unmittelbar rechts von γ 1, falls γ 2 = ε), γ 2 sich unmittelbar rechts an γ 1 anschließt und links von γ 1 und rechts von γ 2 auf dem Band nur Blank Symbole stehen. Anfangskonfiguration bzw. Startkonfiguration von T für ein Eingabewort w := e 1 e n E : (ε, z 0, w) bzw. (ε, z 0, e 1 e n ) Außer w stehen auf dem Band nur Blanks. Übergangsrelation in der Menge der Konfigurationen: es sei genau dann (α, z, β) (α, z, β ), wenn die Konfiguration (α, z, β) durch genau einen Rechenschritt (genau eine Anwendung von f) in die Konfiguration (α, z, β ) übergeführt wird erweiterte Übergangsrelation in der Menge der Konfigurationen: es sei genau dann (α, z, β) (α, z, β ), wenn es ein n N und Konfigurationen (α i, ζ i, β i ) mit 0 i n und (α, z, β) = (α 0, ζ 0, β 0 ), (α n, ζ n, β n ) = (α, z, β ) gibt, so dass gilt (α 0, ζ 0, β 0 ) (α 1, ζ 1, β 1 ) (α n, ζ n, β n ) Eine Berechnung mit dem Eingabewort w E ist eine Folge (ε, z 0, w) (α 1, z 1, β 1 ) (α 2, z 2, β 2 ) von Konfigurationen mit folgender Eigenschaft: Die Berechnung wird beim ersten Erreichen eines Endzustandes gestoppt; das Ergebnis steht dann auf dem Eingabeband ab der Position des L/S Kopfes nach rechts bis unmittelbar vor dem ersten Blank. Falls nie ein Endzustand erreicht wird, so wird kein Ergebnis berechnet (Realisierung einer partiellen Funktion f). 92

13 Turing Programm zur Addition zweier durch Strichfolgen gegebener positiver natürlicher Zahlen Ausgangsposition ( Standardlage ) des L/S Kopfes: unter dem ersten Zeichen des ersten Operanden (entspricht dem Startzustand z o ) Die zu verarbeitenden Zahlen seien durch genau ein Feld mit dem Inhalt # (# Γ \ E) voneinander und durch je mindestens ein Feld mit dem Inhalt von ihrer Umgebung getrennt. Endposition des L/S Kopfes: unter dem ersten Zeichen des Ergebnisses while (<Arbeitsfeld> = ) R; write( ) ; while (<Arbeitsfeld> = ) L; R; write( ) ; R; These von Church (1936) (Alonzo Church, ) Genau die im intuitiven Sinne berechenbaren zahlentheoretischen Funktionen (bzw. Wortfunktionen) sind die Turing berechenbaren zahlentheoretischen Funktionen (bzw. Wortfunktionen). ( Turing berechenbar wird mit algorithmisch berechenbar gleichgesetzt) Mit Hilfe einer Gödelisierung kann jeder Wortfunktion eineindeutig und effektiv eine zahlentheoretische Funktion zugeordnet werden. Es sind dann entweder beide berechenbar oder beide nicht berechenbar. 93

14 Loop und While Berechenbarkeit Loop Programm: Es seien x 0, x 1, Variablen für natürliche Zahlen und c eine natürlichzahlige Konstante. Dann seien loop Programme wie folgt rekursiv definiert: (a) jede Wertzuweisung x i := x j + c bzw. x i := x j c sei ein loop Programm (i, j N) (b) falls P, P 1, P 2 bereits loop Programme sind, so seien auch und P 1 ; P 2 loop x i do P end loop Programme (i N) (c) Nur aufgrund von (a) und (b) sollen loop Programme erhalten werden können. Loop Berechenbarkeit: Eine Funktion f : N k N heiße genau dann loop berechenbar, wenn es ein loop Programm P gibt, das, gestartet mit den Werten n 1,, n k in den Variablen x 1,, x k (und 0 in den anderen Variablen), nach endlich vielen Schritten stoppt mit dem Wert f(n 1,, n k ) in der Variablen x 0. Dabei habe n m für den Fall m > n den Wert 0 und werde sonst durch die übliche Subtraktion interpretiert, während in loop x i do P end das Programm P genau so oft ausgeführt werden möge, wie es der Wert von x i beim Eintritt in diese Schleife angibt (unabhängig davon, ob der Wert von x i innerhalb der Schleife geändert wird oder nicht). 94

15 Definitionen: Für beliebige i, j, r N werde vereinbart x i := x j bedeute x i := x j + 0 x i := c bedeute x i := x j + c für eine sonst nicht benutzte Variable x j (die also den Wert 0 hat) if x i = 0 then P end bedeute x j := 1; loop x i do x j := 0 end; loop x j do P end wobei i j sei x r := x i + x j bedeute x r := x i ; loop x j do x r := x r + 1 end wobei r j sei x r := x i x j bedeute x r := 0; loop x j do x r := x r + x i end wobei r i und r j sei Es existieren loop Programme für die Berechnungen der Werte weiterer bekannter zahlentheoretischer Funktionen wie div, mod, ggt, kgv, min, max, Potenz mit natürlichzahliger Basis und natürlichzahligem Exponenten, Betrag der Differenz, Fakultätsfunktion, Anzahl der Primzahlen kleinergleich einer vorgegebenen Zahl, i te Primzahl für ein vorgegebenes i N usw. Nicht durch ein loop Programm lässt sich die Ackermann Funktion ack (Wilhelm Ackermann, ) simulieren, wobei ack : N N N wie folgt rekursiv definiert ist: ack(m, n) := n + 1, falls m = 0 ack(m 1, 1), falls m > 0 und n = 0 ack(m 1, ack(m, n 1)) sonst (Beispielsweise ist ack(2, 2) = 7, ack(3, 6) = 509 und ack(4, 1) = Es hat ack(4, 2) schon mehr als Dezimalstellen.) Die übrigen Funktionen von Folie 42 sind loop berechenbar. 95

16 While Programm: (a) jedes loop Programm sei auch ein while Programm (b) falls P ein while Programme ist, so sei auch while x i 0 do P end ein while Programm (i N) (c) Nur aufgrund von (a) und (b) sollen while Programme erhalten werden können. Nachträglich könnte die loop Schleife wieder eliminiert werden, denn loop x i do P end kann simuliert werden durch x j := x i ; while x j 0 do x j := x j 1; P end mit i j, x j kommt nicht in P vor While Berechenbarkeit: Eine partielle Funktion f : N k N heiße genau dann while berechenbar, wenn es ein while Programm P gibt, das, gestartet mit den Werten n 1,, n k in den Variablen x 1,, x k (und 0 in den anderen Variablen), nach endlich vielen Schritten stoppt mit dem Wert f(n 1,, n k ) in der Variablen x 0, sofern f(n 1,, n k ) definiert ist; sonst soll P nicht stoppen. Damit ist jede loop berechenbare Funktion auch while berechenbar. Es gibt while berechenbare Funktionen, die nicht loop berechenbar sind, beispielsweise die Ackermann Funktion (s.o.). Es gilt: Eine partielle Funktion f : N k N ist genau dann while berechenbar, wenn es eine (deterministische oder nichtdeterministische) Turing Maschine gibt, die den Funktionswert f(x 1,, x k ) berechnet, falls er existiert, und die sonst bei der Eingabe von (x 1,, x k ) nicht anhält. 96

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. Turingmaschinen und kontextsensitive Sprachen 8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten

Mehr

Formale Sprachen und endliche Automaten

Formale Sprachen und endliche Automaten Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

Mehr

Kapitel 7: Kellerautomaten und kontextfreie Sprachen

Kapitel 7: Kellerautomaten und kontextfreie Sprachen Kapitel 7: Kellerautomaten und kontextfreie Sprachen Prof.-Dr. Peter Brezany Institut für Softwarewissenschaft Universität Wien, Liechtensteinstraße 22 1090 Wien Tel. : 01/4277 38825 E-mail : brezany@par.univie.ac.at

Mehr

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

Mehr

LOOP-Programme: Syntaktische Komponenten

LOOP-Programme: Syntaktische Komponenten LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=

Mehr

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.

Mehr

Ogden s Lemma: Der Beweis (1/5)

Ogden s Lemma: Der Beweis (1/5) Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in

Mehr

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: 5.2 Linear beschränkte Automaten Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: (q, c, d) δ(q, ) = c =. Ein Leerzeichen wird also nie durch ein anderes

Mehr

Berechenbarkeit. Script, Kapitel 2

Berechenbarkeit. Script, Kapitel 2 Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Schematische Darstellung einer Turing-Maschine: Kopf kann sich nach links und

Mehr

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 15 + 16 vom 17.12.2012 und 20.12.2012 Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften

Mehr

Übersicht. 3 3 Kontextfreie Sprachen

Übersicht. 3 3 Kontextfreie Sprachen Formale Systeme, Automaten, Prozesse Übersicht 3 3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation 3.4 Entscheidungsprobleme für CFGs 3.5 Normalformen für CFGs 3.6 Chomsky-Normalform

Mehr

1.5 Turing-Berechenbarkeit

1.5 Turing-Berechenbarkeit A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine

Mehr

Sprachen und Grammatiken

Sprachen und Grammatiken Grundlagen der Theoretischen Informatik Wintersemester 2007 / 2008 Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik 03.12.2007 Sprachen und Grammatiken Alphabete, Zeichen und Symbole Ein

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 9. März 24 7. Reguläre Sprachen I Theorie der Informatik 7. Reguläre Sprachen I Malte Helmert Gabriele Röger Universität Basel 9. März 24 7. Reguläre Grammatiken 7.2 DFAs 7.3 NFAs

Mehr

Theoretische Informatik Testvorbereitung Moritz Resl

Theoretische Informatik Testvorbereitung Moritz Resl Theoretische Informatik Testvorbereitung Moritz Resl Bestandteile einer Programmiersprache: a) Syntax (Form): durch kontextfreie Grammatik beschrieben b) Semantik (Bedeutung) 1.) Kontextfreie Sprachen

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine Kontextsensitive und Typ 0 Sprachen Slide 2 Die Turingmaschine DTM = Deterministische Turingmaschine NTM = Nichtdeterministische Turingmaschine TM = DTM oder NTM Intuitiv gilt: DTM = (DFA + dynamischer

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch

Mehr

1.5 Turing-Berechenbarkeit

1.5 Turing-Berechenbarkeit A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine

Mehr

10 Kellerautomaten. Kellerautomaten

10 Kellerautomaten. Kellerautomaten 10 Kellerautomaten Bisher hatten wir kontextfreie Sprachen nur mit Hilfe von Grammatiken charakterisiert. Wir haben gesehen, dass endliche Automaten nicht in der Lage sind, alle kontextfreien Sprachen

Mehr

Kurz-Skript zur Theoretischen Informatik I

Kurz-Skript zur Theoretischen Informatik I Kurz-Skript zur Theoretischen Informatik I Inhaltsverzeichnis 1 Grundlagen 2 2 Reguläre Ausdrücke 4 3 Endliche Automaten 5 3.1 Vollständige endliche Automaten................................... 6 3.2 ε

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

Mehr

Berechenbarkeit. Script, Kapitel 2

Berechenbarkeit. Script, Kapitel 2 Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen

Mehr

Das Halteproblem für Turingmaschinen

Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.

Mehr

Formale Grundlagen der Wirtschaftsinformatik

Formale Grundlagen der Wirtschaftsinformatik Formale Grundlagen der Wirtschaftsinformatik Nikolaj Popov Research Institute for Symbolic Computation popov@risc.uni-linz.ac.at Turingmaschinen und Kontextsensitive Sprachen Eine Turingmaschine besteht

Mehr

a b b a Vom DFA zur TM Formale Grundlagen der Informatik 1 Kapitel 9 Turing-Maschinen Der Lese-/Schreibkopf Bedeutung der TM

a b b a Vom DFA zur TM Formale Grundlagen der Informatik 1 Kapitel 9 Turing-Maschinen Der Lese-/Schreibkopf Bedeutung der TM Vom DFA zur TM Formale der Informatik 1 Kapitel 9 Frank Heitmann heitmann@informatik.uni-hamburg.de a b b a z 0 a z 1 a z 2 b 2. Mai 2016 Wir wollen auf dem Band nach rechts und links gehen können und

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal

Mehr

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Wintersemester 2007 / 2008 Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik 29.10.2007 Reguläre Sprachen Ein (deterministischer) endlicher Automat

Mehr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr Bemerkung: Jede NDTM N (die die Sprache L(N) akzeptiert) kann in eine deterministische Turing-Maschine M konvertiert werden, die ebenfalls genau die Sprache L(N) akzeptiert. Beweisidee: Die Berechnungspfade

Mehr

Nachklausur zur Vorlesung

Nachklausur zur Vorlesung Lehrstuhl für Theoretische Informatik Prof. Dr. Markus Lohrey Grundlagen der Theoretischen Informatik Nachklausur Nachklausur zur Vorlesung Grundlagen der Theoretischen Informatik WS 2016/17 / 27. Februar

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 9 2. Juli 2010 Einführung in die Theoretische

Mehr

Turing-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel

Turing-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel Berechenbarkeit und Komplexität Turing-Maschinen Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at

Mehr

Kapitel 2: Formale Sprachen Gliederung

Kapitel 2: Formale Sprachen Gliederung Gliederung. Einleitung und Grundbegriffe. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.. Chomsky-Grammatiken 2.2. Reguläre Sprachen Reguläre Grammatiken, ND-Automaten

Mehr

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen. Turing-Maschinen Nachdem wir endliche Automaten und (die mächtigeren) Kellerautomaten kennengelernt haben, werden wir nun ein letztes, noch mächtigeres Automatenmodell kennenlernen: Die Turing-Maschine

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 13. Vorlesung 07.12.2006 1 Überblick: Die Church- Turing-These Turing-Maschinen 1-Band Turing-Maschine Mehrband-Turing-Maschinen Nichtdeterministische

Mehr

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 07.02.2006 28. und letzte Vorlesung 1 Die Chomsky-Klassifizierung Chomsky-Hierachien 3: Reguläre Grammatiken

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 2 Gesamtübersicht Organisatorisches; Einführung Ersetzungsverfahren:

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff

Mehr

Typ-0-Sprachen und Turingmaschinen

Typ-0-Sprachen und Turingmaschinen Typ-0-Sprachen und Turingmaschinen Jean Vancoppenolle Universität Potsdam Einführung in formale Sprachen und Automaten Dr. Thomas Hanneforth (Präsentation aus Foliensätzen von Dr. Thomas Hanneforth und

Mehr

2.4 Kontextsensitive und Typ 0-Sprachen

2.4 Kontextsensitive und Typ 0-Sprachen Definition 2.43 Eine Typ 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine der folgenden 4 Formen haben: Dabei: A, B, C, D V und a Σ. Satz 2.44 A a, A B, A BC, AB CD. Für jede Typ 1 Grammatik

Mehr

Einfache Turing Maschine. Formale Spezifikation einer einfachen Turing Maschine. M = (Σ,Γ,#,Q,s,F, ) Σ

Einfache Turing Maschine. Formale Spezifikation einer einfachen Turing Maschine. M = (Σ,Γ,#,Q,s,F, ) Σ Einfache Turing Maschine Band Formale Spezifikation einer einfachen Turing Maschine Lese-/ Schreibkopf Endliche Kontrolle Rechenschrittregeln: (endlich viele) Startkonfiguration: x Σ * auf Band L/S-Kopf

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 utomaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink utomaten und Formale Sprachen 1 Der CYK-lgorithmus Beispiel

Mehr

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

Mehr

VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger WS 2017, RWTH BuK/WS 2017 VL-11: LOOP und WHILE Programme I 1/46 Organisatorisches Nächste Vorlesung: Mittwoch,

Mehr

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausurnummer Nachname: Vorname: Matr.-Nr.: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 8 4 7 5 6 8 tats. Punkte Gesamtpunktzahl: Note: Punkte Aufgabe

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

Mehr

Sprachen und Automaten. Tino Hempel

Sprachen und Automaten. Tino Hempel Sprachen und Automaten 11 Tino Hempel Bisherige Automaten Automat mit Ausgabe/Mealy-Automat Akzeptor, Sprache eines Akzeptors Grenze: L = {a n b n } Kellerautomat erkennt L = {a n b n } Grenze:? T. Hempel

Mehr

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung Informatik III Arne Vater Wintersemester 2006/07 10. Vorlesung 24.11.2006 1 Turingmaschinen Informatik III 9. Vorlesung - 2 Turingmaschinen Eine (deterministische 1-Band) Turingmaschine (DTM) wird beschrieben

Mehr

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!# v 1 Info4 Stoff Aufgabentypen: Grammatik CH einordnen NFA DFA Grammatik Chomsky-NF CYK-Algorithmus: Tabelle / Ableitungsbäume Grammatik streng kf. Grammatik Grammatik Pumping Lemma Beweis, dass Gr. nicht reg,

Mehr

Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Organisatorisches VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Nächste Vorlesung: Mittwoch, November 29, 14:15 15:45 Uhr, Roter Hörsaal Webseite: http://algo.rwth-aachen.de/lehre/ws1718/buk.php

Mehr

ALP I Turing-Maschine

ALP I Turing-Maschine ALP I Turing-Maschine Teil I WS 2012/2013 Äquivalenz vieler Berechnungsmodelle Alonzo Church λ-kalkül Kombinatorische Logik Alan Turing Turing-Maschine Mathematische Präzisierung Effektiv Berechenbare

Mehr

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 22. Januar 2019 Abgabe 5. Februar 2019, 11:00 Uhr (im

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Die Komplexitätsklasse P David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Äquivalenz von RM und TM Äquivalenz, Sätze Simulation DTM

Mehr

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Klausur zur Vorlesung Informatik III Wintersemester 2007/2008 Hier Aufkleber mit Name und Matrikelnr. anbringen Vorname: Nachname: Matrikelnummer:

Mehr

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER Formale Sprachen Grammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marian KOGLER Grammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind Grammatiken.

Mehr

kontextfreie Sprachen: Normalformen

kontextfreie Sprachen: Normalformen 1 kontextfreie Sprachen: Normalformen Zur Erinnerung: Kontextfreie Sprachen sind diejenigen, die von Grammatiken erzeugt werden, die auf allen linken Regelseiten nur je ein Nichtterminalsymbol haben. Aufgrund

Mehr

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Kontextfreie Sprachen und Pushdown-Automaten Dozentin: Wiebke Petersen WS 2004/2005 Wiebke Petersen Formale Komplexität natürlicher Sprachen WS 03/04 Wiederholung c

Mehr

6.4 Entscheidbarkeit. nein sein müssen, ist klar. THEO 6.4 Entscheidbarkeit 205/307 c Ernst W. Mayr

6.4 Entscheidbarkeit. nein sein müssen, ist klar. THEO 6.4 Entscheidbarkeit 205/307 c Ernst W. Mayr 6.4 Entscheidbarkeit Wortproblem Leerheit Äquivalenz Schnittproblem Typ 3 ja ja ja ja DCFL ja ja ja nein (*) Typ 2 ja ja nein (*) nein Typ 1 ja nein (*) nein nein Typ 0 nein (*) nein nein nein (*) Diese

Mehr

{a i b i i 0} FORMALE SYSTEME. Kellerautomaten. (Nicht)Abschlusseigenschaften für Typ 2. Ein Berechnungsmodell für Typ-2-Sprachen

{a i b i i 0} FORMALE SYSTEME. Kellerautomaten. (Nicht)Abschlusseigenschaften für Typ 2. Ein Berechnungsmodell für Typ-2-Sprachen (Nicht)Abschlusseigenschaften für Typ 2 FORMALE SYSTEME 15. Vorlesung: Einleitung Kellerautomaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Satz: Wenn L, L 1 und L 2 kontextfreie Sprachen sind,

Mehr

Automaten und formale Sprachen Notizen zu den Folien

Automaten und formale Sprachen Notizen zu den Folien 13 Kellerautomaten Automaten und formale Sprachen Notizen zu den Folien Warum ein Automatenmodell für kontextfreien Sprachen (zu Folie 233) Manche Konstruktionen und Verfahren lassen sich besser mit Hilfe

Mehr

LOOP-Programme: Syntaktische Komponenten

LOOP-Programme: Syntaktische Komponenten LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 8. Januar 2019 Abgabe 22. Januar 2019, 11:00 Uhr (im

Mehr

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer.

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. Proseminar TI: Kellerautomaten Vortrag: 10.11.2015 Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. 1 Motivation Wir kennen bereits die Chomsky-Hierarchie. Sie klassiziert formale

Mehr

Nichtdeterministischer Kellerautomat

Nichtdeterministischer Kellerautomat 1 Nichtdeterministischer Kellerautomat endlicher Automat mit Zusatzspeicher in Form eines Kellers (Stapel, Stack) mit Speicheroperationen pro Übergang Keller über X: w X mit den Operationen push, head,

Mehr

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier Komplexitätstheorie WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Komplexitätstheorie Gesamtübersicht Organisatorisches / Einführung Motivation / Erinnerung / Fragestellungen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 31.05.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung Formale Sprachen rammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marion OSWALD rammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind rammatiken.

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im

Mehr

Turing-Maschinen: Ein abstrakes Maschinenmodell

Turing-Maschinen: Ein abstrakes Maschinenmodell Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt, eine Elementaroperation ist maschinell ausführbar? Was verstehen

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 1. Automaten und Sprachen 1.1 Endlicher Automat Einen endlichen Automaten stellen wir uns als Black Box vor, die sich aufgrund einer Folge von

Mehr

Spracherkennung (Syntaxanalyse)

Spracherkennung (Syntaxanalyse) Kellerautomaten Kellerautomaten 8 Spracherkennung (Syntaxanalyse) Algorithmus gesucht, der für L T (möglichst schnell) entscheidet, ob w L (Lösung des Wortproblems) Grammatik Automat Aufwand rechtslinear

Mehr

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung Gliederung 1. Berechenbarkeitstheorie 2. Grundlagen 3. Grundlegende Ergebnisse aus der Komplexitätstheorie 4. Die Komplexitätsklassen P und NP 5. Die Komplexitätsklassen RP und BPP 3.1. Ressourcenkompression

Mehr

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution Wiederholung Beschreibungsformen für reguläre Sprachen: DFAs NFAs Reguläre Ausdrücke:, {ε}, {a}, und deren Verknüpfung mit + (Vereinigung), (Konkatenation) und * (kleenescher Abschluss) Abschluss gegen

Mehr

2.2 Reguläre Sprachen Endliche Automaten

2.2 Reguläre Sprachen Endliche Automaten 2.2.1 Endliche Automaten E I N G A B E Lesekopf endliche Kontrolle Signal für Endzustand Ein endlicher Automat liest ein Wort zeichenweise und akzeptiert oder verwirft. endlicher Automat Sprache der akzeptierten

Mehr

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus: 4.7 Kellerautomaten In der Literatur findet man häufig auch die Bezeichnungen Stack-Automat oder Pushdown-Automat. Kellerautomaten sind, wenn nichts anderes gesagt wird, nichtdeterministisch. Definition

Mehr

4 Kontextsensitive und Typ 0 Sprachen

4 Kontextsensitive und Typ 0 Sprachen Hans U. Simon Bochum, den 05.02.2009 Annette Ilgen Beispiele zur Vorlesung Theoretische Informatik WS 08/09 Vorbemerkung: Hier findet sich eine Sammlung von Beispielen und Motivationen zur Vorlesung Theoretische

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen 1.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Motivation 2. Terminologie

Mehr

Theoretische Informatik. Berechenbarkeit

Theoretische Informatik. Berechenbarkeit Theoretische Informatik Berechenbarkeit 1 Turing Maschine Endlicher Automat mit unendlichem Speicher Ein Modell eines realen Computers Was ein Computer berechnen kann, kann auch eine TM berechnen. Was

Mehr

Akzeptierende Turing-Maschine

Akzeptierende Turing-Maschine Akzeptierende Turing-Maschine Definition: Eine akzeptierende Turing-Maschine M ist ein Sechstupel M = (X, Z, z 0, Q, δ, F ), wobei (X, Z, z 0, Q, δ) eine Turing-Maschine ist und F Q gilt. Die von M akzeptierte

Mehr

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische Informatik für Wirtschaftsinformatik und Lehramt Theoretische Informatik für Wirtschaftsinformatik und Lehramt Entscheidungsprobleme Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg

Mehr

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung)

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung) Tutorium 23 Grundbegriffe der Informatik (10. Sitzung) Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT The cooperation of Forschungszentrum Karlsruhe GmbH and Universität

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (II) 2.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann. Der Satz von Kleene Wir haben somit Folgendes bewiesen: Der Satz von Kleene Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden

Mehr