Karmantor-DeRegistrierungsmaschine (Registermaschinen)
| Back to OverviewAufbau
Eine Registermschine ist wie folgt aufgebaut:
- Ein Programm
- Ein Befehlszähler, der auf den nächsten Befehl zeigt, der ausgeführt werden soll . Startet bei
- Ein Akkumulator, der für Berechnungen verwendet wird ()
- Ein (unbeschränkter) Speicher (). Der Speicher kann nur beliebig große natürliche Zahlen speichern.
Die Eingabe, wird in den ersten Registern geschrieben.
Die Ausgabe einer Registermaschine, befindet sich nach Stoppen in dem ersten Register ().
Befehle
LOAD i
:INDLOAD i
:CLOAD i
:STORE i
:INDSTORE i
:ADD i
:CADD i
:INDADD i
:SUB i
:DIV i
:GOTO j
: b := jIF c(0) = x GOTO j
: falls , sonstEND
Kostenmaß
Die Kosten einer Regsistermaschine, können durch zwei Arten gezählt werden:
- Uniformes Kostenmaß: Jeder Schritt eine Zeiteinheit.
- Logarithmisches Kostenmaß (log. Kostenmaß): Jeder Schritt mit einer großen Zahl, Zeiteinheiten. Also proportional zu der binären Länge der Zahl.
Simulationen
Eine Registermaschine, die in log. Kostenmaß beschränkt ist, kann durch eine Turingmaschine in
simuliert werden, mit einem Polynom . Also polynomiell
Eine TM mit Beschränkung, kann durch eine Registermaschine in im uniformen und im log. Kostenmaß simuliert werden. Also auch polynomiell
Kurz gesagt: Turing-Maschinen können alles berechnen, was auch eine Registermaschine berechnen kann und umgekehrt.
Berechenbarkeit
Church-Turing-These: Die Klassen der TM-berechenbaren Funktionen und TM-entscheidbaren Sprachen stimmen mit den Klassen der “intuitiv berechenbaren” Funktionen bzw. “intuitiv entscheidbaren” Sprachen überein
Also gibt es keine Funktionen, die ihr in C
berechnen könnt, aber nicht auf einer Turingmaschine.