Berechenbarkeit und Komplexität (autotool Aufgaben) SS2002

Auf dieser Seite finden Sie Hinweise zur Lösung und Richtlinien zur Bewertung der Übungsaufgabenteile für das autotool.

Allgemeine Hinweise

1. Serie

Es gilt eine 1-Band-Turing-Maschine zu finden, an die folgende Bedingung gestellt werden:

Ein- und Ausgabe Tabelle der 1. Serie

Beispiele in eckigen Klammern, bin(n) = binäre Darstellung von n, unär(n) = unäre Darstellung von n
AufgabeEingabeAusgabe
TM1bin(n) [ 111 ]bin(n)#bin(n+1) [ 111#1000 ]
TM2unär(n) [ 11 ]unär(n)#unär(2n) [ 11#1111 ]
TM3bin(n) [ 10 ]bin(n)#unär(n) [ 10#11 ]
TM4unär(n) [ 11 ]unär(n)#bin(n) [ 11#10 ]

Beispiel für Serie 1

empfänger: autotool@theopc.informatik.uni-leipzig.de
subject: TM1

-- ein Kommentar beginnt mit "--", er wird vom autotool ignoriert
-- diese import Anweisung muss am Anfang stehen
import Turing 

-- Beschreibung der TM siehe oben
-- wichtig sind die Einrückungen am Zeilenbeginn, 
-- diese müssen nach student mindestens 1 Leerzeichen sein
student = Turing 
   { eingabealphabet = mkSet "01"
   , leerzeichen = '#' 
   , arbeitsalphabet = mkSet "#01bc"
   , zustandsmenge = mkSet [ 1, 2, 3 ]
   , tafel = t
   , startzustand = 1
   , endzustandsmenge = mkSet [ 3 ]
   }


-- die Überführungstabelle, auch hier nach t jede 
-- Zeile um mindestens 1 Leerzeichen einrücken 
t = listToFM
   [ ( ('1',1 ) , mkSet [ ('c',2 ,R) ] ) 
   , ( ('1',2 ) , mkSet [ ('1',2 ,R) ] ) 
   , ( ('#',2 ) , mkSet [ ('b',3 ,L) ] )
   ]
-- Beschreibung der ersten Zeile:
-- wenn im Zustand 1 '1' gelesen wird  
-- 'c' schreiben, in Zustand 2 wechseln und 
-- einen Schritt nach rechts

--

Last modified: Thu Apr 11 23:59:04 CEST 2002