Gödelnummer
aus Wikipedia, der freien Enzyklopädie
Eine Gödelnummer ist eine kodierte logische Aussage, welche für den Beweis des Gödelschen Unvollständigkeitssatzes notwendig ist. Dabei wird für jede syntaktisch korrekte logische Aussage eine eindeutige Gödelnummer definiert. Alle über die Kodierung von Programmen in einer Programmiersprache definierten Aufzählungen sind daher Gödelnummerierungen.
Inhaltsverzeichnis |
[Bearbeiten] Formale Definition
Eine Aufzählung heißt Gödelnummerierung, wenn für alle ein h existiert, so dass gilt. h heißt dann Übersetzungsfunktion zu g bezüglich
[Bearbeiten] Gödelisierung von Turingmaschinen
Eine bekannte Anwendung der Gödelnummer ist die Codierung einer Turingmaschine durch ein Binärwort w. Auf diese Weise wird jeder Turingmaschine eine Zahl zugeordnet (d. h. die Menge aller Turingmaschinen ist abzählbar). Diese Tatsache wird unter Anderem im Halteproblem ausgenutzt.
[Bearbeiten] Beispiel
Natürlich lassen sich verschiedenste Konventionen für die Nummerierung vereinbaren. Im Folgenden soll der Vorgang an einem einfachen Beispiel gezeigt werden. Sei
eine Turingmaschine. Seien o. B. d. A. die Zustandsmenge Q, sowie das Bandalphabet Γ durchnumeriert.
Wir codieren nun vorerst jeden Übergang δ(qm,an) = (qm',an',{L,N,R}) mit einem Wort über dem Alphabet . Zustände bzw. Terminalsymbole werden durch die Binärdarstellung ihrer Indizes dargestellt, die einzelnen Elemente werden mit getrennt.
wobei b die Kopfbewegung darstellt (L = 0,N = 1,R = 2). Um uns auf das zweistellige Alphabet {0,1} beschränken zu können, führen wir eine Abbildung der Menge auf {0,1} ein:
- .
Die Turingmaschine mit der einzigen Produktion wird so zu 10100010001000100010012 = 265639310.
Eine Alternative, die auf das Trennzeichen verzichtet, nutzt die Einzigartigkeit der Primzahlfaktorisierung aus, um Tupel in einer Zahl codieren zu können.