BuK-Übung02 G1
Aus ProgrammingWiki

Inhaltsverzeichnis |
Halteproblem
Aufgabenstellung
Spielen Sie die Betrachtungen zum Halteproblem (s. Vorlesung) mit Scheme-Prozeduren nach.
Hinweis: Definieren Sie ggf. auch eine Prozedur , die
zurück gibt, wenn das betrachtete Programm P ein Ergebnis berechnet, und
, wenn die Berechnung in einer gewissen Zeit T zu keinem Ergebnis führt. Verwenden Sie zeitbeschränkte Berechnungen, deren Implementierungidee einige Kreativität erfordert.
Lösung
Beispiel-Aufruf für haelt:
Beispiel-Aufruf zu haelt-tricky:
Beweise
Aufgabenstellung
- Zeigen Sie, dass die Menge der rationalen Zahlen abzählbar unendlich ist.
- Zeigen Sie, dass die Wortmenge
über
abzählbar unendlich ist.
- Zeigen Sie, dass die Menge der reellen Zahlen überabzählbar unendlich ist.
Lösung
Aufgabe 1
Zum Beweis, dass die Menge der rationalen Zahlen abzählbar unendlich ist, muss der Nachweis der Existenz einer bijektiven Abbildung erbracht werden. Dafür eignet sich das erste Cantor'sche Diagonalargument.
Ein weiterer Ansatz ist es, die Menge der rationalen Zahlen mit folgender Funktion zu beschreiben:
Lässt man dabei noch alle kürzbaren Brüche weg, so ergeben sich die Teilmengen:
Durch diese Vorgehensweise, können somit alle Elemente von ermittelt werden.
Es kann festgestellt werden, dass das Ergebnis der Funktion
für endliche
eine abzählbare endliche Menge ist.
Das Ergebnis von
ist demnach abzählbar unendlich und entspricht zudem
.
Somit ist
abzählbar unendlich. Das selbe muss demnach auch für
gelten, da beide Mengen die selbe Größe haben. Einzig die 0 muss noch abgebildet werden, was natürlich ebenfalls kein Problem darstellt.
Somit ist klar, dass eine bijektive Abbildung existiert und somit
abzählbar unendlich ist.
Diese Funktion lässt sich ebenfalls in einem entsprechendem Algorithmus abbilden.
Aufgabe 2
Die Anzahl der Wörter aus einem Alphabet mit einer bestimmten Länge
ist endlich. Die Zahl der Wörter, die mit der Länge
aus dem Alphabet
gebildet werden können, kann mit
berechen werden.
Beispiel
Die Wortmenge bildet sich nun aus den unendlich vielen Teilmengen
.
Um eine Abbildung der Wortmenge auf die natürlichen Zahlen
zu ermöglichen, ordnet man nun die einzelnen Wörter der Wortmenge nach der längenlexikografischen Ordnung. Anschließend kann jedem Wort eine natürliche Zahl zugeordnet werden.
Beispiel
a b c d aa 1 2 3 4 5 6
Aufgabe 3
Auflisten von allen reellen Zahlen zwischen 0 und 1:
Nimmt man nun die Ziffern auf der Diagonalen (), ändert diese Zahlen nach dem Muster
und bildet aus den einzelnen Ziffern eine neue Zahl , so ist diese Zahl eine neue Zahl in
. Dies kann unendlich oft wiederholt werden, man kann nie alle reelle Zahlen zwischen 0 und 1 auflisten. Damit ist auch eine Abbildung von den reellen Zahlen
auf die natürlichen Zahlen
nicht möglich.
Daraus folgt: gilt nicht
gilt.
Bijektive Funktion
Aufgabenstellung
Verifzieren Sie, dass die folgende Funktion eine bijektive Funktion ist und implementieren Sie eine Prozedur, die die zugehörige Umkehrfunktion
berechnet.
Lösung
Beispiel-Aufruf:
Beispiel-Aufruf mit Memoizing:
"Naive" Implementation der Umkehrfunktion
Beispielaufruf:
Implementation der echten Umkehrfunktion:
Beispielaufruf: