Komplexitaet-WS-2010.. - Parallele Systeme
Komplexitaet-WS-2010.. - Parallele Systeme
Komplexitaet-WS-2010.. - Parallele Systeme
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
54 Vorlesungsskript von E. Best / Stand: 17. Januar 2011<br />
Es folgt ein Satz über das Platz- und Zeitverhalten von universellen TM.<br />
Satz 3.3.11 Zeitbedarf universeller Turingmaschinen<br />
Es gibt eine universelle TM U, so dass für jede 2-Band-TM M gilt:<br />
M akzeptiert w in t Schritten und besucht s Felder ⇔<br />
U akzeptiert 〈uM,w〉 in O(t) Schritten und besucht O(s) Felder.<br />
Dabei ist uM eine Codierung (z.B. in binär) der Maschine M und 〈uM,w〉 besteht aus einer Codierung<br />
von uM gefolgt von einer Codierung von w, geeignet abgetrennt. Die Konstanten, die in O(t) und O(s)<br />
eingehen, sind von M abhängig.<br />
Beweis: (Skizze.)<br />
U (die universelle Maschine) braucht O(|uM|) Schritte für die Initialisierung und O(|uM|) Schritte für die<br />
Simulation von jedem Schritt von M. Dabei braucht U die Felder, die auch M braucht, und dazu noch<br />
O(|uM|) zur Speicherung der Codierung von M. 3.3.11<br />
3.4 Band- und Zeithierarchiesätze<br />
Im Prinzip sind wir an verschiedenen Arten von Beziehungen interessiert:<br />
• Deterministische Hierarchien:<br />
Zeithierarchie: Wie stehen DTIME(t(n)) und DTIME(t ′ (n)) in Beziehung miteinander?<br />
Platzhierarchie: Wie stehen DTIME(s(n)) und DTIME(s ′ (n)) in Beziehung miteinander?<br />
• Nichtdeterministische Hierarchien:<br />
Zeithierarchie: Wie stehen NTIME(t(n)) und NTIME(t ′ (n)) in Beziehung miteinander?<br />
Platzhierarchie: Wie stehen NTIME(s(n)) und NTIME(s ′ (n)) in Beziehung miteinander?<br />
• Beziehungen zwischen Zeit und Platz:<br />
Wie stehen DTIME(t(n)) / NTIME(t(n)) und DSPACE(s(n)) / NSPACE(s(n)) in Beziehung miteinander?<br />
Wir untersuchen zuerst einige Beziehungen vom Typ Hierarchie.<br />
Gegeben mehr Zeit bzw. mehr Platz, sollte es auch mehr erkennbare Sprachen bzw. berechenbare Funktionen<br />
geben. Aber wieviel mehr Zeit bzw. Platz muss es geben, damit es echt mehr Sprachen/Funktionen<br />
werden? Die Sätze 3.3.4 und 3.3.6 zeigen, dass eine lineare Erhöhung (mit einem konstanten Faktor) nicht<br />
genügt. Wie wäre es mit einem langsam wachsenden Faktor, z.B. mit log(log(n))? Und – eine andere Frage<br />
– gibt es eine vielleicht eine Grenzfunktion f(n), so dass jede rekursive Sprache in DTIME(f(n)), oder<br />
etwa in DSPACE(f(n)) liegt?<br />
Der nächste Satz zeigt, dass die letzte Frage mit ” nein“ zu beantworten ist. Die Fragen davor haben<br />
für eine Klasse von ” gutartigen“ Funktionen (die sogenannten konstruierbaren Funktionen) verschiedene<br />
Antworten, von denen wir einige erklären.