Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Grenzen der Berechenbarkeit Klaus Becker 2004. KB Grenzen der Berechenbarkeit 2 Die Möglichkeiten von Software Geben Sie einem Computer die richtige Software,

Ähnliche Präsentationen


Präsentation zum Thema: "Grenzen der Berechenbarkeit Klaus Becker 2004. KB Grenzen der Berechenbarkeit 2 Die Möglichkeiten von Software Geben Sie einem Computer die richtige Software,"—  Präsentation transkript:

1 Grenzen der Berechenbarkeit Klaus Becker 2004

2 KB Grenzen der Berechenbarkeit 2 Die Möglichkeiten von Software Geben Sie einem Computer die richtige Software, und er wird tun, was immer Sie wünschen. Die Maschine selbst mag Grenzen haben, doch für die Möglichkeiten von Software gibt es keine Grenzen. (zitiert nach D. Harel: Das Affenpuzzle und weitere bad news aus der Computerwelt) Herausgeber einer Software-Zeitschrift:

3 KB Grenzen der Berechenbarkeit 3 Teil 1 Nicht-berechenbare Funktionen

4 KB Grenzen der Berechenbarkeit 4 Das Problem Ist jede Funktion f: N N auch berechenbar? Menge der Funktionen von N nach N Menge der berechenbaren Funktionen von N nach N ? ? n 2n n s(n) n prim(n)

5 KB Grenzen der Berechenbarkeit 5 Definition: Eine Funktion f: N N heißt Turingmaschinen-berechenbar, gdw gilt: Es gibt eine Turingmaschine T mit der folgenden Eigenschaft: AZ:Auf dem Band befindet sich n dargestellt als Strichzahl. ZZ:Fall 1: f(n) ist definiert: T hält und hat f(n) dargestellt als Strichzahl erzeugt. Fall 2: f(n) ist undefiniert: T hält nicht. Präzisierung von Berechenbarkeit Analog für f: N x N x... x N N II z0z0 IIII

6 KB Grenzen der Berechenbarkeit 6 Abzählverfahren Turingmaschinen kann man abzählen (d. h. durchnummerieren). Es gibt nur endlich viele Turingmaschinen mit 1 Zustand. Diese können der Reihe nach abgezählt werden. Z000 ' ' ' ' R Z000 Z000 'I' ' ' R Z000 Z000 ' ' ' ' L Z000 Z000 'I' ' ' L Z000 Z000 ' ' ' ' S Z000 Z000 'I' ' ' S Z000 Z000 ' ' 'I' R Z000 Z000 'I' ' ' R Z000 Z000 ' ' 'I' L Z000 Z000 'I' ' ' L Z

7 KB Grenzen der Berechenbarkeit 7 Übung Ergänzen Sie die begonnene Abzählung um weitere Turing- maschinen mit genau einem Zustand. Wie viele gibt es insgesamt? Z000 ' ' ' ' R Z000 Z000 'I' ' ' R Z000 Z000 ' ' ' ' L Z000 Z000 'I' ' ' L Z000 Z000 ' ' ' ' S Z000 Z000 'I' ' ' S Z000 Z000 ' ' 'I' R Z000 Z000 'I' ' ' R Z000 Z000 ' ' 'I' L Z000 Z000 'I' ' ' L Z

8 KB Grenzen der Berechenbarkeit 8 Übung

9 KB Grenzen der Berechenbarkeit 9 Abzählverfahren Turingmaschinen kann man abzählen. Es gibt nur endlich viele Turingmaschinen mit 2 Zuständen. Diese können ebenfalls der Reihe nach abgezählt werden. Z000 ' ' ' ' R Z000 Z000 'I' ' ' R Z001 Z001 ' ' ' ' R Z000 Z001 'I' ' ' R Z

10 KB Grenzen der Berechenbarkeit 10 Abzählverfahren Turingmaschinen kann man abzählen. Die gesamte Menge der Turingmaschinen kann abgezählt werden, indem man zunächst die mit 1 Zustand durchnummeriert, dann die mit 2 Zuständen u.s.w.. Z000 ' ' ' ' R Z000 Z000 'I' ' ' R Z000 Z000 ' ' ' ' L Z000 Z000 'I' ' ' L Z Z000 ' ' ' ' R Z000 Z000 'I' ' ' R Z001 Z001 ' ' ' ' R Z000 Z001 'I' ' ' R Z

11 KB Grenzen der Berechenbarkeit 11 Abzählbarkeit D. h., die Elemente von M können durchnummeriert werden. Alle Elemente aus M müssen bei der Nummerierung erfasst werden. Wiederholungen sind bei der Nummerierung zugelassen. Satz Die Menge der Turingmaschinen (über dem Eingabealphabet {'I'}) ist abzählbar. D. h., die Turingmaschinen lassen sich durchnummerieren: T 0 ; T 1 ; T 2 ;... Definition: Eine Menge M heißt abzählbar genau dann, wenn es eine Abbildung von den natürlichen Zahlen N in M gibt, bei der alle Elemente aus M als Bildelemente natürlicher Zahlen erfasst werden.

12 KB Grenzen der Berechenbarkeit 12 Übung Überprüfen Sie, ob die aufgelisteten Turingmaschinen Funktionen f: N N berechnen. Wenn ja, welche? Z000 ' ' ' ' R Z000 Z000 'I' ' ' R Z000 Z000 ' ' ' ' L Z000 Z000 'I' ' ' L Z000 Z000 ' ' ' ' S Z000 Z000 'I' ' ' S Z000 Z000 ' ' 'I' R Z000 Z000 'I' ' ' R Z Z000 ' ' ' ' R Z000 Z000 'I' 'I' R Z001 Z001 ' ' ' ' R Z000 Z001 'I' ' ' S Z x

13 KB Grenzen der Berechenbarkeit 13 Lösung Überprüfen Sie, ob die aufgelisteten Turingmaschinen Funktionen f: N N berechnen. Wenn ja, welche? f: n f: 0 0 n n-1 (n > 0) f: n... Keine Funktion Z000 ' ' ' ' R Z000 Z000 'I' ' ' R Z000 Z000 ' ' ' ' L Z000 Z000 'I' ' ' L Z000 Z000 ' ' ' ' S Z000 Z000 'I' ' ' S Z000 Z000 ' ' 'I' R Z000 Z000 'I' ' ' R Z Z000 ' ' ' ' R Z000 Z000 'I' 'I' R Z001 Z001 ' ' ' ' R Z000 Z001 'I' ' ' S Z x

14 KB Grenzen der Berechenbarkeit 14 Abzählverfahren Berechenbare Funktionen kann man abzählen. Wir streichen all die Turingmaschinen, die keine Funktion f: N N berechnen. Die verbleibenden Turingmaschinen entsprechen genau den Turing-berechenbaren Funktionen. f0: n f1: n f2: 0 0 n n-1 (n > 0)... Keine Funktion Z000 ' ' ' ' R Z000 Z000 'I' ' ' R Z000 Z000 ' ' ' ' L Z000 Z000 'I' ' ' L Z000 Z000 ' ' ' ' S Z000 Z000 'I' ' ' S Z Z000 ' ' ' ' R Z000 Z000 'I' 'I' R Z001 Z001 ' ' ' ' R Z000 Z001 'I' ' ' S Z x

15 KB Grenzen der Berechenbarkeit 15 Abzählverfahren f0: n f1: n f2: 0 0 n n-1 (n > 0)... Keine Funktion Z000 ' ' ' ' R Z000 Z000 'I' ' ' R Z000 Z000 ' ' ' ' L Z000 Z000 'I' ' ' L Z000 Z000 ' ' ' ' S Z000 Z000 'I' ' ' S Z Z000 ' ' ' ' R Z000 Z000 'I' 'I' R Z001 Z001 ' ' ' ' R Z000 Z001 'I' ' ' S Z x Satz Die Menge der Turingmaschinen-berechenbaren Funktion f: N N ist abzählbar.

16 KB Grenzen der Berechenbarkeit 16 Zwischenstand Die Menge der berechenbaren Funktionen ist abzählbar. Menge der Funktionen von N nach N Menge der berechenbaren Funktionen von N nach N ? ? f 0, f 1, f 2, f 3,...

17 KB Grenzen der Berechenbarkeit 17 Existenz nicht-berechenbarer Funktionen Definition einer neuen Funktion f: N N f(0) = f 0 (0)+1, falls f 0 (0) definiert ist, sonst f(0) = 0 f(1) = f 1 (1)+1, falls f 1 (1) definiert ist, sonst f(1) = 0 f(2) = f 2 (2)+1, falls f 2 (2) definiert ist, sonst f(2) = 0 f(3) = f 3 (3)+1, falls f 3 (3) definiert ist, sonst f(3) = 0... f(n) = f n (n)+1, falls f n (n) definiert ist, sonst f(n) = 0... f f 0 f f 1 f f 2 f f 3... f f 0... Die Funktion f: N N unterscheidet sich von allen berechenbaren Funktionen, kann also selbst nicht berechenbar sein.

18 KB Grenzen der Berechenbarkeit 18 Existenz nicht-berechenbarer Funktionen Satz Es gibt Funktionen f: N N, die nicht (Turingmaschinen-) berechenbar sind. Menge der Funktionen von N nach N Menge der berechenbaren Funktionen von N nach N f ? f 0, f 1, f 2, f 3,...

19 KB Grenzen der Berechenbarkeit 19 Teil 2 Rado´sche Sigma-Funktion

20 KB Grenzen der Berechenbarkeit 20 Geht es auch konkreter? Ziel ist es, eine Funktion, die nicht berechenbar ist, expliziter zu beschreiben. Menge der Funktionen von N nach N Menge der berechenbaren Funktionen von N nach N ? f 0, f 1, f 2, f 3,... Rado´sche -Funktion

21 KB Grenzen der Berechenbarkeit 21 Biber-Turingmaschinen Eine Biber-TM ist eine eindimensionale TM, die in jedem Arbeitsschritt genau eine Rechts- oder Linksbewegung macht und nur einen Baumstamm erzeugt. Eine Biber-TM startet in einer leeren Welt, erzeugt Baumstämme und hält nach endlich vielen Arbeitsschritten. Vorher: Nachher: Biber-TM:

22 KB Grenzen der Berechenbarkeit 22 Übung Gesucht ist eine Biber-TM mit genau 2 Zuständen (außer dem Stop-Zustand), die möglichst viele Baumstämme erzeugt, bevor sie hält. Eine solche TM heißt fleißiger Biber (mit 2 Zuständen) bzw. busy beaver TM. Biber-Wettbewerb: Gesucht ist eine Biber-TM mit genau 3 (bzw. 4) Zuständen (außer dem Stop-Zustand), die möglichst viele Baumstämme erzeugt, bevor sie hält. Eine solche TM heißt fleißiger Biber (mit 3 bzw. 4 Zuständen) bzw. busy beaver TM.

23 KB Grenzen der Berechenbarkeit 23 Fleißige Biber alter gelesenes geschrieb. Kopf- neuer Zustand Zeichen Zeichen bewegung Zustand Z0 I I L Z1 Z0 ' ' I R Z1 Z1 I I S Z0 Z1 ' ' I L Z0 alter gelesenes geschrieb. Kopf- neuer Zustand Zeichen Zeichen bewegung Zustand Z0 I I L Z2 Z0 ' ' I R Z1 Z1 I I S Z1 Z1 ' ' I L Z0 Z2 I I S Z2 Z2 ' ' I L Z1 Fleißiger Biber mit 2 Zuständen: Fleißiger Biber mit 3 Zuständen:

24 KB Grenzen der Berechenbarkeit 24 Definition (Tibor Rado, 1962): Die Funktion : N N ist wie folgt festgelegt: (n) bezeichne die maximale Anzahl von Baumstämmen, die eine Biber-TM mit genau n Zuständen (außer dem Stop-Zustand) erzeugen kann. Rado´sche Sigma-Funktion n (n) ,

25 KB Grenzen der Berechenbarkeit 25 Rado´sche Sigma-Funktion Satz Die Rado´sche -Funktion ist nicht Turingmaschinen-berechenbar. Beweis: Der Beweis benutzt die folgenden (leicht zu zeigenden) Eigenschaften der -Funktion: (n) n für alle n N, (n) < (n+1) für alle n N (Monotonie von ). Der Beweis wird durch Widerspruch geführt. Annahme: Es gibt eine Turingmaschine T, mit der berechnet werden kann. Die Anzahl der Zustände von T bezeichnen wir mit k. AZ: II ZZ: IIII z0z0 T :

26 KB Grenzen der Berechenbarkeit 26 Rado´sche Sigma-Funktion Man zeigt zunächst, dass es eine Turingmaschine T n mit n Zuständen gibt, der auf einem leeren Band eine Baumstammreihe mit genau n Baumstämmen erzeugt: AZ: ZZ: I I z0z0 T2:T2: Man zeigt anschließend, dass es eine Turingmaschine T V mit 5 Zuständen gibt, der eine gegebene, beliebig lange Baumstammreihe verdoppelt: AZ: ZZ: I I z0z0 TV:TV: II II

27 KB Grenzen der Berechenbarkeit 27 T n : erzeugt eine Baumstammreihe der Länge n Rado´sche Sigma-Funktion Wir verknüpfen die 3 Turingmaschinen jetzt wie folgt zu einer neuen Turingmaschine T n,V, : AZ: ZZ: I I z0z0 I I T V : erzeugt eine Baumstammreihe der Länge 2n II ZZ: I I T : erzeugt eine Baumstammreihe der Länge (2n) IIIIII... Beachte: T n,V, hat n+5+k Zustände und erzeugt eine Baumstammreihe der Länge (2n).

28 KB Grenzen der Berechenbarkeit 28 Rado´sche Sigma-Funktion Wir vergleichen jetzt diese zusammengesetzte Turingmaschine T n,V, mit einem fleißigen Biber T FB(n+5+k) mit n+5+k Zuständen: T n,V, hat n+5+k Zustände und erzeugt (2n) Baumstämme. T FB(n+5+k) hat n+5+k Zustände und erzeugt (n+5+k) Baumst. Da ein fleißiger Biber die maximal mögliche Anzahl von Baumstämmen erzeugt, gilt (für alle n N): (n+5+k) (2n). Sei n = 2(5+k). Dann gilt: n+5+k = 3(5+k) 2n = 4(5+k), also n+5+k < 2n. Aus der Monotonie von folgt: (n+5+k) < (2n). Es ergibt sich also ein Widerspruch. Da alle Schlüsse korrekt sind, muss die Annnahme falsch sein.

29 KB Grenzen der Berechenbarkeit 29 Teil 2 Entscheidbarkeit

30 KB Grenzen der Berechenbarkeit 30 Textverarbeitungsprogramme eingabe: TStringList ausgabe: string function verarbeiten(s: TStringList): string

31 KB Grenzen der Berechenbarkeit 31 Name des Programms: function verarbeiten(s: TStringList): string Ein einfaches Beispiel uPunkt: verarbeiten Text Mit Hilfe eines Textverarbeitungsprogramms soll entschieden werden, ob ein eingegebener Text mit einem Punkt endet. ja, falls der Text mit einem Punkt endet nein, sonst

32 KB Grenzen der Berechenbarkeit 32 Ein einfaches Beispiel procedure TForm1.BVerarbeitenClick(Sender: TObject); var eingabe: TStringList; ausgabe: string; function verarbeiten(s: TStringList): string; var a: string; h: string; begin h := s.Strings[s.Count-1]; if h[length(h)] = '.' then a := 'ja' else a := 'nein'; result := a; end; begin eingabe := TStringList(MEingabe.Lines); ausgabe := verarbeiten(eingabe); PAusgabe.Caption := ausgabe; end;

33 KB Grenzen der Berechenbarkeit 33 Das Textverarbeitungsprogramms kann man auch auf den Quelltext des Textverarbeitungsprogramms selbst anwenden. Selbstanwendung

34 KB Grenzen der Berechenbarkeit 34 Selbstanwendung uPunkt: verarbeiten uPunkt.~pasja Das Textverarbeitungsprogramms kann man auch auf den Quelltext des Textverarbeitungsprogramms selbst anwenden.

35 KB Grenzen der Berechenbarkeit 35 Hilfe, mein Rechner hängt! Jeder hat schon einmal die Erfahrung gemacht, dass der Rechner aus irgendwelchen Gründen nicht mehr reagiert. Die Ursache kann eine Endlosschleife sein. x 0 := x 1 ; WHILE x 2 0 DO x 0 := x END

36 KB Grenzen der Berechenbarkeit 36 Übung uWhile1: verarbeiten Text ja, falls der Text die Zeichenkette while enthält nein, sonst Erstellen Sie ein Textverarbeitungsprogramms, mit dem man entscheiden kann, ob der eingegebene Text die Zeichenkette while enthält.

37 KB Grenzen der Berechenbarkeit 37 Übung uWhile2: verarbeiten Text Gerät in eine Endlosschleife, falls der Text die Zeichenkette while enthält nein, sonst Erstellen Sie zunächst ein Textverarbeitungsprogramms, mit dem man entscheiden kann, ob der eingegebene Text die Zeichenkette while enthält. Das Textverarbeitungsprogramm soll mindestens eine while-Schleife enthalten. Ändern Sie es anschließend so ab, dass folgendes Verhalten auftritt:

38 KB Grenzen der Berechenbarkeit 38 Das (spezielle) Halteproblem halten uProgramm.~pas ja, falls uProgramm:verarbeiten bei Eingabe von uProgramm.~pas hält nein, sonst Kann man eine Funktion programmieren, mit der man entscheiden kann, ob ein Textverarbeitungsprogramm bei der Analyse des eigenen Quelltextes hält? Annahme: Man kann diese Funktion programmieren.

39 KB Grenzen der Berechenbarkeit 39 Das (spezielle) Halteproblem Annahme: Man kann die Funktion halten programmieren. Dann ergänzen wir das Programm wie folgt: procedure TForm1.BVerarbeitenClick(Sender: TObject); var eingabe: TStringList; ausgabe: string; function halten(s: TStringList): string; begin... end; function verarbeiten(s: TStringList): string; begin if halten(s)='ja' then while true do; result := 'haelt'; end; begin eingabe := TStringList(MEingabe.Lines); ausgabe := verarbeiten(eingabe); PAusgabe.Caption := ausgabe; end; uSeltsam

40 KB Grenzen der Berechenbarkeit 40 Ein seltsames Programm uSeltsam: verarbeiten uProgramm.~pas keine Ausgabe, wenn uProgramm:verarbeiten bei Eingabe von uProgramm.~pas hält, da Endlosschleife haelt, wenn uProgramm:verarbeiten bei Eingabe von uProgramm.~pas nicht hält Seltsam dreht den Spieß um.

41 KB Grenzen der Berechenbarkeit 41 Ein seltsames Programm uSeltsam: verarbeiten uSeltsam.~pas keine Ausgabe, wenn uSeltsam:verarbeiten bei Eingabe von uSeltsam.~pas hält, da Endlosschleife haelt, wenn uSeltsam:verarbeiten bei Eingabe von uSeltsam.~pas nicht hält Seltsam analysiert sein eigenes Halteverhalten.

42 KB Grenzen der Berechenbarkeit 42 Ein seltsames Programm uSeltsam: verarbeiten uSeltsam.~pas hält nicht, wenn uSeltsam:verarbeiten bei Eingabe von uSeltsam.~pas hält hält, wenn uSeltsam:verarbeiten bei Eingabe von uSeltsam.~pas nicht hält Hält uSeltsam:verarbeiten bei Eingabe von uSeltsam.~pas? Man kann es nicht klären, ohne sich in Widersprüche zu verwickeln.

43 KB Grenzen der Berechenbarkeit 43 Ein seltsames Programm uSeltsam: verarbeiten uSeltsam.~pas hält nicht, wenn uSeltsam:verarbeiten bei Eingabe von uSeltsam.~pas hält hält, wenn uSeltsam:verarbeiten bei Eingabe von uSeltsam.~pas nicht hält Die Annahme, dass man eine Funktion programmieren kann, mit der man entscheiden kann, ob ein Textverarbeitungsprogramm bei der Analyse des eigenen Quelltextes hält, muss falsch sein. Woran liegt es, dass man widersprüchliche Ergebnissen erhält?

44 KB Grenzen der Berechenbarkeit 44 Entscheidbarkeit Algorithmus Wort ja, falls das Wort zur Sprache gehört nein, falls das Wort nicht zur Sprache gehört Beachte: Der Algorithmus muss für jede Eingabe halten und eine der beiden Ausgaben ´ja´ bzw. ´nein´ erzeugen. Definition: Eine Sprache über einem Alphabet heißt (Delphi-) entscheidbar, wenn es einen (Delphi-) Algorithmus gibt, der für jedes Wort über dem Alphabet feststellt, ob es zur Sprache gehört oder nicht.

45 KB Grenzen der Berechenbarkeit 45 Entscheidbarkeit uWhile: verarbeiten Text ja, falls der Text die Zeichenkette while enthält nein, sonst Beispiel: Die Sprache der ASCII-Texte, die die Zeichenkette while enthalten, ist (Delphi-) entscheidbar.

46 KB Grenzen der Berechenbarkeit 46 Unentscheidbarkeit des Halte-Problems Satz Die Sprache der Delphi-Textverarbeitungsprogramme, die bei Eingabe des eigenen Quelltextes halten, ist nicht (Delphi-) entscheidbar. uProgramm.~pas ja, falls uProgramm:verarbeiten bei Eingabe von uProgramm.~pas hält nein, sonst Kurz: Das spezielle Halteproblem (Hält ein ein Programm, wenn es seinen eigenen Quelltext bearbeitet?) ist nicht entscheidbar.

47 KB Grenzen der Berechenbarkeit 47 Unentscheidbarkeit des Halte-Problems Satz Das allgemeine Halteproblem (Hält ein ein Programm, wenn es Daten bearbeitet?) ist nicht entscheidbar. uProgramm.~pas + Daten ja, falls uProgramm:verarbeiten bei Eingabe der Daten hält nein, sonst Fazit: Es gibt keinen Algorithmus, mit dem man allgemein vorab testen kann, ob ein Programm bei der Verarbeitung von Daten hält.

48 KB Grenzen der Berechenbarkeit 48

49 KB Grenzen der Berechenbarkeit 49 Teil 3 Semi-Entscheidbarkeit

50 KB Grenzen der Berechenbarkeit 50 Das 10. Hilbert`sche Problem Diophantische Gleichungen: Hat eine Polynomgleichung (in der verschiedene Variablen mit verschiedenen Exponenten vorkommen können) mit ganzzahligen Koeffizienten eine ganzzahlige Lösung? x 3 + 5x 2 y 2 z – xz + 37 = 0ja: x = 1; y = 2; z = -2 x 2 +1 = 0nein!

51 KB Grenzen der Berechenbarkeit 51 Das 10. Hilbert`sche Problem Polynomgleichung ja, falls die Polynomgleichung eine ganzzahlige Lösung hat nein, sonst Satz Das 10. Hilbertsche Problem (Hat eine Polynomgleichung mit ganzzahligen Koeffizienten eine ganzzahlige Lösung?) ist nicht entscheidbar.

52 KB Grenzen der Berechenbarkeit 52 Das 10. Hilbert`sche Problem Ein Algorithmus zur Lösung von Diophantischen Gleichungen: Eingabe: Gleichung; z. B.: x 3 + 5x 2 y 2 z – xz + 37 = 0 Probiere systematisch alle möglichen Belegungen der in der Gleichung vorkommenden Variablen aus, ob sie die Gleichung erfüllen. Stoppe, wenn eine passende Belegung gefunden wurde. Im Beispiel: x = 0; y = 0; z = 0:nein x = 1; y = 0; z = 0:nein x = -1; y = 0; z = 0nein x = 0; y = 1; z = 0nein... x = 1; y = 2; z = -2ja Ausgabe: Lösbarkeit; im Beispiel: ja

53 KB Grenzen der Berechenbarkeit 53 Semi-Entscheidbarkeit Der Algorithmus zur Lösung von Diophantischen Gleichungen hat folgendes Verhalten: Beachte: Der Algorithmus liefert nur in den Fällen, in denen eine Lösung existiert, ein positives Ergebnis, in anderen Fällen liefert er kein Ergebnis. Diophantische Gleichung ja, falls die Gleichung eine ganzzahlige Lösung hat hält nicht, sonst

54 KB Grenzen der Berechenbarkeit 54 Definition: Eine Sprache über einem Alphabet heißt semi-entscheidbar, wenn es einen Algorithmus gibt, der für jedes Wort über dem Alphabet, das zur Sprache gehört, dies auch mitteilt. Semi-Entscheidbarkeit Algorithmus Wort ja, falls das Wort zur Sprache gehört hält nicht, falls das Wort nicht zur Sprache gehört Beachte: Falls der Algorithmus lange Zeit noch nicht gestoppt hat, ist nicht klar, ob das Wort zur Sprache gehört oder nicht.

55 KB Grenzen der Berechenbarkeit 55 Semi-Entscheidbarkeit Satz Eine Sprache L ist entscheidbar genau dann, wenn sowohl L als auch das Komplement von L semi-entscheidbar sind. Beweis: Die Richtung von links nach rechts ist klar. Für die Umkehrung sei A1 ein Semi-Entscheidungsalgorithmus für L und A2 ein entsprechender Algorithmus für das Komplement von L. Der folgende Algorithmus liefert ein Entscheidungsverfahren: Eingabe: Wort w FÜR s = 1, 2, 3,... TUE WENN A1 bei Eingabe von w in s Schritten stoppt, DANN Ausgabe: ja WENN A2 bei Eingabe von w in s Schritten stoppt, DANN Ausgabe: nein

56 KB Grenzen der Berechenbarkeit 56

57 KB Grenzen der Berechenbarkeit 57 Teil 4 Exkurs in die Geschichte der Informatik

58 KB Grenzen der Berechenbarkeit 58 David Hilbert

59 KB Grenzen der Berechenbarkeit 59 Hilbert´s Rede auf dem Kongress 1900 Wer von uns würde nicht gern den Schleier lüften, unter dem die Zukunft verborgen liegt, um einen Blick zu werfen auf die bevorstehenden Fortschritte unsrer Wissenschaft und in die Geheimnisse ihrer Entwickelung während der künftigen Jahrhunderte! Welche besonderen Ziele werden es sein, denen die führenden mathematischen Geister der kommenden Geschlechter nachstreben? welche neuen Methoden und neuen Thatsachen werden die neuen Jahrhunderte entdecken - auf dem weiten und reichen Felde mathematischen Denkens? Die Geschichte lehrt die Stetigkeit der Entwickelung der Wissenschaft. Wir wissen, daß jedes Zeitalter eigene Probleme hat, die das kommende Zeitalter löst oder als unfruchtbar zur Seite schiebt und durch neue Probleme ersetzt. Wollen wir eine Vorstellung gewinnen von der muthmaßlichen Entwickelung mathematischen Wissens in der nächsten Zukunft, so müssen wir die offenen Fragen vor unserem Geiste passiren lassen und die Probleme überschauen, welche die gegenwärtige Wissenschaft stellt, und deren Lösung wir von der Zukunft erwarten. Zu einer solchen Musterung der Probleme scheint mir der heutige Tag, der an der Jahrhundertwende liegt, wohl geeignet; denn die großen Zeitabschnitte fordern uns nicht blos auf zu Rückblicken in die Vergangenheit, sondern sie lenken unsere Gedanken auch auf das unbekannte Bevorstehende....

60 KB Grenzen der Berechenbarkeit 60 Hilbert´s Rede auf dem Kongress Die Widerspruchslosigkeit der arithmetischen Axiome Wenn es sich darum handelt, die Grundlagen einer Wissenschaft zu untersuchen, so hat man ein System von Axiomen aufzustellen, welche eine genaue und vollständige Beschreibung derjenigen Beziehungen enthalten, die zwischen den elementaren Begriffen jener Wissenschaft stattfinden. Die aufgestellten Axiome sind zugleich die Definitionen jener elementaren Begriffe und jede Aussage innerhalb des Bereiches der Wissenschaft, deren Grundlagen wir prüfen, gilt uns nur dann als richtig, falls sie sich mittelst einer endlichen Anzahl logischer Schlüsse aus den aufgestellten Axiomen ableiten läßt. Bei näherer Betrachtung entsteht die Frage, ob etwa gewisse Aussagen einzelner Axiome sich untereinander bedingen und ob nicht somit die Axiome noch gemeinsame Bestandteile enthalten, die man beseitigen muß, wenn man zu einem System von Axiomen gelangen will, die völlig von einander unabhängig sind. Vor Allem aber möchte ich unter den zahlreichen Fragen, welche hinsichtlich der Axiome gestellt werden können, dies als das wichtigste Problem bezeichnen, zu beweisen, daß dieselben untereinander widerspruchslos sind, d.h. daß man auf Grund derselben mittelst einer endlichen Anzahl von logischen Schlüssen niemals zu Resultaten gelangen kann, die miteinander in Widerspruch stehen.

61 KB Grenzen der Berechenbarkeit 61 Das Hilbert´sche Programm Widerspruchsfreiheit: Die Formalisierung soll widerspruchsfrei sein (d. h.: keine zwei sich ausschließenden Aussagen können hergeleitet werden). Vollständigkeit: Jede wahre mathematische Aussage kann hergeleitet werden. Entscheidbarkeit: Es gibt ein Verfahren, mit dem man für jede beliebige Aussage in endlich vielen Schritten entscheiden kann, ob sie ableitbar ist oder nicht. Ziel: Formalisierung der Mathematik

62 KB Grenzen der Berechenbarkeit 62 Kurt Gödel

63 KB Grenzen der Berechenbarkeit 63 Ergebnisse von Gödel In jedem formalen System, das widerspruchsfrei ist, existieren Aussagen, die wahr sind, aber innerhalb des Systems nicht hergeleitet werden können. Das bedeutet, es bleiben immer wahre Aussagen übrig, die nicht herleitbar sind. Wenn ein formales System widerspruchsfrei ist, dann kann man innerhalb des Systems nicht herleiten, dass es widerspruchsfrei ist. Gödelsche Unvollständigkeitssätze (1931) Widerspruchsfreiheit: Die Formalisierung soll widerspruchsfrei sein (d. h.: keine zwei sich ausschließenden Aussagen können hergeleitet werden). Vollständigkeit: Jede wahre mathematische Aussage kann hergeleitet werden. Hilbertsche Programm: Formalisierung der Mathematik

64 KB Grenzen der Berechenbarkeit 64 Alan Turing

65 KB Grenzen der Berechenbarkeit 65 Alonzo Church

66 KB Grenzen der Berechenbarkeit 66 Präzisierung des Algorithmusbegriffs Gibt es ein Verfahren, mit dem man für jede beliebige mathematische Aussage in endlich vielen Schritten entscheiden kann, ob sie ableitbar ist oder nicht? Mathematische Präzisierung des Begriffs Verfahren bzw. (in heutiger Terminologie) des Begriffs Algorithmus Entscheidungsproblem: Grundlegende Schwierigkeit:

67 KB Grenzen der Berechenbarkeit 67 Ergebnis von Turing und Church Es gibt kein Verfahren, mit dem man für jede beliebige Aussage in endlich vielen Schritten entscheiden kann, ob sie ableitbar ist oder nicht. Turing und Church (1936) Widerspruchsfreiheit: Die Formalisierung soll widerspruchsfrei sein (d. h.: keine zwei sich ausschließenden Aussagen können hergeleitet werden). Vollständigkeit: Jede wahre mathematische Aussage kann hergeleitet werden. Entscheidbarkeit: Es gibt ein Verfahren, mit dem man für jede beliebige Aussage in endlich vielen Schritten entscheiden kann, ob sie ableitbar ist oder nicht. Hilbertsche Programm: Formalisierung der Mathematik

68


Herunterladen ppt "Grenzen der Berechenbarkeit Klaus Becker 2004. KB Grenzen der Berechenbarkeit 2 Die Möglichkeiten von Software Geben Sie einem Computer die richtige Software,"

Ähnliche Präsentationen


Google-Anzeigen