Mario Fohs, 02.12.2014

Werbung
Protokoll in Informatik
02.12.14
Mario Fohs
Theorie des Algorithmus und der Turingmaschine
Die Turingthese:
a) Die Turingmaschine ist ein Computer:
Jede Turingmaschine lässt sich durch einen Computer simulieren. Ein Computer ist
also mindestens so leistungsfähig wie eine Turingmaschine.
b) Jeder Computer lässt sich auf eine Turingmaschine reduzieren:
- endliches Alphabet:
Ein Computer erkennt unterschiedlich viele verschiedene Zeichen (ASCII) beim
Lesen und Schreiben
- potentiell unendliches Speicherband:
Es soll immer genügend Speicherplatz vorhanden sein.
- Operation auf dem Arbeitsfeld:
Schreiben
gleichzeitige Bearbeitung eines Feldes
Lesen
nach rechts Behandlung benachbarter Felder (Diskette, Zeiger)
nach links
- endliche Zustandsmenge:
Wegen endlicher Algorithmen und unendlich vielen Programmschritte (
Prozessorschritte) möglich.
- eindeutige Überführungsfunktion:
Durch ein Programm wird der nächst folgende Zustand eindeutig festgelegt
(Eindeutigkeit des Algorithmus)
c) Ergebnis:
Jeder (!) Algorithmus kann (im Prinzip) von einer Turingmaschine abgearbeitet
werden.
d) Turingthese:
- Ein Algorithmus ist ein Vorgang, der von einer Turingmaschine ausführbar ist.
- Ein Algorithmus ist eine Turingmaschine.
- Der intuitive Begriff des Algorithmus (allgemeines, ausführbares, eindeutiges,
endliches Verfahren und der präzise Begriff des Algorithmus (Turingmaschine)
stimmen überein.
e) Anwendungen:
Beweise für die Ausführbarkeit von Algorithmen:
- positiv: Turingmaschine dazu finden
- negativ: es gibt keine Turingmaschine dazu
8. Abzählbarkeit
a) Definition: Eine Menge heißt abzählbar, wenn deren Elemente eindeutig der Menge der
natürlichen Zahlen zuordnen: N= {a1,a2,a3…} (unendlich)
b) Satz: Die Menge der Turingmaschinen ist abzählbar.
Beweis: 1.) Jede Turingmaschine ist durch eine Kette von Fünftupel darstellbar. Z0 x y R Z1
Es gibt nur endlich viele Befehle!
Startzustand
gelesen
gelesen
Endzustand
Kopf
2.) Die Zahl der Zustände ist abzählbar (durchnummeriert) z0,z1,z2…
- Die Buchstaben sind endlich: a,b,c…
 Die Kombinationen sind abzählbar.
3.) Ergebnis: Die Menge aller Fünftupel ist abzählbar.  Die Menge der Turingmaschinen ist
abzählbar
c) Satz: Finde eine überabzählbare Menge von Funktionen. Diese kann dann nicht mit einer
Turingmaschine dargestellt werden.
d) Satz: Die Menge aller Funktionen:
f: N  N ist überabzählbar.
Beweis: (indirekt) Finde ein Gegenbeispiel
Angenommen, alle Funktionen f können durchnummeriert werden, d.h. es gibt eine nummerierte
Folge: f1,f2,f3… die Funktionswerte sind ebenfalls eine Folge natürlicher Zahlen
f(1)
f(2)
f(3)
f1
25
37
40
f2
7
3
1
f3
5
4
2
fiktive Funktionswerte
Die Menge der f: NN ist abzählbar, wenn alle in dieser Tabelle vorkommen. Wir konstruieren eine
Funktion, die nicht in dieser Tabelle vorkommt.
Definiere f*: N N so, dass f*(n) ≠ fn (n) (Diagonalwerte) d.h. sie unterscheidet sich an einer Stelle
von allem aufgezählten.
 sie gehört nicht zum Abzählschema
 Die Annahme ist falsch
 die Menge aller ist überabzählbar
e)
Folgerung: Die Menge der Turingmaschinen ist abzählbar. Die Menge der Funktionen f: N N
ist überabzählbar.
 Es gibt Funktionen, die nicht von einer Turingmaschine berechenbar sind.
 Funktionen, für die es keinen Algorithmus gibt!
Herunterladen