• Keine Ergebnisse gefunden

T u ri n g m a s c h in e n

N/A
N/A
Protected

Academic year: 2022

Aktie "T u ri n g m a s c h in e n"

Copied!
42
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

08.05.2009| Optimierung in dynamischer Umgebung| 29

T u ri n g m a s c h in e n

Eine Turingmaschine heißt Zähler, wenn sie, gestartet mit bin(p), p∈ℕ, bin(p-1), bin(p-2),...bin(1),bin(0) hintereinander, immer auf dem gleichen Bandbereich erzeugt und dann stoppt. Sei n = | bin(p) | die Länge der Binärdarstellung von p. Satz: Es gibt einen O(n) platz-und O(2n ) zeitbeschränkten Zähler. Beweis: gemeinsam in Übung

(2)

08.05.2009| Optimierung in dynamischer Umgebung| 30

T u ri n g m a s c h in e n

Eingabe bin(p) = x n-1...x 0 s = p; while s <> 0 do Berechne bin(s-1) aus bin(s) wie folgt: •gehe zum rechten Rand der Eingabe •solange eine 0 gelesen wird, überschreibe sie mit einer 1 und gehe nach links. Sobald eine 1 gelesen wird ersetze diese durch eine 0. •gehe mit dem Kopf eine Stelle weiter nach links. Falls ein B gelesen wird, gehe nach rechts, ersetze die 0 durch ein B und gehe an den rechten Rand. Sonst gehe, ohne ein Zeichen zu ändern, an den rechten Rand. •s = s-1;

(3)

08.05.2009| Optimierung in dynamischer Umgebung| 31

T u ri n g m a s c h in e n

Beispiel: Eine 1 von 1011000 subtrahieren B1011000BB1011001B B1011011BB1011111B B1010111BB1010111B B1010111BB1010111B B1010111BB1010111B B1010111B 10 Schritte bzw, wenn a Nullen rechts stehen: 2a+4 Schritte

•gehe zum rechten Rand der Eingabe •solange eine 0 gelesen wird, überschreibe sie mit einer 1 und gehe nach links. Sobald eine 1 gelesen wird ersetze diese durch eine 0.

(4)

08.05.2009| Optimierung in dynamischer Umgebung| 32

T u ri n g m a s c h in e n

δ(q 0,0)= (q 0,B,R) δ(q 0,B)= (q f,B,N) δ(q 0,1)= (q 1,1,R) δ(q 1,0)= (q 1,0,R) δ(q 1,1)= (q 1,1,R) δ(q 1,B)= (q 2,B,L) δ(q 2,0)= (q 2,1,L) δ(q 2,1)= (q 3,0,L) δ(q 3,B)= (q 0,B,R) δ(q 3,0)= (q 1,0,R) δ(q 3,1)= (q 1,1,R)

ersetze führende Nullen duch Bs falls nur Nullen: fertig sonst: gehe an den rechten Rand der Eingabe, und dann vor das letzte B solange eine 0 gelesen wird, wird 1 geschrieben wenn eine 1 gelesen wird, wird 0 geschrieben und ... falls dort ein B steht, prüfe, ob fertig. sonst gehe zum rechten Rand

(5)

08.05.2009| Optimierung in dynamischer Umgebung| 33

T u ri n g m a s c h in e n

Beachte: mit n = | bin(p) | gilt: 2n-1 ≤p < 2n , bzw. n-1≤log(p) < n S M(n) = n+2 = O(n) 1x dekrementieren: falls rechts a Nullen stehen, ≤2a+4 Schritte -> p-mal dekrementieren bei Zeit höchstens 2n+4 Also: T M(n) = O(n 2n ) Frage: dauert das wirklich so lange? Antwort: nein, denn die meisten Dekrements sind viel schneller.

(6)

08.05.2009| Optimierung in dynamischer Umgebung| 34

T u ri n g m a s c h in e n

In 50% aller Fälle (beim runterzählen) steht eine 1 am Schluß. D.h. a=0 In 25% aller Fälle steht eine 10 am Schluß. D.h. a=1 In 12,5% aller Fälle steht eine 100 am Schluß. D.h. a=2 In 6,25% aller Fälle steht eine 1000 am Schluß. D.h. a=3 ... Im Durchschnitt sind das nicht mehr als ∑ a0(2a+4)*2-a-1 = ∑ a02a*2-a-1 + 4*2-a-1 viele Schritte. = ∑ a0a*2-a-1 + ∑ a02-a+1 = 2 + 4 Also ein Dekrement in durchschnittlich 6 Schritten. Laufzeit O(2n )

(7)

08.05.2009| Optimierung in dynamischer Umgebung| 35

T u ri n g m a s c h in e n

Def.: EineSpracheL heißt entscheidbar, wenn es eine Turingmaschine gibt, die zu jeder Eingabe w∈∑* nach endlicher Zeit anhält, und genau dann in einem akzeptierenden Zustand endet, wenn w∈L gilt. EineSpracheL heißt semi-entscheidbar, wenn es eine Turingmaschine gibt, die zu jeder Eingabe w∈Lnach endlicher Zeit in einem akzeptierenden Endzustand anhält. EineFunktionf heißt berechenbar, wenn es eine Turingmaschine gibt, die für alle Eingaben x, die aus dem Definitionsbereich von f stammen nach endlich vielen Schritten anhält und f(x) auf das Band schreibt.

(8)

08.05.2009| Optimierung in dynamischer Umgebung| 36

U n e n d s c h e id b a rk e it

Gibt es unendscheidbare Sprachen? Ja, denn es gibt nur abzählbar unendlich viele Turingmaschinen, aber überabzählbar viele Sprachen L⊆{0,1}* Begründung mit Hilfe des Cantor‘schen Diagonalisierungsverfahrens: M 1M 2M 3M 4... 0n j j n 1n n n j 01 j j j n ... x i Eintrag (M i,x k)=„jbedeutet, dass x kaus der Sprache L(M i) ist. Sei nun L die Sprache, die genau aus den Wörtern besteht, bei denen beim Eintrag (M i,x i) „nsteht. L gehört zu keiner der aufgehrten TMs.

(9)

08.05.2009| Optimierung in dynamischer Umgebung| 37

B e re c h e n b a rk e it

Gibt es Funktionen, die nicht von einer Turingmaschine berechnetwerden können? Ja. Die Busy-Beaver Funktion∑(n) ist definiert als die Anzahl der Einsen, die eine Champion-Turingmaschine auf ein zu Beginn leeres Band ausgibt, wobei n die Anzahl der erlaubten Zustände darstellt. Die TM muss irgendwann halten. Wir gehen weiterhin davon aus, dass diese Einsen alle zusammenhängend sein müssen. Beweis:

(10)

08.05.2009| Optimierung in dynamischer Umgebung| 38

B e re c h e n b a rk e it

Annahme:Die Busy-Beaver Funktion∑(n) ist berechnbar, und EVAL∑ ist die TM, die∑(n) berechnet. Bei einer Eingabe von n Einsen schreibt sie∑(n) Einsen auf das Band und hält dann an. Im folgenden definieren wir 4 Hilfs-TMs. Sei INCeine TM, die bis zum ersten B nach rechts läuft, dort eine 1 schreibt und dann hält. DOUBLEsein eine andere TM, die die Anzahl Einsen, die sich auf dem Band befinden verdoppelt. DOUBLEberechnet also zu Eingabe n n+n. Wir bilden nun eine neue TM: DOUBLE | EVAL∑| INC Die Anzahl der Zustände dieser Maschine sei n 0

(11)

08.05.2009| Optimierung in dynamischer Umgebung| 39

B e re c h e n b a rk e it

Sei CREATE_n 0eine weitere TM, welche n 0Einsen auf ein leeres Band schreibt. Diese TM gibt es, trivialerweise eine mit n 0vielen Zuständen. Sei nun N := n 0+ n 0 Das Finale:Sei BAD∑folgende TM: CREATE_n 0| DOUBLE | EVAL∑(N)| INC n 0n 0 Diese Maschine hat N Zustände. Sie startet auf leerem Band, schreibt n 0 Einsen, verdoppelt diese, berechnet ∑(N)und schreibt eine weitere 1. BAD∑hat also eine 1 mehr als∑(N)geschrieben! Es folgt, dass die Annahme falsch war.

(12)

08.05.2009| Optimierung in dynamischer Umgebung| 40

B u s y B e a v e r

Interessanterweise sind einige Busy-Beaverwerte bekannt. Z.B. für TMs mit 2 Symbolen : #Zustände Anzahl Einsen des Siegers 11 24 36 413 5>= 4098 6>= 95.524.079

(13)

08.05.2009| Optimierung in dynamischer Umgebung| 41

S c h ö n h e it i n d e r M a th e m a ti k :

(nach Prof. Hesse, Universität Stuttgart Fakultät r Mathematik und Physik, Dresden 2008)

B e is p ie l: T u rn ie rp ro b le m T e n n is tu rn ie r m it 1 2 8 S p ie le rn n a c h K .O .- S y s te m . W ie v ie le B e g e g n u n g e n w e rd e n a u s g e tr a g e n ?

Präzision Klarheit Eleganz

B e is p ie l: T u rn ie rp ro b le m T e n n is tu rn ie r m it 1 2 8 S p ie le rn n a c h K .O .- S y s te m . W ie v ie le B e g e g n u n g e n w e rd e n a u s g e tr a g e n ?

(14)

08.05.2009| Optimierung in dynamischer Umgebung| 42

T u rn ie rv e rl a u f B e is p ie l: T u rn ie rp ro b le m T e n n is tu rn ie r m it 1 2 8 S p ie le rn n a c h K .O .- S y s te m . W ie v ie le B e g e g n u n g e n w e rd e n a u s g e tr a g e n ?

(15)

08.05.2009| Optimierung in dynamischer Umgebung| 43

Turnierproblem: Lösung 1 1. Runde: 128 Spieler, 64 Paare, 64Begegnungen 2. Runde: 64 Spieler, 32 Paare, 32Begegnungen 3. Runde: 32 Spieler, 16 Paare, 16Begegnungen 4. Runde: 16 Spieler, 8 Paare, 8Begegnungen 5. Runde: 8 Spieler, 4 Paare, 4Begegnungen 6. Runde: 4 Spieler, 2 Paare, 2Begegnungen 7. Runde: 2 Spieler, 1 Paar, 1Begegnung Insgesamt:1+2+4+8+16+32+64=127Begegnungen

(16)

08.05.2009| Optimierung in dynamischer Umgebung| 44

Turnierproblem: Lösung 2 Zahl der Spieler: Zweierpotenz, 128 = 27 Begegnungen je Runde: fortgesetzte Halbierung Begegnungen gesamt = Summe von Zweierpotenzen = 1 + 2 + 22 + ... + 26 = 27 -1 =127

(17)

08.05.2009| Optimierung in dynamischer Umgebung| 45

Allgemeiner

F ü r 2

n

S p ie le r, 2

n-1

E rs tr u n d e n -B e g e g n u n g e n 2

n-2

Z w e it ru n d e n -B e g e g n u n g e n , e tc . 1 + 2 + 2

2

+ . .. + 2

n-1

= ( 1 + 2 + 2

2

+ . .. + . .. 2

n-1

)( 2 - 1 ) = 2 + 2

2

+ . .. + 2

n-1

+ 2

n

- 1 - 2 - 2

2

- .. . - 2

n-1

= 2

n

- 1 F o rt s c h ri tt : T ie fe , V e ra llg e m e in e ru n g , V e rs tä n d n is

(18)

08.05.2009| Optimierung in dynamischer Umgebung| 46

T u rn ie rp ro b le m : L ö s u n g 3 a ) J e d e B e g e g n u n g h a t e in e n S ie g e r u n d e in e n V e rl ie re r. b ) J e d e r S p ie le r s p ie lt s o l a n g e , b is e r v e rl ie rt . A ls o : e s g ib t g e n a u s o v ie le B e g e g n u n g e n , w ie e s V e rl ie re r g ib t. c ) J e d e r S p ie le r a u ß e r d e m C h a m p io n i s t e in V e rl ie re r. A ls o : A n z a h l B e g e g n u n g e n = A n z a h l V e rl ie re r = A n z a h l S p ie le r – 1 . F o rt s c h ri tt : V e re in fa c h u n g , T ie fe , V e ra llg e m e in e ru n g , Ä s th e ti k

(19)

08.05.2009| Optimierung in dynamischer Umgebung| 47

Tennisturnier mit 11-er Feld Gewinner

ABDEFGHIJKC DGHKBC KGC KC K

1 1 S p ie le r, 1 0 B e g e g n u n g e n

(20)

08.05.2009| Optimierung in dynamischer Umgebung| 48

P ro b le m e d e s t ä g li c h e n L e b e n s

Was ist schwieriger? Kopfrechnen Kreuzworttsel Schach Sokoban Puzzle

??

Im folgenden sind die Probleme lösbar. Die Frage ist nur in welcher Zeit und mit wieviel Speicherplatz.

(21)

08.05.2009| Optimierung in dynamischer Umgebung| 49

P ro b le m e u n d P ro b le m b e s c h re ib u n g e n , W d h

Eine Sprache L⊆Σ* muss nun irgendwie beschrieben werden. z.B. durch einenreguren Ausdruck: (0*10*) ist ein regurer Ausdruck. εist ein regurer Ausdruck. a iΣist a iein regurer Ausdruck. Sindxundyregure Ausdcke, so auch xy, (xy) undx*. Es gibt keine weiteren reguren Ausdcke. –z.B. durch eineProblembeschreibung: Definition: EinEntscheidungsproblemist ein input-output Tupelmit geg.: Kodierung eines Inputs einer Instanz, mittels Alphabet ∑ ges.: ja/nein Die Teilmenge aller Inputs, für die die Antwort “ja” ist, ist offenbar eine Sprache

(22)

08.05.2009| Optimierung in dynamischer Umgebung| 50

E in Z e it -K o m p le x it ä ts m a ß

Definition: Komplexität eines Algorithmus Sei A ein deterministischer (RAM-)Algorithmus, der auf allen Eingaben hält. DieLaufzeit (Zeitkomplexität)von A ist eine Funktion f: NN, wobei f(n) die maximale Anzahl von Schritten von A beschreibt auf einer Eingabe der Länge n. Linear-Zeit-Algorithmus: f(n) c n für eine Konstante c Polynom-Zeit-Algorithmus: f(n) c nk r Konstanten c und k Definition: Komplexität eines Problems Die Zeit-(Platz-) Komplexität eines Problems p ist die Laufzeit des schnellsten (am wenigsten Speicherplatz benötigenden) Algorithmus, der Problem p löst. Ein Problem p ist in Polynomzeit lösbar”, wenn es Algorithmus A, Polynom Πund n 0gibt, so dass für alle n > n 0gilt : f(n) <=Π(n)

(23)

08.05.2009| Optimierung in dynamischer Umgebung| 51

P , N P , P S P A C E

P:Klasse aller Probleme, die von einer deterministischen RAMin Polynomzeit gest werden können NP:Klasse aller Probleme, die von einer nichtdeterministischen TMin Polynomzeit gest werden können. PSPACE :Klasse aller Probleme, die von einer deterministischen RAM mit polynomiellviel Platz gest werden können Man wenur, dass PEXPTIME und EXPTIME = Allgemein wird aber vermutet, dass alle Inklusionen echt sind, d.h.

(24)

08.05.2009| Optimierung in dynamischer Umgebung| 52

N ic h td e te rm in is ti s c h e T u ri n g m a s c h in e n

Eine nichtdeterministische Turingmaschine (NTM) ist definiert, wie eine deterministische Turingmaschine, nur dassδeine Übergangsrelation und keine Funktion ist. δ: Q×Γ→2Q×Γ×{R,N,L} ist die Übergangsrelation. Bsp.: Wenn die TM in Zustand q ist, und ein a liest, und δ(q,a) = {(q‘,b,R), (q‘‘, a, L)} ist, dann ist die nichtdeterministische TM im nächsten Schritt entweder in Zustand q‘, nachdem sie ein b geschrieben hat, oder sie ist in Zustand q‘‘nachdem sie ein a schrieb. Die Laufzeit einer NTM ist definiert als die Länge des kürzesten Berechnungsweges, der in einem akzeptierenden Endzustand endet.

(25)

08.05.2009| Optimierung in dynamischer Umgebung| 53

N ic h td e te rm in is ti s c h e T u ri n g m a s c h in e n u n d V e ri fi z ie re r

Def.Es sei L eine Sprache. Ein Verifizierer für L ist ein deterministischer Algorithmus A, mit L = {w | es gibt ein c mit A akzeptiert wc} Der Zeitaufwand für einen Verifizierer wird abhängig von der Länge von w gemessen. L ist polynomiell prüfbar, wenn es einen Verifizierer mit polynomiellem Zeitaufwand gibt. Satz:NP ist die Menge aller Probleme, für die es einen Verifzierer mit polynomiellem Zeitaufwand gibt. (ohne Beweis)

(26)

08.05.2009| Optimierung in dynamischer Umgebung| 54

B e is p ie le

Definition: HAMPATH Das Hamiltonsche Pfadproblem Geg.: ein gerichteter Graph Zwei Knoten s,t Ges.: existiert ein Hamitonscher Pfad von s nach t d.h. ein gerichteter Pfad, der alle Knoten besucht, aber keine Kante zweimal benutzt Algorithmus r Hamiltonscher Pfad: Rate eine Permutation (s,v 1,v 2,...,v n-2,t) Teste, ob Permutation ein Pfad ist falls ja, akzeptiere falls nein, verwerfe Also: HamPath∈∈∈∈NP

(27)

08.05.2009| Optimierung in dynamischer Umgebung| 55

D a s S A T P ro b le m

Eine Boolesche Funktion f(x 1,x 2,..,x n) ist erfüllbar, wenn es eine Wertebelegung für x 1,x 2,..,x ngibt, so dass f(x 1,x 2,..,x n) = 1 (xy) (z¬x¬y) (x¬z) ist erfüllbar, da die Belegung x = 1, y = 0, z = 0 (10) (001) (11) = 111 = 1 liefert. Definition (SAT Problem, die Mutter aller NPc Probleme) Gegeben: Boolesche Funktionφ Gesucht: Gibt es x 1,x 2,..,x nso dassφ(x 1,x 2,..,x n) = 1 SAT ist in NP. Man vermutet, dass SAT nicht in P ist.

(28)

08.05.2009| Optimierung in dynamischer Umgebung| 56

D a s Q S A T P ro b le m

Eine quantifizierte Boolesche Formel (QBF) besteht aus Einer Folge von Quantorenx, y mit daran gebundenen Variablen; obdA seien genau alle x imit ungeradem i existenzquantifiziert Einer Booelschen Funktion F(x 1,x 2,...,x m) Jede Variable der Funktion ist genau einmal an einem Quantor gebunden Die quantifizierte Boolesche Formel ist erfüllbar falls Im Falle eines Existenzquantors: x F(x) F(0) F(1) Im Falle eines Allquantors: x F(x) F(0) F(1) Definition (QSAT Problem, die Mutter aller PSPACEc Probleme) Gegeben: Quantifizierte Boolesche Funktionφ Frage: Gibt es x 1, so dass es für alle x 2ein x 3gibt, so dass ... so dass φ(x 1,x 2,..,x n) = 1 QSAT ist in PSPACE. Man vermutet, dass QSAT nicht in NP ist.

(29)

08.05.2009| Optimierung in dynamischer Umgebung| 57

B e is p ie le :

∃x∀y (x∧y) ∨(¬x∧¬y) = (y (0y) 0¬y) ) (y (1y) 1¬y) ) = (y: ¬y)(y: y) = (¬0¬1)(01) = 00 = 0 ∀y∃x (x∧y) ∨(¬x∧¬y) = (x: (x0) x¬0))(x: (x1) x¬1)) = (x: : ¬x)(x: x) = (¬0¬1)(01) = 11 = 1

(30)

08.05.2009| Optimierung in dynamischer Umgebung| 58

Angabe eines Algorithmus für Problem Reduktionstechniken u.a. Definition:Seien P,Q Probleme. Sei L P(L Q) die Menge der Instanzen des Problems P (Q), für die die Antwortjaist. P het auf Qpolynomiell reduzierbar(P pQ), wenn es eine von einem deterministischen Algorithmus in Polynomzeit berechenbare Funktion f: ∑*∑*gibt, so dass xL Pf(x) L Q Bsp.: P-InstanzenQ-Instanzen ja neinnein

ja

E in o rd n u n g v o n P ro b le m e n i n P , N P , P S P A C E

Referenzen

ÄHNLICHE DOKUMENTE

$: N.. in other words, if we disregard the time-stamps, 0 and the induced 0' generate the same results. Another relationship that we have to consider is the one between

Früher waren vereinzelt ähnliche Larven audi in anderen Zuchtstämmen aufgetreten, doch wurden sie als Ausnahmeerscheinungen nicht weiter beachtet, zu- mal sie ausnahmslos als

Ab einem Betrag von 1000 Euro müssen Lieferanten des Bundes Rechnungen in elektronischer. Form

Für den Fall des Einflusses aus der Corona-Krise zum Zeitpunkt der Versteigerung müsste eine (derzeit nicht bekannte) Marktanpassung des Schätzwertes erfolgen... 01513

[r]

Finde heraus, welche Wörter versteckt sind und lies sie zur Kontrolle

sicherzustellen, ist das Fundament im Durchstanzbereich für Mindestmomente nach Gleichung (NA.6.54.1) bemessen worden, sofern die Schnittgrößenermittlung nicht zu höheren

Sie lernen im Seminar, die Körpersprache anderer zu verstehen, zu lesen. Die lernen auch ihre Ressourcen kennen, wie Sie Menschen am besten erkennen können durch sehen, hören,