Вы находитесь на странице: 1из 3

Vorname / Name  Victor Derho 

Studiengang  Bachelor Informatik II 
Matrikel‐Nr.  194246 
 
Übungsblatt 4                                  18.05.2008 
IGRU II 
Lösung Aufgabe 1 ‐ 5 

Aufgabe 1 

Entwerfen Sie eine Turingmaschine, die feststellt, ob ein Wort w ∈ (0|1)* mit „11“ beginnt. Dabei steht der Schreib‐/ 


Lesekopf der Turingmaschine auf dem ersten Zeichen des Wortes, links und rechts vom Wort stehen □ (Blanks).
Beim Prüfen soll das Wort nicht gelöscht werden. 
 
Aktueller  Lesen  Folgezustand  Schreiben  Richtung  F F = Wort w ∉ „11“ 
Zustand 
Z0  1  Z0  1  R 
Z0  0  Z0  0  R  □,□, N 0,0,L □,□, N 
Z0  □  Z1  □  L 
Z1  1  Z2  1  L  □,□, L 1,1,L 1,1,N 
Z1  0  Z1  0  L  Z0 Z1 Z2 E 
Z2  1  E  1  N 
Z2  0  Z1  0  L 
Z1  □  F  □  N  0,0,L
1,1,R
Z2  □  F  □  N 
0,0,R
 

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: 

Wort  Übergansfunktionen  Akzeptiert  


1010 □  δ:A1×1 Æ A2×1×R, δ:A2×0 Æ A3×0×R, δ:A3×1 Æ A2×1×R, Ja 
δ:A2×0 Æ A3×0×R, δ:A3×□ Æ E×□×N 
100 □  δ:A1×1 Æ A2×1×R, δ:A2×0 Æ A3×0×R, δ:A3×0 Æ F×0×N  Nein 

110 □  δ:A1×1 Æ A2×1×R, δ:A2×1 Æ F×1×N  Nein 


 

(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

Schreiben Sie ein Turningprogramm, das für eine Binärzahl n der Form □□□(0|1)* □□□ (also links und rechts 


Leerstellen, dazwischen die Zahl) den ganzzahligen Anteil von n / 2 berechnet.  
Beispiel: Die 7 wird auf dem Band repräsentiert durch □□□111□□□. Beispiel zur ganzzahligen Division:
1112 MOD 210 = 0112 = 310. D.h. als Ergebnis der ganzzahligen Division steht 011 auf dem Band.  
 
Aktueller  Lesen  Folgezustand  Schreiben  Richtung  1, □, L
Zustand  □,□, L  0, □, L □, 0, L 
S  1  S  1  R  S A1 A2  E 
S  0  S  0  R 
S  □  A1  □  L 
A1  0  A2  □  L  1,1,R 1,1,L 
A1  1  A2  □  L  0,0,R 0,0,L 
A2  0  A2  0  L 
A2  1  A2  1  L 
A2  □  E  0  N 
 
Das Prinzip des Verfahrens ist trivial und beruht  auf dem 
 Bitwise Right‐Shift. Mit diesem Verfahren wird der gesamte 
binäre Ausdruck um eine Position nach rechts geschoben, 
 während die erste ursprüngliche Binärziffer auf Null gesetzt 
wird. Die Auswertung des entstandenen binären Ausdrucks 
 entspricht einer ganzzahligen Division durch 2. 
 
 
Aufgabe 5 

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 

Вам также может понравиться