www.wikidata.de-de.nina.az
Die Registermaschine RM ist eine abstrakte Maschine der theoretischen Informatik Registermaschinen sind Turing vollstandig das heisst sie sind prinzipiell zu allen Berechnungen in der Lage die Turingmaschinen oder auch reale Rechner ausfuhren konnen Da man beweisen kann dass sich die Registermaschine und die Turingmaschine gegenseitig mit polynomieller Laufzeit simulieren konnen gelten Aussagen die man fur die Turingmaschine beweisen kann auch fur die Registermaschine und damit auch fur jede beliebige Rechenmaschine Dies ist in der theoretischen Informatik von Vorteil da man viele Aussagen anhand der Turingmaschine leichter beweisen kann 1 Inhaltsverzeichnis 1 Geschichte 2 Formale Definition 2 1 Beispiel Identitatsfunktion 3 Random Access Machine 4 Siehe auch 5 Literatur 6 Weblinks 7 EinzelnachweiseGeschichte BearbeitenDas Modell geht auf eine Arbeit von John C Shepherdson und Howard E Sturgis 1936 aus dem Jahr 1963 zuruck wobei diese einen Vorlaufer in Heinz Kaphengst hatten 2 Formale Definition BearbeitenEs gibt verschiedene leicht voneinander abweichende Definitionen von Registermaschinen Je nach Autor unterscheiden sich die Befehle und deren Bedeutung Im Folgenden wird eine einfache Registermaschine mit drei Grundoperationen beschrieben Die Registermaschine arbeitet mit naturlichen Zahlen Alle ab jetzt vorkommenden Zahlen sollten in diesem Kontext betrachtet werden Die Registermaschine besteht aus einem Programm bestehend aus endlich vielen durchnummerierten Befehlen beginnend mit Nummer 1 einem Befehlszahler b einem Input Wert m einem Output Wert n und aus einem unendlich grossen Speicher aus durchnummerierten Speicherzellen Register r 1 r 2 r 3 Jedes Register speichert eine naturliche Zahl Ein Programm setzt sich aus folgenden Befehlen zusammen Befehl Wirkung 1 Wirkung 2 ErklarungA i displaystyle A i nbsp then p r i r i 1 b p Inkrementieren eines Registers um 1 S i displaystyle S i nbsp then p Wenn r i gt 0 dann r i r i 1 b p Dekrementieren eines Registers um 1 falls der Inhalt des Registers nicht bereits 0 ist if T i displaystyle T i nbsp then p else q Wenn r i 0 dann b pansonsten b q Testen ob ein Register 0 enthalt Zum Starten des Programms sollte zusatzlich ein Eingabedatensatz bestehend aus m geordneten Werten vorhanden sein Zu Beginn wird der Befehlszeiger b auf den Wert der Startmarke des Programms gesetzt Die Speicherzellen von Nummer 1 bis m werden auf die entsprechenden Werte des Eingabedatensatzes gesetzt Die restlichen Speicherzellen erhalten den Wert 0 Die Registermaschine fuhrt dann nacheinander die Befehle des Programms aus Es wird immer der Befehl mit der Nummer b ausgefuhrt Die Ausfuhrung eines nichtexistenten Befehls terminiert das Programm Nach der Terminierung werden alle Werte von r 1 bis r n ausgegeben Registermaschinen lassen sich wie alle Maschinen anschaulich besonders gut durch Flussdiagramme darstellen Beispiel Identitatsfunktion Bearbeiten nbsp Beispiel fur eine RegistermaschineDie rechts abgebildete Registermaschine gibt immer den Wert aus der ihr als erster Eingabewert ubergeben wird Das blau unterlegte Kastchen des Flussdiagramms stellt einen Test dar Fallt dieser negativ aus so lauft die Registermaschine durch die Schleife und dekrementiert bei jedem Schleifendurchlauf R 1 displaystyle R 1 nbsp und inkrementiert R 0 displaystyle R 0 nbsp Schliesslich enthalt R 1 displaystyle R 1 nbsp den Wert 0 der Test fallt positiv aus und die Maschine geht in den Haltezustand uber Es ist klar dass im Haltezustand immer genau der Eingabewert aus R 1 displaystyle R 1 nbsp in R 0 displaystyle R 0 nbsp stehen muss Die vorliegende Registermaschine ist also eine einfache Implementierung der Identitatsfunktion Random Access Machine BearbeitenDie Random Access Machine kurz RAM ist eine spezielle Art von Registermaschine Sie hat die Fahigkeit der indirekten Adressierung der Register Die Random Access Machine besteht aus einem Programm bestehend aus endlich vielen durchnummerierten Befehlen beginnend mit Nummer 1 einem Befehlszahler b einem Akkumulator c 0 und einem unendlich grossen Speicher aus durchnummerierten Speicherzellen Registern c 1 c 2 c 3 Jedes Register einschliesslich b und c 0 speichert eine beliebig grosse naturliche Zahl Zu Beginn enthalt der Befehlszahler b den Wert 1 der Akkumulator den Wert 0 Die Speicherzellen ab Nummer 1 enthalten zu Beginn die endliche Eingabe Die restlichen Speicherzellen enthalten den Wert 0 Ein Programm setzt sich aus folgenden Befehlen zusammen Befehl Wirkung 1 Wirkung 2LOAD i c 0 c i b b 1CLOAD i c 0 i b b 1INDLOAD i c 0 c c i b b 1STORE i c i c 0 b b 1INDSTORE i c c i c 0 b b 1ADD i c 0 c 0 c i b b 1CADD i c 0 c 0 i b b 1INDADD i c 0 c 0 c c i b b 1SUB i c 0 max c 0 c i 0 displaystyle c 0 max c 0 c i 0 nbsp b b 1CSUB i c 0 max c 0 i 0 displaystyle c 0 max c 0 i 0 nbsp b b 1INDSUB i c 0 max c 0 c c i 0 displaystyle c 0 max c 0 c c i 0 nbsp b b 1MUL i c 0 c 0 c i b b 1CMUL i c 0 c 0 i b b 1INDMUL i c 0 c 0 c c i b b 1DIV i c 0 c 0 c i displaystyle c 0 lfloor c 0 c i rfloor nbsp b b 1CDIV i c 0 c 0 i displaystyle c 0 lfloor c 0 i rfloor nbsp b b 1INDDIV i c 0 c 0 c c i displaystyle c 0 lfloor c 0 c c i rfloor nbsp b b 1GOTO i b iIF c 0 a l displaystyle alpha l nbsp GOTO ia lt gt l N displaystyle alpha in lt neq gt l in mathbb N nbsp b i falls Bedingung wahr b b 1 sonst END b bDie Registermaschine fuhrt nacheinander die Befehle des Programms aus Es wird immer der Befehl mit der Nummer b als nachstes ausgefuhrt Fast alle Befehle erhohen den Befehlszahler um 1 so dass nach einem solchen Befehl der darauf folgende Befehl mit der nachsthoheren Nummer ausgefuhrt wird Die Registermaschine halt an sobald der Befehlszahler b den Befehl END bezeichnet Das Ergebnis der Berechnung steht dann in zuvor definierten Registern Siehe auch BearbeitenVerfeinerung Informatik Kellerautomat Akkumulatorrechner Wahlfreier Zugriff BerechenbarkeitstheorieLiteratur BearbeitenJohn C Shepherdson Howard E Sturgis Computability of Recursive Functions In Journal of the Association of Computing Machinery JACM Bd 10 Nr 2 1963 ISSN 0004 5411 S 217 255 doi 10 1145 321160 321170 eingegangen Dezember 1961 Weblinks BearbeitenRegistermaschine Hessischer Bildungsserver Registermaschine RAM Church Turing These Prof Dr Berthold Vocking RWTH Aachen 2010 PDF Vorlesung Theoretische Informatik II Bernhard Beckert Universitat Koblenz Landau 2007 PDF Einzelnachweise Bearbeiten Registermaschinen und Turingmaschinen im Vergleich mit Beweis Origins and Foundations of Computing Friedrich L Bauer S 96 Abgerufen von https de wikipedia org w index php title Registermaschine amp oldid 203764504