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