1 / 15

Limited Local Search And Restart

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.

Download Presentation

Limited Local Search And Restart

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Limited Local Search And Restart Nähere Betrachtungen

  2. 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. 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!)

  3. 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).

  4. 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)

  5. Anzahl Wiederholungen von LLS (3) Es gilt: • (1-p)^t <= e^(-pt) <=! e^(-20) Daraus folgt: • t >= 20/p Was uns nun noch fehlt, um die Anzahl Wiederholungen von LLS zu berechnen, ist die WSK p!

  6. Berechnung von p (1) Wir betrachten nur noch den Teil-Algorithmus LLS. Dieser besteht aus zwei Schritten: • Zufälliges Wählen einer Belegung • Maximal 3*d mal flippen genau eines Literal-Wertes. Diese Arbeitsweise beschreiben wir nun mit einem Zustandsdiagramm.

  7. a* H=1 H=2 H=3 … H=d 10011 10111 00010 11000 01100 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) Es gibt Belegungen, welche sich nur um zwei ‘Zahlen’ von a* unterscheiden, etc... (Hammingdistanz = 2…) Die Maximale Hammingdistanz zu a* ist d.

  8. a* a* H=1 H=2 H=3 … H=d … … 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:

  9. a* … H=j … H=d H= d+1 … 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:

  10. a* … H= j-1 H=j H= j+1 … H=d H= d+1 … 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*. Die anderen führen uns jedoch auf eine falsche Fährte (WSK = k-1/k). Dies schildert uns wiederum nur den worst case!

  11. 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: a* … H= j-1 H=j H= j+1 … H=d H= d+1 …

  12. 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 existieren solche 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.

  13. 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:

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

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

More Related