BuK-Kreativaufgabe11 G2

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Loading

Gödelisierung

Aufgabe

Gegeben ist ein Alphabet , mit in der Verschlüsselung im 3er-System, mit und . Die Gödelisierungsfunktion von ist so definiert:

mit

Die Funktion ist ein total berechenbares Prädikat. Sie stelt für eine beliebige natürliche Zahl fest, ob diese eine Gödelnummer (des oben genannten Algorithmus) ist oder nicht.

Eine Funktion wächst streng monoton und ist total. Sie listet alle Gödelnummern für diesen Algorithmus auf.

Die Funktion ist die Umkehrfunktion von h und nimmt eine Gödelnummer und liefert ein Wort aus

Diese Funktionen sollen als Prozeduren in Scheme illustriert werden.

Lösung

Die Funktion rechent für ein gegebenes Wort den mathematischen Ausdruck aus.

Das Prädikat prüft ob quasi ob die gegebene Zahl mit dieser Bildsungsvorschrift erzeugt werden kann oder nicht.

Die Zahl ist im Gegensatz zur eine Gödelnummer. Beide Aufrufe liefert , da diese mit dem Erwarteten Wert getestet werden.

Mit dieser Prädikatsfunktion ist es ein leichtes die Funktion für die Auflistung zu schreiben. Man geht alle natürlichen Zahlen bis zu einem Maximum durch und immer wenn diese Zahl eine Gödelnummer ist, dann wird sie zu einer Liste hinzufgefügt.

Für Funktion wird die Berechenbarkeit der Funktion und die Aufzählbarkeit des

Alphabets ausgenutzt. Genau diese beiden Mengen werden aufgezählt und sind gleichmächtig.

Der Algorithmus arbeitet so:

  1. Auflistung aller Gödelnummern (Funktion g)
  2. Der Indizes der passenden Gödelnummer wird gesucht und immer gefunden, falls Gödelnummer existiert
  3. Eine Liste, in der aufgezählt wird, wird erzeugt.
  4. Aus dieser Liste, wird anhandes des gefundenen Indezes das Wort herausgenommen.
  5. Da "rückwärts" arbeitet, muss noch das Reverse genommen werden.

Folgende verschachtelteAufrufe sollen die Eigenschaft dass ist, durch Tests demonstrieren.

Persönliche Werkzeuge