Ergebnis 1 bis 3 von 3

Thema: Skriptsprache des RPG Maker 2000/2003 Turing-vollständig?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Ich habe gerade keine Zeit, das ausführlich zu formulieren und zu formatieren, daher einfach nur, was ich in Discord geschrieben habe. Man braucht gar nichts so kompliziertes, wie µ-rekursive Funktionen, man kann auch einfach direkt (und sehr einfach) zeigen, dass man beliebige Turingmaschinen in Makerskript simulieren kann:

    Zitat Zitat
    Mit der Einschränkung, dass du kein unbegrenztes Band hast (aber das hat ja kein realer Computer), kannst du im Maker beinahe trivial eine Turingmaschine simulieren
    Grobe Skizze:
    Eine Turingmaschine besteht aus einem Zustandsautomaten und einem Band.
    Du hast deinen aktuellen Zustand S, eine aktuelle Bandposition P und das Symbol an der aktuellen Bandposition X
    Übergänge sind definiert als (S, X) -> (S', X', +/-/0/H)
    + heißt, du gehst auf dem Band einen Schritt vor, - heißt, du gehst einen Schritt zurück, 0 heißt, du bleibst an der gleichen Position, H heißt, die Maschine hält
    S' und X' sind der neue Zustand und das neue Symbol auf dem Band
    Variable 0001 beinhaltet S
    Variable 0002 beinhaltet P
    Die restlichen Variablen sind das Band
    Dein Zustandsautomat ist ein Loop mit einer Reihe an if/else innen drin
    Zum Lesen vom Band kannst du die Variable mit der Nummer, die in P steht, lesen (habe jetzt gerade nicht im Kopf, ob das in if direkt geht. Ansonsten kopierst du den Wert am Anfang der Schleife in Variable 0003 und arbeitest damit, dann hast du halt ein minimal kleineres Band)
    Die if/else-Konstruktion prüft S und X
    +/-/0 implementierst du, indem du den Wert von Variable 0002 veränderst
    H beendet die Schleife
    X' implementierst du, indem du den neuen Wert in die Variable mit der Nummer in P schreibst
    S', indem du die Nummer des neuen Zustands in S schreibst
    Offensichtlich lassen sich mit den passenden Befehlen beliebige Turingmaschinen implementieren
    Also auch die Turingmaschine, die eine Turingmaschine simuliert
    Und damit bist du turingvollständig.

  2. #2

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •