Theoretische und technische Informatik - ganz praktisch
Herzlich willkommen auf der Question/Answer-Plattform zu Grundlagen der Informatik II. Wir wünschen Ihnen viel Spaß beim Lernen und Diskutieren!
Loggen Sie sich mit Ihrem KIT-Account (u...) ein, um loszulegen!
Beachten Sie auch diese Informationen zum Schnelleinstieg.
(Nicht-KIT-Studierende beachten bitte diese Informationen.)

Wann muss man das Wort wiederherstellen, wann darf man es löschen.

+3 Punkte
105 Aufrufe

Hallo ich wollte fragen, wann ich ein Wort "löschen" darf, und wann ich es wiederherstellen muss, da ich auch der Annahme war das Wort wiederherstellen zu müssen, weshalb meine Maschine etwas komplexer wurde. 

Darf ich das Wort immer löschen, außer die Aufgabenstellung untersagt mir dies? Und wie würde das dann aussehen?

 

 

Auch wäre ich sehr verbunden wenn, jemand mal kurz einen Blick auf das Ungetüm werfen würde, da es für mich spannend zu wissen wäre, ob es an sich richtig 

 

 

 

 

 

 

Gefragt 11, Feb 2016 in TUR-AG von uahge uahge Info-Genie (25,640 Punkte)  
Geben Sie Ihre Maschine doch mal in den XWizard ein und posten Sie das Skript hier. Dann haben wir es leichter beim Durchsehen (und Sie natürlich auch): http://www.xwizard.de:8080/Wizz?template=ID-14965#Output
Danke für die Antwort.
Den Hinweis mit dem Wizard werde ich sobald ich Nichte mehr nur von mobilen Endgeräten Zugriff habe umsetzten.
Viel wichtiger ist mir aber auch der erste Teil der Frage.
Wir warten noch auf das XWizard-Skript... :-)
Skript ist unten eingefügt, ich hoffe das Warten hat sich halbwegs gelohnt. ;)

2 Antworten

+1 Punkt
 
Beste Antwort

Trommelwirbel und hgier ist das Skript:



 

turing:
(s0, a) => (s1, d, R);
(s0, b) => (s2, e, R);
(s0, c) => (s3, f, R);

(s1, a) => (s1, a, R);
(s1, b) => (s1, b, R);
(s1, c) => (s1, c, R);
(s1, d) => (s9, a, L);
(s1, e) => (s9, b, L);
(s1, f) => (s9, c, L);
(s1, *) => (s4, *, R);

(s2, a) => (s2, a, R);
(s2, b) => (s2, b, R);
(s2, c) => (s2, c, R);
(s2, d) => (s10, a, L);
(s2, e) => (s10, b, L);
(s2, f) => (s10, c, L);

(s3, a) => (s3, a, R);
(s3, b) => (s3, b, R);
(s3, c) => (s3, c, R);
(s3, d) => (s11, a, L);
(s3, e) => (s11, b, L);
(s3, f) => (s11, c, L);

(s4, a) => (s5, d, L);
(s4, b) => (s6, e, L);
(s4, c) => (s7, f, L);
(s4, d) => (see, a, N);
(s4, e) => (see, b, N);
(s4, f) => (see, c, N);

(s5, a) => (s5, a, L);
(s5, b) => (s5, b, L);
(s5, c) => (s5, c, L);
(s5, d) => (s8, a, R);
(s5, e) => (s8, b, R);
(s5, f) => (s8, c, R);

(s6, a) => (s6, a, L);
(s6, b) => (s6, b, L);
(s6, c) => (s6, c, L);
(s6, d) => (s8, a, R);
(s6, e) => (s8, b, R);
(s6, f) => (s8, c, R);

(s7, a) => (s7, a, L);
(s7, b) => (s7, b, L);
(s7, c) => (s7, c, L);
(s7, d) => (s8, a, R);
(s7, e) => (s8, b, R);
(s7, f) => (s8, c, R);

(s8, a) => (s1, d, R);
(s8, b) => (s2, e, R);
(s8, c) => (s3, f, R);
(s8, d) => (see, a, L);
(s8, e) => (see, b, L);
(s8, f) => (see, c, L);

(s9, a) => (s5, d, L);
(s9, d) => (see, a, N);

(s10, b) => (s6, e, L);
(s10, e) => (see, a, N);

(s11, c) => (s7, f, L);
(s11, f) => (see, c, N);

--declarations--
e=#n#;
s0=s0;
F=see,;
blank=*;
inputs=abbbab;
runStepsScript=100;
shortTrace=false;
displayMode=2
--declarations-end--

Beantwortet 12, Feb 2016 von uahge uahge Info-Genie (25,640 Punkte)  
ausgewählt 23, Apr 2016 von uahge uahge
+2 Punkte
Hallo uahge!

Zu deiner ersten Frage: Solange die Aufgabenstellung nicht explizit fordert, dass das Wort danach immer noch wie ursprünglich auf dem Band stehen muss bzw. irgendeine andere Forderung an die Endbandinschrift gestellt wird, sondern du mithilfe der Turingmaschine lediglich überprüfen sollst, ob das Wort auf dem Band eine bestimmte Eigenschaft erfüllt, dann darfst du mit dem Wort machen, was du möchtest: es löschen, verändern oder auch wieder hinschreiben - völlig egal ;) Wichtig ist nur, dass deine Turingmaschine in einer akzeptierenden Endkonfiguration anhält, wenn das Wort die Eigenschaft erfüllt!

Gleiches gilt für die Position des Lese-Schreib-Kopfes: Wenn nicht explizit angegeben ist, wo er sich nach Überprüfung des Wortes befinden soll, dann darf er stehen bleiben, wo er will (falls das Wort akzeptiert wird, muss die Turingmaschine aber in jedem Falle anhalten und darf nicht ewig weiterlaufen!)

Ich hoffe, das hilft dir weiter!

Viele Grüße,
Janine (Tutorin)
Beantwortet 11, Feb 2016 von uedqi uedqi Tutor(in) (108,510 Punkte)  
Hallo Janine,

vielen Dank für deine sehr hilfreiche Antwort. :D

Wenn in der Klausur eine solche Turingmaschine vorkommt, lasse ich mir etwas kreatives zum überschreiben einfallen. ;)
Sehr gerne - wir freuen uns immer über kreative (und hoffentlich dann auch noch richtige) Lösungen! ... das macht die Korrektur von rund 500 Klausuren immer etwas abwechslungsreicher und erträglicher ;)
...