Grenzen der Berechenbarkeit — das Halteproblem

Limits of Computability — the Halting Problem

Informatik Klasse 12 14 Aufgaben
InformatikBerechenbarkeitKerncurriculum

Es gibt präzise gestellte Probleme, die KEIN Programm lösen kann — egal wie schnell die Hardware wird. Die Turingmaschine, ein endlicher Automat mit unbegrenztem Band, macht den Berechenbarkeitsbegriff fassbar; weil Programme selbst Daten sind, kann man Programme auf Programme ansetzen. So erweist sich das Halteproblem — „terminiert dieses Programm mit dieser Eingabe?" — als prinzipiell unentscheidbar; deshalb kann es keinen perfekten Endlosschleifen-Detektor und keinen perfekten Virenscanner geben, und es ist keine Frage fehlender Rechenleistung.

Leicht
Multiple Choice #1 20s â–¶ Testen

Was besagt das Halteproblem?

  • â—Ź Es gibt kein Programm, das fĂĽr JEDES Programm und jede Eingabe korrekt entscheidet, ob es anhält
  • â—‹ Manche Programme lassen sich nicht starten
  • â—‹ Jedes Programm hält irgendwann an, man weiĂź nur nicht wann
Für einzelne Programme kann man die Frage oft beantworten — aber ein allgemeines Prüfprogramm, das IMMER richtig liegt, kann es beweisbar nicht geben.
Wahr / Falsch #2 15s â–¶ Testen

Mit ausreichend schnellen Computern der Zukunft wird sich das Halteproblem lösen lassen.

âś“ Falsch
Falsch — die Unentscheidbarkeit ist ein mathematischer Beweis über alle denkbaren Programme, keine Frage der Rechenleistung. Schnellere Hardware ändert daran nichts.
Multiple Choice #3 20s â–¶ Testen

Welche Aufgabe kann eine Turingmaschine lösen, ein endlicher Automat aber nicht?

  • â—Ź prĂĽfen, ob ein beliebig langes Wort genau gleich viele a wie b enthält
  • â—‹ prĂĽfen, ob ein Wort mit a beginnt
  • â—‹ prĂĽfen, ob ein Wort eine gerade Anzahl von Einsen enthält
Die Turingmaschine ist ein endlicher Automat plus unbegrenztes Band zum Lesen und Schreiben. Mitzählen ohne Obergrenze braucht genau dieses Band. Anfangszeichen und gerade/ungerade schafft schon ein Automat mit endlich vielen Zuständen.
Multiple Choice #4 18s â–¶ Testen

Welche Situation zeigt, dass Programme selbst nur Daten sind?

  • â—Ź Ein Compiler liest den Quelltext eines Programms ein und ĂĽbersetzt ihn
  • â—‹ Ein Programm liest eine Zahl von der Tastatur ein
  • â—‹ Zwei Programme laufen gleichzeitig auf demselben Rechner
Der Compiler behandelt ein Programm als Eingabe — als Bitfolge wie jeden Text. Diese Programme-sind-Daten-Einsicht ist der Schlüssel zum Beweis des Halteproblems. Eine Tastatureingabe oder paralleles Laufen zeigt davon nichts.
LĂĽckentext #5 15s â–¶ Testen

Ein Problem, das kein Algorithmus für alle Fälle lösen kann, nennt man prinzipiell ___ (Gegenteil von „entscheidbar").

âś“ Antwort: unentscheidbar
Unentscheidbar heißt „durch keinerlei Programm lösbar" — die stärkste Form von Unlösbarkeit, unabhängig von Zeit und Technik.
Multiple Choice #6 20s â–¶ Testen

Was macht das Ergebnis „das Halteproblem ist unentscheidbar" wissenschaftlich so bemerkenswert?

  • â—Ź Es zieht eine beweisbare, endgĂĽltige Grenze dessen, was Computer ĂĽberhaupt können — schon 1936, vor dem ersten Computer
  • â—‹ Es zeigt, dass Computer Fehler machen
  • â—‹ Es beweist, dass Menschen klĂĽger als Maschinen sind
Alan Turing bewies die Grenze rein mathematisch, bevor es Computer gab. Ob Menschen solche Fragen „besser" beantworten können, folgt daraus übrigens nicht.
Mittel
Multiple Choice #1 25s â–¶ Testen

Der Beweis des Halteproblems beginnt so: „Angenommen, es gäbe ein Prüfprogramm HALT(P, E), das immer korrekt antwortet …" und endet in einem Widerspruch. Wie heißt diese Beweistechnik?

  • â—Ź Widerspruchsbeweis — die Annahme fĂĽhrt auf einen unmöglichen Fall, also war sie falsch
  • â—‹ Vollständige Induktion ĂĽber alle Programme
  • â—‹ Beweis durch Ausprobieren aller Fälle
Man baut aus dem angenommenen Prüfer ein Trotzprogramm, das genau dann endlos läuft, wenn der Prüfer „hält an" sagt — auf sich selbst angesetzt ergibt das einen Widerspruch.
Wahr / Falsch #2 18s â–¶ Testen

Für ein EINZELNES, konkretes Programm kann ein Mensch oder ein Werkzeug durchaus nachweisen, dass es anhält — das widerspricht dem Halteproblem nicht.

âś“ Wahr
Richtig — unentscheidbar ist nur die ALLGEMEINE Frage für alle Programme. Einzelfälle sind oft lösbar, z. B. mit einem Terminierungsargument über eine schrumpfende Größe.
Multiple Choice #3 20s â–¶ Testen

Ein Softwarehaus verspricht einen Scanner, der JEDE Endlosschleife in JEDEM Programm sicher vor dem Start erkennt. Was ist davon zu halten?

  • â—Ź Das Versprechen ist beweisbar unerfĂĽllbar — es wäre eine Lösung des Halteproblems
  • â—‹ Mit genug Entwicklern ist das machbar
  • â—‹ Das gibt es längst in jedem Betriebssystem
Ein perfekter Endlosschleifen-Detektor würde das Halteproblem entscheiden. Praktische Werkzeuge finden viele Fälle — aber niemals alle, und das ist beweisbar.
Multiple Choice #4 25s â–¶ Testen

Warum folgt aus dem Halteproblem, dass es keinen perfekten Virenscanner geben kann?

  • â—Ź Weil „verhält sich dieses Programm schädlich?" eine Frage ĂĽber das Verhalten aller Programme ist — solche Fragen sind im Allgemeinen unentscheidbar
  • â—‹ Weil Viren sich zu schnell verändern
  • â—‹ Weil Virenscanner selbst Viren enthalten
Fragen über das Laufzeitverhalten beliebiger Programme erben die Unentscheidbarkeit des Halteproblems. Scanner arbeiten deshalb mit Heuristiken — gut, aber nie perfekt.
Wahr / Falsch #5 18s â–¶ Testen

Die Turingmaschine ist nur ein Gedankenmodell — trotzdem gilt, was sie nicht berechnen kann, als für Computer überhaupt nicht berechenbar.

âś“ Wahr
Richtig — nach der Church-Turing-These erfasst das Modell genau das, was maschinell berechenbar ist. Alle bekannten Rechnermodelle können nicht mehr als sie.
LĂĽckentext #6 15s â–¶ Testen

Die These, dass alles im intuitiven Sinn Berechenbare auch von einer Turingmaschine berechnet werden kann, heiĂźt ___-Turing-These.

âś“ Antwort: Church
Die Church-Turing-These verbindet den intuitiven Begriff „berechenbar" mit dem präzisen Maschinenmodell — sie ist Arbeitsgrundlage der gesamten Berechenbarkeitstheorie.
Multiple Choice #7 20s â–¶ Testen

Welches Problem ist praktisch unlösbar, aber NICHT prinzipiell unlösbar?

  • â—Ź die kĂĽrzeste Rundreise durch 50 Städte durch Ausprobieren aller Reihenfolgen finden
  • â—‹ fĂĽr jedes beliebige Programm entscheiden, ob es anhält
  • â—‹ eine Liste mit einer Million Zahlen sortieren
Die Rundreise ist prinzipiell lösbar — der Algorithmus existiert, braucht aber länger als das Universum alt ist: die praktische Grenze. Das Halteproblem kann dagegen kein Programm je lösen (prinzipielle Grenze), und Sortieren gelingt in Sekunden.
Wahr / Falsch #8 18s â–¶ Testen

Dass das Halteproblem unentscheidbar ist, bedeutet: Kein Programm kann jemals ĂĽber ein anderes Programm irgendetwas herausfinden.

âś“ Falsch
Falsch — viele Eigenschaften sind prüfbar (Syntax, bestimmte Muster, Einzelfälle). Unentscheidbar ist die allgemeine Verhaltensfrage über ALLE Programme, nicht jede Analyse.