• Keine Ergebnisse gefunden

Definition 4.3.1 (i) Die DTM Makzeptiert die Eingabew∈Σ wenn die Berech-nung vonM aufw akzeptierend ist (inq+ terminiert).

(ii) Die vonMakzeptierte (erkannte) Sprache istL(M) ={w∈Σ: M akzeptiert w}.

(iii) Mentscheidet die SpracheL⊆Σ (l¨ost das Wortproblem der SpracheL) fallsM auf jeder Eingabe w ∈ Σ terminiert und L = L(M) ist (auf w ∈ L in q+, auf w∈Σ\Linq terminiert).

Definition 4.3.2 (i) L⊆Σheißtaufz¨ahlbar (rekursiv aufz¨ahlbar) odersemi-entscheidbar wennL von einer Turingmaschine akzeptiert wird.

(ii) L⊆Σheißtentscheidbar (rekursiv) fallsLvon einer Turingmaschine entschieden wird.

Es ist wichtig, sich den Unterschied zwischen Entscheiden und Aufz¨ahlen klarzumachen.

Eine Turingmaschine, die L entscheidet, akzeptiert insbesondere auch L. Eine TM M, die die SpracheL(oder ihr Wortproblem) entscheidet, implementiert ein Entscheidungs-verfahren und muss auf jeder zul¨assigen Eingabe terminieren. Ein Entscheidungsverfah-ren garantiert also stets eine definitive Antwort.

Wird dagegenLlediglich vonMakzeptiert, so brauchtMauf negativen Eingabeinstan-zen (w6∈L) nicht zu terminieren. In diesem Sinne garantiert ein Aufz¨ahlungsverfahren nur im positiven Falle (w ∈ L) eine definitive Antwort. Im Fall, dass das Verfahren auf einem w6∈ L nicht terminiert, weiss man zu keinem Zeitpunkt solange das Verfah-ren noch l¨auft, ob es noch terminieren wird; man bekommt also zu keinem Zeitpunkt eine definitive Antwort. Diese Asymmetrie erkl¨art die Bezeichnung semi-entscheidbar, vergleiche hierzu auch Beobachtung 4.3.3.

Entscheidbarkeit impliziert Aufz¨ahlbarkeit, sowohl von L also auch von L = Σ \ L.

Aufz¨ahlbarkeit vonList schw¨acher als Entscheidbarkeit (siehe das unentscheidbare aber aufz¨ahlbare Halteproblem unten). Sind aber sowohlL⊆Σals auchL= Σ\Laufz¨ ahl-bar, so folgt, dass L entscheidbar ist. Man gewinnt ein Entscheidungsverfahren durch parallele Simulation beider Aufz¨ahlungsverfahren, wobei man akzeptiert sobald eines der simulierten Verfahren akzeptieren w¨urde. Da Σ = L∪L muss stets entweder das Aufz¨ahlungsverfahren f¨urL oder dasjenige f¨ur L akzeptieren, und man bekommt eine definitive Antwort. Demnach gilt:

Beobachtung 4.3.3 F¨urL⊆Σ sind ¨aquivalent:

(i) L ist entscheidbar.

(ii) Sowohl Lals auchL sind aufz¨ahlbar.

Die Church-Turing These Trotz ihrer sehr elementaren Natur erweisen sich Turing-maschinen als ausreichend, alle bekannten algorithmischen Verfahren nachzubilden. Die-se empirische Beobachtung und die Tatsache, dass Die-sehr verschiedene alternative Ans¨atze s¨amtlich zu ¨aquivalenten Ergebnissen f¨uhren, m¨unden in die These, dass man hiermit eine ad¨aquate Pr¨azisierung des informellen Konzepts der algorithmischen L¨osbarkeit (bzw. Berechenbarkeit) gefunden hat.

Church-Turing These

Ein (Entscheidungs-)Problem ist genau dann algorithmisch l¨osbar, wenn es eine Turingmaschine zu seiner L¨osung gibt. Das Wortproblem zu einer SpracheL⊆Σ ist entscheidbar (algorithmisch l¨osbar) genau dann, wenn es eine Turingmaschine gibt, die es l¨ost.18

Man kann sich konstruktiv davon ¨uberzeugen, dass jeder Entscheidungsalgorithmus, der sich in einer herk¨ommlichen Programmiersprache programmieren l¨asst, auch mit einer Turingmaschine realisiert werden kann. Die obige These geht aber viel weiter. Es handelt sich um eine These und nicht um ein Theorem, da man ¨uber das informelle oder intuitive Konzept dessen, was ein Algorithmus ist, unabh¨angig von einer solchen Pr¨azisierung keine pr¨azise Aussagen machen kann.

Die erste große Leistung, die mit der so gewonnen Pr¨azisierung verbunden ist, ist die Angabe eines expliziten Entscheidungsproblems, zu dessen L¨osung es nachweisbar keine Turingmaschine gibt. Im Lichte der Church-Turing These also ein konkretes algo-rithmisch nicht l¨osbares Problem.

Unentscheidbarkeit des Halteproblems Fixiere ein geeignetes Alphabet Σ, das eine nat¨urliche Kodierung der endlichen Beschreibungen von Turingmaschinen M = (Σ, . . .) durch Σ-W¨orter erlaubt (z.B. Bin¨arkodierungen in Σ ={0,1}, aber jedes andere Alphabet kann ebenso benutzt werden). Die Kodierung von M werde mit hMi ∈ Σ bezeichnet. Die Details der Kodierung M 7→ hMiinteressieren uns hier nicht.

Damit kann man nun Entscheidungsprobleme betrachten, die das Verhalten von Turingmaschinen betreffen. Das Halteproblem ist von dieser Art. Wir sehen uns hier eine Variante an, f¨ur die der Beweis der Unentscheidbarkeit besonders einfach ist.

Halteproblem: Auf Eingabe hMi entscheide,

ob Mauf der EingabehMi terminiert.

Formal ist das Halteproblem also das Entscheidungsproblem mit zul¨assigen Eingabein-stanzenI ={hMi: M DTM ¨uber Σ}und positiven Instanzen

H=

hMi:hMi−→M STOP ⊆I.

Man macht sich klar, dass das Halteproblem bzw. die zugeh¨orige Sprache H ⊆ Σ (bez¨uglich einer vern¨unftigen Kodierungsfunktion19 M 7−→ hMi) immerhin aufz¨ahlbar ist. Aus der Unentscheidbarkeit folgt daher mit Beobachtung 4.3.3, dass H = I \H nicht aufz¨ahlbar ist.

18Entsprechendes gilt f¨ur die Berechenbarkeit von Funktionen; wir beschr¨anken uns aber hier der Einfachheit halber auf Entscheidungsprobleme.

19Man braucht hierf¨ur, dass es eine Turingmaschine gibt, die auf EingabehMi(also den Code einer beliebigen anderen MaschineM) diese andere TuringmaschineMsimuliert; man kann diese Superma-schine als einen TM-Compiler verstehen. Dass es das f¨ur geeignete Kodierungen von Turingmaschinen gibt, l¨asst sich zeigen.

Satz 4.3.4 Das Halteproblem ist unentscheidbar: es gibt keine DTM ¨uber Σ, die das Halteproblem entscheidet.

Beweis Wir beweisen die Behauptung indirekt, indem wir aus der Annahme, es gebe eine TM M0, die das Halteproblem entscheidet, einen Widerspruch folgern. Die Idee des Halteproblems und des Beweises bezeichnet man auch als Diagonalisierung; als informelles Vorbild k¨onnen Paradoxien durch Selbstbezug wie etwa die Aussage “dieser Satz ist falsch” dienen.

Annahme:M0 entscheidet das Halteproblem.

Demnach gilt f¨ur jede Eingabew=hMi:

hMi−→M0 q+ ⇔ hMi−→M STOP hMi−→M0 q ⇔ hMi−→ ∞M

M0k¨onnen wir zun¨achst so umbauen, dass wir eine neue TMM1erhalten, die auf einer Eingabe

– divergiert, genau wennM0 akzeptiert – ebenfalls verwirft, wennM0 verwirft.

Dazu muss man lediglich, wenn M0 einen ¨Ubergang in den akzeptierenden Endzustand h¨atte, M1 in einen neuen Zustand schicken, der die Berechnung in eine unendliche Schleife f¨uhrt.

Die Existenz der MaschineM1 ist aber widerspr¨uchlich.

Aus der Bedingung anM0 folgt f¨urM1:

hMi−→ ∞M1 ⇔ hMi−→M STOP und f¨ur den Spezialfall der Eingabe w:=hM1i also

hM1i−→ ∞M1 ⇔ hM1i−→M1 STOP.

2 Korollar 4.3.5 Es gibt aufz¨ahlbare, aber nicht entscheidbare Sprachen, sowie Sprachen, die nicht aufz¨ahlbar sind.

Viele interessante Entscheidungsprobleme sind unentscheidbar, d.h.prinzipiell nicht al-gorithmisch l¨osbar. Der Nachweis beruht auf Reduktion des Halteproblems, durch die man nachweist, dass auch das Halteproblem entscheidbar w¨are, wenn das gegebene neue Problem entscheidbar w¨are. Daraus folgt die Unentscheidbarkeit des neuen Problems.

Beispiel 4.3.6 Das folgende ProblemTerminierungist unentscheidbar: F¨urhMi ent-scheide, obM auf allen Eingabenw∈Σ terminiert.

Begr¨undung (durch Reduktion auf die Unentscheidbarkeit des Halteproblems):

Aus einem Entscheidungsverfahren f¨urTerminierung k¨onnten wir folgendes Ent-scheidungsverfahren f¨ur das Halteproblem gewinnen. Berechne aus der Eingabe hMi zun¨achst die Kodierung der Maschine M0, die ihre Eingabe l¨oscht, dann hMi auf das Band schreibt und dann auf hMi wie M weiterrechnet. Offenbar ist hMi ∈ H genau dann, wenn hM0i eine positive Instanz von Terminierungist.

Weitere Beispiele sehr verschiedener unentscheidbarer Probleme, neben vielen anderen:

• Aquivalenzproblem¨ : F¨ur zwei vorgelegte Programme (oder Turingmaschinen), entscheide ob sie ¨aquivalent sind (dieselbe Sprache erkennen bzw. auf allen Einga-ben dasselbe Ergebnis haEinga-ben).

[F¨ur DFA ist dieses ¨Aquivalenzproblem noch entscheidbar; nicht aber f¨ur PDA.]

• Parkettierungsproblem: F¨ur eine endliche Menge von quadratischen Kacheln mit gef¨arbten Kanten, entscheide, ob man beliebig große Quadrate mit Kacheln dieser Typen (jeweils unbegrenzter Vorrat) so pflastern kann, dass die Farben angren-zender Seiten ¨ubereinstimmen.

[Entscheidbar in der Variante f¨ur beliebig lange Rechtecke vorgegebener Breite.]

• Arithmetik: F¨ur arithmetische Aussagen (in der Logik erster Stufe), wie etwa Be-hauptungen ¨uber die Existenz von ganzzahligen Nullstellen f¨ur Polynome ¨uber Z, entscheide, ob diese Aussage f¨ur die Arithmetik der ganzen Zahlen wahr ist. Ana-loges gilt f¨urNoder Q.

[Entscheidbar f¨ur die Arithmetik der reellen Zahlen.]

4.4 Aufz¨ahlbarkeit und Entscheidbarkeit in der Chomsky-Hierarchie