Zurück zur Übersicht

Begriff

Termination

Computer Science Logic S4
2 Quellen 0 Lernpfade 0 Backlinks 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.

Das Halteproblem sagt: Man kann nicht allgemein entscheiden, ob ein Programm stoppt. Aber für spezielle Programme (wie Rewriting Systems) wollen wir es wissen. Ein System terminiert, wenn es keine unendlichen Ketten von Ersetzungen gibt. a -> b. b -> c. (Terminiert). a -> b. b -> a. (Terminiert nicht: Zyklen). f(x) -> f(f(x)). (Terminiert nicht: Explosion). Um Termination zu beweisen, braucht man eine "Energie-Funktion" (Well-Founded Ordering). Man zeigt: Bei jedem Schritt wird der Term "kleiner" (Energie sinkt). Da Energie nicht negativ werden kann, muss es irgendwann stoppen.

Merksatz: Die Eigenschaft eines Berechnungsprozesses oder Ersetzungssystems, nach endlich vielen Schritten ein Ergebnis (Normalform) zu erreichen; der Beweis erfordert oft wohlfundierte Ordnungen.


Quick-Check

  1. Undendlich?
    Webserver sollen nicht terminieren (Liveness). Aber jede einzelne Antwort soll terminieren.
  2. Unentscheidbar?
    Ja. Man kann nicht immer sagen, ob es terminiert. Aber für viele praktische Fälle (Schleifen mit Zähler) ist es einfach.
  3. Energie?
    Stell dir eine Murmel in einer Schüssel vor. Sie rollt nach unten (Energieverlust). Irgendwann liegt sie still. Termination ist Physik.