BuK-Übung02 G1

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Loading

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

  1. Zeigen Sie, dass die Menge der rationalen Zahlen abzählbar unendlich ist.
  2. Zeigen Sie, dass die Wortmenge über abzählbar unendlich ist.
  3. 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:

Persönliche Werkzeuge