Gödelnummer - LinkFang.de





Gödelnummer


Eine Gödelnummer ist eine natürliche Zahl, die einem Wort einer formalen Sprache nach einem bestimmten Verfahren zugeordnet wird und dieses Wort eindeutig kennzeichnet. Ein solches Verfahren bezeichnet man als Gödelisierung. Die Bezeichnungen beziehen sich auf Kurt Gödel, der erstmals ein solches Verfahren angab, um seinen Unvollständigkeitssatz zu beweisen.

Formale Definition

Sei [math]M[/math] die (abzählbare) Menge der Wörter einer formalen Sprache. Eine Funktion

[math]g\colon M \to \mathbb{N}[/math]

wird Gödelisierung genannt, wenn[1]

[math]g(m)[/math] nennt man dann die Gödelnummer von [math]m[/math].

Beispiel

Angenommen, beliebige Wörter der formalen Sprache [math]L[/math], die auf dem Alphabet [math]\Sigma[/math] basieren, sollen gödelisiert werden. Hier sei [math]\Sigma = \{a, b, c\}[/math].

Eine Möglichkeit der Kodierung wäre, den Buchstaben zunächst einfach fortlaufende Nummern zuzuweisen. Ein a entspräche der 1, ein b der 2 und ein c der 3. Nun kann man gödelisieren, indem man die dem Buchstaben entsprechenden Potenzen der fortlaufenden Primzahlen [math]2,3,5,7,\ldots[/math] miteinander multipliziert:

Das Wort abccba

  • Das a an erster Stelle hat den Wert [math]2^1 = 2[/math]
  • Das b an zweiter Stelle hat den Wert [math]3^2 = 9[/math]
  • Das c an dritter Stelle hat den Wert [math]5^3 = 125[/math]
  • Das c an vierter Stelle hat den Wert [math]7^3 = 343[/math]
  • Das b an fünfter Stelle hat den Wert [math]11^2 = 121[/math]
  • Das a an sechster Stelle hat den Wert [math]13^1 = 13[/math]

Die Gödelnummer für abccba in dieser Kodierung lautet also [math]2\cdot9\cdot 125\cdot 343\cdot 121\cdot 13 = 1\,213\,962\,750[/math]

Da es unendlich viele Primzahlen gibt, kann man auf diese Weise tatsächlich beliebig lange Wörter kodieren und aufgrund der Eindeutigkeit der Primfaktorzerlegung lässt sich etwa aus der Zahl 1213962750 wieder das Wort abccba rekonstruieren. Es gibt zwar Zahlen, die keinem Wort der Sprache entsprechen, beispielsweise [math]3=2^0\cdot 3^1[/math] (kein erster Buchstabe) oder [math]16 = 2^4[/math] (Alphabet [math]\Sigma[/math] hat kein viertes Element). Aber zumindest lassen sich diese ungültigen Werte auf berechenbare Weise von den gültigen unterscheiden.

Neben der hier gezeigten gibt es natürlich noch andere Methoden, eine Gödelisierung durchzuführen.

Eine im Buch Gödel, Escher, Bach beschriebene Methode verwendet beispielsweise ein Stellenwertsystem mit der Basis 1000, was zwar sehr anschaulich ist, aber formal schwieriger zu handhaben ist als eine Methode, die wie die obige auf Primzahlpotenzen beruht.

Gödelisierung von zahlentheoretischen Aussagen

Aussagen der Zahlentheorie (oder auch anderer mathematischer Theorien) lassen sich mit Hilfe eines endlichen Alphabets formulieren, dessen Elemente neben Zeichen für Variablen auch gewisse mathematische und logische Symbole (etwa [math]+[/math], [math]\cdot[/math], [math]=[/math], [math]\and[/math], [math]\Rightarrow[/math], [math]\forall[/math]) umfasst. (Die abzählbar unendlich vielen Variablen können als besonders gekennzeichnete Wörter des endlichen Alphabets dargestellt werden.)

Auf diese Weise lassen sich also zahlentheoretische Aussagen (und sogar Beweise) in Zahlen übersetzen. Als Folge hiervon kann die Zahlentheorie, die ja Aussagen über Zahlen behandeln soll, auch Aussagen über zahlentheoretische Aussagen und Beweise behandeln. Diese Tatsache ist der Punkt, an dem Gödels Unvollständigkeitssatz ansetzt.

Gödelisierung von Turingmaschinen

Eine bekannte Anwendung der Gödelnummer ist die Kodierung einer Turingmaschine durch ein Binärwort [math]w[/math]. 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

[math]M = (Q, \Sigma, \Gamma, \delta, q_0, \square, F)[/math]

eine Turingmaschine. Seien o. B. d. A. die Zustandsmenge [math]Q[/math], sowie das Bandalphabet [math]\Gamma[/math] durchnummeriert.

[math]Q = \{q_0, q_1, \ldots, q_k\}, \Gamma= \{a_0, a_1, \ldots, a_l\}; k,l \in \mathbb{N}[/math]

Wir codieren nun vorerst jeden Übergang [math]\delta(q_m, a_n) = (q_{m'}, a_{n'}, b)[/math] mit [math]b\in \{L,N,R\}[/math] durch ein Wort über dem Alphabet [math]\{0,1,\#\}[/math]. Zustände bzw. Terminalsymbole werden durch die Binärdarstellung ihrer Indizes dargestellt, die einzelnen Elemente werden mit [math]\#[/math] getrennt.

[math]\delta(q_m, a_n) = (q_{m'}, a_{n'}, b) \mapsto \#\#\operatorname{bin}(m)\#\operatorname{bin}(n)\#\operatorname{bin}(m')\#\operatorname{bin}(n')\#\operatorname{bin}(b)[/math]

wobei [math]b[/math] die Kopfbewegung darstellt ([math]L = 0, N = 1, R = 2[/math]). Um uns auf das zweistellige Alphabet [math]\{0,1\}[/math] beschränken zu können, führen wir eine Abbildung der Menge [math]\{0,1,\#\}[/math] auf [math]\{0,1\}[/math] ein:

[math]0 \mapsto 00, 1 \mapsto 01, \# \mapsto 10[/math].

Die Turingmaschine mit der einzigen Produktion [math]\delta(q_0, 0) \mapsto (q_0, 0, N)[/math] wird so zu [math]1010001000100010001001_2 = 2656393_{10}[/math].

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

Siehe auch

Einzelnachweis

  1. Hans Hermes: Aufzählbarkeit – Entscheidbarkeit – Berechenbarkeit, 2. Auflage. Springer, Berlin 1971; S. 4, ISBN 3-540-05334-4, ISBN 0-387-05334-4.

Kategorien: Keine Kategorien vorhanden!

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Gödelnummer (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.