Skriptes - Uni Bremen - Universität Bremen
Skriptes - Uni Bremen - Universität Bremen
Skriptes - Uni Bremen - Universität Bremen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Berechenbarkeit<br />
versteht. Zunächst gibt es scheinbar sehr viele Kandidaten für das zugrunde gelegte Berechnungsmodell:<br />
Eine Programmiersprache? Welche der vielen Sprachen ist geeignet?<br />
Imperativ, funktional, objektorientiert? Verwendet man ein hardwarenahes Modell, wie<br />
etwa das Modell eines Mikroprozessors? Oder ein abstraktes mathematisches Modell?<br />
Es stellt sich heraus, dass ein geeignetes Berechnungsmodell folgende Eigenschaften erfüllen<br />
sollte:<br />
1) es sollte einfach sein, damit formale Beweise erleichtert werden (z.B. nicht die<br />
Programmiersprache Java),<br />
2) es sollte berechnungsuniversell sein, d.h. alle intuitiv berechenbaren Funktionen<br />
können damit berechnet werden (bzw. alle intuitiv entscheidbaren Mengen<br />
entschieden werden können)—also keine endlichen Automaten, denn deren Berechnungsstärke<br />
ist viel zu schwach.<br />
Wir werden drei Berechnungsmodelle betrachten:<br />
• Turingmaschinen als besonders einfaches aber dennoch berechnungsuniverselles<br />
Modell<br />
• WHILE-Programme als Abstraktion imperativer Programmiersprachen (im Prinzip<br />
handelt es sich um eine möglichst einfache, aber immernoch berechnungsuniverselle<br />
solche Sprache)<br />
• µ-rekursive Funktionen als funktionsbasiertes, mathematisches Berechnungsmodell.<br />
Es gibt noch eine Vielzahl anderer Modelle: Registermaschinen, GOTO-Programme, k-<br />
Zählermaschinen mit k ≥ 2, Java-Programme, usw. Es hat sich aber interessanterweise<br />
herausgestellt, dass all diese vollkommen unterschiedlichen Modelle äquivalent sind, d.h.<br />
dieselbe Klasse von Funktionen berechnen (bzw. Problemen entscheiden). Zudem ist es<br />
bisher niemandem gelungen, ein formales Berechnungsmodell zu finden, das<br />
• realistisch erscheint (also im Prinzip in der wirklichen Welt realisierbar ist),<br />
• Funktionen berechnen kann, die in den oben genannten Modellen nicht berechenbar<br />
sind.<br />
Aus diesen beiden Gründen geht man davon aus, dass die genannten Modelle genau den<br />
intuitiven Berechenbarkeitsbegriff formalisieren. Diese Überzeugung nennt man die:<br />
Church-Turing-These:<br />
Die (intuitiv) berechenbaren Funktionen sind genau die mit Turingmaschinen (und damit<br />
mit WHILE-, Java-Programmen, Registermaschinen, ...) berechenbaren Funktionen.<br />
Man könnte die These äquivalent auch für Entscheidungsprobleme formulieren. Man<br />
spricht hier von einer These und nicht von einem Satz, da es nicht möglich ist, diese<br />
Aussage formal zu beweisen. Dies liegt daran, dass der intuitive Berechenbarkeitsbegriff<br />
ja nicht formal definierbar ist. Es gibt aber gute Indizien, die für die Richtigkeit der<br />
These sprechen, insbesondere die große Vielzahl existierender Berechnungsmodelle, die<br />
sich als äquivalent herausgestellt haben.<br />
88