BuK-Übung03 G2

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Loading

Inhaltsverzeichnis

Aufzählbarkeit und Entscheidbarkeit

Aufgabe

Zeigen Sie, dass für ein beliebiges Alphabet A eine überabzählbar unendliche Menge ist.

Lösung

Wenn abzählbar unendlich wäre, so müsste eine bijektive Abbildung auf die natürlichen Zahlen erfolgen können. Bijektiv bedeutet in diesem Fall, dass jedem Element aus genau ein Element aus zugeordnet wird.

Die Menge wird über gebildet. Unter der Annahme, dass abzählbar unendlich ist, müsste man also zuerst die natürlichen Zahlen auf abbilden können und anschließend auf .

Abbildung.png

Für eine bijektive Abbildung von auf müssten also alle drei Mengen gleichmächtig, im konkreten Fall also abzählbar unendlich sein. Dass abzählbar unendlich ist steht außer Frage. Dass ebenfalls abzählbar unendlich ist, wurde in Übung 2 nachgewiesen.

Wie kann nun die Mächtigkeit von bestimmt werden? Die Potenzmenge ist folgendermaßen definiert: . Die Menge besteht aus den Wörtern . Daraus folgt, dass für jedes aus ein Element der Form enthält. Zusätzlich enthält aber unter Anderem auch . Das allein reicht aus, um sagen zu können .

Somit ist bewiesen, dass es keine bijektive Abbildung von auf geben kann und somit auch keine von auf . Demzufolge ist eine überabzählbar unendliche Menge.

Aufgabe

Implementieren Sie eine Scheme-Prozedur chi-endlich, die eine natürliche Zahl n und eine Liste L nimmt und entweder #t oder #f zurückgibt, je nachdem ob oder gilt. Stellen Sie für den Entwurf von chi-endlich die erforderlichen Hilfsprozeduren bereit.

Lösung

Aufgabe

Schreiben Sie eine Scheme-Prozedur, die die Menge der Quadratzahlen aufzählt.

Lösung

Man sagt zählt auf, wenn gilt:


ist eine totale Funktion der Form
ist surjektiv und berechnbar und deren Wertebereich ist

Dabei ist die Menge der Quadratzahlen. Die Funktion muss also eine surjektive Abbildung der natürlichen Zahlen auf die Menge vornehmen und berechenbar sein. Dazu benötigen wir die sogenannte Aufzählfunktion für die Menge der Quadratzahlen.

Die Menge erzeugen wir mit Hilfe von Streams.

Damit können wir wie folgt implementieren:

Aufgabe

Schreiben Sie eine Scheme-Prozedur, die die Menge der Quadratzahlen relativ zur Menge der natürlichen Zahlen semi-entscheidet.

Hinweis: Implementieren Sie eine Prozedur für die (allgemeingültige) und wenden Sie sie auf die Menge (stream) der natürlichen Zahlen an. Überlegen Sie sich vor dem Aufruf genau, welche Ausgabe Sie erwarten.


Lösung

Vorsich: Der folgende Aufruf stoppt nicht!

Um stoppen zu lassen verwenden wir weiter oben definierte Prozeduren.

Persönliche Werkzeuge