15.09.2014 Aufrufe

2x2 - Theoretische Informatik - Universität Duisburg-Essen

2x2 - Theoretische Informatik - Universität Duisburg-Essen

2x2 - Theoretische Informatik - Universität Duisburg-Essen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Kontextsensitive und Typ-0-Sprachen<br />

Berechenbarkeitstheorie<br />

Komplexitätstheorie<br />

Berechnungsmodelle<br />

Unentscheidbarkeit<br />

Unentscheidbare Probleme<br />

Kontextsensitive und Typ-0-Sprachen<br />

Berechenbarkeitstheorie<br />

Komplexitätstheorie<br />

Berechnungsmodelle<br />

Unentscheidbarkeit<br />

Unentscheidbare Probleme<br />

Primitiv rekursive und µ-rekursive Funktionen<br />

Primitiv rekursive und µ-rekursive Funktionen<br />

µ-rekursive Funktionen (Definition, Fortsetzung)<br />

Der µ-Operator verwandelt eine Funktion f : N k+1<br />

0<br />

→ N 0 in eine<br />

Funktion µf : N k 0 → N 0 mit<br />

µf (x 1 , . . . , x k ) = min{n | f (n, x 1 , . . . , x k ) = 0<br />

Dabei gilt min ∅ = undefiniert.<br />

und für alle m < n ist f (m, x 1 , . . . , x k )<br />

definiert}<br />

Intuitive Berechnung von µf (x 1 , . . . , x k ):<br />

Berechne f (0, x 1 , . . . , x k ), f (1, x 1 , . . . , x k ), . . .<br />

Falls für ein n gilt f (n, x 1 , . . . , x k ) = 0, so gib n als<br />

Funktionswert zurück.<br />

Falls f (m, x 1 , . . . , x k ) undefiniert ist (ohne, dass vorher einmal<br />

der Funktionswert gleich 0 war), oder der Funktionswert 0 nie<br />

erreicht wird: die intuitive Berechnung terminiert nicht.<br />

In diesem Fall gilt auch µf (x 1 , . . . , x k ) = min ∅ = undefiniert.<br />

Analogie zu While-Programmen: es ist nicht klar, ob die<br />

Abbruchbedingung jemals erfüllt wird.<br />

Kontextsensitive und Typ-0-Sprachen<br />

Berechenbarkeitstheorie<br />

Komplexitätstheorie<br />

Barbara König BeKo/TI 117<br />

Berechnungsmodelle<br />

Unentscheidbarkeit<br />

Unentscheidbare Probleme<br />

Primitiv rekursive und µ-rekursive Funktionen<br />

Durch den µ-Operator können nun auch echt partielle Funktionen<br />

erzeugt werden.<br />

Überall undefinierte Funktion<br />

Die Funktion Ω: N 0 → N 0 mit Ω(n) = undefiniert für alle n ∈ N 0<br />

ist µ-rekursiv.<br />

Verwende die 2-stellige Funktion f : N 2 0 → N 0 mit f (x, y) = 1 für<br />

alle x, y. Es gilt f = k ◦ π1 2 , wobei k die konstante 1-stellige<br />

Funktion ist, die alles auf 1 abbildet.<br />

Dann gilt Ω = µf .<br />

Barbara König BeKo/TI 119<br />

Kontextsensitive und Typ-0-Sprachen<br />

Berechenbarkeitstheorie<br />

Komplexitätstheorie<br />

Barbara König BeKo/TI 118<br />

Berechnungsmodelle<br />

Unentscheidbarkeit<br />

Unentscheidbare Probleme<br />

Primitiv rekursive und µ-rekursive Funktionen<br />

Weiteres Beispiel:<br />

Wurzelfunktion<br />

Die Funktion sqrt : N 0 → N 0 mit sqrt(n) = ⌈ √ n⌉ ist µ-rekursiv.<br />

(Dabei rundet ⌈. . . ⌉ eine reelle Zahl auf die nächstgrößere (oder<br />

gleiche) ganze Zahl auf.)<br />

Sei f (m, n) = n − m · m. (Die Multiplikationsfunktion ist primitiv<br />

rekursiv und die Subtraktionsfunktion kann durch iterierte<br />

Anwendung der Dekrementierungsfunktion erhalten werden.)<br />

Dann gilt sqrt = µf .<br />

Diese Funktion ist jedoch auch primitiv rekursiv. Intuition: bei<br />

Berechnung von sqrt(n) sind immer höchstens n Iterationen<br />

notwendig.)<br />

Barbara König BeKo/TI 120

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!