Komplexitaet-WS-2010.. - Parallele Systeme
Komplexitaet-WS-2010.. - Parallele Systeme
Komplexitaet-WS-2010.. - Parallele Systeme
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
30 Vorlesungsskript von E. Best / Stand: 17. Januar 2011<br />
• Das Eingabewort w wird an einer sicheren Stelle gespeichert, z.B. eingeschlossen zwischen Sonderzeichen:<br />
$lw$r. Links davon werden Wörter u über dem Alphabet {1,...,r} in systematischer<br />
Reihenfolge gemäß dem Prinzip der Breitensuche, also<br />
” der Länge nach, kürzere zuerst, und bei gleicher Länge in lexikographischer Ordnung“,<br />
also ε, 1, 2, ..., r, 11, 12, ..., 1r, 21, ..., ..., rr, 111, ... usw.,<br />
erzeugt. Da das Band von det(M) nach links unendlich ist, steht stets genug Platz zur Erzeugung<br />
solcher Wörter u zur Verfügung. Jeder endliche Pfad im Konfigurationsbaum von M(w) entspricht<br />
einem solchen u. Z.B. bedeutet u = 1332: an der Wurzel die erste Alternative wählen, danach<br />
die dritte, dann wieder die dritte, danach die zweite. Es kann sein, dass eines der erzeugten u<br />
keine Auswahl darstellt, aber andersherum (und das ist entscheidend) ist jeder Knoten durch eine<br />
solche Auswahl erreichbar. Gegeben ein Wort u ∈ {1,...,r} ∗ , simuliert det(M) rechts neben $lw$r<br />
genau den Pfad des Konfigurationsbaums von M(w) der durch u beschrieben wird (falls ein solcher<br />
Pfad vorhanden ist). det(M) hält im Endzustand, wenn der aktuell simulierte Pfad auf ein Blatt<br />
des Konfigurationsbaums von M mit q0w als Wurzel führt, das eine akzeptierende Konfiguration<br />
darstellt:<br />
input w;<br />
u := ε;<br />
do simuliere M(w) mit Hilfe der Auswahl u;<br />
if Auswahl führt auf ein Blatt mit akzeptierender Konfiguration → halte<br />
else → skip<br />
fi;<br />
generiere nächstes u<br />
od.<br />
Der else-Fall in der inneren if-Anweisung kann eintreten, wenn u zu einer Konfiguration von M<br />
führt, die nicht akzeptiert oder wenn u zu keiner Konfiguration von M führt, weil der tatsächliche<br />
Grad des Nichtdeterminismus in M kleiner ist als r. det(M) kann in der do...od-Anweisung in<br />
eine unendliche Schleife geraten kann, nicht aber in der Simulation von M(w), da diese Simulation<br />
von u kontrolliert wird. 2.2.6<br />
Die Breitensuche wird gewählt, weil gewährleistet werden muss, dass jeder Knoten des Konfigurationsbaums<br />
von M(w) tatsächlich von det(M), angesetzt auf w, erreicht wird; würde stattdessen die Tiefensuche<br />
gewählt, könnte es vorkommen, dass ein unendlich langer Ast des Baumes durchlaufen wird und eine<br />
daneben liegende akzeptierende Konfiguration ” nicht gesehen“ wird. Insbesondere wird von det(M), angesetzt<br />
auf w, jeder akzeptierende Knoten von M(w) auch besucht, und det(M) stoppt dann. Bei anderen<br />
Knoten stoppt det(M) nicht, selbst wenn diese anderen Knoten w verwerfen oder wenn sie Stopp-Knoten<br />
von M(w) sind. D.h., die obige Konstruktion führt zu einer simulierenden deterministischen Maschine,<br />
die genau dann stoppt, wenn ein akzeptierender Knoten der simulierten nichtdeterministischen Maschine<br />
erreicht wird.<br />
2.2.5 Turingmaschinen als Sprachakzeptoren<br />
Wir definieren nun die Verwendung einer Turingmaschine zum Akzeptieren von Sprachen (und kommen<br />
damit zur Signifikanz der Parameter Σ und qa,qr in der Turingmaschinendefinition). Gegeben sei ein