Kapitel 1: Berechenbarkeitstheorie Gliederung 1. Berechenbarkeitstheorie 2. Grundlagen 3. Grundlegende Ergebnisse aus der Komplexitätstheorie 4. Die Komplexitätsklassen P und NP 5. Die Komplexitätsklassen RP und BPP 1.1. Turing-Maschinen und die Chursche These 1.2. Entscheidbare und semi-entscheidbare Sprachen 1.3. Ausblick: Grenzen formaler Methoden 1/3, Folie 1 © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Zielstellung eine interessante Sprache kennen lernen, die nicht semi-entscheidbar ist • hierzu ist ein wenig „auszuholen“ ... interessieren uns dafür, ob man die Menge der wahren arithmetischen Formeln algorithmisch in den Griff bekommt Beispiele für arithmetische Formeln • F(x) = ∃y ∃z ( ¬(y = 1) ∧ ¬(z = 1) ∧ ¬(y = x) ∧ ¬(z = x) ∧ (y*z = x) ) ... F ist für ein x genau dann wahr, wenn x keine Primzahl ist • F‘ = ∀x ( F(x) ⇒ ∃x‘ ( ¬(x‘ = 0) ∧ ¬F(x←x+x‘) ) ) ... F‘ ist genau dann wahr, wenn es unendlich viele Primzahlen gibt 1/3, Folie 2 © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Einordnung Weshalb interessant? • aus Sicht der Mathematik • Herangehensweise: axiomatische Methode • formuliere allgemein anerkannte wahre Aussagen (/* Axiome */) • verwende diese Axiome und wohl definierte (formale) Regeln, um weitere (hoffentlich „interessante“) wahre Aussagen zu beweisen ... diese Herangehensweise hat Grenzen (/* es genügt bereits, daß man sich mit Zahlentheorie (über den natürlichen Zahlen) beschäftigt */) ... jede rekursiv aufzählbare Axiomatisierung der Zahlentheorie besitzt wahre Aussagen, die nicht beweisbar sind (/* Gödelscher Unvollständigkeitssatz */) 1/3, Folie 3 © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Einordnung Weshalb interessant? • aus Sicht der Informatik • automatisches Beweisen (/* Dienstleistung für die Mathematik */) ... Verwendung formaler Methoden 1/3, Folie 4 • Programmverifikation (/* Korrektheit von Programmen */) • Künstliche Intelligenz (/* Agentensysteme, Planung */) • IT-Sicherheit (/* Nachweis sicherheitskritischer Eigenschaften */) • ... © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Einordnung Herangehensweise - Programmverfikation • es geht um die Frage, ob ein Computerprogramm das tut, was es soll, d.h. ob es bestimmte Anforderungen erfüllt (/* diese Frage wird sogar lebenswichtig, wenn Computer in sicherheitsrelevanten Bereichen wie z.B. bei der Steuerung von Verkehrsmitteln oder in der Medizin eingesetzt werden */) • Einsatz von formalen Methoden, um systematisch obige Frage zu beantworten (/* Anwendung der axiomatischen Methode */) ... wenn bei der Präzisierung der Anforderungen Aussagen über natürliche Zahlen eine Rolle spielen (/* und das wird fast immer der Fall sein */), haben diese Ansätze ihre Grenzen ... selbst, wenn die präzisierten Anforderungen erfüllt sind, kann es sein, das man das nicht formal beweisen kann 1/3, Folie 5 © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Grundlagen zur Verfügung stehende Ausdrucksmittel • Konstanten: 0,1,2, ... • Variablen: x1,x2,x3, ... • Relationen: = • Operatoren: +, * (/* zweistellige Operatoren */) • Quantoren: ∃,∀ • Konnektoren: ¬,∨,∧ (/* zweistellige Relation */) die Konstanten 0,1,2, ... können als Abkürzungen für 0,S(0),S(S(0)), ... aufgefasst werden(/* d.h. man benötigt de facto eine Konstante und einen einstelligen Operator */) 1/3, Folie 6 © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Grundlagen Begriff: (arithmetischer) Term • Jede Konstante ist ein Term. • Jede Variable ist ein Term. • Wenn t1 und t2 Terme sind, so sind auch t1 + t2 sowie t1 * t2 Terme. Begriff: (arithmetische) Formel 1/3, Folie 7 • Wenn t1 und t2 Terme sind, so ist (t1 = t2) eine Formel. • Wenn F und G Formeln sind, so sind auch ¬F, (F∨G) sowie (F∧G) Formeln. • Wenn x eine Variable und F eine Formel ist, so sind auch ∃x F und ∀x F Formeln. © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Grundlagen Begriff: Belegung • Eine Belegung φ ist eine Abbildung von der Menge der Variablen in die Menge der Konstanten. • Erweiterung auf Terme: • φ(n) = n, wobei n eine Konstante ist • φ((t1 + t2)) = φ(t1) + φ(t2), wobei t1 und t2 Terme sind • φ((t1 * t2)) = φ(t1) * φ(t2), wobei t1 und t2 Terme sind ... Interpretation im Standardmodell der natürlichen Zahlen (/* in dem es die Konstanten 0,1,2, ... gibt und die Operatoren + und * wie üblich interpretiert werden */) ... die Aussagen, die im Standardmodell notwendigerweise wahr sein müssen, kann man auch mit Hilfe von Axiomen (/* den Peano-Axiomen */) beschreiben 1/3, Folie 8 © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Grundlagen Abkürzung • F(x/n) bezeichnet die Formel, die aus F entsteht, in dem alle freien Vorkommen der Variablen x durch die Konstante n ersetzt werden. ... ein Vorkommen von x in F heißt gebunden, falls x in einer Teilformel von F der Form ∃x G und oder ∀x G vorkommt ... andernfalls heißt das Vorkommen von x frei 1/3, Folie 9 © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Grundlagen Begriff: wahre (arithmetische) Formeln 1/3, Folie 10 • Die Formel (t1 = t2) ist wahr, falls φ(t1) = φ(t2) für alle Belegungen φ gilt. • Die Formel ¬F ist wahr, falls F nicht wahr ist. • Die Formel (F∨G) ist wahr, falls F wahr ist oder G wahr ist. • Die Formel (F∧G) ist wahr, falls F wahr ist und G wahr ist. • Die Formel ∃x F ist wahr, falls es eine Konstante n gibt, so daß F(x/n) wahr ist. • Die Formel ∀x F ist wahr, falls für alle Konstanten n gilt, daß die Formel F(x/n) wahr ist © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Zentrale Fragestellung ... umgangsprachlich Bekommt man die Menge aller wahren arithmetischen Formeln algorithmisch in den Griff? ... formal • es sei MF die Sprache aller arithmetischen Formeln • es sei MWF die Sprache aller wahren arithmetischen Formeln Ist die Sprache MWF entscheidbar? Ist die Sprache MWF semi-entscheidbar? ... beide Fragen sind mit NEIN zu beantworten !!! 1/3, Folie 11 © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Einordnung Vorüberlegung • es sei F ∈ MF (/* d.h. F ist eine (arithmetische) Formel */) Dann gilt entweder F ∈ MWF oder ¬F ∈ MWF (/* entweder ist F eine wahre (arithmetische) Formel oder ¬F ist eine wahre (arithmetische) Formel */). ... das liegt daran, daß (arithmetische) Formeln im Standardmodell der natürlichen Zahlen interpretiert werden Konsequenz Wenn die Sprache MWF semi-entscheidbar ist, dann ist die Sprache MWF auch entscheidbar. 1/3, Folie 12 © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Hintergrund Ausdrucksmächtigkeit arithmetischer Formeln • es sei M irgendeine Turing-Maschine, die als Eingaben Wörter aus { 0,1 }* und als Ergebnisse Wörter aus { 0,1 }* berechnen • es sei eine cod(.) eine berechenbare Funktion, mit der man jeder Zeichenkette aus { 0,1 }* auf eineindeutige Art und Weise eine natürliche Zahl zuordnen kann Dann gibt es eine arithmetische Formel F ∈ MF mit den freien Variablen x und y, so daß für alle Wörter u, u‘ ∈ { 0,1 }* die folgenden Aussagen äquivalent sind: 1. 2. M berechnet bei Eingabe u das Ergebnis u‘. F‘ ist eine wahre arithmetische Aussage, wobei F‘ aus F entsteht indem x durch cod(u) und y durch cod(u‘) ersetzt wird. ... M ist unter Verwendung von F arithmetisch repräsentierbar 1/3, Folie 13 © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Zentrales Ergebnis ... der zu beweisende Satz Die Sprache MWF ist nicht entscheidbar. ... demzufolge ist die Sprache MWF auch nicht semi-entscheidbar 1/3, Folie 14 © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Unentscheidbarkeit der Sprache MWF Beweis (/* Reduktion */) • es seien Σ = { 0,1 } und L ⊆ Σ* eine Sprache die semi-entscheidbar, aber nicht entscheidbar ist • außerdem sei M eine Turing-Maschine für L (/* d.h. M kann benutzt werden um zu zeigen, daß M semi-entscheidbar ist */) • ferner sei F die arithmetische Formel mit den freien Variablen x und y, die die Turing-Maschine M repäsentiert • wir suchen eine Turing-Maschine R die folgendes leistet: • auf jeder Eingabe w ∈ Σ* berechnet R ein Ergebnis w‘ ∈ Σ* • falls w ∈ L, so ist w‘ ∈ MWF • falls w ∉ L, so ist w‘ ∉ MWF ... wir gehen davon aus, daß Formeln aus MF als Zeichenketten über dem Alphabet { 0,1 } repräsentiert werden 1/3, Folie 15 © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Unentscheidbarkeit der Sprache MWF Beweis (cont.) • es sei w ∈ Σ* • dann arbeitet R bei Eingabe von w wie folgt • • • offenbar gilt: w ∈ L gdw. M bei Eingabe von w das Ergebnis 1 berechnet • da F die Turing-Maschine M arithmetisch repräsentiert, gilt deshalb: • 1/3, Folie 16 R bestimmt cod(w) und cod(1) R berechnet das Ergebnis F‘ (/* = w‘ */), wobei F‘ die Formel ist, die entsteht, wenn in F die freie Variable x durch cod(w) und die freie Variable y durch cod(1) ersetzt wird w ∈ L gdw. F‘ ∈ MWF © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie Kapitel 1: Berechenbarkeitstheorie Einordnung Konsequenzen • was wir gerade bewiesen haben, ist unter dem Namen Gödelscher Unvollständigkeitssatz bekannt ... Jedes formale Beweissystem, das zumindest eine Theorie der natürlichen Zahlen (/* mit Addition und Multiplikation */) enthält, ist notwendigerweise unvollständig, d.h. es gibt wahre Aussagen, die nicht beweisbar sind. ... das ist ein generelles Problem für jedes Gebiet, in dem man Dinge präzise formulieren will (/* wenn der Gegenstandsbereich hinreichend komplex ist, gibt es Aussagen, von denen man nicht nachweisen kann, ob sie richtig oder falsch sind */) 1/3, Folie 17 © 2008 Prof. Steffen Lange - HDa/FbI - Komplexitätstheorie