1 Natürliche Zahlen 2 Turingmaschine für die Addition mit Ergebnis

Werbung
1 NATÜRLICHE ZAHLEN
1
1
Natürliche Zahlen
Wir haben uns auf folgende Konvention geeinigt:
N = {0, 1, 2, . . .}
2
N\{0} = {1, 2, 3, . . .}
Turingmaschine für die Addition mit Ergebnis
Gegeben ist eine Turingmaschine mit nach rechts endlosem Band. Es soll ein Algorithmus
angegeben werden, der das Ergebnis einer Addition von n und m mit n > 0, m > 0 hinter
die bereits auf dem Band befindlichen Zahlen schreibt (durch 0 getrennt). Dabei sind die
Zahlen wie in Übung 3 des ersten Blattes als Folge von Einsen dargestellt. Am Ende soll
also aus 1101 so etwas wie 11010111 werden.
Wir geben uns vor, dass am Anfang des Algorithmus der Lesekopf an der ersten 1 (von
links) stehen soll. Am Ende soll er nach der letzten Eins sein.
1 | 1,r
1 | X,r
1∗
1 | 1,r
0 | 0,r
2
1 | 1,l
0 | 0,r
3
0 | Y,l
4
Y | 1,r
0 | 0,r
0 | 0,l
5
7
1 | 1,r
1 | X,r
X | 1,r
6
1 | 1,r
0 | 0,r
1 | 1,r
13
Y | 1,r
12
1 | X,r
8
0 | 0,r
0 | 0,r
9
Y | 1,r
X | 1,r
0 | 0,r
0 | 0,l
11
0 | Y,l
10
1 | 1,l
Anmerkungen:
• Die ersten (schwarzen) Status initialisieren die Maschine, das heißt ein X als Pointer
für die auf der rechten Seite des Gleichs (welches durch die zweite Null dargestellt
wird) bereits abgearbeiteten Einsen und ein Y als Pointer für das Ende der auf der
linken Seite zu erstellenden Einsen.
2 TURINGMASCHINE FÜR DIE ADDITION MIT ERGEBNIS
2
• Die rote Schleife kopiert den ersten Summanden von links nach rechts.
• Die blaue Schleife kopiert der zweiten Summanden von links nach rechts.
• Die zweiten schwarzen Status löschen die X und Y und fahren den Lesekopf an die
richtige Stelle.
Herunterladen