heoretische Informatik 1 uringmaschinen David Kappel Institut für Grundlagen der Informationsverarbeitung echnische Universität Graz 11.03.2016
Übersicht uring Maschinen Algorithmusbegriff konkretisiert Modelldefinition uring-berechenbarkeit Berechnungspfad Kosten und Komplexität Formale Sprachen Zusammenhang von Formalen Sprachen und M Chomsky-Hierarchie Zusammenfassung
Begriff Algorithmus Das Zehnte Hilbert sche Problem 1 (dt. Originaltext) Eine diophantische (=ganzzahlige) Gleichung mit irgendwelchen Unbekannten und mit ganzen rationalen Zahlenkoeffizienten sei vorgelegt. Man soll ein Verfahren angeben, nach welchem sich mittels einer endlichen Anzahl von Operationen entscheiden lässt, ob die Gleichung in ganzen Zahlen lösbar ist. David Hilbert (1912) 2 1 David Hilbert präsentiert 1900 in Paris die 23 offenen Probleme der Mathematik 2 Aus Wikipedia - die freie Enzyklopädie
Begriff Algorithmus Hilbert hat also explizit und in definierter abstrakter Form nach einem Entscheidungsalgorithmus gefragt. Er war davon überzeugt, dass es einen solchen prinzipiell immer gibt. atsächlich konnte 1970 bewiesen werden, dass es keinen solchen Algorithmus geben kann.
Begriff Algorithmus uringmaschine 1936 schlug Alan uring ein allgemeines Maschinenmodell für Berechnungen vor: die uringmaschine Er stellte die hese auf, dass sich jede intuitiv berechenbaren Funktion als uringmaschine darstellen lässt (Church-uring hese). Alan uring (1912-1954) 1 1 Aus Wikipedia - die freie Enzyklopädie
uringmaschine Schema eines sequentiellen Rechners Eingabe Prozessor Ausgabe Programm Speicher Einfachste Variante: Eingabe, Ausgabe, Speicher auf einem einzigen Band.
Schema: uringmaschine
Definition: uringmaschine Definition (Deterministische uringmaschine) Eine DM ist ein 7-upel = (Q, Σ, Γ, δ, q 0,, F) Q, eine Menge von Zuständen Σ, das Eingabealphabet, / Σ Γ, das Bandalphabet, Σ Γ, Blanksymbol: Γ q 0 Q, der Anfangszustand F Q, eine Menge von (akzeptierenden) Endzuständen, das Blanksymbol δ : Q Γ Q Γ {,, }, die Übergangsfunktion
Startkonfiguration Start: Die Eingabe steht auf dem sonst leeren Band. Der Kopf steht auf dem ersten Eingabezeichen. Definition (Startkonfiguration) Die Startkonfiguration κ 0 einer DM mit Eingabe w lautet q 0 w, mit w Σ. Definition (Kleenesche Hülle) Die Kleenesche Hülle Σ über dem Alphabet Σ ist die Menge aller endl. Zeichenketten (Wörter) die durch zusammenfügen von Elementen aus Σ gebildet werden können. Bsp.: Σ = {0, 1}, Σ = {ɛ, 0, 1, 00, 01, 10, 11, 000, 001,... }
Konfiguration Definition (Konfiguration einer DM) Wir definieren die Konfiguration κ einer DM zu einem beliebigen Zeitpunkt der Berchnug als das upel κ = (α, q, β) Γ Q Γ wobei q ist der aktuelle Zustand α ist das Wort links vom Kopf, β ist das Wort unter und rechts vom Kopf, und wird als α q β angeschrieben z.b: q 0 100111, 100q 1 111, q 3 101000
Definition (Konfigurationsrelation ) Die schrittweise Abarbeitung der DM wird durch die Übergangsfunktion δ (das Programm) festgelegt. Daraus leitet sich die Konfigurationsrelation wie folgt ab. δ(q, b) = (q, c, ) α a q b β α a q c β δ(q, b) = (q, c, ) α a q b β α a c q β δ(q, b) = (q, c, ) α a q b β α q a c β δ(q, b) = q F α a q b β ist die reflexive, transitive Hülle von, analog +, q, q Q, a, b, c Γ, α, β Γ i
Beispiel Einfache DM 1 : Binärer Inkrementierer Σ = {0, 1}, Γ = {0, 1, }, Q = {s, t, u, h}, F = {h}, q 0 = s M-Programm q Q b Γ δ(q, b) 1: s 0 (s, 0, ) 2: s 1 (s, 1, ) 3: s (t,, ) 4: t 1 (t, 0, ) 5: t 0 (u, 1, ) 6: t (h, 1, ) 7: u 0 (u, 0, ) 8: u 1 (u, 1, ) 9: u (h,, ) siehe JFLAP-Konstruktion (Übung) 1 Papadimitriou, Fig.2.2f.
Berechnungspfad Die Berechnung eine DM erzeugt einen Berechnungspfad α 0 q 0 β 0 α 1 q 1 β 1 α 2 q 2 β 2 Die Berechnung ist endlich, gdw. α N, q N, β N : α 0 q 0 β 0 α N q N β N Eine in α N q N β N endende Berechnung heißt akzeptierend, genau dann wenn: q N F, sonst verwerfend.
Ausgabe Sobald die M in einen akzeptierenden Endzustand q F übergeht, besteht das Ergebnis v der akzeptierenden Berechnung der M in der Zeichenfolge von der aktuellen Kopfposition nach rechts bis exklusive dem ersten auftretenden. (q 0 w α q v β) (β = ɛ β = β ) Programm (endlicher Automat) Zustand: q Ausgabe: 1 0 1 0 0 Schreib-Lese-Kopf Band... 1 0 1 1 0 1 0 0 0 1 1...
Die Funktion f (ransducer M) Die Funktion, die von einer M beschrieben wird ist eine partielle Funktion f : Σ (Γ \ { }) { } { v : (q0 w α q v β) (β = ɛ β = β ) q F f (w) = : sonst Programm (endlicher Automat) Zustand: q Ausgabe: 1 0 1 0 0 Schreib-Lese-Kopf Band... 1 0 1 1 0 1 0 0 0 1 1...
Die Funktion f (Entscheider M) Oft ist man nicht an dem Ergebnis der Berechnung interessiert sondern nur ob die M einen akzeptierenden Zustand erreicht, oder nicht. f : Σ {0, 1, } 1 : q 0 w α q β q F f (w) = 0 : q 0 w α q β q / F : sonst Die Maschine trifft eine Entscheidung indem sie akzeptiert oder verwirft. Gilt f (w) = ist die Eingabe w nicht entscheidbar. Entscheider M: Für jede beliebige Eingabe w wird akzeptiert oder verworfen (d.h. f : Σ {0, 1}).
uring-berechenbarkeit Definition (uring-berechnenbarkeit) Eine (partielle) Funktion f : Σ Σ ist uring-berechenbar genau dann wenn DM : f (w) = f (w) Church-uring hese: Die Klasse der intuitiv berechenbaren Funktion ist genau die Klasse der uring-berechenbaren Funktionen
Kostenmaße bei Eingabe w Definition (Zeitkosten bei Eingabe w) Die Funktion t (w) : Σ N { } gibt die Länge des (endlichen) Berechnungspfades der M bei der Eingabe w an, oder, wenn dieser Berechnungspfad unendlich ist. Definition (Platzkosten bei Eingabe w) Die Funktion s (w) : Σ N { } gibt die Anzahl der Bandquadrate an, die während der Berechnung der M bei Eingabe von w besucht werden. Satz (Platzkosten sind beschränkt durch Zeitkosten) : w Σ : s (w) t (w)
Definition (Zeitkomplexität) Komplexität einer DM Die Zeitkomplexität einer DM (in Abhängigkeit der Länge der Eingabe) ist definiert als (n) = max w Σ : w n t (w) Definition (Platzkomplexität) Die Platzkomplexität einer DM (in Abhängigkeit der Länge der Eingabe) ist definiert als S (n) = max w Σ : w n s (w) Satz (Platzkomplexität ist kleiner als Zeitkomplexität) : n N : S (n) (n)
Formale Sprachen Formale Sprachen: Bestimmte Menge von Zeichenketten die aus einem Zeichenvorrat zusammengesetzt werden können. Beispiel: L = {John, Paul, Goerge, Ringo} Alle Wörter mit Σ = {a, b} der Länge 2: L = {w Σ w = 2} = {aa, ab, ba, bb} Alle Palindrome über dem Alphabet Σ = {a, b}: L = {w Σ w = w R } = {a, aa, aba, abba,... } Alle Zeichenketten, die einen Graphen mit Pfad von Knoten 1 nach n repräsentieren L = { G G = {E, V } : 1, n V 1 n}
Beispiel: G Graph als Zeichenkette Idee: Knoten und Kanten binär darstellen Σ = {0, 1, #, -} Der String hat die Form: A(v 1 )#A(v 2 )#... A(v n )# Sei q 1... q m V die Liste der Knoten die direkt von einem Knoten v i erreicht werden können A(v i ) = bin(v i )-bin(q 1 )-bin(q 2 )-... -bin(q m ) Beispiel: 1-10-11#10-1-11#11-10-100-101-1#101-100-11#100-101-11#
Zusammenhang mit M Jedes Entscheidungsproblem lässt sich als formale Sprache darstellen Wir bezeichnen mit allgemein eine effizient Codierung eines Problems Entscheidungsgrenze der Sprache kann mit uringmaschinenprogramm definiert werden
Chomsky-Hierarchie Hierarchisches Schema formaler Sprachen. Umfasst 4 ypen formaler Sprachen. Jede Ebene grenzt die darüber ein: Chomsky-Hierarchie yp-0: Rekursiv aufzählbare Sprachen (von uring-maschine erkennbar) yp-1: Kontextsensitiven Sprachen yp-2: Kontextfreien Sprachen (Bsp: Palindrome {anna, otto,...}) yp-3: Reguläre Sprachen (von endlichen Automaten erkennbar) Noam Chomsky (2005) 1 1 Aus Wikipedia - die freie Enzyklopädie
Formale Sprachen und uring-berechenbarkeit Definition (rekursiv aufzählbare Sprachen) Eine Sprache L Σ wird von einer DM akzeptiert, gdw. DM : w L f (w) = 1 Definition (rekursive Sprachen) Eine Sprache L Σ wird von einer DM entschieden, gdw. DM : w L f (w) = 1 w L f (w) = 0 (Beide sind yp-0 Sprachen in der Chomsky-Hierarchie)
Beispiel: (EVEN-)PALINDROME-Entscheider DM mit Σ = {a, b}, die EVEN-PALINDROME entscheidet. EVEN-PALINDROME = {w v Σ : w = v v R }
Warum uringmaschine? Warum verwendet man nicht ein anderes Maschinenmodell, z.b.: Registermaschine? Annahme: uringmaschine mit Alphabet Γ = N und mathematischen Operationen +,,, mod, div,... In einem einzigen Zeitschritt können beliebig große Zahlen manipuliert werden! Modell zum Messen der Zeitkomplexität sinnlos uringmaschinen könnte in diesem Modell mit nur zwei Bandquadraten simuliert werden! Modell zum Messen der Platzkomplexität sinnlos
Zusammenfassung uring Maschinen: Endlicher Automat + unendliches Speicherband Kosten und Komplexität uniform, daher gut geeignet für Komplexitättheorie Jedes Entscheidungsproblem lässt sich als formale Sprache anschreiben Entscheidet rekursive Sprachen