IIm18-Kreativaufgabe9
Aus ProgrammingWiki
Inhaltsverzeichnis |
Kernaussagen der Vorlesung
- nicht alle total berechenbare Funktionen sind primitv-rekursiv (AP-Funktion)
- man kann keine nicht totale Funktion als primitiv-rekursive Funktion darstellen
- man kann mit dem unbeschränkten μ-Operator μ-rekursive (d.h. partiell-rekursive) Funktionen darstellen. Diese sind so aufgebaut, dass es zu einem Endloszyklus kommen kann, wenn die geforderte Bedingung niemals erfüllt werden kann
- Die Menge der Turing-berechenbaren Funktionen und die Menge der μ-rekursiven Funktionen (partiell berechenbare Funktionen) sind identisch
- μ-rekursive Funktionen können mit while-Programmen implementiert werden
μ-Funktion durchdenken mit imaginären Werten
- μf(0) = g(1)
- 1 - p(0,0) = 1
- 1 - p(0,1) = 1
- 1 - p(0,2) = 1
- 1 - p(0,3) = 1
- 1 - p(0,4) = 1
- 1 - p(0,5) = 0 -> 5 ist 0. goedelnummer
- μf(1) = g(2)
- 1 - p(g(1)+1, 0) = 1 - p(6,0) = 1
- 1 - p(g(1)+1, 1) = 1 - p(6,1) = 1
- 1 - p(g(1)+1, 2) = 1 - p(6,2) = 1
- 1 - p(g(1)+1, 3) = 1 - p(6,3) = 1
- 1 - p(g(1)+1, 4) = 1 - p(6,4) = 1
- 1 - p(g(1)+1, 5) = 1 - p(6,5) = 1
- 1 - p(g(1)+1, 6) = 1 - p(6,6) = 1
- ...
- 1 - p(g(1)+1, 35) = 1 - p(6,35) = 0 -> 35 ist 1. Gödelnummer
- μf(2) = g(3)
- 1 - p(g(2)+1, 0) = 1 - p(36,0) = 1
- 1 - p(g(2)+1, 1) = 1 - p(36,1) = 1
- 1 - p(g(2)+1, 2) = 1 - p(36,2) = 1
- 1 - p(g(2)+1, 3) = 1 - p(36,3) = 1
- 1 - p(g(2)+1, 4) = 1 - p(36,4) = 1
- 1 - p(g(2)+1, 5) = 1 - p(36,5) = 1
- 1 - p(g(2)+1, 6) = 1 - p(36,6) = 1
- ...
- 1 - p(g(2)+1, 120) = 1 - p(36,120) = 0 -> 120 ist 2. Gödelnummer
Implementierung der Kreativaufgabe (Java) 🐇
- Das folgende Programm implementiert die Funktion k. Mit dieser kann das Wort aus dem Alphabet S* für die n-te Gödelnummer (unterliegt Gödelordnung) berechnet werden
- Die Funktion k ruft intern die μ-rekursive Funktion auf, um die i-te Gödelnummer zu berechnen. Mit der Umkehrfunktion der Gödelisierung wird daraus dann das Wort berechnet
Implementierung der Kreativaufgabe (JavaScript)
A*-Klasse
Number Converter
µ-rekursive Funktion
- S = {a, b}
- Verschlüsselung im 3er-System mit a -> 1 und b -> 2