Академический Документы
Профессиональный Документы
Культура Документы
Studiengang Bachelor Informatik II
Matrikel‐Nr. 194246
Übungsblatt 4 18.05.2008
IGRU II
Lösung Aufgabe 1 ‐ 5
Aufgabe 1
Aufgabe 2
Die Ackermann‐Funktion ist definiert durch:
1a (0,y)=y+1
2a (x,0)=a(x–1,1)
3a ( x , y ) = ( x – 1, a ( x , y – 1 ) )
(a) Berechnung der Funktionswerte a ( 1, 1) und a (1, 2)
Gesucht: a (1 , 1) = 3 Gesucht: a ( 1, 2) = 4
= a (1, 1) = a (1, 2)
= a ( 0, a ( 1, 0 ) ) 3 = a ( 0, a ( 1, 1 ) ) 3
= a ( 0, a (0, 1 ) ) 2 = a ( 0, a ( 0, a (1, 0 ) ) ) 3
= a ( 0, 2 ) 1 = a ( 0, a ( 0, a (0, 1 ) ) ) 2
= 3 1 = a ( 0, a ( 0, 2 ) ) 1
= a ( 0, 3 ) 1
= 4 1
(b) Ist die Funktion berechenbar?
Die Funktion ist zwar in aller Regel berechenbar, weil es einen Algorithmus gibt, der voraussichtlich auch terminiert.
Allerdings gibt es für die Ackermannfunktion a (n, m) Schwierigkeiten der Darstellung der Funktionswerte ab einem
gering erhöhten n. Die Ackermannfunktion weist ein enormes Wachstum des Funktionswertes auf. Setzt man z.B. für
n = 4 und m = 2, so ergibt sich daraus bereits ein Funktionswert mit mehr als 19700 Dezimalstellen.
Seite 1 von 3
Vorname / Name Victor Derho
Studiengang Bachelor Informatik II
Matrikel‐Nr. 194246
Aufgabe 3
Gegeben sei folgende Turingmaschine
• Zustände A1, A2, A3, E (Ende) und F (Fehler).
• Das Alphabet umfasst die Buchstaben 1, 0, □ (Blank).
• Startzustand ist A1, Endzustand E.
• Der Schreib‐/Lesekopf steht auf dem ersten Zeichen des Wortes
Auf dem Band steht ein Wort aus 1 und 0, das links und rechts durch □ (Blank) abgeschlossen wird. Folgende
Überganstabelle ist definiert:
(a) Zeichnen Sie die Turingmaschine als Graph
Aktueller Lesen Folgezustand Schreiben Richtung F = Wort
Zustand F w ∉ G (1 n,0 n‐1) ∧ w ∉ G (1,0) n
A1 1 A2 1 R
mit n ≠ 0.
A1 0 F 0 N □,□, N 0,0, N
A1 □ F □ N 0,0, N 1,1, N
A2 0 A3 0 R
A2 1 F 1 N 1,1,R 0,0,R □,□,N
A2 □ E □ N A1 A2 A3 E
A3 1 A2 1 R 1,1,R
A3 0 F 0 N
A3 □ E □ N □,□,N
(b) Prüfen Sie, ob folgende drei Wörter akzeptiert werden:
(c) Welche Sprache akzeptiert die Turingmaschine?
Die Turingmaschine akzeptiert die Sprache: G (1 ,0) n ∨ G (1 n ,0 n – 1) für n ≠ 0.
D.h. die Anzahl der Einsen ist entweder gleich der Anzahl der Nullen oder die Anzahl der Einsen ist um eins mehr als die
Anzahl der Nullen.
Seite 2 von 3
Vorname / Name Victor Derho
Studiengang Bachelor Informatik II
Matrikel‐Nr. 194246
Aufgabe 4
Aufgabe 4
Die folgende Funktion ist rekursiv definiert, aber es ist nicht offensichtlich, ob die Funktion den Basisfall erreicht und
terminiert. Ist die Funktion berechenbar? Begründung!
n – 10 für n > 100
f(n) =
f ( f (n+11) ) für n ≤ 100
n Rekursionsschritte: f(n)
Die Funktion ist berechenbar, da sie den
98 f(98) = f ( f (98+11) ) = f(109) = f(109 – 10) = f (99) = f ( f (99+11) ) = 91
Basisfall n - 10 für jedes n ∊ ℤ erreicht.
f ( f (110) ) = f ( f(110 – 10) ) = f( f(100) ) = f ( f (100+11) ) = f ( f(111) )
= f ( f(111 – 10) = f (101‐10) = 91 Für ∀ n: n ∊ (-∞, 100] wird n durch die
99 f (99) = f ( f (99+11) ) = 91 Rekursion bis zum Wert f ( f ( 111 ) )
f ( f (110) ) = f ( f(110 – 10) ) = f( f(100) ) = f ( f (100+11) ) = f ( f(111) ) aufsummiert und anschließend mit dem
Basisfall n - 10 herausgegeben. Daraus folgt
= f ( f(111 – 10) = f (101‐10) = 91
für ∀ n: n ∊ (-∞, 100] gilt f(n) = 91.
100 f( f(100) ) = f ( f (100+11) ) = f ( f(111) ) = f ( f(111 – 10) 91
= f (101‐10) = 91
Für ∀ n: n ∊ [101, ∞) gilt die Regel
101 f(101) = (101 – 10) = 91 91
f(n) = n – 10.
102 f(102) = (102 – 10) = 92 92
133 f(133) = (133 – 10) = 123 123
Seite 3 von 3