33. Turingmaschinen II

Die Kantenkennzeichnung ist ein Tripel aus (anstehendem Zeichen, geschriebenem Zeichen, Bandbewegung).

Eine Turingmaschine mit dieser Übergangsfunktion erkennt die Sprache {aibiai}.

Idee dabei: Die Maschine läuft i-Mal über die Eingabe und ersetzt dabei jeweils genau ein linkes a (im Zustand SA), ein b (im Zustand (SB) und ein rechtes a (im Zustand SA2), durch Hilfssymbole; Hilfssymbole werden jeweils überlesen. Dann spult die Maschine im Zustand LL zurück, nachdem sie in SA3 das rechte Ende gefunden hat.

Wenn alles nur noch aus Hilfssymbolen besteht, läuft SA durch und erreicht das Ende des Bands – die Maschine landet in OK, sonst “stürzt sie ab”.

Den Zustand einer Turingmaschine stellen wir dar als ein Wort k∈Σ*∙Φ ∙Σ*, so dass links und rechts der Bandinhalt links und rechts vom Kopf steht und in der Mitte der augenblickliche Zustand.

Wir leiten aabbaa ab:

S #aabbaa# # SA aabbaa#
#* SB abbaa# # *a SB bbaa#
# *a SA2 baa# # *ab SA2 aa#
# *ab SA3 a# # *aba SA3 #
# *ab LL a# # *ab LL a#
# *a LL ba# # *a LL ba#
#* LL aba# # LL *aba#
#* SA aba# # ** SB ba#
# **△ SB ba# # **△△ SA2 a#
# **△△⊥ SA2 a# # **△△⊥⊥ SA3 #
# **△△⊥ LL ⊥# # **△△ LL ⊥⊥#
# **△ LL △⊥⊥# # ** LL △△⊥⊥#
#* LL *△△⊥⊥# # SA **△△⊥⊥#
#* SA *△△⊥⊥# # ** SA △△⊥⊥#
# **△ SA △⊥⊥# # **△△ SA ⊥⊥#
# **△△⊥ SA ⊥# # **△△⊥⊥ SA #
# * *△△⊥⊥ OK #

Markus Demleitner

Copyright Notice