68
Grenzen der Berechenbarkeit Grenzen der Berechenbarkeit Klaus Becker 2004

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

Embed Size (px)

Citation preview

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

Grenzen der BerechenbarkeitGrenzen der Berechenbarkeit

Klaus Becker2004

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

2

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Die Möglichkeiten von Software 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:Herausgeber einer Software-Zeitschrift:

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

3

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Teil 1 Teil 1

Nicht-berechenbare Funktionen

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

4

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Das ProblemDas Problem

Ist jede Funktion f: N N auch berechenbar?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)

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

5

KB

Gre

nze

n d

er

Bere

chen

bark

eit

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.

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 BerechenbarkeitPräzisierung von Berechenbarkeit

Analog für f: N x N x ... x N N

II

z0

II II

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

6

KB

Gre

nze

n d

er

Bere

chen

bark

eit

AbzählverfahrenAbzählverfahrenTuringmaschinen kann man abzählen (d. h. durchnummerieren).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 Z000Z000 'I' ' ' R Z000

Z000 ' ' ' ' L Z000Z000 'I' ' ' L Z000

Z000 ' ' ' ' S Z000Z000 'I' ' ' S Z000

Z000 ' ' 'I' R Z000Z000 'I' ' ' R Z000

Z000 ' ' 'I' L Z000Z000 'I' ' ' L Z000

...

0

1

2

3

4

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

7

KB

Gre

nze

n d

er

Bere

chen

bark

eit

ÜbungÜbung

Ergänzen Sie die begonnene Abzählung um weitere Turing-maschinen mit genau einem Zustand. Wie viele gibt es insgesamt?

Z000 ' ' ' ' R Z000Z000 'I' ' ' R Z000

Z000 ' ' ' ' L Z000Z000 'I' ' ' L Z000

Z000 ' ' ' ' S Z000Z000 'I' ' ' S Z000

Z000 ' ' 'I' R Z000Z000 'I' ' ' R Z000

Z000 ' ' 'I' L Z000Z000 'I' ' ' L Z000

0

1

2

3

4

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

8

KB

Gre

nze

n d

er

Bere

chen

bark

eit

ÜbungÜbung

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

9

KB

Gre

nze

n d

er

Bere

chen

bark

eit

AbzählverfahrenAbzählverfahren

Turingmaschinen kann man abzählen.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 Z000Z000 'I' ' ' R Z001Z001 ' ' ' ' R Z000Z001 'I' ' ' R Z000

...

0

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

10

KB

Gre

nze

n d

er

Bere

chen

bark

eit

AbzählverfahrenAbzählverfahren

Turingmaschinen kann man abzählen.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 Z000Z000 'I' ' ' R Z000

Z000 ' ' ' ' L Z000Z000 'I' ' ' L Z000

...

Z000 ' ' ' ' R Z000Z000 'I' ' ' R Z001Z001 ' ' ' ' R Z000Z001 'I' ' ' R Z000

...

0

1

..

36

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

11

KB

Gre

nze

n d

er

Bere

chen

bark

eit

AbzählbarkeitAbzä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.

SatzDie Menge der Turingmaschinen (über dem Eingabealphabet {'I'}) ist abzählbar.

SatzDie Menge der Turingmaschinen (über dem Eingabealphabet {'I'}) ist abzählbar.

D. h., die Turingmaschinen lassen sich durchnummerieren:

T0; T1; T2; ...

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.

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.

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

12

KB

Gre

nze

n d

er

Bere

chen

bark

eit

ÜbungÜbung

Überprüfen Sie, ob die aufgelisteten Turingmaschinen Funktionen f: N N berechnen. Wenn ja, welche?

Z000 ' ' ' ' R Z000Z000 'I' ' ' R Z000

Z000 ' ' ' ' L Z000Z000 'I' ' ' L Z000

Z000 ' ' ' ' S Z000Z000 'I' ' ' S Z000

Z000 ' ' 'I' R Z000Z000 'I' ' ' R Z000

...

Z000 ' ' ' ' R Z000Z000 'I' 'I' R Z001Z001 ' ' ' ' R Z000Z001 'I' ' ' S Z000

0

1

2

3

..

x

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

13

KB

Gre

nze

n d

er

Bere

chen

bark

eit

LösungLösung

Überprüfen Sie, ob die aufgelisteten Turingmaschinen Funktionen f: N N berechnen. Wenn ja, welche?

f: n

f: n

f: 0 0 n n-1 (n > 0)

f: n

...

Keine Funktion

Z000 ' ' ' ' R Z000Z000 'I' ' ' R Z000

Z000 ' ' ' ' L Z000Z000 'I' ' ' L Z000

Z000 ' ' ' ' S Z000Z000 'I' ' ' S Z000

Z000 ' ' 'I' R Z000Z000 'I' ' ' R Z000

...

Z000 ' ' ' ' R Z000Z000 'I' 'I' R Z001Z001 ' ' ' ' R Z000Z001 'I' ' ' S Z000

0

1

2

3

..

x

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

14

KB

Gre

nze

n d

er

Bere

chen

bark

eit

AbzählverfahrenAbzählverfahren

Berechenbare Funktionen kann man abzählen.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 Z000Z000 'I' ' ' R Z000

Z000 ' ' ' ' L Z000Z000 'I' ' ' L Z000

Z000 ' ' ' ' S Z000Z000 'I' ' ' S Z000

...

Z000 ' ' ' ' R Z000Z000 'I' 'I' R Z001Z001 ' ' ' ' R Z000Z001 'I' ' ' S Z000

0

1

2

..

x

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

15

KB

Gre

nze

n d

er

Bere

chen

bark

eit

AbzählverfahrenAbzählverfahren

f0: n

f1: n

f2: 0 0 n n-1 (n > 0)

...

Keine Funktion

Z000 ' ' ' ' R Z000Z000 'I' ' ' R Z000

Z000 ' ' ' ' L Z000Z000 'I' ' ' L Z000

Z000 ' ' ' ' S Z000Z000 'I' ' ' S Z000

...

Z000 ' ' ' ' R Z000Z000 'I' 'I' R Z001Z001 ' ' ' ' R Z000Z001 'I' ' ' S Z000

0

1

2

..

x

SatzDie Menge der Turingmaschinen-berechenbaren Funktion f: N N ist abzählbar.

SatzDie Menge der Turingmaschinen-berechenbaren Funktion f: N N ist abzählbar.

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

16

KB

Gre

nze

n d

er

Bere

chen

bark

eit

ZwischenstandZwischenstand

Die Menge der berechenbaren Funktionen ist abzählbar.Die Menge der berechenbaren Funktionen ist abzählbar.

Menge der Funktionen von N nach N

Menge der berechenbaren

Funktionen von N nach N

?

?

f0, f1, f2, f3, ...

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

17

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Existenz nicht-berechenbarer Existenz nicht-berechenbarer FunktionenFunktionen

Definition einer neuen Funktion f: N NDefinition einer neuen Funktion f: N N

f(0) = f0(0)+1, falls f0(0) definiert ist, sonst f(0) = 0

f(1) = f1(1)+1, falls f1(1) definiert ist, sonst f(1) = 0

f(2) = f2(2)+1, falls f2(2) definiert ist, sonst f(2) = 0

f(3) = f3(3)+1, falls f3(3) definiert ist, sonst f(3) = 0

...

f(n) = fn(n)+1, falls fn(n) definiert ist, sonst f(n) = 0

...

f f0

f f1

f f2

f f3

...

f f0

...

Die Funktion f: N N unterscheidet sich von allen berechenbaren Funktionen, kann also selbst nicht berechenbar sein.

Die Funktion f: N N unterscheidet sich von allen berechenbaren Funktionen, kann also selbst nicht berechenbar sein.

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

18

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Existenz nicht-berechenbarer Existenz nicht-berechenbarer FunktionenFunktionen

SatzEs gibt Funktionen f: N N, die nicht (Turingmaschinen-) berechenbar sind.

SatzEs 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

?

f0, f1, f2, f3, ...

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

19

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Teil 2 Teil 2

Rado´sche Sigma-Funktion

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

20

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Geht es auch konkreter?Geht es auch konkreter?

Ziel ist es, eine Funktion, die nicht berechenbar ist, expliziter zu beschreiben. 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

?

f0, f1, f2, f3, ...

Rado´sche -Funktion

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

21

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Biber-TuringmaschinenBiber-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:

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

22

KB

Gre

nze

n d

er

Bere

chen

bark

eit

ÜbungÜ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: 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“.

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

23

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Fleißige BiberFleißige Biber

alter gelesenes geschrieb. Kopf- neuer Zustand Zeichen Zeichen bewegung Zustand

Z0 I I L Z1Z0 ' ' I R Z1

Z1 I I S Z0Z1 ' ' I L Z0

alter gelesenes geschrieb. Kopf- neuer Zustand Zeichen Zeichen bewegung Zustand

Z0 I I L Z2Z0 ' ' I R Z1

Z1 I I S Z1Z1 ' ' I L Z0

Z2 I I S Z2Z2 ' ' I L Z1

Fleißiger Biber mit 2 Zuständen: Fleißiger Biber mit 2 Zuständen:

Fleißiger Biber mit 3 Zuständen: Fleißiger Biber mit 3 Zuständen:

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

24

KB

Gre

nze

n d

er

Bere

chen

bark

eit

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.

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-FunktionRado´sche Sigma-Funktion

n

0

1

2

3

4

5

6

...

(n)

0

1

4

6

13

4098

1,2910865

...

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

25

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Rado´sche Sigma-FunktionRado´sche Sigma-FunktionSatzDie Rado´sche -Funktion ist nicht Turingmaschinen-berechenbar.

SatzDie 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: I I II

z0T :

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

26

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Rado´sche Sigma-FunktionRado´sche Sigma-Funktion

Man zeigt zunächst, dass es eine Turingmaschine Tn mit n Zuständen gibt, der auf einem leeren Band eine Baumstammreihe mit genau n Baumstämmen erzeugt:

AZ:

ZZ: I I

z0T2:

Man zeigt anschließend, dass es eine Turingmaschine TV mit 5 Zuständen gibt, der eine gegebene, beliebig lange Baumstammreihe verdoppelt:

AZ:

ZZ: I I

z0TV:

II

I I

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

27

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Tn: erzeugt eine Baumstammreihe der Länge n

Rado´sche Sigma-FunktionRado´sche Sigma-Funktion

Wir verknüpfen die 3 Turingmaschinen jetzt wie folgt zu einer neuen Turingmaschine Tn,V, :

AZ:

ZZ: I I

z0

ZZ: I I

TV: erzeugt eine Baumstammreihe der Länge 2n

I I

ZZ: I I

T : erzeugt eine Baumstammreihe der Länge (2n)

I I II I I ...

Beachte: Tn,V, hat n+5+k Zustände und erzeugt eine Baumstammreihe der Länge (2n).

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

28

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Rado´sche Sigma-FunktionRado´sche Sigma-Funktion

Wir vergleichen jetzt diese zusammengesetzte Turingmaschine Tn,V, mit einem fleißigen Biber TFB(n+5+k) mit n+5+k Zuständen:

Tn,V, hat n+5+k Zustände und erzeugt (2n) Baumstämme.

TFB(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.

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

29

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Teil 2 Teil 2

Entscheidbarkeit

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

30

KB

Gre

nze

n d

er

Bere

chen

bark

eit

TextverarbeitungsprogrammeTextverarbeitungsprogramme

eingabe: TStringList

ausgabe: string

function verarbeiten(s: TStringList): string

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

31

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Name des Programms: function verarbeiten(s: TStringList):

string

Ein einfaches BeispielEin einfaches Beispiel

uPunkt:verarbeiten

Text

Mit Hilfe eines Textverarbeitungsprogramms soll entschieden werden, ob ein eingegebener Text mit einem Punkt endet.

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

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

32

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Ein einfaches BeispielEin 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;

begineingabe := TStringList(MEingabe.Lines);ausgabe := verarbeiten(eingabe);PAusgabe.Caption := ausgabe;end;

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

33

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Das Textverarbeitungsprogramms kann man auch auf den Quelltext des Textverarbeitungsprogramms selbst anwenden.

Das Textverarbeitungsprogramms kann man auch auf den Quelltext des Textverarbeitungsprogramms selbst anwenden.

SelbstanwendungSelbstanwendung

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

34

KB

Gre

nze

n d

er

Bere

chen

bark

eit

SelbstanwendungSelbstanwendung

uPunkt:verarbeiten

uPunkt.~pas

ja

Das Textverarbeitungsprogramms kann man auch auf den Quelltext des Textverarbeitungsprogramms selbst anwenden.

Das Textverarbeitungsprogramms kann man auch auf den Quelltext des Textverarbeitungsprogramms selbst anwenden.

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

35

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Hilfe, mein Rechner hängt!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.

Jeder hat schon einmal die Erfahrung gemacht, dass der Rechner aus irgendwelchen Gründen nicht mehr reagiert. Die Ursache kann eine Endlosschleife sein.

x0 := x1;

WHILE x2 0 DO x0 := x0 + 1 END

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

36

KB

Gre

nze

n d

er

Bere

chen

bark

eit

ÜbungÜ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.

Erstellen Sie ein Textverarbeitungsprogramms, mit dem man entscheiden kann, ob der eingegebene Text die Zeichenkette ‘while‘ enthält.

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

37

KB

Gre

nze

n d

er

Bere

chen

bark

eit

ÜbungÜ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:

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:

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

38

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Das (spezielle) HalteproblemDas (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?

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. Annahme: Man kann diese Funktion programmieren.

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

39

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Das (spezielle) HalteproblemDas (spezielle) Halteproblem

Annahme: Man kann die Funktion „halten“ programmieren. Dann ergänzen wir das Programm wie folgt: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;begineingabe := TStringList(MEingabe.Lines);ausgabe := verarbeiten(eingabe);PAusgabe.Caption := ausgabe;end;

uSeltsam

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

40

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Ein seltsames ProgrammEin 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.Seltsam dreht den Spieß um.

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

41

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Ein seltsames ProgrammEin 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.Seltsam analysiert sein eigenes Halteverhalten.

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

42

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Ein seltsames ProgrammEin 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? Hält uSeltsam:verarbeiten bei Eingabe von uSeltsam.~pas?

Man kann es nicht klären, ohne sich in Widersprüche zu verwickeln.Man kann es nicht klären, ohne sich in Widersprüche zu verwickeln.

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

43

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Ein seltsames ProgrammEin 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.

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?Woran liegt es, dass man widersprüchliche Ergebnissen erhält?

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

44

KB

Gre

nze

n d

er

Bere

chen

bark

eit

EntscheidbarkeitEntscheidbarkeit

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. 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.

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.

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

45

KB

Gre

nze

n d

er

Bere

chen

bark

eit

EntscheidbarkeitEntscheidbarkeit

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. Beispiel: Die Sprache der ASCII-Texte, die die Zeichenkette ‘while‘ enthalten, ist (Delphi-) entscheidbar.

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

46

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Unentscheidbarkeit des Halte-ProblemsUnentscheidbarkeit des Halte-Problems

SatzDie Sprache der Delphi-Textverarbeitungsprogramme, die bei Eingabe des eigenen Quelltextes halten, ist nicht (Delphi-) entscheidbar.

SatzDie 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.

Kurz: Das spezielle Halteproblem (Hält ein ein Programm, wenn es seinen eigenen Quelltext bearbeitet?) ist nicht entscheidbar.

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

47

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Unentscheidbarkeit des Halte-ProblemsUnentscheidbarkeit des Halte-Problems

SatzDas allgemeine Halteproblem (Hält ein ein Programm, wenn es Daten bearbeitet?) ist nicht entscheidbar.

SatzDas 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.

Fazit: Es gibt keinen Algorithmus, mit dem man allgemein vorab testen kann, ob ein Programm bei der Verarbeitung von Daten hält.

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

48

KB

Gre

nze

n d

er

Bere

chen

bark

eit

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

49

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Teil 3 Teil 3

Semi-Entscheidbarkeit

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

50

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Das 10. Hilbert`sche ProblemDas 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?

Diophantische Gleichungen:

Hat eine Polynomgleichung (in der verschiedene Variablen mit verschiedenen Exponenten vorkommen können) mit ganzzahligen Koeffizienten eine ganzzahlige Lösung?

x3 + 5x2y2z – xz + 37 = 0 ja: x = 1; y = 2; z = -2

x2 +1 = 0 nein!

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

51

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Das 10. Hilbert`sche ProblemDas 10. Hilbert`sche Problem

Polynomgleichung

ja, falls die Polynomgleichung eine ganzzahlige Lösung hat

nein, sonst

SatzDas 10. Hilbertsche Problem (Hat eine Polynomgleichung mit ganzzahligen Koeffizienten eine ganzzahlige Lösung?) ist nicht entscheidbar.

SatzDas 10. Hilbertsche Problem (Hat eine Polynomgleichung mit ganzzahligen Koeffizienten eine ganzzahlige Lösung?) ist nicht entscheidbar.

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

52

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Das 10. Hilbert`sche ProblemDas 10. Hilbert`sche ProblemEin Algorithmus zur Lösung von Diophantischen Gleichungen:Ein Algorithmus zur Lösung von Diophantischen Gleichungen:

Eingabe: Gleichung; z. B.: x3 + 5x2y2z – 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: neinx = 1; y = 0; z = 0: neinx = -1; y = 0; z = 0 neinx = 0; y = 1; z = 0 nein...x = 1; y = 2; z = -2 ja

Ausgabe: Lösbarkeit; im Beispiel: ja

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

53

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Semi-EntscheidbarkeitSemi-Entscheidbarkeit

Der Algorithmus zur Lösung von Diophantischen Gleichungen hat folgendes Verhalten: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.

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

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

54

KB

Gre

nze

n d

er

Bere

chen

bark

eit

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.

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-EntscheidbarkeitSemi-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.

Beachte: Falls der Algorithmus lange Zeit noch nicht gestoppt hat, ist nicht klar, ob das Wort zur Sprache gehört oder nicht.

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

55

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Semi-EntscheidbarkeitSemi-Entscheidbarkeit

SatzEine Sprache L ist entscheidbar genau dann, wenn sowohl L als auch das Komplement von L semi-entscheidbar sind.

SatzEine 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

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

56

KB

Gre

nze

n d

er

Bere

chen

bark

eit

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

57

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Teil 4 Teil 4

Exkurs in die Geschichte der Informatik

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

58

KB

Gre

nze

n d

er

Bere

chen

bark

eit

David Hilbert David Hilbert

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

59

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Hilbert´s Rede auf dem Kongress 1900Hilbert´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. ...

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

60

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Hilbert´s Rede auf dem Kongress 1900Hilbert´s Rede auf dem Kongress 1900

2. 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.

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

61

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Das Hilbert´sche ProgrammDas 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 MathematikZiel: Formalisierung der Mathematik

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

62

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Kurt GödelKurt Gödel

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

63

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Ergebnisse von GödelErgebnisse 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)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 MathematikHilbertsche Programm: Formalisierung der Mathematik

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

64

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Alan TuringAlan Turing

http://www-gap.dcs.st-and.ac.uk/~history/Mathematicians/Turing.html

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

65

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Alonzo ChurchAlonzo Church

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

66

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Präzisierung des AlgorithmusbegriffsPrä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:Entscheidungsproblem:

Grundlegende Schwierigkeit:Grundlegende Schwierigkeit:

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

67

KB

Gre

nze

n d

er

Bere

chen

bark

eit

Ergebnis von Turing und ChurchErgebnis 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)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 MathematikHilbertsche Programm: Formalisierung der Mathematik

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

68

KB

Gre

nze

n d

er

Bere

chen

bark

eit

LiteraturhinweiseLiteraturhinweise

U. Schöning: Theoretische Informatik – kurzgefasst. Spektrum Akademischer Verlag 2001.

Gasper, Leiß, Spengler, Stimm: Technische und theoretische Informatik. Bayerischer Schulbuch-Verlag 1992.

Reichert, Nievergelt, Hartmann: Programmieren mit Kara. Springer-Verlag 2004.

D. Harel: Das Affenpuzzle und weitere bad news aus der Computerwelt. Springer-Verlag 2002.

J. Casti: Das Cambridge Quintett. Berlin Verlag 1998.

D. R. Hofstadter: Gödel, Escher, Bach. Klett-Cotta 1985.