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.
12 Vorlesungsskript von E. Best / Stand: 17. Januar 2011<br />
eine vernünftige Identifikation ist.<br />
Ein Entscheidungsproblem besteht intuitiv aus:<br />
• einer abzählbaren Menge X von Instanzen des Problems (das können beliebige mathematische<br />
Objekte sein, z.B. Graphen; logische Formeln; natürliche Zahlen; Paare von Grammatiken; Paare<br />
von Listen von 0/1-Wörtern; usw.);<br />
• undeinerEigenschaft,diedieseObjekteerfüllenkönnen( ” Ja-Instanz“)odernicht( ” Nein-Instanz“)<br />
(z.B. die Existenz eines Hamiltonschen Kreises in einem Graph; die Erfüllbarkeit einer Formel; die<br />
Eigenschaft einer natürlichen Zahl, gerade zu sein; die Eigenschaft zweier Grammatiken, die gleiche<br />
Sprache zu generieren; eine Postsche Korrespondenz zu haben; usw.).<br />
Dann kann ein Entscheidungsproblem als ein Paar (X,Y) mit Y ⊆ X angesehen werden. Dabei stellt<br />
die Menge X die Menge aller Instanzen dar, die Menge Y die ” Ja“-Instanzen, und die Menge X\Y die<br />
Menge der ” Nein“-Instanzen.<br />
Betrachten wir als Beispiel die Eigenschaft einer natürlichen Zahl, gerade zu sein. In diesem Fall sind<br />
X = N und Y = {0,2,4,...}. Als Paar von Eingabe/Frage formuliert, wie in Abschnitt 1.3, stellt sich<br />
dieses Problem folgendermaßen dar:<br />
• Eingabe: Eine natürliche Zahl x ∈ N.<br />
• Frage: Ist x durch 2 teilbar?<br />
Um X = N darzustellen, benutzt man schon seit langer Zeit Zeichenketten. Üblich ist bei uns die Dezimaldarstellung,<br />
nach der jede natürliche Zahl als Zeichenkette über dem endlichen Alphabet<br />
Σdez = {0,1,2,3,4,5,6,7,8,9}<br />
dargestellt wird. Diese Darstellung ist allerdings noch nicht einmal eine Funktion von N nach<br />
{0,1,2,3,4,5,6,7,8,9} ∗ . Zum Beispiel hat die natürliche Zahl fünf die unendlich vielen Darstellungen<br />
5, 05, 005 etc. Aber das macht nichts; es handelt es sich trotzdem um eine gute Codierung. Auch gut<br />
ist die Codierung natürlicher Zahlen als Dualzahlen über dem Alphabet Σdual = {0,1}, obwohl auch hier<br />
eine Zahl mehrere Darstellungen hat (z.B. 101, 0101, 00101, usw., für die Zahl fünf). Ebenfalls möglich<br />
ist die Darstellung einer natürlichen Zahl über dem ” Strichalphabet“ Σunär = {|}. Man kann die Zahl<br />
null als das leere Wort ε darstellen, die Zahl eins als |, die Zahl zwei als ||, die Zahl fünf als |||||, usw.<br />
Diese Darstellung ist tatsächlich eine (sogar umkehrbare) Funktion, sie ist aber nicht gut. Warum nicht,<br />
wird später erklärt.<br />
Codiert man die Elemente von X also allgemein als eine Menge von Wörtern, dann ist X als Sprache<br />
auffassbar und Y als eine Teilsprache davon. Ein Entscheidungsproblem (X,Y) algorithmisch zu lösen<br />
bedeutet, eine Maschine oder ein Programm anzugeben, das für ein Wort x ∈ X als Eingabe entscheidet,<br />
ob x ∈ Y oder ob x ∈ X\Y.<br />
Auch andere Probleme können unter Umständen als Entscheidungsprobleme aufgefasst werden, z.B. das<br />
Problem ” berechne 2·x für x ∈ N“:<br />
X = N×N und Y = {(x,y) | x,y ∈ N∧y = 2·x}.