15.07.2013 Aufrufe

Berechenbarkeit und Komplexität - Institut für Theoretische Physik ...

Berechenbarkeit und Komplexität - Institut für Theoretische Physik ...

Berechenbarkeit und Komplexität - Institut für Theoretische Physik ...

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.

Klassische Informationstheorie:<br />

<strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong><br />

Christian Slupina<br />

1. <strong>Institut</strong> <strong>für</strong> <strong>Theoretische</strong> <strong>Physik</strong><br />

Datum: 12.Juli 2011


Inhalt<br />

● Gedankenexperiment: Die Turingmaschine<br />

● Standard-Turingmaschinen<br />

● Mehrband-Turingmaschinen<br />

● Nichtdeterminismus<br />

● <strong>Komplexität</strong>stheorie<br />

● <strong>Komplexität</strong>smaße<br />

● <strong>Komplexität</strong>sklassen <strong>und</strong> die P-Klasse<br />

● Die NP-Klasse / NP-Vollständigkeit<br />

● Zusammenfassung


1.1 Die Turingmaschine <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

● Heutige Anwendungen werden erst durch komplexe<br />

Algorithmen lösbar<br />

● viele nichttriviale Operationen werden<br />

zusammengefasst <strong>und</strong> sind nur schwer analysierbar<br />

Suche nach universellem Maß <strong>für</strong> die<br />

<strong>Berechenbarkeit</strong><br />

Beschränkung auf elementare Umformungen<br />

● 1936: Theorie der Turingmaschine<br />

Jeder Algorithmus kann auf einer<br />

Turingmaschine simuliert werden,<br />

(Churchsche These)<br />

3


1.1 Die Turingmaschine <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

● Aufbau der Turingmaschine:<br />

● Mögliche Aktionen:<br />

Änderung der Position<br />

Ersetzen des Zustands xi durch ein eigenes Symbol<br />

4


1.1 Die Turingmaschine <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

● Formale Definition: Eine Turingmaschine ist ein<br />

7-Tupel M mit:<br />

Q: Zustandsmenge<br />

Σ: Eingangsalphabet ( <strong>und</strong> ¢ nicht enthalten)<br />

Γ: Arbeitsalphabet (enthält alle Symbole, kein<br />

Überschreiben von ¢)<br />

δ: Übergangsfunktion<br />

q 0: Anfangszustand<br />

q accept, reject: Endzustand (akzeptierender oder<br />

verwerfender Zustand)<br />

5


1.2 Mehrband-Turingmaschinen <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

● Verbesserung durch Separation der Rechen <strong>und</strong><br />

Speichervorgänge<br />

● Eingangssequenz wird nicht verändert, Berechnung<br />

erfolgt separat auf k Arbeitsbändern<br />

6


1.2 Mehrband-Turingmaschinen <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Darstellung von Berechnungsschritten:<br />

p,q: Anfangs- Endzustand<br />

a,b: eingelesene Symbole<br />

Hier: <strong>für</strong> eine Einband-<br />

Turingmaschine (k=1)<br />

X,Y {L,R,N}: Verschiebung der Köpfe<br />

d: auf dem Arbeitsband ersetztes Symbol b d<br />

7


1.2 Mehrband-Turingmaschinen <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Beispiel einer Einband-Turingmaschine:<br />

sind zwei benachbarte Worte gleich?<br />

Vereinfachend: drei Schritte notwendig:<br />

● TM überprüft, ob eine Eingabe der Form x#y vorliegt,<br />

Abbruch wenn mehrere/keine # gelesen werden<br />

● Nach dem Einlesen werden beide Köpfe zurückgesetzt,<br />

im Anschluss startet der Kopiervorgang<br />

● Vergleich der Sequenzen<br />

TM akzeptiert die Eingabe<br />

wenn alle Symbole gleich sind<br />

8


1.2 Mehrband-Turingmaschinen <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Viel ausführlicher: Protokoll der Übergangsfunktionen<br />

9


1.2 Mehrband-Turingmaschinen <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

1. Schritt: Einlesen des<br />

ersten Worts<br />

2. Schritt: Einlesen des<br />

zweiten Worts<br />

10


1.2 Mehrband-Turingmaschinen <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

3. Schritt: Zurücksetzen<br />

des Lesekopfs<br />

4. Schritt: Kopieren<br />

11


1.2 Mehrband-Turingmaschinen <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

5. Schritt: Schreibkopf wird<br />

zurückgesetzt<br />

Vergleich des Inhalts<br />

12


1.3 Nichtdeterminismus <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Bisher wurde jedem Schritt genau eine<br />

Übergangsfunktion zugeordnet<br />

Erweiterung:<br />

Konsequenz: Nach deterministischem Einlesen gibt<br />

es eine Vielzahl akzeptierter Zustände<br />

Konzept der Berechnungsbäume<br />

13


1.3 Nichtdeterminismus <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Beispiel eines Berechnungsbaums:<br />

Insbesondere muss die TM nicht halten,<br />

unendliche Berechnungen (Schleifen) sind<br />

nicht auszuschließen<br />

Quelle: http://cl-informatik.uibk.ac.at<br />

14


1.3 Nichtdeterminismus <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Wie unterscheidet sich der nichtdet. Wortvergleich?<br />

● Analoger, deterministischer Einlesevorgang<br />

● Unterschied beim Schreibvorgang: Symbole<br />

werden „geraten“<br />

Fehlerhafter Speichervorgang bleibt<br />

in Erinnerung, bis zu 16 Prozesse<br />

notwendig<br />

Eigene <strong>Komplexität</strong>sklasse <strong>für</strong><br />

nichtdeterministische Probleme<br />

15


2. <strong>Komplexität</strong>stheorie <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Gr<strong>und</strong>gedanke: Abschätzung der benötigten Ressourcen,<br />

Einteilung in „schwere“ <strong>und</strong> „leichte“ Probleme<br />

Definition basiert auf einer k-Band-TM:<br />

Zeitkomplexität:<br />

Annahme des schlimmsten Falls, um erfolgreiche<br />

Berechnung zu garantieren<br />

Speicherkomplexität einer Berechnung:<br />

Längster Eintrag eines Bands wird als Maß gewählt<br />

16


2. <strong>Komplexität</strong>stheorie <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Speicherkomplexität lässt sich erweitern:<br />

gesucht wird die größtmögliche Speicherkomplexität<br />

eines Wortes bei n Schritten<br />

● Die Anzahl der Lesevorgänge ist stets größer oder gleich<br />

der Anzahl der Schreibvorgänge, andernfalls keine<br />

logische Operation<br />

● Folgerung: Die Zeitkomplexität ist die entscheidende<br />

Größe<br />

17


2.1 <strong>Komplexität</strong>smaße <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Problem: die <strong>Komplexität</strong> ist nicht exakt bestimmbar<br />

Als Vergleich dienen Funktionen f(n) der Eingabelänge n<br />

mit denen zumindest der Wertebereich abgeschätzt wird:<br />

Die <strong>Komplexität</strong> wächst asymptotisch<br />

nicht schneller als f<br />

Beschleunigung um<br />

konstanten Faktor<br />

möglich<br />

18


2.1 <strong>Komplexität</strong>smaße <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Die <strong>Komplexität</strong> wächst asymptotisch<br />

mindestens so schnell wie g<br />

Weiterhin: <strong>Komplexität</strong> wächst gleich schnell<br />

Satz:<br />

<strong>Komplexität</strong> wächst schneller<br />

Es gibt sogar Algorithmen, die die Zeitkomplexität wesentlich<br />

verbessern, damit existiert kein idealer Algorithmus<br />

Nur die obere Schranke kann mit<br />

Sicherheit abgeschätzt werden<br />

19


2.1 <strong>Komplexität</strong>smaße <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Beispiele <strong>für</strong> deterministische <strong>Komplexität</strong>smaße:<br />

● Liegt das gleiche Wort in der Sequenz vor?<br />

20


2.1 <strong>Komplexität</strong>smaße <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Beispiele <strong>für</strong> deterministische <strong>Komplexität</strong>smaße:<br />

● Liegt das gleiche Wort in der Sequenz vor?<br />

20


2.1 <strong>Komplexität</strong>smaße <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Beispiele <strong>für</strong> deterministische <strong>Komplexität</strong>smaße:<br />

● Liegt das gleiche Wort in der Sequenz vor?<br />

● Abschätzung der Wurzel einer gleichen Sequenz<br />

der Länge n:<br />

prüfe hier<strong>für</strong>, ob <strong>für</strong> ein festes i gilt<br />

20


2.1 <strong>Komplexität</strong>smaße <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Größtes i entspricht der oberen Schranke<br />

21


2.2 <strong>Komplexität</strong>sklassen / P-Klasse <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Weitere Beispiele deterministischer Funktionen:<br />

● Algorithmen mit der <strong>Komplexität</strong> 2 n <strong>und</strong> n! sind<br />

mit endlichen Ressourcen nicht lösbar<br />

● Man definiert die „praktisch lösbaren“ Algorithmen<br />

über eine polynomielle Zeitkomplexität<br />

P-Klasse<br />

22


2.3 NP-Klasse / NP-Vollständigkeit <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Verallgemeinerung:<br />

● Jedes nicht praktisch lösbare Problem ist ein<br />

Spezialfall nichtdeterministischer <strong>Komplexität</strong><br />

P NP<br />

● Den unlösbaren <strong>und</strong> „unendlich schweren“<br />

Problemen wird die NP-Klasse zugeordnet, welche<br />

alle Probleme umfasst<br />

23


2.3 NP-Klasse / NP-Vollständigkeit <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

● Weitere Eigenschaft der NP-Klasse: Beweisverifikation<br />

<strong>für</strong> das Entscheidungsproblem, ob die TM hält<br />

● Idee: Berechnungsbaum<br />

Erraten des Zustands<br />

entspricht 2 n Rechenschritten<br />

Deterministische Prüfung<br />

des Wahrheitsgehalts in<br />

polynomieller Zeit<br />

24


2.3 NP-Klasse / NP-Vollständigkeit <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

● Wir glauben also, dass eine erfolgreiche Berechnung<br />

genauso aufwendig ist wie die Herstellung eines<br />

Beweisverfahrens<br />

● Die Forderung N=NP widerspricht dieser Aussage<br />

● Motivation: viele Probleme mit bisher exponentieller<br />

<strong>Komplexität</strong> liegen in NP<br />

NP-vollständige Klasse<br />

● Die Probleme müssen hierzu in polynomieller Zeit auf<br />

NP reduziert werden (daher auch Klasse der schwersten<br />

Probleme)<br />

25


2.3 NP-Klasse / NP-Vollständigkeit <strong>Berechenbarkeit</strong> <strong>und</strong> <strong>Komplexität</strong> - Christian Slupina<br />

Beispiel eines NP-vollständigen Problems: Das<br />

Rucksack-Problem<br />

Es liegt eine Auswahl an i Gegenständen mit dem<br />

Wert xi <strong>und</strong> der Masse mi vor<br />

Der Inhalt des Rucksacks soll maximalen Wert<br />

besitzen, wobei die Masse beschränkt ist<br />

26


Zusammenfassung:<br />

● Bisher erfolgreiche Simulation von Algorithmen auf<br />

Turingmaschinen<br />

● Modell ist auch auf nichtdeterministische Probleme<br />

anwendbar<br />

● <strong>Komplexität</strong> kann nur abgeschätzt werden<br />

● P-Klasse bildet unsere Vorstellung „lösbarer“ Probleme<br />

● Exponentielle <strong>Komplexität</strong> ist oberste Schranke, auch<br />

bei nichtdeterministischen Problemen<br />

● Konzept der NP-Vollständigkeit, das P-NP-Problem gilt<br />

nach wie vor als unlösbar


Zum Schluss: Langton's Ameise<br />

Bewegung in 2D mit<br />

folgendem Algorithmus:<br />

● Ein weißes Feld wird schwarz gefärbt,<br />

anschließend Bewegung nach rechts<br />

● Ein schwarzes Feld wird weiß gefärbt,<br />

anschließend Bewegung nach links


Nach circa 10000 Schritten:


Vielen Dank <strong>für</strong> ihre Aufmerksamkeit


Literatur:<br />

● Juraj Hromkovič, <strong>Theoretische</strong> Informatik,<br />

4. Auflage<br />

● D.Bruß, Vorlesungsskript zur<br />

Quanteninformationstheorie<br />

● A.M.Turing, On computable numbers, with an<br />

application to the Entscheidungsproblem

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!