Zurück zur Übersicht

Begriff

Halting Problem

Computer Science Theory S4
2 Quellen 0 Lernpfade 1 Backlink enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Kann man ein Programm schreiben (nennen wir es HaltChecker), das Code prüft? Du gibst ihm Programm X. Er sagt: "X wird fertig (terminiert)." Oder: "X läuft ewig (Endlosschleife)." Alan Turing bewies 1936: Nein, das geht nicht. Es ist logisch unmöglich. Denn wenn es HaltChecker gäbe, könnte ich ein Programm bauen, das genau das Gegenteil tut von dem, was HaltChecker vorhersagt. (Das Lügner-Paradoxon als Code). Das Halteproblem ist unentscheidbar.

Merksatz: Das von Alan Turing bewiesene Entscheidungsproblem, ob ein gegebenes Computerprogramm bei einer bestimmten Eingabe jemals anhält oder unendlich weiterläuft; es ist algorithmisch nicht lösbar (unentscheidbar).


Quick-Check

  1. Gödel?
    Turings Beweis ist die Informatik-Version von Gödels Unvollständigkeitssatz ("In jedem System gibt es wahre Aussagen, die unbeweisbar sind").
  2. Gilt das für alle Computer?
    Ja. Auch für Quantencomputer.
  3. Praktische Folge?
    Wir können Viren nicht perfekt erkennen. Ein Virenscanner kann nicht beweisen, ob ein Code "böse" ist, ohne ihn laufen zu lassen (und dann ist es zu spät).