Vorlesung 3 Lemke

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Übungsaufgaben Seite 9

Zeigen, dass M, die Menge aller Wörter aus {a,b}* mit Länge 3, entscheidbar ist

Wir können folgende berechenbare charakterische Funktion schreiben:

Zeigen, dass M, die Menge aller Wörter aus {a,b}*, die mit a beginnen, entscheidbar ist

Wir können folgende, berechenbare charakterische Funktion schreiben:

Übungsaufgabe Seite 10

Anzahlberchebarecharakteristischefunktionen.jpg

Übungsaufgaben Seite 15

Zeigen, dass die Menge der geraden Zahlen eine aufzählbare Menge ist

Wir können für die Menge der geraden Zahlen einen Generator schreiben, mit dem sich die geraden Zahlen aufzählen lassen:

Zeigen, dass die Menge der Primzahlen aufzählbar ist

Auch hier können wir folgenden Generator definieren, der immer die nächstgrößere Primzahl generiert:

Übungsaufgaben Seite 16

Zeigen, dass jede endliche Menge aufzählbar ist

Wir können einen Generator schreiben, der eine endliche Menge generiert. Er nimmt als Eingabeargument eine beliebige endliche Menge.

Menge der Gitterpunkte

Abbildung der natürlichen Zahlen auf die Gitterpunkte

Gitterpunkte.jpg

Ordnungsrelation

Funktion zur Berechnung der Platznummer

Übungsaufgaben Seite 20

Beweis Semientscheidbarkeit Halteproblem

→ Beweis durch Negation des Gegenteils mit Gegenbeispiel

Gegenteilige Aussage 1: Das Halteproblem ist vollständig entscheidbar

Dann müsste es für eine unendlich weiterlaufende Funktion False ausgeben. Das passiert aber nicht, weil die Haltefunktion so lange wartet, bis sie merkt, dass diese Funktion aufhört. Wenn sie nicht aufhört, hört auch die Haltefunktion nicht auf und wird auch nie einen Rückgabewert geben. Daher ist sie nicht vollständig entscheidbar.

Gegenteilige Aussage 2: Das Halteproblem ist gar nicht entscheidbar

Wir können das Halteproblem für endlich laufende Funktionen entscheiden, indem wir einfach auf ihr Ende warten und dann True zurück geben, wenn die Funktion gehalten hat. Also ist das Halteproblem in dem Fall, dass eine Funktion nicht unendlich lange läuft, sondern hält, entscheidbar. Damit ist das Halteproblem auch nicht gar nicht entscheidbar.

→ Da das Halteproblem also weder vollkommen entscheidbar noch vollkommen unentscheidbar ist, muss es semi-entscheidbar sein.

Menge der Quadratzahlen

Aufzählfunktion

Berechenbarkeit begründen

Die Funktion generate_square_numbers, die die Menge der Quadratzahlen generiert, ist berechenbar, weil sie für jedes n eine Quadratzahl generiert. Es gibt kein n, für das die Multiplikation mit sich selbst scheitern würde.

Nachweis der Semi-Entscheidbarkeit

Die Menge der Quadratzahlen ist semi-entscheidbar, weil man jetzt mit der Generierungsfunktion einfach die Menge der Quadratzahlen generieren könnte, bis man das Wort, für das man entscheiden soll, ob es eine Quadratzahl ist, darin gefunden hat.

Nachweis der Entscheidbarkeit

Die Menge der Quadratzahlen ist sogar entscheidbar. Zum einen, weil die Elemente der Quadratzahlen geordnet aufgelistet werden, sodass man vergleichen kann, ob das gesuchte Wort größer als das aktuell betrachtete Mengenelement ist und damit eine Abbruchbedingung hat. Zum anderen, weil man einfach die Wurzel des Wortes nehmen könnte und wenn das Ergebnis eine ganze Zahl ist, ist das vorliegende Wort eine Quadratzahl.

Weisen Sie nach, dass die Menge M aller Wörter aus {a, b}∗ , die mit a beginnen, semi-entscheidbar ist.

Wir haben zuvor schon gezeigt, dass die Wortfunktion von M berechenbar ist. Damit ist M nicht nur semi-entscheidbar, sondern sogar auch entscheidbar. Da sie entscheidbar ist, ist sie auch semi-entscheidbar.

Übungsaufgabe Seite 23

Persönliche Werkzeuge