Automatentheorie. Endliche Automaten, Kellerautomaten und Turingmaschinen

Größe: px
Ab Seite anzeigen:

Download "Automatentheorie. Endliche Automaten, Kellerautomaten und Turingmaschinen"

Transkript

1 Automatentheorie Endliche Automaten, Kellerautomaten und Turingmaschinen

2 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 - kurzgefaßt, 4. Auflage, Spektrum Akademischer Verlag 2001 Hopcroft/Motwani/Ullman: Introduction to Automata Theory, Languages, and Computation, 2nd edition, Addison-Wesley 2001 Theoretische Informatik I Automatentheorie 2 Nischwitz/Vogt

3 Definition eines Automaten Definition: Ein abstrakter Automat mit Ausgabe ist ein 5-Tupel A = ( X, Y, Z, f z, f a ) X = Ausprägungsmenge der Eingabevariablen (Eingabealphabet) Y = Ausprägungsmenge der Ausgabevariablen (Ausgabealphabet) Z = Ausprägungsmenge der Zustände f z = Zustandsfunktion, f z : X x Z f a = Ausgabefunktion, f a : X x Z Der Automat heißt endlich, wenn die Mengen X, Y und Z endlich sind. Z Y Theoretische Informatik I Automatentheorie 3 Nischwitz/Vogt

4 Eingaben, Ausgaben und Zustände Die drei Ausprägungsmengen in der Definition eines Automaten können folgendermaßen interpretiert werden: 1. Eingabe: Ein Automat muß 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 Nischwitz/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 Nischwitz/Vogt

6 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, daß 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 Nischwitz/Vogt

7 Nicht-deterministische Automaten Als Verallgemeinerung der bisher definierten (deterministischen) Automaten, in denen die Zustands- und die Ausgabefunktion echte Funktionen, d.h. mit einem eindeutigen Funktionswert sind, betrachtet man auch Automaten, deren Zustands- und/oder Ausgabe-"funktion" Relationen sind, also mehrere Werte annehmen können. 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 Potenzmenge (Z) f a : X x Z Potenzmenge (Y) Theoretische Informatik I Automatentheorie 7 Nischwitz/Vogt

8 Beschreibung von Automaten Zur Beschreibung des Verhaltens von Automaten dienen a) Zustandsdiagramme (state diagram) b) Zustandstabellen (state table) Elemente zur Darstellung von Zustandsdiagrammen: x y akt. Eingabe / akt. Ausgabe Zustandsknoten Zustandsvektor Aufbau von Zustandstabellen Zustände (1. Angabe: neuer Zustand, 2. Angabe: Ausgabewert) Eingaben z 1 z 2 z 3... z n x 1 z 11,y 11 z 12,y 12 z 13,y z 1n,y 1n x 2 z 21,y 21 z 22,y 22 z 23,y z 2n,y 2n x m z m1,y m1 z m2,y m2 z m3,y m3... z mn,y mn Theoretische Informatik I Automatentheorie 8 Nischwitz/Vogt

9 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 9 Nischwitz/Vogt

10 Mausefalle: Zustandsdiagramm und -Tafel Zustandsdiagramm: M M G T T M, T G M, T Zustandstafel: Zustände Eingaben G G M G, T G, T M G, T G, T Theoretische Informatik I Automatentheorie 10 Nischwitz/Vogt

11 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, } = { 3 Sträuße, 2 Sträuße, 1 Strauß, 0 Sträuße } Eingabemenge X : Ein Nelkenstrauß kostet 2.--, der Automat akzeptiert nur Zwei-Euro-Stücke, wechselt also nicht. X = { x 1, x 2,x 3 } = { 2- -Stück, unpassendes Geld, keine Eingabe } Ausgabemenge Y : Y = { y 1, y 2, y 3 } = { 1 Nelkenstrauß, Geldstück, keine Ausgabe } Theoretische Informatik I Automatentheorie 11 Nischwitz/Vogt

12 Blumenautomat: Zustands- und Ausgabefunktion Zustandsfunktion f z : X x Z Z mögl. mögliche Zustände Eingaben z 3 z 2 z 1 x 1 z 2 z 1 x 2 z 3 z 2 z 1 x 3 z 3 z 2 z 1 Ausgabefunktion f a : X x Z Y mögliche Zustände Eingabe z 3 z 2 z 1 x 1 y 1 y 1 y 1 y = x 2 1 x y 2 2 = x 2 y 2 = x 2 y 2 = x 2 y = x 2 2 x y 3 3 y 3 y 3 y 3 Theoretische Informatik I Automatentheorie 12 Nischwitz/Vogt

13 Blumenautomat : Zustandsfolgetabelle Eingabe Zustand Folgezustand Ausgabe x 1 z 3 z 2 y 1 x 1 z 2 z 1 y 1 x 1 z 1 y 1 x 1 y 2 x 2 z 3 z 3 y 2 x 2 z 2 z 2 y 2 x 2 z 1 z 1 y 2 x 2 y 2 x 3 z 3 z 3 y 3 x 3 z 2 z 2 y 3 x 3 z 1 z 1 y 3 x 3 y 3 Theoretische Informatik I Automatentheorie 13 Nischwitz/Vogt

14 Blumenautomat : Zustandsdiagramm x 2 y 2 x 2 y 2 z 3 x 1 y z 2 1 y 3 y 3 x 3 x 1 x 3 y 3 x 3 y 1 x 2 y 1 x 1 x 2 z 1 y 2 y 2 x 1 y 2 y 3 x 3 Theoretische Informatik I Automatentheorie 14 Nischwitz/Vogt

15 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 15 Nischwitz/Vogt

16 Inzidenzmatrizen für stochastische Automaten Bei einem deterministischen Automaten ist der Übergang vom Zustand z i in den Zustand z J ein sicheres Ereignis. Im Fall eines endlichen stochastischen Automaten geschieht der Übergang mit einer Wahrscheinlichkeit n 0 < p IJ < 1 mit p = IJ 1 j=1 die meist auch noch vom Eingabewert x abhängt. Diese Wahrscheinlichkeiten werden dann in die Inzidenzmatrizen I(x k ) (eine Matrix pro Eingabewert) eingetragen. z i z j z 1 z 2... z n z 1 p(x k ) 11 p(x k ) 12 p(x k ) 1n z 2 p(x k ) 21 p(x k ) 22 p(x k ) 2n : : : : = I(x k ) z n p(x k ) 1n p(x k ) 2n p(x k ) nn Theoretische Informatik I Automatentheorie 16 Nischwitz/Vogt

17 Blumenautomat : Inzidenzmatrizen Ableitung der Inzidenzmatrizen I (eine Matrix für jeden Eingabewert): 1. Für jeden Zustand z i den Folgezustand z J bei diesem Eingabewert feststellen. 2. Das entsprechende Matrixelement i ij wird mit 1 und der zugehörigen Ausgabe markiert. z i z J z 3 z 2 z 1 z i z J z 3 z 2 z 1 z 3 0 1,y z 3 1,y z ,y 1 0 = I(x 1 ) z 2 0 1,y = I(x 2 ) z ,y 1 z ,y ,y ,y 2 z i z J z 3 z 2 z 1 z 3 1,y z 2 0 1,y = I(x 3 ) z ,y ,y 3 Theoretische Informatik I Automatentheorie 17 Nischwitz/Vogt

18 Technische Realisierung von Automaten Rückkopplungsschleife z z 1. Schaltnetz Speicher z 2.Schaltnetz x z + x y Erklärung: 1. Schaltnetz: Übergangsschaltnetz oder "next state decoder" Aus der Eingabe x und dem Zustand z wird der Folgezustand z + abgeleitet. 2. Schaltnetz : Ausgabe- (Ausgangs-) Schaltnetz "output decoder" Aus den Variablen x und z wird die Ausgangsvariable y abgeleitet. Theoretische Informatik I Automatentheorie 18 Nischwitz/Vogt

19 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,, f z ) wobei: X = { x 1, x 2,..., x n } Eingabealphabet Z = {, z 1,..., z m } Zustandsmenge Z E = { z e1,..., z er } Z Menge der (zulässigen) Endzustände Z : Anfangszustand, wobei Z E f z : X x Z Z Zustandsfunktion Theoretische Informatik I Automatentheorie 19 Nischwitz/Vogt

20 Modell eines erkennenden Automaten Eingabeband x 1 x 7 x 5 x 3 x 4 x 2 Bewegung Lesekopf Interne Zustände, z 1,..., z n Im Zustandsdiagramm führt man zusätzlich folgende Notationen ein: Anfangszustand (mit Bedingung Z E ) Endzustand z e Z E Theoretische Informatik I Automatentheorie 20 Nischwitz/Vogt

21 Beispiel 1 Gegeben sei ein erkennender, endlicher Automat A durch: X = { a, b }, Z = {, z 1, z 2 }, Z E = { z 2 } sowie die Überführungsfunktion in Form des Zustandsdiagrammes: Zustand nach Eingabe Abarbeitung b a a b z 1 a a z 1 b a b a b a b b z 2 a a b b a b b z 2 b z 2 Theoretische Informatik I Automatentheorie 21 Nischwitz/Vogt

22 Beispiel 2 Gegeben sei ein erkennender, endlicher Automat durch: X = { 0, 1 }, Z = {, z e }, Z E = { z e } und die nebenstehende 0 1 Überführungsfunktion f z in Form einer Zustandstafel z e z e z e Frage: Was leistet der Automat, welche Eingaben führen in den zulässigen Endzustand? Eingabe Zustand nach Abarbeitung z e z e 1 z e Theoretische Informatik I Automatentheorie 22 Nischwitz/Vogt

23 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 muß ein Automat für eine vorgegebene Aufgabe beschaffen sein Konstruktions- / Syntheseproblem Theoretische Informatik I Automatentheorie 23 Nischwitz/Vogt

24 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 nicht bekannt, wieviele Zustände notwendig sein werden. Entwurf: a z 1 a 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. Hier kann aa oder bb nur am Anfang einer Eingabe stehen. Theoretische Informatik I Automatentheorie 24 Nischwitz/Vogt

25 Konstruktion eines Automaten - 2. Entwurf Richtiger, vollständiger Entwurf: a z 1 a a b a b z e b b z 2 Die (Teil-)Folge aa oder bb kann nun am Anfang, in der Mitte, oder am Ende des Eingabewortes erkannt werden. Wichtige Forderung: In jedem einzelnen Zustand müssen alle Eingabemöglichkeiten, also alle Elemente der Eingabemenge berücksichtigt werden. Theoretische Informatik I Automatentheorie 25 Nischwitz/Vogt

26 Konstruktion eines Automaten - 2. Beispiel Aufgabe: Es soll ein endlicher Automat entworfen werden, der für X = { a, b, c } ausgehend von genau nach Eingabe von abc, abcabc, abcabcabc,... in einen Endzustand gelangt. Entwürfe: c a) z a 1 z b 2 falsch, u.a. da Z E b) a noch unvollständig c) a a b c a b c z 1 b z 2 c z e a b c z 1 z 2 z a c e a b b c z 3 vollständig richtig! Bemerkung: aus z 3 ist der Endzustand z e nicht mehr erreichbar Theoretische Informatik I Automatentheorie 26 Nischwitz/Vogt

27 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äßt 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 genommen werden. Insbesondere interessiert uns, in welchen Zustand der Automat ausgehend vom Startzustand bei einem Eingabewort x X* übergeht. Definition: Sei A = ( X, Z, f z,, Z E ) ein endlicher Automat und x X * ein Eingabewort. Der Automat A akzeptiert (oder erkennt) x, wenn f z * (x, ) Z E, d.h. wenn A bei der Verarbeitung von x in einen Endzustand übergeht. Theoretische Informatik I Automatentheorie 27 Nischwitz/Vogt

28 Sprache eines endlichen Automaten Definition: Die Menge aller Eingabewörter x X*, die ein endlicher Automat A = ( X, Z, f z,, Z E ) akzeptiert, heißt die Sprache L(A) von A, also L(A) = {x X* f z * (x, 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: Die Sprache L(A) X* eines endlichen Automaten kann eine endliche oder unendliche Menge sein. Satz: Es gibt (jede Menge) Teilmengen von X*, die nicht Sprache L(A) eines endlichen Automaten sind. Theoretische Informatik I Automatentheorie 28 Nischwitz/Vogt

29 Eine interessante Sprache Notation: x = a... a b.... b = a m b n z. B. x = aaaaabbb = a 5 b 3 m n Gegeben sei X = { a, b } und die Sprache L = { x x = a m b m, m N }. Aufgabe: Konstruiere einen Automaten, der diese Sprache akzeptiert. Konstruktionsversuch: a b a b a b a b a b b b b b b a a a a a Theoretische Informatik I Automatentheorie 29 Nischwitz/Vogt

30 Pumping-Lemma für endliche Automaten Der folgende Satz ist unmittelbar einsichtig: Satz: Hat ein endlicher Automat n Zustände und besteht ein Eingabewort x aus p > n Zeichen, dann muß 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 daß sich jedes Wort z L der Länge z > n schreiben läßt als z = u v w, mit u v n und v > 1, so daß für alle i > 0 auch u v i w L. Folgerung: Die Sprache L = { x x = a m b m, m N } ist nicht Sprache eines endlichen Automaten. Theoretische Informatik I Automatentheorie 30 Nischwitz/Vogt

31 Nichtdeterministische Automaten Deterministischer Automat: f z : X x Z Z, d.h. zu jedem Tupel (x i, z i ) gibt es genau einen Folgezustand. Nichtdeterministischer Automat: Bei gegebenem Eingabezeichen und Zustand kann der Automat in verschiedene Zustände übergehen, d.h. es ist kein eindeutiger Folgezustand gegeben. Beispiel: X = { 0, 1 } Z = {, z 1, z 2, z 3 } Z E = { z 3 } 0 0,1 0,1 0,1 z 1 z 2 z 3 0,1 z 4 0,1 (nicht determiniert für (,0)) Übergangsrelation : { ( 0,, ), ( 0,, z 1 ), ( 1,, ), ( 0, z 1, z 2 ), X x Z x Z ( 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 31 Nischwitz/Vogt

32 Nichtdeterministischer endlicher Automat 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 1,..., z m } Zustandsmenge Z E = { z e1,..., z er } Z Menge der (zulässigen) Endzustände S Z 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 x X*, x = x i x' rekursiv definiert: U f z * (Λ, Z') = Z', f z * (x i x', Z') = f z * (x', f z (x i, z)) z Z' Theoretische Informatik I Automatentheorie 32 Nischwitz/Vogt

33 Sprache eines nichtdeterministischen Automaten Definition: Die Sprache L(A) eines nichtdeterministischen Automaten A ist die Menge von Eingabewörtern x, für die es, ausgehend von einem Startzustand, eine Folge von Zuständen gibt, die in einem erlaubten Endzustand endet. Formal: L(A) = {x X* f z * (x, S) Z E } Bemerkungen: Ein deterministischer Automat ist schneller bei der Überprüfung, ob x L(A) ist. Anwendung: Compiler, Mustererkennung (pattern matching). Ein nichtdeterministischer Automat ist platzsparender. Theoretische Informatik I Automatentheorie 33 Nischwitz/Vogt

34 Äquivalenzsatz für endliche Automaten Satz: Zu jedem nichtdeterministischen endlichen Automaten gibt es 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') = U f z (x, z) = f z * (x, Z') für Z' P(Z) z Z' Dann gilt für alle x = x 1 x 2... x r X*: x L(A) f z * (x, 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 ' * (x, S) Z E ' x L(A') Theoretische Informatik I Automatentheorie 34 Nischwitz/Vogt

35 Minimierung von Automaten Ein kleinster Automat (d.h. einer mit einer minimalen Anzahl von Zuständen), der ein gegebenes Verhalten zeigt, wird als minimaler Automat bezeichnet. Definition: Äquivalenz zweier Automaten Zwei Automaten A 1, A 2 heißen äquivalent, wenn sie a) als übersetzende Automaten das gleiche Ein-Ausgabe-Verhalten haben b) als erkennende Automaten die gleiche Sprache akzeptieren. Definition: Minimale Automaten Ein Automat heißt minimal, wenn es keinen äquivalenten Automaten mit weniger Zuständen gibt. Theoretische Informatik I Automatentheorie 35 Nischwitz/Vogt

36 Konstruktion minimaler Automaten (1) Bei fast allen Automatentypen gibt es zu einem Automaten mehrere verschiedene, äquivalente minimale Automaten. Bei deterministischen endlichen Automaten ist der minimale Automat eindeutig bestimmt und läßt sich nach folgenden Regeln konstruieren: Regeln: 1. Entferne alle Zustände, die vom Anfangszustand 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 x X* gilt: f z * (x, z) Z E f z * (x, z') Z E Die nächste Folie beschreibt einen Algorithmus zur Bestimmung äquivalenter Zustände. Theoretische Informatik I Automatentheorie 36 Nischwitz/Vogt

37 Konstruktion minimaler 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 Darstellung der Zustandspaare ist z.b.: z 3 z 2 z 1 z 3 z 2 z 1 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 n das Zustandspaar (f z (x n,z i ),f z( x n,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 37 Nischwitz/Vogt

38 Minimierung endlicher Automaten - Beispiel Beispiel: Gegeben sei ein erkennender endlicher Automat A = ( X, Z, f z,, Z E ) durch: X = { 0, 1 }, Z = { A, B, C, D, E, F, G }, = { A }, Z E = { C, E } f z : 0 1 B 1 C 0 F A D 1 E 1 G Minimalversion : F, G sind nicht erreichbar B ist äquivalent zu D, C zu E 0 A 1 0,1 B C 1 Theoretische Informatik I Automatentheorie 38 Nischwitz/Vogt

39 Grenzen endlicher Automaten Wir haben gesehen, daß es Sprachen gibt (sogar sehr einfache), die nicht von einem endlichen Automaten erkannt werden, z.b. L = { x x = a m b m, m N } Auch die nicht-deterministischen endlichen Automaten erweitern nicht die Klasse der Sprachen endlicher Automaten. Das Problem liegt darin, daß ein endlicher Automat kein Gedächtnis hat: er merkt sich z.b. nicht, wieviele a's schon aufgetreten sind. Wir suchen also nach einer Klasse von Automaten mit einer gewissen Speicherfähigkeit. Theoretische Informatik I Automatentheorie 39 Nischwitz/Vogt

40 Modellvorstellung eines Kellerautomaten Ein Kellerautomat ist ein endlicher Automat erweitert um einen Keller (Stack): Eingabeband x i Modell: Lese-Kopf interne Zustände S/L-Kopf k n Speicherband Erklärung: Mit Hilfe des Kellers kann der Automat sich beliebig viele Zeichen "merken". Zustandsübergänge 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 Speicherband heruntergenommen und "vergessen". Theoretische Informatik I Automatentheorie 40 Nischwitz/Vogt

41 Definition eines Kellerautomaten Definition: Ein Kellerautomat ist ein 7-Tupel KA = ( X, Z, K,, k 0, Z E, f K ), wobei X = { x 1, x 2,..., x n } Eingabealphabet Z = { z 1, z 2,..., z m } Zustandsmenge Z Anfangszustand 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 P e (Z x K*) Überführungsfunktion (Λ = leeres Wort, 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 K (Λ,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 Spezifikation einer Menge Z E von Endzuständen zu verlangen. Theoretische Informatik I Automatentheorie 41 Nischwitz/Vogt

42 Interpretation der Überführungsfunktion Die Überführungsfunktion gibt abhängig von dem momentanen Eingabezeichen, dem momentanen Zustand und dem obersten Kellerzeichen an, in welchen Zustand der Automat übergeht und 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) Abhängig vom obersten Zeichen k x Ersetzen mit k i k (PUSH k x i ) Daß f K auch für (Λ, z, k) definiert ist bedeutet, daß unabhängig vom Eingabezeichen eine "spontane" Änderung des Zustandes mit Ersetzen des obersten Kellerzeichens möglich ist (aber ohne Bewegen des Eingabebandes). Theoretische Informatik I Automatentheorie 42 Nischwitz/Vogt

43 Arbeitsweise eines Kellerautomaten Am Anfang befindet sich der KA im Zustand, der Lese-Kopf über dem linken Zeichen des Eingabewortes x, der Schreib-Lese-Kopf über dem untersten Kellerfeld mit dem Inhalt k 0. Wenn sich im Lauf der Abarbeitung von x unter dem Lese-Kopf das Zeichen x i, unter dem SL-Kopf das Zeichen k h befindet und der Kellerautomat im Zustand z J ist, so geschieht folgendes : 1. Ist f K (x i, z J, k h ) = f K (Λ, z J, k h ) =, so bleibt der Automat stehen. 2. 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 ersetzt durch k K*, 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). 3. Ist (z r, k ) f K ( Λ, z J, k h ) wird wie bei 2. vorgegangen, aber das Eingabeband nicht bewegt. 4. Beim Versuch, das Kellerbodenzeichen zu entfernen, bleibt der Kellerautomat stehen. Theoretische Informatik I Automatentheorie 43 Nischwitz/Vogt

44 Sprache eines Kellerautomaten Definition: Ein Eingabewort x X* wird von einem Kellerautomaten akzeptiert, wenn der Kellerautomat nach Abarbeiten von x in einem Endzustand ist und der Keller leer ist (bzw. im nichtdeterministischen Fall: wenn es eine Abarbeitungsfolge gibt, die dies erreicht). Definition: Die Sprache L(KA) eines Kellerautomaten KA ist die Menge der von ihm akzeptierten Wörter x X*. Bemerkung: Für nicht-deterministische Kellerautomaten ist es äquivalent, das Akzeptieren eines Wortes durch Erreichen eines Endzustandes zu definieren oder dadurch, daß der Keller leer ist (oder beides). Für deterministische Kellerautomaten ist dies nicht der Fall. Theoretische Informatik I Automatentheorie 44 Nischwitz/Vogt

45 Deterministische vs. nichtdeterministische 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 {0,1} } wird von einem nicht-deterministischen, jedoch von keinem deterministischen Kellerautomaten erkannt. 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 der Sprachen, die von deterministischen Kellerautomaten erkannt werden. Theoretische Informatik I Automatentheorie 45 Nischwitz/Vogt

46 Kellerautomat - 1. Anwendungsbeispiel Syntaktische Analyse von Programmiersprachen, z.b. erkennender Automat für korrekt geklammerte arithmetische Ausdrücke. Das Eingabeband enthält den zu überprüfenden arithmetischen Ausdruck.... a + ( a - b ) * a... Eingabeband L-K : "(" eine "(" wird in den Keller geschrieben, ( und der SL-Kopf ein Feld nach oben bewegt. SL-K ( ")" die zuletzt geöffnete Klammer wird abgearbeitet und k 0 der SL-Kopf ein Feld nach unten bewegt. Wenn der arithmetische Ausdruck abgearbeitet ist, muß der Keller bis auf k 0 leer sein. Fehlermöglichkeiten: Mehr "(" als " )", d.h. der Keller ist nicht leer. Mehr ")" als "(", d.h. Versuch k 0 zu löschen. Theoretische Informatik I Automatentheorie 46 Nischwitz/Vogt

47 Kellerautomat - 2. Anwendungsbeispiel Ein Kellerautomat, der die Sprache L(KA) = { x x = a n b n, n N } erkennt, wird definiert durch: X = { a, b }, Z = { z 1, z 2, z 3, z F }, = z 1, z E = { z 3 }, K = { k, a } f K : f K ( a, z 1, k ) = ( z 1, ak ) f K ( b, z 1, k ) = ( z F, k ) f K ( a, z 1, a ) = ( z 1, aa ) f K ( b, z 2, k ) = ( z F, k ) f K ( b, z 1, a ) = ( z 2, Λ ) f K ( a, z 2, * ) = ( z F, * ) f K ( b, z 2, a ) = ( z 2, Λ ) f K ( *, z F, * ) = ( z F, * ) f K (Λ, z 2, k ) = ( z 3, k ) ( künstlich in Endzustand bringen) Eingabeband Zustand Speicherband a a a b b b Λ z 1 k Λ Λ Λ Λ Λ a a a b b b Λ z 1 k 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 a a b b b Λ z 2 k a a Λ Λ Λ a a a b b b Λ z 2 k a Λ Λ Λ Λ a a a b b b Λ z 2 k Λ Λ Λ Λ Λ a a a b b b Λ z 3 k Λ Λ Λ Λ Λ Theoretische Informatik I Automatentheorie 47 Nischwitz/Vogt

48 Grenzen von Kellerautomaten Auch mit Kellerautomaten lassen sich nicht alle Sprachen erkennen. Eine Sprache, die von keinem Kellerautomaten erkannt wird 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 daß sich jedes Wort z L der Länge z > n schreiben läßt als z = uvwxy, vx > 1, und so daß 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 nach jeder Bewegung nach unten gelöscht. Theoretische Informatik I Automatentheorie 48 Nischwitz/Vogt

49 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 Problemen. Aufbau einer Turingmaschine (Modell) unendliches SL - Kopf Arbeitsband L H R interne Zustände Im Gegensatz zu Kellerautomaten gibt es keinen Unterschied mehr zwischen Eingabe- und Speicherband. Theoretische Informatik I Automatentheorie 49 Nischwitz/Vogt

50 Definition einer Turingmaschine Definition: Eine Turingmaschine ist ein 6-Tupel T = ( X, Z, B,, Z E, u ) wobei X = { x 0, x 1,..., x r } Menge der Bandzeichen, Bandalphabet Z = {, z 1,..., z n } Menge der internen Zustände B = { R, L, H } Menge der Kopfbewegungen Z Anfangszustand Z E Z Menge der (zulässigen) Endzustände u : (X Λ) x Z (X Λ) x Z x B Überführungsfunktion (Λ = leeres Zeichen, Blank) Für eine nicht-deterministische Turingmaschine definieren wir die Überführungsfunktion wie folgt: u : (X Λ) x Z P((X Λ) x Z x B) Theoretische Informatik I Automatentheorie 50 Nischwitz/Vogt

51 Arbeitsweise einer Turingmaschine Zu Beginn befindet sich die Turingmaschine T im Anfangszustand Z und der Schreib- Lese-Kopf über dem ersten (linkesten) Zeichen des Eingabewortes. 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, 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 einen Endzustand z i Z E erreicht. Die Überführungsfunktion u entspricht einem einfachen Maschinenprogramm mit minimalem Befehlsvorrat. Theoretische Informatik I Automatentheorie 51 Nischwitz/Vogt

52 1. Beispiel einer Turingmaschine X = { 0, 1 }, Z = {, z 1 }, Z E = { z 1 } u: Maschinentafel Gesucht ist eine Turingmaschine, deren SL-Kopf 0 1 auf einem Feld mit 1 stehend nach rechts das 1z 1 H 1 R erste Feld sucht, das eine 0 enthält, in dieses z 1 0z 1 H 1z 1 H Feld eine 1 schreibt, und darüber stehen bleibt. Bandbeschriftung: / / / / z 1 /1 0 Halt Theoretische Informatik I Automatentheorie 52 Nischwitz/Vogt

53 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 1, z 2, z e }, {R,L,H}, { }, {z e }, u } u (, 0) = (, 0, R) u (z 1, 0) = (z 2, 1, L) u (, 1) = (, 1, R) u (z 1, 1) = (z 1, 0, L) u (, Λ) = (z 1, Λ, L) u (z 1, Λ) = (z e, 1, H) u (z 2, 0) = (z 2, 0, L) u (z 2, 1) = (z 2, 1, L) u (z 2, Λ) = (z e, Λ, R) Übung: Beschreiben Sie die einzelnen Schritte, die diese Turingmaschine bei der Eingabe 101 durchläuft. Theoretische Informatik I Automatentheorie 53 Nischwitz/Vogt

54 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 nichtdeterministischen 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. Satz (Zusammenhang zur Theorie der Sprachen und Grammatiken): Zu jeder Grammatik gibt es eine Turingmaschine, die die von dieser Grammatik erzeugte Sprache akzeptiert. Umgekehrt gibt es zu jeder Turingmaschine T eine Grammatik, die die von T akzeptierte Sprache erzeugt. Satz: Zu jeder nicht-deterministischen Turingmaschine gibt es eine deterministische Turingmaschine, die dieselbe Sprache akzeptiert. Theoretische Informatik I Automatentheorie 54 Nischwitz/Vogt

55 Das Halteproblem für Turingmaschinen Definition : Unter dem Halteproblem für Turingmaschinen versteht man die Frage nach der Existenz eines Algorithmus, 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 für eine beliebige Turingmaschine, angesetzt auf irgendeine Bandbeschriftung, feststellt ( entscheidet ), ob die Turingmaschine anhält oder nicht. Theoretische Informatik I Automatentheorie 55 Nischwitz/Vogt

56 Turingberechenbarkeit + 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", daß das Verfahren von einer genügend großen Zahl von Menschen als berechenbar 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,denn anschaulich besagt die Church'sche These: Zu jedem algorithmischen Verfahren (unabhängig von der Darstellungsart) läßt sich eine Turingmaschine konstruieren, die die gleiche Funktion berechnet. Weitere Möglichkeiten zur Präzisierung des Algorithmenbegriffs berechenbarer Funktionen: Registermaschinen, µ -rekursive Funktionen, formale Logik (Prolog) Theoretische Informatik I Automatentheorie 56 Nischwitz/Vogt

57 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äßt, auf dem das Eingabewort steht. Bemerkung: Eine linear beschränkte Turingmaschine muß eine Möglichkeit haben, das Ende des Eingabewortes zu erkennen. Satz: Die Menge der von nicht-deterministischen, linear beschränkten Automaten akzeptierten Sprachen ist genau die Menge der kontextsensitiven Sprachen. (vgl. Kapitel formale Sprachen ) LBA-Problem: Es ist bis heute nicht bekannt, ob es zu jedem nicht-deterministischen LBA einen deterministischen LBA gibt, der dieselbe Sprache akzeptiert. Theoretische Informatik I Automatentheorie 57 Nischwitz/Vogt

Endliche Automaten, Kellerautomaten und Turingmaschinen

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni Christian Franz

Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni Christian Franz Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni 2 Christian Franz Inhaltsverzeichnis Wiederholung: Vorlesung vom 9.6.2... Beispiele für Äquivalenzklassen... 4.5. Minimierung

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

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

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

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

Ü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

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

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

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

Ü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. 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Turingmaschinen. Sabine Kuske: Turingmaschinen; 23.Juni 2008

Turingmaschinen. Sabine Kuske: Turingmaschinen; 23.Juni 2008 1 Turingmaschinen Von Alan Turing in den 30er Jahren dieses Jahrhunderts eingeführt Eines der ältesten Berechenbarkeitsmodelle Idee: den mechanischen Anteil des Rechnens mit Bleistift und Radiergummi auf

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

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

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

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

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

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

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

Schreib- Lesekopf S 1

Schreib- Lesekopf S 1 Die Turingmaschine (Alan M. Turing 1936) Maschinenband beidseitig unbegrenzt F F F F F F a a a b b b F F F F F F F F Schreib- Lesekopf S 1 T = ( Σ;S;B;F;s 0 ; ϕ ) Dabei ist Σ= {e 1;e 2...e n} Das Maschinenalphabet

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ALP I Turing-Maschine

ALP I Turing-Maschine ALP I Turing-Maschine Teil I SS 2011 Äquivalenz vieler Berechnungsmodelle Alonzo Church λ-kalkül Kombinatorische Logik Alan Turing Turing-Maschine Mathematische Präzisierung Effektiv Berechenbare Funktionen

Mehr

Grundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier. Henning Fernau Universität Trier

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

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

Berechenbarkeitstheorie 1. Vorlesung

Berechenbarkeitstheorie 1. Vorlesung Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Zentrale Themen

Mehr

Automaten und Formale Sprachen SoSe 2013 in Trier

Automaten und Formale Sprachen SoSe 2013 in Trier Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

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

Grundlagen der Theoretischen Informatik

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

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

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

Unentscheidbare Probleme bei formalen Sprachen

Unentscheidbare Probleme bei formalen Sprachen Unentscheidbare Probleme bei formalen Sprachen Maximilian Zagler 22.01.2008 Freie Universität Berlin, Institut für Informatik Proseminar Theoretische Informatik WS 07/08 Dozent: Prof. Dr. Helmut Alt 1

Mehr

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung Theoretische Informatik und Logik Übungsblatt (26S) en Aufgabe. Sei L = {w#w r w {, } }. Geben Sie eine deterministische Turingmaschine M an, welche die Sprache L akzeptiert. Wählen Sie mindestens einen

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

Grundlagen der Informatik II

Grundlagen der Informatik II Grundlagen der Informatik II Tutorium 2 Professor Dr. Hartmut Schmeck Miniaufgabe * bevor es losgeht * Finden Sie die drei Fehler in der Automaten- Definition. δ: A = E, S, δ, γ, s 0, F, E = 0,1, S = 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

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

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

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

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

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

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

Adventure-Problem. Vorlesung Automaten und Formale Sprachen Sommersemester Adventure-Problem

Adventure-Problem. Vorlesung Automaten und Formale Sprachen Sommersemester Adventure-Problem -Problem Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Prof. Barbara König Übungsleitung: Christina Mika-Michalski Zum Aufwärmen: wir betrachten das sogenannte -Problem, bei dem ein Abenteurer/eine

Mehr

2. Tag. Teil II. 1.5 Interpretation der Grenzwertregeln

2. Tag. Teil II. 1.5 Interpretation der Grenzwertregeln Teil II 2. Tag Die bisherige Darstellung war zwar weitgehend intuitiv, ist aber für Beweise über Komplexitätsaussagen nur bedingt geeignet. 1.5 Interpretation der Grenzwertregeln Für die Funktionen f,g

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: 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

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

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

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 6 7 7 8 8 12 err. Punkte Gesamtpunktzahl: Note: 1 Aufgabe 1 (3+1+1+1 = 6 Punkte) Es seien

Mehr