Seien
Eine Grammatik ist ein 4-Tupel G = (V, , P, S), wobei:
Eine Grammatik G = (V, , P, S) induziert eine Ableitungsrelation auf Wörtern über V
eine Regel in P und Wörter , sodass: und
Eine Sequenz ist eine Ableitung von aus
Wenn und , dann erzeugt G das wort
Sprache von G: L(G): Menge aller wörter, die von G erzeugt werden
Eine Grammatik G ist vom
Typ 0: Immer
Typ 1: falls für jede Produktion außer gilt:
Typ 2: falls G vom Typ 1 ist und für jede Produktion gilt:
Typ 3: falls G vom Typ 2 ist und für jede Produktion außer gilt:
Offensichtlich: Typ 3 Typ 2 Typ 1 Typ 0
Grammatiken und Sprachklassen:
Typ 3: Rechtslineare Grammatik: Reguläre Sprachen
Typ 2: Kontextfreie Grammatik: Kontextfreie Sprachen
Typ 1: Kontextsensitive Grammatik: Kontextsens. Sprachen
Typ 0: Phasenstrukturgrammatik: Rekursiv aufzählbare Sprachen
L(Typ 3) L(Typ 2) L(Typ 1) L(Typ 0)
Ein DFA besteht aus:
Ein NFA ist ein 5-Tupel , so dass:
Für jeden NFA N gibt es einen DFA M mit L(N) = L(M)
Für einen NFA mit n Zuständen kann der entsprechende DFA bis zu 2n Zustände haben
Ein NFA mit -Übergängen auch -NFA ist ein NFA mit einem speziellen Symbol und mit
Ein -Übergang darf ausgeführt werden, ohne dass ein Eingabezeichen gelesen wird
Formal: -NFA als kompakte Repräsentation eines -freien NFA
Per Definition: Jeder -NFA ist äquivalent zu einem NFA
Fazit: Die Automatentypen
sind gleich mächtig
rechtslineare Grammatiken haben nur Produktionen der Form und
Für jeden DFA M gibt es eine rechtslineare Grammatik G mit
Für jede rechtslineare Grammatik G gibt es einen NFA M mit
das bedeutet auch: für jede rechtslineare Grammatik G gibt es einen DFA M mit
Reguläre Ausdrücke sind eine weitere Notation für die Definition von formalen Sprachen, und sind induktiv definiert:
Nichts sonst ist ein regulärer Ausdruck
Notation:
Sprache eines regulären Ausdrucks ist rekursiv definiert:
Satz von Kleene: Eine Sprache ist genau dann durch einen regulären Ausdruck darstellbar, wenn sie regulär ist.
Konversionen auf einen Blick:
Seien Reguläre Sprachen. Dann sind auch:
Reguläre Sprachen.
Bemerkung: Komplementierung durch vertauschen von Endzuständen und Nicht-Endzuständen funktioniert nur bei DFAs, nicht bei NFAs!
Produkt-Konstruktion: Durchschnitt direkt auf DFAs, ohne Umweg via de Morgan. Beide DFAs laufen synchron parallel, Wort wird akzeptiert wenn beide DFAs akzeptieren.
Parallelismus = Kreuzprodukt der Zustandsräume
Die Umkehrung (Spiegelung) von ist
Die Umkehrung einer Sprache ist
Ist eine reguläre Sprache, dann auch
Zwei reguläre Ausdrücke sind äquivalent gdw. sie die gleiche Sprache darstellen:
Satz von Redko: Es gibt keine endliche Menge von gültigen Äquivalenzen aus denen sich alle gültigen Äquivalenzen herleiten lassen.
AKA: Wie zeigt man, dass eine Sprache nicht regulär ist?
Sei regulär. Dann gibt es ein n > 0, so dass sich jedes mit so in zerlegen lässt, dass:
Bemerkung:
Es gibt nicht-reguläre Sprachen, für die das Pumping-Lemma gilt!
Pumping-Lemma hinreichend aber nicht notwendig um Nicht-Regularität zu zeigen
regulär Pumping-Lemma gilt alle Sprachen
Entscheidungsprobleme für reguläre Sprachen, d.h. Probleme der Gestalt
Ein (Entscheidungs)Problem ist entscheidbar, wenn es einen Algorithmus gibt, der bei jeder Eingabe in endlicher Zeit die richtige Antwort gibt.
Nicht alle Entscheidungsprobleme für Grammatiken sind entscheidbar
Sei D ein DFA, NFA, RE, rechtslineare Grammatik, etc.
Fazit: Die Kodierung der Eingabe (DFA, NFA, RE, etc.) kann entscheidend für die Komplexität eines Problems sein
Ardens Lemma:
Sind und Sprachen mit , so gilt
Korollar
Sind und reguläre Ausdrücke mit , so gilt
Bemerkungen:
Jede reguläre Sprache hat einen einzigen minimalen DFA
Zustäde p und q sind unterscheidbar wenn es gibt mit und
Zustände sind äquivalent wenn sie nicht unterscheidbar sind, d.h. wenn für alle gilt:
gilt und , dann sind p und q unterscheidbar
sind und unterscheidbar, dann auch p und q
unterscheidbarkeit pflanzt sich rückwärts fort
Todo: Folie 107 tabellendings grafik erstellen, einsetzen, algorithmus U
Eine weitere Anwendung: Äquivalenztest von DFAs
Eine Relation ist eine Äquivalenzrelation falls
Äquivalenzklasse:
Es gilt:
Quotientenmenge:
Intuition: Zwei Zustände sind äquivalent gwd. sie dieselbe sprache erkennen.
Wir schreiben statt wenn M klar ist
Einfache Fakten:
In der weiteren Analyse wird direkt auf bezogen, nicht mehr auf den Algorithmus
Die "Kollabierung" von M bzgl. ist der Quotientenautomat:
Die Definition von ist wohlgeformt da unabhängig von der Wahl des Repräsentanten p:
Lemma:
Jede Sprache induziert eine Äquivalenzrelation :
Achtung:
Ist M ein DFA ohne unerreichbare Zustände, so ist der von Algorithmus U berechnete Quotientenautomat ein minimaler DFA für L(M)
Alle Quotientenautomaten für die gleiche Sprache L(M) haben die gleiche Struktur, d.h. sie unterscheiden sich nur durch eine Umbenennung der Zustände.
Daher werden die Zustände des kanonischen Minimalautomaten für eine Sprache L mit Äquivalenzklassen beschriftet.
Eine Sprache ist genau dann regulär, wenn endlich viele Äquivalenzklassen hat.
Vollständige Methode um Nichtregularität von L zu zeigen:
Gib unendliche Menge an, mit falls
Bemerkung: Eindeutigkeit des minimalen Automaten (modulo Umbenennung der Zustände) gilt nur bei DFAs, nicht bei NFAs!
(folie 126 maybe)
Eine Kontextfreie Grammatik ist ein 4-Tupel:
: endliche Menge, Nichtterminale
: Alphabet, Terminale, disjunkt von V
: Endliche Menge, Produktionen
: Startsymbol
Eine Kontextfreie Grammatik induziert eine Ableitungsrelation auf wörtern über :
gdw es eine Regel in P gibt, und Wörter , sodass
und
wird als eine Linksableitung bezeichnet, gdw. in jedem Schritt das linkeste Nichtterminal ersetzt wird
Eine kontextfreie Grammatik erzeugt die Sprache
Eine Sprache ist kontextfrei gdw. es eine kontextfreie Grammatik G gibt mit L = L(G)
Abkürzungen:
Konvention:
Ist G aus dem Kontext eindeutig ersichtlich, so schreibt man auch nur statt
Linearität:
Todo:
Definitionen:
Beweisvarianten:
TODOs:
Ein Syntaxbaum für eine Ableitung mit einer Grammatik G ist ein Baum, sodass:
Für eine CFG und ein sind folgende Bedingungen äquivalent:
Mehrdeutigkeit:
Eine kontextfreie Grammatik G ist in Chomsky-Normalform gdw. alle Produktionen eine der Formen oder haben.
Zu jeder CFG G kann man eine CFG G' in Chomsky-Normalform konstruieren mit
Wer auf nicht verzichten möchte: Füge am Ende wieder hinzu.
wird auch als -Produktion bezeichnet
Zu jeder CFG kann man eine CFG G' konstruieren, die keine -Produktionen enthält, sodass gilt:
wird Kettenproduktion genannt
Zu jeder CFG kann man eine CFG G' konstruieren, die keine Kettenproduktionen enthält, sodass gilt
Eingabe: Eine kontextfreie Grammatik
Eine CFG ist in Greibach-Normalform falls jede Produktion von der Form
ist
Zu jeder CFG G gibt es eine CFG G' in Greibach-Normalform mit
Für jede kontextfreie Sprache L gibt es ein n 1, so dass sich jedes Wort mit zerlegen lässt in
mit
Siehe Folie 164
ist eine CFG
Ein Symbol ist:
Nützlich: Nützliche Symbole sind erzeugend und erreichbar, aber nicht notwendigerweise umgekehrt.
Folgliches Ziel: Elimination der unnützen Symbole und der Produktionen, in denen sie vorkommen
Eliminiert man aus einer Grammatik
Die Menge der erzeugenden Symbole einer CFG ist berechenbar
Die Menge der erreichbaren Symbole einer CFG ist berechenbar
Das Wortproblem () ist für eine CFG G entscheidbar
Der CYK-Algorithmus entscheidet das Wortproblem für kontextfreie Grammatiken in Chomsky-Normalform.
Eingabe: Grammatik in Chomsky-Normalform,
für
Damit gilt:
Der CYK-Algorithmus berechnet die rekursiv nach wachsendem :
für
Der CYK-Algorithmus entscheidet das Wortproblem für eine fixe CFG G in Chomsky-Normalform in Zeit
Erweiterung: Der CYK-Algorithmus kann so erweitert werden, dass er nicht nur das Wortproblem entscheidet, sondern auch die Menge der Syntaxbäume für die Eingabe berechnet.
Realisierung:
Vorschau:
Für CFGs sind folgende Probleme nicht entscheidbar:
Seien kontextfreie Grammatiken und gegeben. Dann kann man in linearer Zeit CFGs für
Verallgemeinerte kontextfreie Grammatiken mit Produktionen der Gestalt , wobei r ein regulärer Ausdruck über ist, erzeugen kontextfreie Sprachen.
Die Menge der kontextfreien Sprachen ist nicht abgeschlossen unter Durchschnitt oder Komplement
Wegen de Morgan können die CFLs daher auch nicht unter Komplement abgeschlossen sein.
Anwendungsgebiete:
Ein (nichtdeterministischer) Kellerautomat (PDA = Pushdown Automaton) besteht aus:
Intuitive Bedeutung von :
Wenn sich M in Zustand q befindet, das Eingabezeichen a liest und Z das oberste Kellerzeichen ist, so kann M im nächsten Schritt in q' übergehen und Z durch ersetzen
Achtung:
Eine Konfiguration eines Kellerautomaten M ist ein Tripel mit und .
Die Anfangskonfiguration von M für die Eingabe ist
Intuitiv stellt eine Konfiguration eine "Momentaufnahme" des Kellerautomaten dar:
Die Transitionsrelation zwischen Konfigurationen:
Intuitive Bedeuting von :
Wenn M sich in der Konfiguration befindet, dann kann er in einen Schritt in die Nachfolgerkonfiguration übergehen.
Achtung: Eine Konfiguration kann mehrere Nachfolger haben (Nichtdeterminisumus)
Ein PDA M akzeptiert mit Endzustand gdw
Ein PDA M akzeptiert nit leeren Keller gdw
Konvention:
Die F-Komponente von M wird ausgeblendet, wenn nur von interesse ist.
Bemerkungen: PDAs und das Wortproblem
Ziel: Akzeptanz durch Endzustände und leeren Keller gleich mächtig
Endzustand Leerer Keller:
Zu jedem PDA kann man in linearer Zeit einen PDA konstruieren mit
Leerer Keller Endzustand
Zu jedem PDA kann man in linearer Zeit einen PDA konstruieren mit
Erweiterungslemma:
Zerlegungssatz:
Wenn , dann gibt es , so dass:
und .
Zu jeder CFG G kann man einen PDA M konstruieren, der mit leerem Keller akzeptiert, so dass
Konstruktion:
Zuerst werden alle Produktionen G in die Form
gebracht, wobei
Methode: Für jedes
Alle Produktionen in haben jetzt die Form
Der PDA wird wie folgt definiert:
wobei
also für alle und :
Jetzt gilt:
Zu jedem PDA , der mit leerem Keller akzeptiert, kann man eine CFG G konstruieren mit
Konstruktion: mit
, wobei die Tripel mit [., ., .] notiert werden und P die folgenden Produktionene enthält:
idee:
gdw.
Die sind potenzielle Zwischenzustände beim Akzeptieren der Teilwörter von , die zu gehören. (Zerlegungssatz)
Lemma: gdw
Eine Sprache ist kontextfrei gdw. sie von einem Kellerautomaten akzeptiert wird.
Ein PDA ist deterministisch (DPDA) gdw. für alle und
Eine CFL ist deterministisch (DCFL) gdw. sie von einem DPDA akzeptiert wird.
Man kann zeigen: Die CFL ist nicht deterministisch, da man jeden DFA leicht mit einem DPDA simulieren kann:
fakt: jede reguläre Sprache ist eine DCFL
Eine Sprache erfüllt die Präfix-Bedingung gdw sie keine zwei Wörter enthält, so dass eine ein echtes präfix eines anderen ist.
Lemma:
und L erfüllt die präfix-bedingung
Weitere Eigenschaften
Schnitt | Vereinigung | Komplement | Produkt | Stern | |
---|---|---|---|---|---|
Regulär | ja | ja | ja | ja | ja |
DCFL | nein | nein | ja | nein | nein |
CFL | nein | ja | nein | ja | ja |
Wortproblem | Leerheit | Äquivalenz | Column 3 | |
---|---|---|---|---|
DFA | ja | ja | ja | |
DPDA | ja | ja | nein | |
CFG | ja | nein | nein |
Überblick:
Eine Funktion ist intuitiv berechenbar, wenn es einen Algorithmus gibt, der bei Eingabe
Achtung: Berechenbarkeit setzt zwei verschiedene Dinge in Beziehung:
Terminologie: Eine Funktion ist
Es gibt nicht-berechenbare Funktionen
Erinnerung: Eine Menge ist abzählbar, falls es eine injektive Funktion gibt.
Äquivalente Definitionen:
Eine Menge ist Überabzählbar wenn sie nicht abzählbar ist
Abzählbarkeiten:
Der formale Begriff der Berechenbarkeit mit Turing-Maschinen (bzw. -Kalkül, etc.) stimmt mit dem intuitiven Berechenbarkeitsbegriff überein.
Dies ist keine formale Aussage und nicht beweisbar, wird aber allgemein akzeptiert.
Eine Turingmaschine ™ ist ein 7-Tupel mit:
Annahme: ist nicht definiert für alle und
Eine nichtdeterministische Turingmaschine hat eine Übergangsfunktion
Intuitive Bedeutung: :
Eine Konfiguration einer Turingmaschine ist ein Tripel , welches modelliert:
Die Startkonfiguration der Turingmaschine bei Eingabe ist
Eine Turingmaschine M akzeptiert die Sprache
Eine Funktion ist Turing-berechenbar gdw es eine Turingmaschine M gibt, so dass für alle gilt
Eine Funktion ist Turing-berechenbar gdw. es eine Turingmaschine M gibt, so dass für alle gilt
wobei bin(n) die binärdarstellung der Zahl n ist.
Satz:
Die von Turingmaschinen akzeptierten Sprachen sind genau die Typ-0-Sprachen der Chomsky-Hierarchie.
Eine TM hält wenn sie eine Konfiguration erreicht und nicht definiert oder (bei einer nichtdeterministischen TM) .
Nach Annahme hält eine TM immer, wenn sie einen Endzustand erreicht. Damit ist die von einer TM berechnete Funktion wohldefiniert.
Eine TM kann auch halten, bevor sie einen Endzustand erreicht.
Nichtdeterministische TMs
Zu jeder nichtdeterministischen TM N gibt es eine deterministische TM M mit
Mehrband-TMs / K-Band-TMs
Jede k-Band-TM kann effektiv durch eine 1-Band-TM simuliert werden
Die folgenden Basismaschinen sind leicht programmierbar:
Seien
Die sequentielle Komposition (hintereinanderschaltung) von und wird wie folgt bezeichnet
Sie ist wie folgt definiert:
wobei (oE) und
Fallunterscheidung
Sind und Endzustände von M so bezeichnet
eine Fallunterscheidung, d.h. eine TM, die vom Endzustand von nach übergeht, und von aus nach
"Band = 0?"
Die Folgende TM wird "Band=0?" bzw. "Band i = 0?" genannt:
wobei ja und nein Endzustände sind.
Schleife
Analog zur Fallunterscheidung kann man auch eine TM für eine Schleife konstruieren
die sich wie while
Band do
verhält.
Fazit:
Mit TM kann man imperativ programmieren:
WHILE strukturierte Programme mit while-Schleifen
GOTO Assembler
WHILE- und GOTO-Berechenbarkeit werden definiert und dessen Äquivalenz mit Turing-berechenbarkeit wird gezeigt.
Syntax von WHILE-Programmen:
wobei eine der Variablen und C eine der Konstanten sein kann.
Die modifizierte Differenz ist
Semantik von WHILE-Programmen (informell):
Syntaktische Abkürzungen:
Eine Funktion ist WHILE-berechenbar gdw. es ein WHILE-Programm P gibt, sodass für alle :
P, gestartet mit in (0 in den anderen Variablen)
Turingmaschinen können WHILE-Programme simulieren:
Jede WHILE-berechenbare Funktion ist auch Turing-berechenbar, da:
Ein GOTO-Programm ist eine Sequenz von markierten Anweisungen:
(wobei alle Marken verschieden und Optional sind)
Mögliche Anweisungen sind:
Die Semantik ist wie erwartet.
Jedes WHILE-Programm kann durch ein GOTO-Programm simuliert werden.
Jedes GOTO-Programm kann durch ein WHILE-Programm simuliert werden.
Für beweis: siehe Slide 253
Korollar:
WHILE- und GOTO-Berechenbarkeit sind äquivalent
Kleensche Normalform:
Jedes WHILE-Programm ist zu einem WHILE-Programm mit genau einer WHILE-Schleife äquivalent
Jede TM kann durch ein GOTO-Programm simuliert werden.
Übersetzung siehe Folien 256,257
Statt while-Schleifen werden nun for-Schleifen betrachtet.
LOOP-Programme haben die gleiche Syntax wie WHILE-Programme, aber statt der WHILE-Schleifen gibt es nur LOOP-Schleifen mit folgender Syntax:
Semantik: Führe P genau n mal aus, wobei n der Anfangswert von X ist.
Zuweisungin an X in P ändern die Anzahl n der Schleifendurchläufe nicht.
Eine Funktion ist LOOP-berechenbar gdw. es ein LOOP-Programm P gibt, so dass für alle :
P, gestartet mit in (0 in den anderen Variablen) terminiert mit in
Alle LOOP-berechenbaren Funktionen sind total, beweis via Induktion über die Syntax der LOOP-Programme.
FAKT: WHILE-Schleifen können LOOP-Schleifen simulieren, aber LOOP-Schleifen können WHILE-Schleifen nicht simulieren
Ziel: Es ist unentscheidbar, ob ein Programm terminiert.
Eine Menge ist entscheidbar gdw ihre charakteristische Funktion
berechenbar ist.
Eine Eigenschaft/Problem P(x) ist entscheidbar gdw. entscheidbar ist.
Komplement:
Die entscheidbaren Mengen sind abgeschlossen unter Komplement: Ist entscheidbar, so auch
Kodierung einer TM als Wort über :
Siehe Folie 300
Nicht jedes Wort über kodiert eine TM.
Sei eine beliebige feste TM:
Die zu einem Wort gehörige TM ist
Die Kondierung von syntaktischen Objekten (Programmen, Formeln, etc.) als Zahlen wird Gödelisierung genannt. Die Zahlen werden als Gödelnummern bezeichnet.
Definitionen:
Gegeben: Ein Wort
Problem: Hält bei Eingabe w?
Als Menge:
Das Spezielle Halteproblem K ist nicht entscheidbar.
Beweis: Folie 303, 304
Gegeben: Wörter
Problem: Hält bei Eingabe x?
Als Menge:
Das Halteproblem H ist nicht entscheidbar.
Beweis: Wäre H entscheidbar, dann trivialerweise auch K:
Eine Menge ist reduzierbar auf eine Menge gdw. es eine totale und berechenbare Funktion gibt mit
Es wird dann geschrieben
Intuition:
Lemma:
Falls und ist entscheidbar, so ist auch entscheidbar.
Falls und ist unentscheidbar, so ist auch unentscheidbar.
Das Halteproblem auf leerem Band, , ist unentscheidbar.
Es gibt keine allgemeine algorithmische Methode, um zu entscheiden, ob ein Programm terminiert.
Die Unentscheidbarkeit vieler Fragen über die Ausführung von Programmen folgt durch Reduktion des Halteproblems:
Hilberts 10. Problem:
Es ist unentscheidbar, ob ein Polynom in n Variablen mit ganzzahligen Koeffizienten eine ganzzahlige Nullstelle hat
Beweis:
-> Es müssen nicht immer TMs sein
Bemerkungen
Eine Menge ist semi-entscheidbar (s-e) gdw.
berechenbar ist.
Entscheidbarkeit:
Eine Menge ist entscheidbar gdw. sowohl als auch s-e sind.
Eine Menge A ist rekursiv aufzählbar (recursively enumerable) gdw. oder es eine berechenbare totale Funktion gibt, so dass
Bemerkung:
Warnung:
Lemma:
Eine Menge ist rekursiv aufzählbar gdw. sie semi-entscheidbar ist.
Beweis: 317, 318
K ist Semi-entscheidbar
Die Menge ist semi-entscheidbar.
Beweis:
Die funktion ist wie folgt Turing-berechenbar:
Bei Eingabe w simuliere die Ausführung von ; gib 1 aus
Komplement
ist nicht semi-entscheidbar.
Semi-entscheidbarkeit ist nicht abgeschlossen unter Komplement
Die von der TM berechnete Funktion wird als bezeichnet.
Es werden implizit nur einstellige Funktionen betrachtet.
Sei F eine Menge berechenbarer Funktionen.
Es gelte weder noch ("F nicht trivial")
Dann ist unentscheidbar, ob die von einer gegebenen TM berechnete Funktion Element F ist, d.h. ob
Alle nicht-trivialen semantischen Eigenschaften von Programmen sind unentscheidbar.
Warnung:
Im Satz von Rice geht es um die von einem Programm berechnete Funktion (Semantik), nicht um den Programmtext (Syntax). Beispielsweise ist es entscheidbar, ob ein Programm
Sei eine Menge berechenbarer Funktionen.
Ist semi-entscheidbar,
so gilt für alle berechenbaren :
es gibt eine endliche Teilfunktion mit
Ein Programm ist terminierend gdw. es für alle eingaben hält.
Aber es gibt mächtige heuristische Verfahren, die für relativ viele Programme aus der Praxis (Gerätetreiber)
Postsche Korrespondenzproblem, Post's Correspondence Problem, PCP:
Gegeben: Eine endliche Folge , wobei
Problem: Gibt es eine Folge von Indizes , , mit ?
Dann wird als eine Lösung der Instanz des PCP Problems bezeichnet.
Das PCP ist semi-entscheidbar
Beweis:
Die möglichen Lösungen werden der Länge nach aufgezählt und auf korrektheit überprüft.
Gegeben: wie beim PCP
Problem: Gibt es eine Lösung mit ?
Reduzierbarkeit des MPCP
Unentscheidbarkeit des PCP
Aus folgt direkt, dass das PCP unentscheidbar ist
Das PCP ist auch für unentscheidbar.
Weitere bemerkungen:
Für CFGs sind folgende Probleme unentscheidbar:
Da und aus dem Beweis zu DCFL sind, gilt sogar, dass die Probleme bis bereits für DCFLs unentscheidbar sind.
Für zwei DPDAs und ist jedoch entscheidbar.
Für eine CFG sind folgende Probleme unentscheidbar:
Für eine CFG und einen RE ist unentscheidbar
Es werden Funktionen betrachtet.
wird mit identifiziert, mit .
Definition der primitiv rekursiven Funktionen
Die Komposition von und erzeugt die Funktion
wobei und
Das Schema der primitiven Rekursion erzeugt aus und die Funktion
wobei und
Die Menge PR der primitiv rekursiven Funktionen ist die folgende induktiv definierte Teilmenge aller Funktionen :
Jede primitiv-rekursive Funktion ist total
ist eine erweiterte Komposition der Funktionen falls
so dass ein Ausdruck ist, der nur aus den Funktionen und den Variablen besteht.
Eine erweiterte Komposition von PR Funktionen ist wieder PR
Das erweiterte Schema der primitiven Rekursion erlaubt
wobei
Das erweiterte Schema der primitiven Rekursion führt nicht aus PR hinaus.
Moral:
Primitive Rekursion erlaubt
Sei ein Prädikat, d.h. ein logischer Ausdruck, der in Abhängigkeit von den Wert true oder false liefert.
Dann kann P in natürlicher Weise eine Funktion
zugeordnet werden: gdw. true
ist primitiv rekursiv genau dann, wenn primitiv rekursiv ist.
Ist primitiv rekursiv, dann auch der beschränkte max-Operator
wobei
Ist primitiv rekursiv, dann auch der beschränkte Existenzquantor
Hauptproblem bei LOOP PR:
Kodierung aller Variablen eines LOOP-Programms in einer Zahl
Die Cantorsche Paarungsfunktion
ist eine Bijektion zwischen und
Die funktion ist PR:
Mit Komposition ist auch PR:
Mit kodiert man Tupel:
Die umkehrfunktionen und von c werden gebraucht:
Damit können Projektionsfunktionen auf Tupeln definiert werden
Sind PR, so auch
Die Umkehrfunktionen von sind PR definierbar:
PR = LOOP:
Die Primitiv rekursiven sind genau die LOOP-berechenbaren Funktionen.
Notation: bedeutet " ist undefiniert"
Sei eine (nicht notwendigerweise totale) Funktion. Die durch Anwendung des -Operators entstehende Funktion ist definiert durch:
Intuitiv:
Die Menge der -rekursiven Funktionen ist induktiv wie folgt definiert:
Die -rekursiven sind genau die WHILE-berechenbaren Funktionen.
Kleene:
Für jede n-stellige -rekursive Funktion gibt es zwei -stellige PR Funktionen und , so dass
Fakt:
Die Ackermann-Funktion ist (OCaml-)berechenbar.
Lemma:
Die Ackermann-Funktion ist total.
Die lexikographische Ordnung auf terminiert
Warnung: Kein Beweise der Totalität einer rekursiven Funktion:
"denn in jedem rekursiven Aufruf wird eines der Argumente kleiner"
Lemma:
Für jede PR-Funktion gibt es ein , so dass
Satz:
Die Ackermann-Funktion ist nicht PR
Oberflächlich intuitiv: Die Ackermann-Funktion wächst schneller als alle PR-Funktionen
Genauer: Die Funktion wächst schneller als alle PR funktionen
Intuitiver Grund:
Da die Ackermann-Funktion total, berechenbar und nicht PR ist wurde gezeigt, dass die PR Funktionen eine echte Teilklasse der berechenbaren totalen funktionen ist.
Zentrale Frage:
Für welche Probleme gibt es / gibt es keine polynomielle Algorithmen?
Komplexitätsklasse P:
P = die von DTM in polynomieller Zeit lösbaren Probleme, = die "leichten" Probleme (feasible problems)
Viele der wichtigsten Probleme der Informatik sind der Gestalt:
Die sind "Lösungskandidaten". In allen diesen Problemen:
Für kein solches Problem ist es bewiesen worden, dass es nicht in P liegt.
Die Frage, ob alle solche Probleme in P liegen, ist die wichtigste offene Frage der Informatik.
Äquivalente Formulierung
Diese Probleme können nichtdeterministisch in polynomieller Zeit gelöst werden: Wähle einen Kandidaten und prüfe, ob er eine Lösung ist.
Komplexitätsklasse NP:
NP = die von NTM in polynomieller Zeit lösbaren Probleme
Zentrale Frage:
P = NP ?
Berechnungsmodell:
DTM: deterministische Mehrband-TM
Anzahl der Schritte bis die DTM hält
Sei eine totale Funktion.
Klasse in der Zeit entscheidbaren Sprachen:
Merke:
Es werden nun Polynome mit Koeffizienten betrachtet:
Definition:
Damit gilt auch
wobei
Bemerkungen
Analog zu Sprachen nennen wir eine Funktion in polynomieller Zeit berechenbar, gdw. es eine DTM gibt, die berechnet und für ein Polynom
Berechnungsmodell:
NTM = nichtdeterministische Mehrband-TM
Sei eine totale Funktion
bemerkungen:
Weitere Bemerkungen zur Definition von NP:
Akzeptierende NTM
Äquivalente Definition NP' von NP
Die NTM muss nach maximal schritten halten.
NP' NP: Klar
NP NP': falls NP mit Polynom und NTM , so kann ein NTM konstruiert werden mit , so dass immer innerhalb von polynomieller Zeit hält.
Erinnerung:
Viele Probleme sind von der Art, dass
Formalisierung:
Definition:
Sei eine DTM mit
NB (merke):
In Zeit kann M maximal die ersten p(n) Zeichen von lesen. Daher genügt für ein Zertifikat der Länge
Satz:
NP gdw. es einen polynomiell beschränkten Verifikator für A gibt
Fazit:
Intuition:
Es ist leichter, eine Lösung zu verifizieren als zu finden.
Aber:
Noch wurde von keiner Sprache bewiesen, dass sie in NP\P liegt
Sei und
Dann ist polynomiell reduzierbar auf , , gdw. es eine totale und von einer DTM in polynomieller Zeit berechenbare Funktion gibt, so dass für alle
Die Relation ist transitiv, da $p_2(p_1(n)) ein Polynom ist falls und polynome sind.
Die Klassen P und NP sind unter polynomieller Reduzierbarkeit nach unten abgeschlossen:
NP-Schwer:
Ein Problem ist NP-Schwer, wenn es mindestens so schwer wie alles in NP ist:
Lemma:
Es gilt P=NP gdw. ein NP-vollständiges Problem in P liegt.
Starke vermutung:
Syntax der Aussagenlogik:
Man darf einige Klammern weglassen:
Abkürzungen
Semantik der Aussagenlogik:
Gegeben: Eine aussagenlogische Formel F
Problem: ist F erfüllbar?
Lemma:
SAT NP
Satz: (Cook, 1971)
SAT ist NP-vollständig
Die Berechnung einer erfüllenden Belegung kann auf SAT "reduziert" werden.
Sei eine Formel mit den Variablen :
wobei mit ersetzt durch
Entscheidung von SAT in Zeit
Berechnung einer erf. Bel. in Zeit , falls es eine gibt.
Bemerkungen:
Theo