Endliche Automaten, Kellerautomaten und Turingmaschinen

Größe: px
Ab Seite anzeigen:

Download "Endliche Automaten, Kellerautomaten und Turingmaschinen"

Transkript

1 Automatentheorie Endliche Automaten, Kellerautomaten und Turingmaschinen Inhaltsübersicht und Literatur Der Begriff des Automaten Endliche Automaten mit Ausgabe Technische Realisierung von Automaten Erkennende endliche Automaten Sprache endlicher Automaten Äquivalenz deterministischer und nicht-deterministischer endlicher Automaten Minimierung von endlichen Automaten Kellerautomaten Turingmaschinen und das Halteproblem Literatur: Uwe Schöning: Theoretische Informatik kurz gefasst, 5. Aufl., Spektrum Akad. Verlag 2008 Dirk W. Hoffmann: Theoretische Informatik, 2. Aufl., Hanser-Verlag 2011 Enthält auch viele Übungsaufgaben (mit Musterlösungen im Web). Hopcroft / Motwani / Ullman: Introduction to Automata Theory, Languages, and Computation, Pearson New International Edition 2013 Theoretische Informatik I Automatentheorie 2 Chr. Vogt

2 Definition eines Automaten Eingaben, Ausgaben und Zustände Zustandsfunktion eines Automaten Ausgabefunktion eines Automaten Nicht-deterministische Automaten Stochastische Automaten Beschreibung von Automaten 1. Automatenbeispiel: Mausefalle Mausefalle: Zustandsdiagramm und -Tafel 2. Automatenbeispiel: Blumenautomat Blumenautomat: Zustands- und Ausgabefunktion Blumenautomat : Zustandsdiagramm Technische Realisierung von Automaten Erkennende, endliche Automaten Modell eines erkennenden Automaten Beispiel 1 eines endlichen Automaten Beispiel 2 eines endlichen Automaten Analyse versus Synthese von Automaten Konstruktion eines Automaten - 1. Entwurf Konstruktion eines Automaten - 2. Entwurf Konstruktion eines Automaten - 2. Beispiel Der endliche Automat als Akzeptor Sprache eines endlichen Automaten Nichtdeterministische Automaten Nichtdeterministische endliche Automaten Sprache eines nichtdeterministischen Automaten Äquivalenzsatz für endliche Automaten Minimierung von Automaten Konstruktion minimaler endlicher Automaten (1) Konstruktion minimaler endlicher Automaten (2) Minimierung endlicher Automaten - Beispiel Eine interessante Sprache Pumping-Lemma für endliche Automaten

3 Grenzen endlicher Automaten Modellvorstellung eines Kellerautomaten Definition eines Kellerautomaten Interpretation der Überführungsfunktion Arbeitsweise eines Kellerautomaten Sprache eines Kellerautomaten Kellerautomat - 1. Beispiel Deterministische vs. nicht-deterministische Kellerautomaten Kellerautomat - 2. Beispiel Grenzen von Kellerautomaten Modellvorstellung einer Turingmaschine Definition einer Turingmaschine Arbeitsweise einer Turingmaschine 1. Beispiel einer Turingmaschine 2. Beispiel einer Turingmaschine Sprache einer Turingmaschine Turingberechenbarkeit und Church'sche These Das Halteproblem für Turingmaschinen Nicht-Entscheidbarkeit des Halteproblems: Beweis Linear beschränkte Automaten

4 Definition eines Automaten Definition: Ein abstrakter Automat mit Ausgabe ist ein 5-Tupel A = ( X, Y, Z, f z, f a ) X = Menge der Eingabevariablen (Eingabealphabet) Y = Menge der Ausgabevariablen (Ausgabealphabet) Z = Menge der internen Zustände des Automaten f z = Zustandsfunktion, f z : X x Z f a = Ausgabefunktion, f a : X x Z Z Y Theoretische Informatik I Automatentheorie 3 Chr. Vogt Eingaben, Ausgaben und Zustände Die drei Mengen in der Definition eines Automaten können folgendermaßen interpretiert werden: 1. Eingabe: Ein Automat muss von außen bedient werden können. 2. Interne Zustände: Jeder Automat befindet sich immer in einem bestimmten Zustand. Unter Einwirkung der Eingaben kann der Automat eine Reihe von Zuständen durchlaufen. 3. Ausgabe: Im Laufe seiner Arbeit produziert der Automat Informationen, d. h. er gibt Ausgabedaten aus. Theoretische Informatik I Automatentheorie 4 Chr. Vogt

5 Zustandsfunktion eines Automaten Die Zustandsfunktion f z ist eine Abbildung f z : X x Z Z der Produktmenge X x Z (kartesisches Produkt) in die Menge Z der Zustände, die wie folgt interpretiert werden kann: Ist der Automat zu einem Zeitpunkt t im Zustand z(t), und liegt zum Zeitpunkt t die Eingabe x(t) an, so geht der Automat im nächsten Zeitpunkt t + t in den neuen Zustand z ( t + t ) über, also z ( t + t ) = f z (x(t), z(t)) Da uns der genaue zeitliche Ablauf der Arbeit eines Automaten nicht interessiert, lassen wir diese Zeitabhängigkeit in der Schreibweise immer weg. Theoretische Informatik I Automatentheorie 5 Chr. Vogt Ausgabefunktion eines Automaten Die Ausgabefunktion f a ist eine Abbildung f a : X x Z Y der Produktmenge X x Z in die Menge Y der möglichen Ausgabewerte. Im allgemeinen ist die Ausgabe eines Automaten somit abhängig vom Zustand und von der Eingabe (sog. Mealy-Automat). Der Zustand z(t) zum Zeitpunkt t und die Eingabe x(t) zum Zeitpunkt t bestimmen den Ausgabewert y(t). Ist die Ausgabe unabhängig von der Eingabe, also f a : Z Y, so spricht man auch von einem Moore-Automaten. Man unterstellt, dass die Ausgabe y(t) beim Übergang von z(t) nach z( t + t) erzeugt wird, also: y(t) = f a (x(t), z(t)) Beispiel: Ein Verkaufsautomat gibt nach Einwurf eines Geldstückes x(t) in Abhängigkeit vom Füllstand z(t) das Geldstück x(t) oder die Ware y(t) aus. Theoretische Informatik I Automatentheorie 6 Chr. Vogt

6 Nicht-deterministische Automaten Als Verallgemeinerung der bisher definierten (deterministischen) Automaten, in denen die Zustands- und die Ausgabefunktion echte Funktionen sind, also einen eindeutigen Funktionswert haben, betrachtet man auch Automaten, deren Zustands- und/oder Ausgabe- "funktion" Relationen sind, also mehrere Werte annehmen können. Relationen können auch als Funktionen in die Potenzmenge der Zielmenge betrachtet werden. Definition: Ein nicht-deterministischer Automat ist ein 5-Tupel A = ( X, Y, Z, f z, f a ) mit Mengen X (Eingaben), Y (Ausgaben), Z (Zuständen) und Relationen f z : X x Z f a : X x Z Potenzmenge (Z) Potenzmenge (Y) Theoretische Informatik I Automatentheorie 7 Chr. Vogt Stochastische Automaten Ein stochastischer Automat ist ein 5-Tupel A S = (X, Y, Z, P(z(t+ t)/x(t),z(t)), P(y(t)/x(t),z(t))) wobei P(z(t+ t)/x(t),z(t)) die Wahrscheinlichkeitsfunktion für einen neuen Zustand z(t + t) bei einer Eingabe x(t) und dem alten Zustand z(t) ist, sowie P(y(t)/x(t),z(t)) die Wahrscheinlichkeitsfunktion für eine Ausgabe y(t) bei einer Eingabe x(t) und dem alten Zustand z(t). Sonderformen: Stochastischer Automat mit determinierter Ausgabefunktion und indeterminierter Zustandsfunktion A S = (X, Y, Z, P(z(t + t)/x(t),z(t), f a )) Die bedingten Wahrscheinlichkeiten werden durch unbedingte ersetzt A S = (X, Y, Z, P(z(t + t)), P(y(t))) Bei dieser Form bleiben die unabhängigen Variablen von Zustands- und Ausgabefunktion außer Betracht. Theoretische Informatik I Automatentheorie 8 Chr. Vogt

7 Beschreibung von Automaten Zur Beschreibung des Verhaltens von Automaten dienen Zustandstabellen (state tables) Zustandsdiagramme (state diagrams) Elemente zur Darstellung von Zustandsdiagrammen: Zustandsknoten x y akt. Eingabe / akt. Ausgabe Zustandsvektor Angabe von Zustandstabellen (Wertetabellen für Zustands- und Ausgabefunktion): Zustände Eingaben z 1 z 2 z 3... z n x 1 z 1,1,y 1,1 z 1,2,y 1,2 z 1,3,y 1,3... z 1,n,y 1,n x 2 z 2,1,y 2,1 z 2,2,y 2,2 z 2,3,y 2,3... z 2,n,y 2,n 1. Angabe: neuer Zustand Angabe: Ausgabewert x m z m,1,y m,1 z m,2,y m,2 z m,3,y m,3... z m,n,y m,n Theoretische Informatik I Automatentheorie 9 Chr. Vogt 1. Automatenbeispiel: Mausefalle Eine Mausefalle als Beispiel für einen einfachen, endlichen Automaten mit Ausgabe Eingabealphabet X = { M, M } mit Bedeutung M = "Maus kommt" M = "Maus kommt nicht" Zustandsmenge Z = { G, G } mit Bedeutung G = "Falle gespannt" G = "Falle nicht gespannt" Ausgabealphabet Y = { T, T } mit Bedeutung T = "Maus tot" T = "Maus nicht tot" Theoretische Informatik I Automatentheorie 10 Chr. Vogt

8 Mausefalle: Zustandsdiagramm und -Tafel Zustandsdiagramm: M M T M, T G G T M, T Zustandstafel: Zustände Eingaben G G M G, T G, T M G, T G, T Theoretische Informatik I Automatentheorie 11 Chr. Vogt 2. Automatenbeispiel: Blumenautomat Ein Blumenautomat hat 3 Fächer, jedes Fach enthält einen Strauß Nelken. Zustandsmenge Z : Z = { z 3, z 2, z 1, z 0 } = { 3 Sträuße, 2 Sträuße, 1 Strauß, 0 Sträuße (leer) } Eingabemenge X : Ein Nelkenstrauß kostet 2.--, der Automat akzeptiert nur Zwei-Euro-Stücke, wechselt also nicht. Die Eingabe Nelkenstrauß dient dem Nachfüllen. X = { x 1, x 2, x 3 } = { 2 -Stück, anderer Einwurf, Nelkenstrauß } Ausgabemenge Y : Y = { y 1, y 2, y 3 } = { 1 Nelkenstrauß, eingeworfenes Geldstück (x 2 ), keine Ausgabe } Theoretische Informatik I Automatentheorie 12 Chr. Vogt

9 Blumenautomat: Zustands- und Ausgabefunktion Zustandsfunktion f z : X x Z Z mögl. mögliche Zustände Eingaben z 3 z 2 z 1 z 0 x 1 z 2 z 1 z 0 z 0 x 2 z 3 z 2 z 1 z 0 x 3 z 3 z 3 z 2 z 1 Ausgabefunktion f a : X x Z Y mögl. mögliche Zustände Eingaben z 3 z 2 z 1 z 0 x 1 y 1 y 1 y 1 y 2 = x 1 x 2 y 2 = x 2 y 2 = x 2 y 2 = x 2 y 2 = x 2 x 3 y 1 y 3 y 3 y 3 Theoretische Informatik I Automatentheorie 13 Chr. Vogt Blumenautomat : Zustandsdiagramm x 2 y 2 x 2 y 2 x 3 y 3 z 3 z 2 x 1 y 1 y 3 x 1 x 3 y 3 x 2 y 1 x 2 y 1 x 1 z 0 x 3 y 2 y 2 y 2 x 1 y 3 z 1 x 3 Theoretische Informatik I Automatentheorie 14 Chr. Vogt

10 Technische Realisierung von Automaten Rückkopplungsschleife z z 1. Schaltnetz Speicher z 2.Schaltnetz x z + y x Erklärung: 1. Schaltnetz: Übergangsschaltnetz oder "next state decoder" Aus der Eingabe x und dem Zustand z wird der Folgezustand z + hergeleitet. 2. Schaltnetz : Ausgabe- (Ausgangs-) Schaltnetz "output decoder" Aus den Variablen x und z wird der Ausgabewert y hergeleitet. Theoretische Informatik I Automatentheorie 15 Chr. Vogt Erkennende, endliche Automaten Die Fragestellung bei einem Automaten mit Ausgabe lautet: Welche Ausgabe produziert der endliche Automat bei welcher Eingabe? Im Gegensatz dazu fragt man bei einem endlichen Automaten ohne Ausgabe (Senke): Führt eine Eingabe(folge) den Automaten in einen definierten Endzustand, d.h. wird eine Eingabe(folge) erkannt? Man spricht dann auch von erkennenden Automaten. Definition: Ein erkennender endlicher Automat ist ein 5-Tupel A = ( X, Z, Z E, z 0, f z ) wobei: X = { x 1, x 2,..., x n } Eingabealphabet Z = { z 0, z 1,..., z m } Zustandsmenge Z E = { z e1,..., z er } Z Menge der (zulässigen) Endzustände z 0 Z Anfangszustand, wobei z 0 Z E f z : X x Z Z Zustandsfunktion Theoretische Informatik I Automatentheorie 16 Chr. Vogt

11 Modell eines erkennenden Automaten Eingabeband x 1 x 7 x 5 x 3 x 4 x 2 Bewegung Lesekopf Interne Zustände z 0, z 1,..., z m Im Zustandsdiagramm führt man zusätzlich folgende Notationen ein: Anfangszustand z 0 Endzustand z e Z E Theoretische Informatik I Automatentheorie 17 Chr. Vogt Beispiel 1 eines endlichen Automaten Gegeben sei ein erkennender, endlicher Automat A durch: X = { a, b }, Z = { z 0, z 1, z 2 }, Z E = { z 2 } a b b a b b z 2 sowie die Überführungsfunktion in Form des Zustandsdiagrammes: Zustand nach Eingabe Abarbeitung b a a b z 1 a z 0 a z 1 b a b a z 0 b a b b z 2 a z 2 b Theoretische Informatik I Automatentheorie 18 Chr. Vogt

12 Beispiel 2 eines endlichen Automaten Gegeben sei ein erkennender, endlicher Automat durch: X = { 0, 1 }, Z = { z 0, z e }, Z E = { z e } und die nebenstehende 0 1 Überführungsfunktion f z z 0 z 0 z e in Form einer Zustandstafel z e z e z 0 Frage: Was leistet der Automat, welche Eingaben führen in den zulässigen Endzustand? 1 0 z 0 z e 0 1 Eingabe Zustand nach Abarbeitung z z e z e Theoretische Informatik I Automatentheorie 19 Chr. Vogt Analyse versus Synthese von Automaten Zwei grundlegende Fragestellungen sind im Zusammenhang mit Automaten von Interesse: Wie verhält sich ein vorgegebener Automat Analyseproblem (bisherige Betrachtungsweise) Wie muss ein Automat für eine vorgegebene Aufgabe beschaffen sein Konstruktions- / Syntheseproblem Theoretische Informatik I Automatentheorie 20 Chr. Vogt

13 Konstruktion eines Automaten - 1. Entwurf Aufgabe: Wie müssen die Zustandsmenge Z und die Überführungsfunktion f z definiert werden, damit bei X = { a, b } genau solche Eingaben auf den (einzigen) Endzustand z e Z führen, in denen zwei aufeinanderfolgende a oder b vorkommen? Bemerkung: Es ist vorab nicht bekannt, wie viele Zustände notwendig sein werden. Entwurf: a z 1 a z 0 z e a,b b z 2 b Fehler: Die Bedingung X x Z Z ist in z 1 und z 2 nicht erfüllt, es gehen keine Kanten mit der Bewertung b von z 1 bzw. mit der Bewertung a von z 2 aus. Außerdem kann hier aa oder bb nur am Anfang einer Eingabe stehen. Theoretische Informatik I Automatentheorie 21 Chr. Vogt Konstruktion eines Automaten - 2. Entwurf Richtiger, vollständiger Entwurf: z 0 a z 1 a a b a,b z e b z 2 b Die (Teil-)Folge aa oder bb kann nun am Anfang, in der Mitte, oder am Ende des Eingabewortes erkannt werden. Forderung: In jedem Zustand müssen alle Eingabemöglichkeiten, also alle Elemente der Eingabemenge berücksichtigt werden. Theoretische Informatik I Automatentheorie 22 Chr. Vogt

14 Konstruktion eines Automaten - 2. Beispiel Aufgabe: Es soll ein endlicher Automat entworfen werden, der für X = { a, b, c } ausgehend von z 0 genau nach Eingabe von abc, abcabc, abcabcabc,... in einen Endzustand gelangt. Entwürfe: c a) z 0 a z 1 z b 2 falsch, u.a. da z 0 Z E b) a noch unvollständig c) z 0 z 0 a z 1 b z 2 c z e a b c z 1 z 2 z a,c e b,c a,b b,c z a,b,c 3 a vollständig richtig Bemerkung: aus z 3 ist der Endzustand z e nicht mehr erreichbar Theoretische Informatik I Automatentheorie 23 Chr. Vogt Der endliche Automat als Akzeptor Sei X* die Menge der Wörter über dem Eingabealphabet X. Die Zustandsfunktion f z : X x Z Z lässt sich kanonisch fortsetzen zu einer Funktion f z * : X* x Z Z f z * (x 1 x 2... x n, z) = f z (x n, f z (x n-1,..., f z (x 2, f z (x 1, z))...) indem die sukzessiven Zustandsübergänge des Automaten bei aufeinanderfolgender Eingabe von x 1, x 2,..., x n betrachtet werden. Insbesondere interessiert uns, in welchen Zustand der Automat ausgehend vom Startzustand z 0 bei einem Eingabewort w X* übergeht. Definition: Sei A = ( X, Z, f z, z 0, Z E ) ein endlicher Automat und w X * ein Eingabewort. Der Automat A akzeptiert (oder erkennt) w, wenn f z * (w, z 0 ) Z E, d.h. wenn A bei der Verarbeitung des Wortes w in einen Endzustand übergeht. Theoretische Informatik I Automatentheorie 24 Chr. Vogt

15 Sprache eines endlichen Automaten Definition: Die Menge aller Eingabewörter w X*, die ein endlicher Automat A = ( X, Z, f z, z 0, Z E ) akzeptiert, heißt die Sprache L(A) des Automaten A, also L(A) = {w X* f z * (w, z o ) Z E } Bisherige Beispiele: a) L(A) = { x {a,b}* x endet mit bb} b) L(A) = { x {0,1}* x enthält eine ungerade Zahl von Einsen } c) L(A) = { x {a,b}* x enthält aa oder bb } d) L(A) = { x {a,b,c}* x ist eine Verkettung von abc } Satz: Satz: Jede endliche Menge L X* ist Sprache eines endlichen Automaten. Es gibt (jede Menge) Teilmengen von X*, die nicht Sprache L(A) eines endlichen Automaten A sind. Theoretische Informatik I Automatentheorie 25 Chr. Vogt Nichtdeterministische Automaten Deterministischer Automat: f z : X x Z Z, d.h. zu jedem Tupel (x i, z j ) gibt es genau einen Folgezustand. Nichtdeterministischer Automat: Bei gegebenem Eingabezeichen und Zustand kann der Automat in verschiedene Zustände übergehen, es ist also kein eindeutiger Folgezustand festgelegt. Beispiel: X = { 0, 1 } Z = { z 0, z 1, z 2, z 3, z 4 } Z E = { z 3 } 0 0,1 0,1 0,1 z 0 z 1 z 2 z 3 0,1 z 4 0,1 (nicht determiniert für (z 0,0)) Übergangsrelation : { ( 0, z 0, z 0 ), ( 0, z 0, z 1 ), ( 1, z 0, z 0 ), X x Z x Z ( 0, z 1, z 2 ), ( 1, z 1, z 2 ), ( 0, z 2, z 3 ), ( 1, z 2, z 3 ), ( 0, z 3, z 4 ), ( 1, z 3, z 4 ), ( 0, z 4, z 4 ), ( 1, z 4, z 4 ), } Theoretische Informatik I Automatentheorie 26 Chr. Vogt

16 Nichtdeterministische endliche Automaten Definition: Ein nicht-deterministischer, erkennender endlicher Automat ist ein 5-Tupel A = ( X, Z, Z E, S, f z ), X = { x 1, x 2,..., x n } Eingabealphabet Z = { z 0, z 1,..., z m } Zustandsmenge Z E = { z e1,..., z er } Z Menge der (zulässigen) Endzustände S Z (S Menge der Anfangszustände f z : X x Z P(Z) \ Zustandsfunktion (P(Z) ist die Potenzmenge von Z) Die Zustandsfunktion kann fortgesetzt werden zu einer Funktion f z * : X* x P(Z) P(Z) indem man für Z' Z und w X*, w = x i w' rekursiv definiert: f z * (, Z') = Z', f z * (x i w', Z') = f z * (w', f z (x i, z)) ( = leeres Wort) z Z' Theoretische Informatik I Automatentheorie 27 Chr. Vogt Sprache eines nichtdeterministischen Automaten Definition: Die Sprache L(A) eines nichtdeterministischen Automaten A ist die Menge von Eingabewörtern, für die es, ausgehend von einem Startzustand, (mindestens) einen Weg der Abarbeitung des Wortes gibt, der in einem Endzustand endet. Formal: L(A) = { w X* f z * (w, S) Z E } Bemerkungen: Ein deterministischer Automat ist schneller bei der Überprüfung, ob ein Eingabewort zur Sprache gehört oder nicht. Ein nichtdeterministischer Automat hat i.a. weniger Zustände, ist also platzsparender, ist in vielen Fällen einfacher zu finden. Theoretische Informatik I Automatentheorie 28 Chr. Vogt

17 Äquivalenzsatz für endliche Automaten Satz: Zu jedem nichtdeterministischen endlichen Automaten gibt es (Rabin, Scott, 1959) einen deterministischen endlichen Automaten, der dieselbe Sprache akzeptiert. Beweis: Sei A = ( X, Z, Z E, S, f z ) ein nicht-deterministischer endlicher Automat. Wir definieren einen deterministischen endlichen Automaten, dessen Zustände alle Teilmengen von Z sind: A' = ( X, P(Z), Z E ', z o, f z ') wie folgt: z o = S, Z E ' = {Z' P(Z) Z' Z E }, f z ' (x, Z') = f z (x, z) = f z * (x, Z') für x X und Z' P(Z) z Z' Dann gilt für alle w = x 1 x 2... x r X*: w L(A) f z * (w, S) Z E es gibt Folge von Teilmengen Z 1, Z 2,..., Z r von Z mit f z ' (x 1, S) = Z 1, f z ' (x 2, Z 1 ) = Z 2,..., f z ' (x r, Z r-1 ) = Z r und Z r Z E f z ' * (w, S) Z E ' w L(A') Theoretische Informatik I Automatentheorie 29 Chr. Vogt Minimierung von Automaten Ein Automat ist umso einfacher zu realisieren, und umso schneller bei der Überprüfung eines Eingabewortes, je kleiner er ist, d.h. je weniger Zustände er hat. Definition: Äquivalenz zweier Automaten Zwei Automaten heißen äquivalent, wenn sie dieselbe Sprache akzeptieren. Definition: Minimale Automaten Ein deterministischer Automat heißt minimal, wenn es keinen äquivalenten deterministischen Automaten mit weniger Zuständen gibt. Theoretische Informatik I Automatentheorie 30 Chr. Vogt

18 Konstruktion minimaler endlicher Automaten (1) Bei den meisten Automatentypen gibt es zu einem Automaten mehrere verschiedene, äquivalente minimale Automaten. Bei deterministischen endlichen Automaten ist der minimale Automat sogar eindeutig bestimmt und lässt sich nach folgenden Regeln konstruieren: Regeln: 1. Entferne alle Zustände, die vom Anfangszustand z 0 aus nicht erreichbar sind. 2. Fasse äquivalente Zustände zu einem Zustand zusammen. Dabei sind zwei Zustände z und z' äquivalent, wenn für alle Wörter w X* gilt: f z * (w, z) Z E f z * (w, z') Z E Die nächste Folie beschreibt einen Algorithmus zur Bestimmung äquivalenter Zustände. Theoretische Informatik I Automatentheorie 31 Chr. Vogt Konstruktion minimaler endlicher Automaten (2) Der Algorithmus zum Auffinden äquivalenter Zustände basiert darauf, rekursiv Paare von Zuständen zu finden, die nicht äquivalent sind, und diese zu markieren. Die am Ende nicht markierten Zustände sind äquivalent. Eine mögliche Anordnung der Zustandspaare ist : z 3 z 2 z 1 z 0 z 3 z 2 z 1 z 0 1. Markiere alle Paare aus einem Endzustand und einem Nicht-Endzustand. 2. Überprüfe für jedes nicht markierte Paar von Zuständen (z i,z k ), ob für eines der Eingabezeichen x X das Zustandspaar (f z (x,z i ),f z (x,z k )) markiert ist. Falls ja, markiere das Paar (z i,z k ). 3. Wiederhole 2. bis sich keine Änderung mehr ergibt. Jedes nicht markierte Paar besteht aus zwei äquivalenten Zuständen. Theoretische Informatik I Automatentheorie 32 Chr. Vogt

19 Minimierung endlicher Automaten - Beispiel Beispiel: Gegeben sei ein erkennender endlicher Automat A = ( X, Z, f z, z 0, Z E ) X = { 0, 1 }, Z = { A, B, C, D, E, F, G }, z 0 = { A }, Z E = { C, E } durch: f z : A Minimalversion : F, G sind nicht erreichbar B ist äquivalent zu D, C zu E B 1 C 0 F 0 0 D 1 E A 0,1 0 1 G 0 1 B 0 C 1 Theoretische Informatik I Automatentheorie 33 Chr. Vogt Eine interessante Sprache Notation: w = a... a b.... b = a m b n z. B. w = aaaaabbb = a 5 b 3 m n Gegeben seien X = { a, b } und die Sprache L = { w w = a n b n, n N }. Aufgabe: Konstruiere einen Automaten, der diese Sprache akzeptiert. Konstruktionsversuch: a b a b a b a b a b z 0 b b b b b a a a a a Theoretische Informatik I Automatentheorie 34 Chr. Vogt

20 Pumping-Lemma für endliche Automaten Der folgende Satz ist unmittelbar einsichtig: Satz: Hat ein endlicher Automat n Zustände und besteht ein Eingabewort w aus mehr als n Zeichen, dann muss die durchlaufene Zustandsfolge einen Zyklus enthalten. Aus dem Satz folgt: Pumping-Lemma für endliche Automaten: Sei L die Sprache eines endlichen Automaten. Dann gibt es eine Konstante N, so dass sich jedes Wort z L der Länge z > N schreiben lässt als z = uvw, mit v > 1, uv < N, und so dass für alle i > 0 auch uv i w L. Folgerung: Die Sprache L = { w w = a n b n, n N } ist nicht Sprache eines endlichen Automaten. Theoretische Informatik I Automatentheorie 35 Chr. Vogt Grenzen endlicher Automaten Wir haben gesehen, dass es Sprachen gibt (sogar sehr einfache), die nicht von einem endlichen Automaten erkannt werden können, z.b. L = { w w = a n b n, n N } Aufgrund des Satzes von Rabin-Scott erweitern auch die nicht-deterministischen endlichen Automaten nicht die Klasse der Sprachen endlicher Automaten. Die einzige Möglichkeit, wie ein endlicher Automat sich eine Tatsache merken kann besteht darin, einen eigenen Zustand für diese Tatsache einzuführen. Somit kann sich ein endlicher Automat aber nur beschränkt viele Dinge merken, und z.b. nicht die beliebig vielen Möglichkeiten, wieviele a s bereits gelesen wurden. Wir benötigen also eine Klasse von Automaten mit einer weitergehenden Merkfähigkeit. Theoretische Informatik I Automatentheorie 36 Chr. Vogt

21 Modellvorstellung eines Kellerautomaten Ein Kellerautomat ist ein endlicher Automat erweitert um einen Keller (Stack): x i Eingabeband Modell: Lese-Kopf interne Zustände S/L-Kopf k n Speicherband (Keller) Erklärung: Mit Hilfe des Kellers kann der Automat sich beliebig viele Zeichen "merken". Arbeitsschritte sind auch abhängig vom zuletzt gemerkten Zeichen. Dabei werden entweder ein oder mehrere neue Zeichen oben auf den Keller gelegt, oder das oberste Zeichen wird vom Keller heruntergenommen und "vergessen". Theoretische Informatik I Automatentheorie 37 Chr. Vogt Definition eines Kellerautomaten Definition: Ein Kellerautomat ist ein 7-Tupel KA = ( X, Z, K, S, k 0, Z E, f K ), wobei X = { x 1, x 2,..., x n } Eingabealphabet Z = { z 0, z 1,..., z m } Zustandsmenge S Z (S Menge der Anfangszustände K = { k 1, k 2,..., k r } Kelleralphabet k 0 K unterstes Kellerzeichen Z E Z Menge der (zulässigen) Endzustände f K : X x Z x (K {k0}) P e (Z x K*) Überführungsfunktion (P e bezeichne die Menge der endlichen Teilmengen) Bemerkungen: Die Definition beschreibt einen nicht-deterministischen Kellerautomaten. Der Kellerautomat heißt deterministisch, wenn die Mengen f K (x i,z k,k l ) für alle x i, z k und k l einelementig sind. Bei nicht-deterministischen Kellerautomaten wird bei der Definition gelegentlich darauf verzichtet, die Angabe einer Menge Z E von Endzuständen zu verlangen. Das Erkennen eines Eingabewortes wird dann anders als über das Erreichen eines Endzustandes definiert (s.u.). Theoretische Informatik I Automatentheorie 38 Chr. Vogt

22 Interpretation der Überführungsfunktion Die Überführungsfunktion gibt abhängig von dem momentanen Eingabezeichen, dem momentanen Zustand, dem obersten Kellerzeichen an, in welchen Zustand der Automat übergeht, welches Kellerwort das oberste Kellerzeichen ersetzt. Im nicht-deterministischen Falle sind dabei Folgezustand und / oder neues Kellerwort nicht eindeutig bestimmt. Spezialfälle der Ersetzung des obersten Kellerzeichens sind: Ersetzen mit dem leeren Wort : Löschen des obersten Zeichens (POP-Operation) Ersetzen des obersten Zeichens k x durch k i k x (PUSH k i ) Theoretische Informatik I Automatentheorie 39 Chr. Vogt Arbeitsweise eines Kellerautomaten Am Anfang befindet sich der Kellerautomat im Zustand z 0, der Lesekopf über dem linken Zeichen des Eingabewortes w, der Schreib-Lese-Kopf am Kellerboden, d.h. über dem untersten Kellerfeld mit dem Inhalt k 0. Wenn sich im Lauf der Abarbeitung von w unter dem Lesekopf das Zeichen x i, unter dem SL-Kopf das Zeichen k h befindet, und der Kellerautomat im Zustand z J ist, so geschieht abhängig vom Wert der Zustandsfunktion an dieser Stelle Folgendes: Ist (z r, k ) f K ( x i, z J, k h ), so kann der Kellerautomat in den Zustand z r übergehen, k h wird durch k K* ersetzt, das Eingabeband wird um ein Feld nach links bewegt und der SL-Kopf über das letzte Zeichen von k positioniert, bzw. für k = um ein Feld nach unten bewegt, sofern nicht schon am Kellerboden. Beim Versuch, das Kellerbodenzeichen zu entfernen, bleibt der Kellerautomat stehen, und das Eingabewort wird nicht akzeptiert. Theoretische Informatik I Automatentheorie 40 Chr. Vogt

23 Sprache eines Kellerautomaten Definition: Ein Eingabewort w X* wird von einem Kellerautomaten akzeptiert, wenn der Kellerautomat nach Abarbeiten von w in einem Endzustand ist und der Keller leer ist (bzw. im nicht-deterministischen Fall: wenn es eine Abarbeitungsfolge gibt, die dies erreicht). Die Sprache L(KA) eines Kellerautomaten KA ist die Menge aller von ihm akzeptierten Wörter w X*. Bemerkung: Für nicht-deterministische Kellerautomaten ist es äquivalent, das Akzeptieren eines Wortes durch Erreichen eines Endzustandes zu definieren oder dadurch, dass der Keller leer ist (oder beides). Für deterministische Kellerautomaten ist dies nicht der Fall! Theoretische Informatik I Automatentheorie 41 Chr. Vogt Kellerautomat - 1. Beispiel Ein Kellerautomat, der die Sprache L(KA) = { x x = a n b n, n N } erkennt, wird definiert durch: X = { a, b }, Z = { z 0, z 1, z F }, z 0 = z 0, z E = { z 1 }, K = { a }, k 0 = k f K : f K ( a, z 0, k ) = ( z 0, ak ) (PUSH a) f K ( b, z 0, k ) = ( z F, k ) f K ( a, z 0, a ) = ( z 0, aa ) (PUSH a) f K ( b, z 1, k ) = ( z F, k ) f K ( b, z 0, a ) = ( z 1, ) (POP) f K ( a, z 1, * ) = ( z F, * ) f K ( b, z 1, a ) = ( z 1, ) (POP) f K ( *, z F, * ) = ( z F, * ) Eingabeband Zustand Speicherband a a a b b b z 0 k a a a b b b z 0 k a a a a b b b z 0 k a a a a a b b b z 0 k a a a a a a b b b z 1 k a a a a a b b b z 1 k a a a a b b b z 1 k Die Kreise zeigen die Positionen des Lesekopfes auf dem Eingabeband und des Schreib-Lese-Kopfes auf dem Speicherband an. Theoretische Informatik I Automatentheorie 42 Chr. Vogt

24 Deterministische vs. nicht-deterministische Kellerautomaten Satz: Es gibt nicht-deterministische Kellerautomaten, deren Sprache nicht Sprache eines deterministischen Kellerautomaten ist. Beispiel: Die Sprache L = { a 1 a 2... a n a n... a 2 a 1 ; a i X } der Palindrome gerader Länge über einem Alphabet X wird von einem nicht-deterministischen Kellerautomaten erkannt, jedoch von keinem deterministischen Kellerautomaten. Im Gegensatz zu den endlichen Automaten ist also bei den Kellerautomaten die Klasse der von nicht-deterministischen Kellerautomaten erkannten Sprachen echt größer als die Klasse der Sprachen, die von deterministischen Kellerautomaten erkannt werden. Theoretische Informatik I Automatentheorie 43 Chr. Vogt Kellerautomat - 2. Beispiel Ein nicht-deterministischer Kellerautomat, der die Sprache L = { a 1 a 2... a n a n... a 2 a 1 ; a i X } der Palindrome gerader Länge über einem Alphabet X erkennt, wird definiert durch: X, Z = { z 0, z 1, z F }, z 0 = z 0, z E = { z 1 }, K = X, k 0 = k f K : f K ( x, z 0, k ) = { ( z 0, xk ), ( z 1, xk ) } (PUSH x) f K ( x, z 0, y ) = { ( z 0, xy ), ( z 1, xy ) } (PUSH x) f K ( x, z 1, x ) = ( z 1, ) f K ( x, z 1, y ) = ( z F, y ) f K ( x, z 1, k ) = ( z F, k ) (POP) falls x y f K ( x, z F, y ) = ( z F, y ) Theoretische Informatik I Automatentheorie 44 Chr. Vogt

25 Grenzen von Kellerautomaten Auch mit Kellerautomaten lassen sich nicht alle Sprachen erkennen. Eine Sprache, die von keinem Kellerautomaten erkannt werden kann, ist L = { a n b n c n ; n > 1 } Dies folgt aus dem Pumping-Lemma für Kellerautomaten: Sei L die Sprache eines Kellerautomaten. Dann gibt es eine Konstante N, so dass sich jedes Wort z L der Länge z > N schreiben lässt als z = uvwxy, vx > 1, vwx < N, und so dass für alle i > 0 auch uv i wx i y L. Der Beweis hierfür wird nicht im Rahmen der Automatentheorie geführt, sondern in der Theorie der formalen Sprachen. Die Einschränkungen der Kellerautomaten beruhen auf der Art der Verwendung des Speicherbandes: Nur das oberste Kellerelement ist im Zugriff. Das Speicherband wird bei jeder Bewegung des S/L-Kopfes nach unten gelöscht (POP-Operation). Theoretische Informatik I Automatentheorie 45 Chr. Vogt Modellvorstellung einer Turingmaschine Turingmaschinen sind ein universelles Automatenmodell, das 1936 von Alan M. Turing ( ) eingeführt wurde. Er verwendete es für seine Betrachtungen über die Berechenbarkeit von Funktionen. Aufbau einer Turingmaschine (Modell) unendliches SL - Kopf L H R interne Zustände Arbeitsband Im Gegensatz zu Kellerautomaten gibt es keinen Unterschied mehr zwischen Eingabeund Speicherband, und das Arbeitsband kann in beide Richtungen bewegt werden. Theoretische Informatik I Automatentheorie 46 Chr. Vogt

26 Definition einer Turingmaschine Definition: Eine Turingmaschine ist ein 6-Tupel T = ( X, Z, B, z 0, Z E, u ) wobei X = { x 1,..., x r } Menge der Bandzeichen, Bandalphabet Z = { z 0, z 1,..., z n } Menge der internen Zustände B = { R, L, H } Menge der Kopfbewegungen z 0 Z Anfangszustand Z E Z Menge der (zulässigen) Endzustände u : (X { } x Z P ((X { }) x Z x B ) Überführungsfunktion (P bezeichnet die Potenzmenge, eine leere Stelle des Bandes) Die Turingmaschine heißt deterministisch, wenn die Mengen u (x i,z k ) für alle x i und z k einelementig sind. Theoretische Informatik I Automatentheorie 47 Chr. Vogt Arbeitsweise einer Turingmaschine Zu Beginn befindet sich die Turingmaschine T im Anfangszustand z 0 Z und der Schreib-Lese-Kopf über dem ersten (linkesten) Zeichen des Eingabewortes. Außerhalb des Eingabewortes ist das Band mit Leerzeichen ( ) gefüllt. Die Überführungsfunktion bestimmt abhängig vom unter dem SL-Kopf stehenden Bandzeichen x i und dem aktuellen Zustand z J welches Zeichen x k anstelle von x i aufs Band geschrieben wird (bzw., um das Feld zu löschen) den Folgezustand z L, die Kopfbewegung ( R = ein Feld nach rechts, L = ein Feld nach links, H = keine Bewegung ). T durchläuft auf diese Weise eine Reihe derartiger Schritte. Die Turingmaschine hält an, wenn sie Zustand und Bandbeschriftung nicht mehr ändert und das Band nicht mehr bewegt, also wenn bei x i auf dem Band und im Zustand z k gilt: u(x i, z k ) = (x i, z k, H) (deterministisch). Die Überführungsfunktion u entspricht einem einfachen Maschinenprogramm mit minimalem Befehlsvorrat. Theoretische Informatik I Automatentheorie 48 Chr. Vogt

27 1. Beispiel einer Turingmaschine X = { 0, 1 }, Z = { z 0, z 1 }, Z E = { z 1 } Maschinentafel für u: Gesucht ist eine Turingmaschine, die das erste 0 1 Feld sucht, das eine 0 enthält, in dieses Feld z 0 1z 1 H 1z 0 R z 0 H eine 1 schreibt und dort stehen bleibt. z 1 0z 1 H 1z 1 H z 1 H Bandbeschriftung (das zusätzlich mit einem Zustand beschriftete Feld zeigt den aktuellen Zustand und die Position des Schreib-Lese-Kopfes an): z 0 / z 0 / z 0 / z 0 / z 1 /1 0 Halt Theoretische Informatik I Automatentheorie 49 Chr. Vogt 2. Beispiel einer Turingmaschine Die folgende Turingmaschine interpretiert eine Eingabe x {0,1}* als Binärzahl, addiert 1 hinzu und positioniert den Schreib-/Lesekopf wieder über dem most significant bit der Zahl: T = { {0,1}, {z 0, z 1, z 2, z e }, {R,L,H}, {z 0 }, {z e }, u } u (0, z 0 ) = (0, z 0, R) u (0, z 1 ) = (1, z 2, L) u (1, z 0 ) = (1, z 0, R) u (1, z 1 ) = (0, z 1, L) u (, z 0 ) = (, z 1, L) u (, z 1 ) = (1, z e, H) u (0, z 2 ) = (0, z 2, L) u (0, z e ) = (0, z e, H) u (1, z 2 ) = (1, z 2, L) u (1, z e ) = (1, z e, H) u (, z 2 ) = (, z e, R) u (, z e ) = (, z e, H) Übung: Beschreiben Sie die einzelnen Schritte, die diese Turingmaschine bei der Eingabe 101 durchläuft. Theoretische Informatik I Automatentheorie 50 Chr. Vogt

28 Sprache einer Turingmaschine Definitionen: Eine Turingmaschine T akzeptiert ein Wort x X*, wenn sie ausgehend von der Bandbeschriftung x nach endlich vielen Arbeitsschritten in einem Endzustand anhält (bzw. im nicht-deterministischen Fall: wenn es eine solche Folge von Arbeitsschritten gibt). Die von T akzeptierte Sprache L(T) X* ist die Menge aller von T akzeptierten Wörter. Bemerkung: Das Nicht-Akzeptieren eines Wortes wird erkannt, wenn die Turingmaschine nach endlich vielen Schritten in einem Nicht-Endzustand anhält. Das Nicht-Akzeptieren eines Wortes kann nicht erkannt werden, wenn die Turingmaschine nicht anhält. Satz: Zu jeder nicht-deterministischen Turingmaschine gibt es eine deterministische Turingmaschine, die dieselbe Sprache akzeptiert. Theoretische Informatik I Automatentheorie 51 Chr. Vogt Turingberechenbarkeit und Church'sche These Die Bedeutung der Turingmaschinen bezüglich der Berechenbarkeit liegt in der 1936 von A. Church formulierten Church'schen These: Jede im intuitiven Sinne berechenbare Funktion ist Turing-berechenbar. Dabei bedeutet "im intuitiven Sinn", dass das Verfahren von einer genügend großen Zahl von Menschen als korrektes Verfahren zur Berechnung anerkannt wird. Dies ist keine mathematische Formulierung, und somit kann die Church'sche These auch nicht mathematisch bewiesen werden. Sie konnte aber bislang auch nicht widerlegt werden. Anschaulich besagt die Church'sche These: Zu jedem beliebigen algorithmischen Verfahren lässt sich eine Turingmaschine konstruieren, die dasselbe tut. Weitere Möglichkeiten zur Präzisierung des Algorithmenbegriffs berechenbarer Funktionen: Registermaschinen, -rekursive Funktionen, formale Logik (Prolog), Java-Programme Theoretische Informatik I Automatentheorie 52 Chr. Vogt

29 Das Halteproblem für Turingmaschinen Definition : Unter dem Halteproblem für Turingmaschinen versteht man die Frage nach der Existenz eines Algorithmus (z.b. einer Turingmaschine), mit dem man für jede Turingmaschine T und jede Bandbeschriftung x entscheiden kann, ob T bei der Bearbeitung von x nach endlich vielen Schritten anhält oder nicht. Satz: Das Halteproblem für Turingmaschinen ist nicht entscheidbar. Das heißt: es gibt keinen Algorithmus, der als Eingaben eine beliebige Turingmaschine und irgendeine Bandbeschriftung erhält und dann feststellt ( entscheidet ), ob die Turingmaschine bei dieser Bandbeschriftung anhält oder nicht. Bemerkung: Es gibt einen Algorithmus (eine Turingmaschine), der feststellt ( entscheidet ), dass die Turingmaschine anhält, der aber im Fall des Nicht-Anhaltens der Turingmaschine i.a. zu keinem Ende kommt (also unendlich lange weiterläuft). Theoretische Informatik I Automatentheorie 53 Chr. Vogt Nicht-Entscheidbarkeit des Halteproblems: Beweis Durch geeignete Codierung der Übergangsfunktion lässt sich jede Turingmaschine T als Wort w T über {0,1} darstellen. Das Halteproblem für Turingmaschinen ist dann die Sprache über dem Alphabet {0,1} H = { (w T, x); T angesetzt auf x hält an } (o.b.d.a.: x {0,1} * ) Angenommen, M sei eine Turingmaschine, die die Sprache H akzeptiert und bei jeder Eingabe in endlicher Zeit anhält. Wir betrachten die Turingmaschine M', die angesetzt auf die Codierung w T einer Turingmaschine Folgendes tut: stop (w nein T, w T ) ---> M ---> akzeptiert? ja unendliche Schleife M', angesetzt auf seine eigene Codierung w M' hält genau dann an, wenn sie nicht anhält. Dieser Widerspruch zeigt, dass es die Turingmaschine M nicht geben kann. Theoretische Informatik I Automatentheorie 54 Chr. Vogt

30 Linear beschränkte Automaten Die Definition einer Turingmaschine ging von einem unendlich langen Arbeitsband aus. Definition: Eine Turingmaschine heißt linear beschränkt (oder ein linear beschränkter Automat, LBA), wenn sie im Laufe ihrer Arbeit nie den Bereich des Arbeitsbandes verlässt, auf dem das Eingabewort steht. Bemerkung: Eine linear beschränkte Turingmaschine muss eine Möglichkeit haben, die Enden des Eingabebandes, zu erkennen. LBA-Problem: Es ist bis heute nicht bekannt, ob es zu jedem nicht-deterministischen LBA einen deterministischen LBA gibt, der dieselbe Sprache akzeptiert. Satz: Die Menge der von nicht-deterministischen, linear beschränkten Automaten akzeptierten Sprachen ist genau die Menge der kontextsensitiven Sprachen. (siehe das Kapitel Formale Sprachen ) Theoretische Informatik I Automatentheorie 55 Chr. Vogt

Automatentheorie. Endliche Automaten, Kellerautomaten und Turingmaschinen

Automatentheorie. Endliche Automaten, Kellerautomaten und Turingmaschinen Automatentheorie Endliche Automaten, Kellerautomaten und Turingmaschinen Inhaltsübersicht und Literatur Der Begriff des Automaten Endliche Automaten mit Ausgabe Technische Realisierung von Automaten Erkennende

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

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

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

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

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

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

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

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

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}} 2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?

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

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

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

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

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

11.3 Eindimensionale Turingmaschinen

11.3 Eindimensionale Turingmaschinen 11.3 Eindimensionale Turingmaschinen 156 11.3 Eindimensionale Turingmaschinen Turing ging vom schriftlichen Rechnen aus, also vom Beschreiben eines Papiers mit einem Stift. Wollen wir etwas aufschreiben,

Mehr

Einige Beispiele zur Turingmaschine

Einige Beispiele zur Turingmaschine Einige Beispiele zur Turingmaschine Beispiel 1: Addition von 1 zu einer Dualzahl Aufgabe: Auf dem Eingabe-Band einer Turingmaschine steht eine Dualzahl (= Binärzahl, bestehend aus 0-en und 1-en, links

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

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat

Mehr

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................

Mehr

1936 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus

1936 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus //5 Abstrakte Maschinenmodelle: Turingmaschine (TM) 96 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus einem festen Teil ( "Hardware ) einem variablen Teil ( "Software

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

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 Informatik für Medieninformatiker

Theoretische Informatik für Medieninformatiker Theoretische Informatik für Medieninformatiker Jan Johannsen Lehrveranstaltung im Sommersemester 27 / 6 Organisatorisches: Jede Lehrveranstaltungsstunde gliedert sich in einen Vorlesungsteil, dessen Länge

Mehr

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

7 Endliche Automaten. 7.1 Deterministische endliche Automaten 7 Endliche Automaten 7.1 Deterministische endliche Automaten 7.2 Nichtdeterministische endliche Automaten 7.3 Endliche Automaten mit g-übergängen Endliche Automaten 1 7.1 Deterministische endliche Automaten

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

Zusammenfassung Grundzüge der Informatik 4

Zusammenfassung Grundzüge der Informatik 4 Zusammenfassung Grundzüge der Informatik 4 Sommersemester 04 Thorsten Wink 21. September 2004 Version 1.2 Dieses Dokument wurde in L A TEX 2εgeschrieben. Stand: 21. September 2004 Inhaltsverzeichnis 1

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 4.2 Modelle für Typ-0 & Typ-1 Sprachen 1. Nichtdeterministische Turingmaschinen 2. Äquivalenz zu Typ-0 Sprachen 3. Linear beschränkte Automaten und Typ-1 Sprachen Maschinenmodelle

Mehr

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein! 4 Turingmaschinen Eingabeband nicht nur lesen, sondern auch schreiben kann und die zudem mit ihrem Lese-Schreib-Kopf (LSK) nach links und rechts gehen kann. Das Eingabeband ist zudem in beide Richtungen

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 8. Reguläre Sprachen II Malte Helmert Gabriele Röger Universität Basel 24. März 24 Pumping Lemma Pumping Lemma: Motivation Man kann zeigen, dass eine Sprache regulär ist, indem man

Mehr

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: Sprachen und Automaten 1 Deterministische endliche Automaten (DFA) Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden: M = (Z,3,*,qo,E) Z = Die Menge der Zustände 3 = Eingabealphabet

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

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik 0 KIT 17.05.2010 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik nationales Forschungszentrum Vorlesung in am

Mehr

Einführung in die Informatik Turing Machines

Einführung in die Informatik Turing Machines Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard 1 Motivation und Einleitung Bisher haben wir verschiedene Programmiersprachen

Mehr

I.2. Endliche Automaten (ohne Ausgabe)

I.2. Endliche Automaten (ohne Ausgabe) I2 Endliche Automaten (ohne Ausgabe) I2 Deterministische endliche Automaten Beispiel: Pascal-Syntax für Zahlen hat folgende Form: ::=

Mehr

(Prüfungs-)Aufgaben zu formale Sprachen

(Prüfungs-)Aufgaben zu formale Sprachen (Prüfungs-)Aufgaben zu formale Sprachen (siehe auch bei den Aufgaben zu endlichen Automaten) 1) Eine Grammatik G sei gegeben durch: N = {S, A}, T = {a, b, c, d}, P = { (S, Sa), (S, ba), (A, ba), (A, c),

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

11. Übungsblatt. x y(top(push(x, y)) = y)

11. Übungsblatt. x y(top(push(x, y)) = y) Logik, Berechenbarkeit und Komplexität Sommersemester 2012 Hochschule RheinMain Prof. Dr. Steffen Reith 11. Übungsblatt 1. Ein Keller (engl. stack) ist eine bekannte Datenstruktur. Sei die Signatur S =

Mehr

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64 Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Pumping Lemma Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges

Mehr

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen? Einige Fragen Ziel: Wir suchen Antworten auf die folgenden Fragen: Wie kann man das intuitiv Berechenbare formal fassen? Was ist ein Algorithmus? Welche Indizien hat man dafür, dass ein formaler Algorithmenbegriff

Mehr

5.4 Endliche Automaten

5.4 Endliche Automaten 5.4 Endliche Automaten Ein endlicher Automat ist ein mathematisches Modell eines Systems mit Ein- und Ausgaben. Ein solches System befindet sich immer in einem internen Zustand. Beispiele Ein Register

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

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 7. Turingmaschinen Automatenmodell für Typ-0-Sprachen Einschränkung liefert Automatenmodell für Typ-1-Sprachen Alan Turing 1936, ursprüngliches Ziel: Formalisierung des

Mehr

Einführung in die Informatik

Einführung in die Informatik Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle 24. November 28 Einführung in die Informatik Übung 7 Allgemeines Für die Abgabe der

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

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

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen Prof. Dr. Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4: Informatik Dennis Peuter 01. Juni 2017 Übung zur Vorlesung Grundlagen der theoretischen Informatik Aufgabenblatt 7 Lösungen

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

Automaten und Coinduktion

Automaten und Coinduktion Philipps-Univestität Marburg Fachbereich Mathematik und Informatik Seminar: Konzepte von Programmiersprachen Abgabedatum 02.12.03 Betreuer: Prof. Dr. H. P. Gumm Referentin: Olga Andriyenko Automaten und

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

Grundbegriffe der Informatik Tutorium 10

Grundbegriffe der Informatik Tutorium 10 Grundbegriffe der Informatik Tutorium 10 Tutorium Nr. 32 Philipp Oppermann 17. Januar 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Einführung in die Informatik Turing Machines

Einführung in die Informatik Turing Machines Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard Cyrill Stachniss 1/14 Motivation und Einleitung Bisher haben wir verschiedene

Mehr

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls 4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,

Mehr

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen: Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Worterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65

Worterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65 Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges kennengelernt,

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

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen, Entscheidbarkeit, P 239/ 333 Einführung in die NP-Vollständigkeitstheorie

Mehr

Die Nerode-Relation und der Index einer Sprache L

Die Nerode-Relation und der Index einer Sprache L Die Nerode-Relation und der Index einer Sprache L Eine zweite zentrale Idee: Sei A ein vollständiger DFA für die Sprache L. Repäsentiere einen beliebigen Zustand p von A durch die Worte in Σ, die zu p

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

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

Auffrischung Einige (wenige) Grundlagen der Theoretischen Informatik

Auffrischung Einige (wenige) Grundlagen der Theoretischen Informatik Logik, Berechenbarkeit und Komplexität Sommersemester 2008 Fachhochschule Wiesbaden Prof. Dr. Steffen Reith Auffrischung Einige (wenige) Grundlagen der Theoretischen Informatik 1 Turingmaschinen - Ein

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

Theoretische Informatik 2

Theoretische Informatik 2 Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Die Chomsky-Hierarchie Definition Sei G = (V, Σ, P, S) eine Grammatik. 1 G heißt vom Typ 3 oder

Mehr

Automaten und Formale Sprachen ε-automaten und Minimierung

Automaten und Formale Sprachen ε-automaten und Minimierung Automaten und Formale Sprachen ε-automaten und Minimierung Ralf Möller Hamburg Univ. of Technology Literatur Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs Theoretische Informatik, Vieweg Verlag 2 Danksagung

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

Einführung in Berechenbarkeit, Komplexität und formale Sprachen

Einführung in Berechenbarkeit, Komplexität und formale Sprachen Johannes Blömer Skript zur Vorlesung Einführung in Berechenbarkeit, Komplexität und formale Sprachen Universität Paderborn Wintersemester 2011/12 Inhaltsverzeichnis 1 Einleitung 2 1.1 Ziele der Vorlesung...................................

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 5: Typ 1 und Typ 0 Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Kapitel 5 Typ 1

Mehr

THIA - Übungsblatt 2.

THIA - Übungsblatt 2. THIA - Übungsblatt 2. Aufgabe 12 (Eine einfache Sprache). Endliche Ziffernfolgen, die mit einer 0 beginnen, auf die mindestens eine weitere Ziffer folgt, wobei nur die Ziffern 0,..., 7 vorkommen, sollen

Mehr

4.2.4 Reguläre Grammatiken

4.2.4 Reguläre Grammatiken 4.2.4 Reguläre Grammatiken Eine reguläre Grammatik ist eine kontextfreie Grammatik, deren Produktionsregeln weiter eingeschränkt sind Linksreguläre Grammatik: A w P gilt: w = ε oder w = Ba mit a T und

Mehr

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis:

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis: 1 Unentscheidbarkeit 2 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 #include char *s="include

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 Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen: Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter

Mehr

Grundbegriffe der Informatik Tutorium 33

Grundbegriffe der Informatik Tutorium 33 Tutorium 33 02.02.2017 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Gliederung 1 2 3 Ein ist ein Tupel A = (Z, z 0, X, f, Y, h)

Mehr

Deterministische Turing-Maschinen

Deterministische Turing-Maschinen Deterministische Turing-Maschinen Um 900 präsentierte David Hilbert auf einem internationalen Mathematikerkongress eine Sammlung offener Fragen, deren Beantwortung er von zentraler Bedeutung für die weitere

Mehr

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17 Endliche Automaten Im Hauptseminar Neuronale Netze LMU München, WS 2016/17 RS- Flipflop RS-Flipflop Ausgangszustand 0 1 0 1 0 1 Set Reset neuer Zustand 0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 Was ist ein endlicher

Mehr

Turingautomaten Jörg Roth Turingautomaten

Turingautomaten Jörg Roth Turingautomaten Turingautomaten Jörg Roth 331 5 Turingautomaten Wir führen nochmals ein neues Automatenmodell ein und erweitern die Fähigkeit, Sprachen zu erkennen: Problem vom Kellerautomaten: wir können zwar beliebig

Mehr

Universität des Saarlandes

Universität des Saarlandes Universität des Saarlandes FR 6.2 Informatik Prof. Dr. Kurt Mehlhorn, Dr. Konstantinos Panagiotou WiSe 2011/2012 Übungen zu Computational Thinking http://www.mpi-inf.mpg.de/departments/d1/teaching/ws11/ct/

Mehr

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 25. September 2013 Aufgabe 1 Geben Sie jeweils eine kontextfreie Grammatik an, welche die folgenden Sprachen erzeugt, sowie einen Ableitungsbaum

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Endliche Automaten. δ : Z Σ Z die Überführungsfunktion, z 0 Z der Startzustand und F Z die Menge der Endzustände (Finalzustände).

Endliche Automaten. δ : Z Σ Z die Überführungsfunktion, z 0 Z der Startzustand und F Z die Menge der Endzustände (Finalzustände). Endliche Automaten Endliche Automaten Definition Ein deterministischer endlicher Automat (kurz DFA für deterministic finite automaton ) ist ein Quintupel M = (Σ, Z, δ, z 0, F), wobei Σ ein Alphabet ist,

Mehr

Grundlagen der Theoretischen Informatik

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

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

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

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

Ausgewählte unentscheidbare Sprachen

Ausgewählte unentscheidbare Sprachen Proseminar Theoretische Informatik 15.12.15 Ausgewählte unentscheidbare Sprachen Marian Sigler, Jakob Köhler Wolfgang Mulzer 1 Entscheidbarkeit und Semi-Entscheidbarkeit Definition 1: L ist entscheidbar

Mehr

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14 Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 23/4 Vorname Nachname Matrikelnummer Hinweise Für die

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

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung! Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:

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

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

1 Endliche Automaten mit Ausgabe

1 Endliche Automaten mit Ausgabe 1.1 Autokorrektur und Smileys 9 Theorie bedeutet meist, dass die Bestandteile und Eigenschaften von Systemen auf das Elementare reduziert werden, um deren Prinzipien, Zusammenhänge, Möglichkeiten und Grenzen

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 14: Endliche Automaten Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/38 Überblick Erstes Beispiel: ein Getränkeautomat Mealy-Automaten

Mehr

Unentscheidbarkeitssätze der Logik

Unentscheidbarkeitssätze der Logik Unentscheidbarkeitssätze der Logik Elmar Eder () Unentscheidbarkeitssätze der Logik 1 / 30 Die Zahlentheorie ist nicht formalisierbar Satz (Kurt Gödel) Zu jedem korrekten formalen System der Zahlentheorie

Mehr

Welches ist die fleißigste unter allen erdenklichen Turingmaschinen mit n Zuständen?

Welches ist die fleißigste unter allen erdenklichen Turingmaschinen mit n Zuständen? Fleißige Biber In den frühen sechziger Jahren ging Tibor Rado von der Ohio State University der Frage nach, wie viele Einsen eine Turingmaschine wohl auf ein zu Beginn leeres Band schreiben könne, ehe

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

Reguläre Sprachen und endliche Automaten

Reguläre Sprachen und endliche Automaten Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented

Mehr