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.