Limited Local Search And Restart

15
Limited Local Search And Restart Nähere Betrachtungen

description

Limited Local Search And Restart. Nähere Betrachtungen. Verhalten des Algorithmus. Falls die KNF nicht erfüllbar ist, kann LLS & R keine Aussage über die Erfüllbarkeit der KNF machen. Falls die KNF erfüllbar ist, soll LLS & R mit hoher WSK die Erfüllbarkeit der KNF erkennen. - PowerPoint PPT Presentation

Transcript of Limited Local Search And Restart

Page 1: Limited Local Search And Restart

Limited Local Search And Restart

Nähere Betrachtungen

Page 2: Limited Local Search And Restart

Verhalten des AlgorithmusFalls die KNF nicht erfüllbar ist, kann

LLS&R keine Aussage über die Erfüllbarkeit der KNF machen.

Falls die KNF erfüllbar ist, soll LLS&R mit hoher WSK die Erfüllbarkeit der KNF erkennen.

Es ist nun zu definieren, was mit „hoher WSK“ gemeint ist! Dazu betrachten wir ab jetzt nur noch KNF’s, welche genau eine Lösung haben. (worst case!)

Page 3: Limited Local Search And Restart

Anzahl Wiederholungen von LLS (1)

Definiere: Der Teil-Algorithmus LLS liefert das

Ergebnis 1 mit WSK p. Somit liefert LLS das Ergebnis 0

mit WSK (1-p).

Page 4: Limited Local Search And Restart

Anzahl Wiederholungen von LLS (2)

Wenn nun der Algorithmus LLS&R den Teil-Algorithmus LLS exakt t mal wiederholt, so ist die WSK, dass dieser immer 0 zurück gibt = (1-p)^t.

Diese WSK soll möglichst klein sein:Definiere (1-p)^t <= e^(-20)

Page 5: Limited Local Search And Restart

Anzahl Wiederholungen von LLS (3)

Es gilt: (1-p)^t <= e^(-pt) <=! e^(-20)Daraus folgt: t >= 20/pWas uns nun noch fehlt, um die

Anzahl Wiederholungen von LLS zu berechnen, ist die WSK p!

Page 6: Limited Local Search And Restart

Berechnung von p (1)

Wir betrachten nur noch den Teil-Algorithmus LLS. Dieser besteht aus zwei Schritten:

1. Zufälliges Wählen einer Belegung2. Maximal 3*d mal flippen genau

eines Literal-Wertes.Diese Arbeitsweise beschreiben wir

nun mit einem Zustandsdiagramm.

Page 7: Limited Local Search And Restart

Berechnung von p (2)

Da wir KNF’s mit exakt einer erfüllenden Belegung betrachten, geben wir dieser den Namen a*.

Es gibt Belegungen, welche sich nur um eine ‘Zahl’ von a* unterscheiden. (Hammingdistanz = 1)

a*

10011

H=1

10111

Es gibt Belegungen, welche sich nur um zwei ‘Zahlen’ von a* unterscheiden, etc... (Hammingdistanz = 2…)Die Maximale Hammingdistanz zu a* ist d.

H=d

01100

H=2 H=3

00010 11000

Page 8: Limited Local Search And Restart

Berechnung von p (3)

Die Anzahl Belegungen, welche Hammigdistanz j von a* haben ist binominal verteilt.

Für den Schritt 1 des LLS (Initialbelegung) berechnen wir nun die WSK, dass man Hammingdistanz j von a* landet:

a* H=1 H=2 H=3 H=d…

0

d

1

d

2

d

3

d

j

d

d

d… …

a*

j

dd2

1

Page 9: Limited Local Search And Restart

Berechnung von p (4)

Schritt 2 des LLS (Flippen eines Wertes) beschreibt die Suche nach a*. Um diese Berechnung zu ‘vereinfachen’, erweitern wir künstlich diese Knotenreihe:

H=d+1 …a* H=j H=d… …

Page 10: Limited Local Search And Restart

Berechnung von p (5)

Bei jedem Flip betrachten wir nur eine (nicht-erfüllte) Klausel, welche k Literale enthält. Flippen wir nun das richtige (WSK = 1/k), so bringt uns das einen Schritt näher an a*.

a* H=jH=d+1

H=d …… …H=j-1

H=j+1

Die anderen führen uns jedoch auf eine falsche Fährte (WSK = k-1/k).

Dies schildert uns wiederum nur den worst case!

k

1

k

1

k

k 1k

k 1

Page 11: Limited Local Search And Restart

Berechnung von p (6)

Wie gross ist nun die WSK, dass man bei dieser (Markov) Kette, irgendwann bei a* landet?

Mit j Schritten wäre man bei a*. Jedoch gibt es noch die Möglichkeit, zwischendurch ein paar Schritte (i) nach rechts zu gehen. Diese muss man danach wieder rückgängig machen.

Somit kann man den gesamten Weg in j+2*i Schritten zurücklegen.

Die WSK dass man diesen definierten Weg beschreitet ist somit:

jii

kk

k

11

a* H=jH=d+1

H=d …… …H=j-1

H=j+1

k

k 1

k

1

k

1

k

k 1

Page 12: Limited Local Search And Restart

Berechnung von p (7)

Es gibt jedoch verschiedene Wege mit j+2*i Schritte.Wir suchen nach der WSK, bei beliebiger Reihenfolge von

j+2*i Schritten bei a* anzukommen, wobei man bei j startet und zwischendurch nicht bei a* angelangt ist.Nach Ballots Theorem existierensolche Wege.

Somit können wir diese WSK q(i,j) berechnen:

Yl beschreibt die Zufallsvariable, welche als Wert die Hammingdistanz nimmt, bei welcher man nach l Schritten angelangt ist, falls man bei Hammingdistanz j beginnt.

jii

lij kk

k

ji

j

i

jijYijlYYjiq

11

2

2)|2;00Pr(),( 02

ji

j

i

ji

2

2

Page 13: Limited Local Search And Restart

Berechnung von p (8)

Nun setzen wir die beiden Schritte zusammen und ziehen dabei in Betracht, dass man den LLS nur maximal 3*d Schritte gehen lässt:

Nach einiger Berechnung (wird hier nicht weiter vertieft) liefert uns dies das Resultat: d

k

kp

)1(23

2

d

j

j

i

jii

d

d

j

j

id

d

j nijd

l

kk

k

ji

j

i

ji

j

d

jiqj

djiq

j

d

Ynlp

0 0

0 00

3n Wegegültigen allefür WSK

32

startet jKnoten beiman dassWSK

11

2

2

2

1

),(2

1),(

2

1

)0:3Pr(

Page 14: Limited Local Search And Restart

Anzahl Wiederholungen des LLS

Benützen wir nun die Berechnung von t und setzen p ein, ergibt uns dies:

Dies ist exakt die Anzahl Versuche, welche man bei LLS&R verlangt.

dd

d

k

k

k

kt

k

kp

pt

)1(230

)1(2

2

320

)1(23

2;

20

Page 15: Limited Local Search And Restart

Was man behalten sollte:

Der randomisierte Algorithmus ‚Limited Local Search and Restart‘ wägt die Erfolgsquote mit seiner Laufzeit ab.

Falls eine KNF mindestens eine erfüllende Belegung hat, so findet LLS&R diese mit WSK mind. 1-e^(-20)

Verringert man die Anzahl Wiederholungen von LLS, so erhöht man die Geschwindigkeit, jedoch wird die Erfolgs-WSK merklich sinken.