Endliche Automaten, Kellerautomaten und Turingmaschinen
|
|
- Franz Vogt
- vor 6 Jahren
- Abrufe
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 Inhaltsübersicht und Literatur Der Begriff des Automaten Endliche Automaten mit Ausgabe Technische Realisierung von Automaten Erkennende
MehrDie 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
Mehr1 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
MehrKapitel 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
MehrTheorie 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)
Mehr8. 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
MehrWS06/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.
MehrGrundlagen 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
MehrGrundlagen 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
Mehrc) {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, λ}?
MehrBerechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
MehrALP 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
Mehr11.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
MehrRegulä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
MehrTuringmaschinen 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
Mehr11.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,
MehrEinige 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
MehrSprachen 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
MehrFrank 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
MehrProseminar 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........................................
Mehr1936 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
MehrLö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,
MehrRekursiv 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
MehrTheoretische 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
Mehr7 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
MehrKapitel: 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
MehrZusammenfassung 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
MehrTheoretische 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
MehrFragen 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
MehrTheorie 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
MehrEin 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
MehrTuring 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
MehrTuring-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
MehrTheoretische 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
MehrEinfü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
MehrI.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 (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
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
Mehr11. Ü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 =
MehrWorterkennung 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
MehrWir 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
Mehr5.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
Mehr5.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
MehrTheoretische 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
MehrEinfü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
MehrKurz-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 ε
MehrAlgorithmen 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
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
Mehr2.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
MehrAutomaten 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
MehrGrundlagen 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
MehrGrundbegriffe 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
MehrEinfü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
Mehr4.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,
Mehr2. 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
MehrTheoretische 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
MehrWorterkennung 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,
MehrDeterministische 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
Mehr11. 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
MehrDie 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
MehrTheoretische 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
Mehr1 Σ 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
MehrAuffrischung 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
MehrGrundlagen 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
MehrTheoretische 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
MehrAutomaten 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
Mehr1.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
MehrEinfü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...................................
MehrFormale 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
MehrTHIA - Ü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
Mehr4.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
MehrFalls 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
Mehr1 Σ 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
MehrKontextfreie Sprachen
Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung
Mehr2. 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
MehrGrundbegriffe 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)
MehrDeterministische 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
MehrEndliche 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
MehrTuringautomaten 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
MehrUniversitä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/
Mehr2. Ü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
MehrGrundlagen 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
MehrEndliche 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,
MehrGrundlagen 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
MehrKontextfreie 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
MehrEinfü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
MehrKlausur 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
MehrAusgewä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
MehrMusterlö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
MehrGrundlagen 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
Mehr1. 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:
MehrAutomaten 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
MehrTheoretische 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
Mehr1 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
MehrGrundlagen 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
MehrGrundbegriffe 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
MehrUnentscheidbarkeitssä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
MehrWelches 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
MehrGrundlagen 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
MehrRegulä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