03.09.2013 Aufrufe

Komplexitaet-WS-2010.. - Parallele Systeme

Komplexitaet-WS-2010.. - Parallele Systeme

Komplexitaet-WS-2010.. - Parallele Systeme

MEHR ANZEIGEN
WENIGER ANZEIGEN

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}.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!