article

Eine Gödelnummer ist ein kodiertes logisches Statement, welches 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.

Formale Definition


Eine Aufzählung \varphi \in P^2_1 heißt Gödelnummerierung, wenn für alle g \in P^2_1 ein h existiert, so dass g = \lambda i,x gilt. h heißt dann Übersetzungsfunktion zu g bezüglich \varphi

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.

Beispiel


Natürlich lassen sich verschiedenste Konventionen für die Nummerierung vereinbaren. Im Folgenden soll der Vorgang an einem einfachen Beispiel gezeigt werden. Sei
M = (Q, \Sigma, \Gamma, \delta, q_0, \square, F)
eine Turingmaschine. Seien o. B. d. A. die Zustandsmenge Q, sowie das Bandalphabet \Gamma durchnumeriert.
Q = \{q_0, q_1, \ldots, q_k\}, \Gamma= \{a_0, a_1, \ldots, a_l\}, k,l \in \mathbb{N}
Wir codieren nun vorerst jeden Übergang \delta(q_m, a_n) = (q_m', a_n', \{L,N,R\}) mit einem Wort über dem Alphabet \{0,1,\#\}. Zustände bzw. Terminalsymbole werden durch die Binärdarstellung ihrer Indizes dargestellt, die einzelnen Elemente werden mit \# getrennt.
\delta(q_m, a_n) = (q_m', a_n', \{L,N,R\}) \mapsto \#\#bin(m)\#bin(n)\#bin(m')\#bin(n')\#bin(b)
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 \{0,1,\#\} auf \{0,1\} ein:
0 \mapsto 00, 1 \mapsto 01, \# \mapsto 10.
Die Turingmaschine mit der einzigen Produktion \delta(q_0, 0) \mapsto (q_0, 0, N) wird so zu 1010001000100010001001_2 = 2656393_{10}.

Eine Alternative, die auf das Trennzeichen verzichtet, nutzt die Einzigartigkeit der Primzahlfaktorisierung aus, um Tupel in einer Zahl codieren zu können.

Siehe auch


Berechenbarkeitstheorie

Gödel number | Gödlovo število | 哥德尔数

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Gödelnummer".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld