Hallo,
ab einer gewissen Größe und mit so vielen Zuständen wird es unübersichtlich. Deshalb habe ich deinen Automaten in den XWizard eingegeben und geschaut ob es irgendwo zu einem Fehler kommt. Ich habe das Testwort: 001S001 verwendet.
Zu Beginn funktioniert der Automat, jedoch hängt er sich dann auf, weil er in s0 ein K einlesen will, du dafür aber keinen Übergang vorgesehen hast.
Demnach ist der Automat nicht korrekt.
Ich kann dir hier den XWizard als Tool empfehlen, weil man hier schnell seine Lösung validieren kann und auch Sachen ausprobieren kann.
Der entsprechende Quellcode ist hier:
turing:
(s0,0)=>(snull,K,R);
(s0,1)=>(seins,K,R);
(s0,S)=>(s1,S,R);
(snull,0)=>(snull,0,R);
(snull,1)=>(snull,1,R);
(snull,S)=>(sk0,S,R);
(sk0,0)=>(s2,K,L);
(sk0,K)=>(sk0,K,R);
(s2,0)=>(s2,0,L);
(s2,1)=>(s2,1,L);
(s2,S)=>(s2,S,L);
(s2,K)=>(s0,K,R);
(seins,0)=>(seins,1,R);
(seins,1)=>(seins,1,R);
(seins,S)=>(sk1,1,R);
(sk1,1)=>(s2,K,L)
(sk1,K)=>(sk1,K,R)
(s1,*)=>(se,*,N)
(s1,K)=>(s1,K,R)
--declarations--
s0=s0;
F=se;
blank=*;
inputs=001S001;
runStepsScript=120;
shortTrace=false
--declarations-end--
Grüße, Sören