{- Berechenbarkeit und Komplexitaet SS03 bei Dr. Tompitz autotool-Aufgabe TM-STEP2 Arne Brutschy, 8964813 Idee: zaehlt einfach nur zweimal die As (2n Schritte), durch die Uebergaenge zum naechsten Zustand ergibt sich +2, mit dem Leerzustand am Ende ist das dann 2n+3. -} import Turing student :: Turing Char Integer student = Turing {eingabealphabet = mkSet "A", arbeitsalphabet = mkSet "#A", leerzeichen = '#', zustandsmenge = mkSet [0, 1, 2, 3], tafel = listToFM [-- Zustand 0: zaehle n As durch (n Schritte) -- und einmal leer (('#', 0), mkSet [('#', 1, L)]), (('A', 0), mkSet [('A', 0, R)]), -- Zustand 1: zaehle nochmal n As durch -- und einmal leer (('#', 1), mkSet [('#', 2, L)]), (('A', 1), mkSet [('A', 1, L)]), -- Zustand 2: .. und der letzte Leerschritt (('#', 2), mkSet [('#', 3, L)])], startzustand = 0, endzustandsmenge = mkSet [3]}