11.10.2013 Aufrufe

Kapitel 1: Berechenbarkeitstheorie Gliederung 1 ...

Kapitel 1: Berechenbarkeitstheorie Gliederung 1 ...

Kapitel 1: Berechenbarkeitstheorie Gliederung 1 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!