27

Computer Science семинар, весна 2013: DPLL алгоритм с вероятностным отсечением: оценка времени работы (Елена Иконникова,

Embed Size (px)

Citation preview

Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Åëåíà Èêîííèêîâà

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

DPLL àëãîðèòìû

Ðàñùåïëåíèå ïî êàæäîé ïåðåìåííîé.

x1= 0 x1= 1

Ф

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Îòñå÷åíèå

Ðåáðà ïîìå÷åíû âåðîÿòíîñòüþ èõ îòñå÷åíèÿ.

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

DPLL àëãîðèòì ñ îòñå÷åíèåì

A âûáèðàåò ïåðåìåííóþ äëÿ ðàñùåïëåíèÿ

B âûáèðàåò ïåðâîå ïðèñâàèâàåìîå ýòîé ïåðåìåííîé

çíà÷åíèå

C îáðåçàåò âåòâè äåðåâà ðàñùåïëåíèÿ

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

DPLL àëãîðèòì ñ îòñå÷åíèåì

Âõîä: Φ ôîðìóëà â ÊÍÔ.

if Φ íå ñîäåðæèò íè îäíîãî äèçúþíêòà then return 1

end if

if Φ ñîäåðæèò ïóñòîé äèçúþíêò then return 0

end if

x ← A(Φ)c ← B(Φ, x)if C(Φ, x , c) = 1 then

if DA,B,C(Φ[x := c]) = 1 then return 1

end if

end if

if C(Φ, x , 1− c) = 1 then

if DA,B,C(Φ[x := 1− c]) = 1 then return 1

end if

end if

return 0

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Îáçîð òåìû

Dmitry Itsykson and Dmitry Sokolov Lower bounds for myopic

DPLL algorithms with a cut heuristic.

Áëèçîðóêàÿ ïðîöåäóðà èìåþùàÿ äîñòóï ê ôîðìóëå ñ

óäàëåííûìè ñèìâîëàìè îòðèöàíèÿ.

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Îáçîð òåìû

Òåîðåìà

Ñóùåñòâóåò àëãîðèòì, ñòðîÿùèé çà ïîëèíîìèàëüíîå îò n âðåìÿ

íåâûïîëíèìóþ ôîðìóëó Φ(n). Ñóùåñòâóåò δ > 0, ò.÷. äëÿ ëþáûõ

áëèçîðóêèõ ïîëèíîìèàëüíûõ A è C ñóùåñòâóåò ñåìåéñòâî

ðàñïðåäåëåíèé Rn íà âûïîëíèìûõ ôîðìóëàõ, òàêîå ÷òî

åñëè äëÿ íåê. B è ε > 0

Prφ←Rn [DA,B,C(φ) = 1] ≥ 1− ε,

òî âðåìÿ ðàáîòû DA,B,C(Φ) íå ìåíåå (1− ε)2N , ãäåN = minnδ, r/K è r = Ω(n). Ïðè ýòîì òàêîå ñåìåéñòâî

ðàñïðåäåëåíèé ìîæíî ïîñòðîèòü çà ïîëèíîìèàëüíîå âðåìÿ.

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Íàøè ýâðèñòèêè

A äåòåðìèíèðîâàííàÿ

B âûáèðàåò 0 èëè 1 ñ ðàâíîé âåðîÿòíîñòüþ

C îáðåçàåò ðåáðî óðîâíÿ s ñ âåðîÿòíîñòüþ q(s).(ïüÿíàÿ ýâðèñòèêà)

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Îñíîâíîé ðåçóëüòàò íåôîðìàëüíî

Trade-o:

Ëèáî àëãîðèòì ñëèøêîì ÷àñòî îøèáàåòñÿ...

ëèáî îí ñëèøêîì ÷àñòî ðàáîòàåò äîëãî.

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Ýêñïàíäåðû

G äâóäîëüíûé ãðàô, X ,Y åãî äîëè.

Îïðåäåëåíèå

Ïóñòü I ⊆ Y . δ(I ) ýòî ìíîæåñòâî âåðøèí èç X , ñîåäèíåííûõ

ðîâíî ñ îäíîé âåðøèíîé èç I è ðîâíî îäíèì ðåáðîì.

Îïðåäåëåíèå

Ãðàô G íàçûâàåòñÿ (r ; d ; c)-ãðàíè÷íûì ýêñïàíäåðîì, åñëè

∀y ∈ Y deg(y) ≤ d

∀I ⊆ Y , ò. ÷. |I | ≤ r , δ(I ) ≥ c |I |

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Çàìûêàíèå è åãî ñâîéñòâà

Îïðåäåëåíèå

Ïóñòü G (r , d , c)-ãðàíè÷íûé ýêñïàíäåð, J ⊆ X . Çàìûêàíèåì

ìíîæåñòâà J íàçûâàåòñÿ ìàêñèìàëüíîå ïî âêëþ÷åíèþ

ìíîæåñòâî I ⊆ Y , ò. ÷. |I | ≤ r è δ(I ) ⊆ J.Îáîçíà÷åíèå: Cl(J) ëåêñèêîãðàôè÷åñêè ïåðâîå çàìûêàíèå J

Ëåììà

Ïóñòü I çàìûêàíèå J, òîãäà |I | ≤ |J|c

Ñëåäñòâèå

Ïóñòü c > 1, J ⊆ X , |J| < r/2. Òîãäà çàìûêàíèå J îïðåäåëÿåòñÿ

åäèíñòâåííûì îáðàçîì.

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Ôîðìóëû, îñíîâàííûå íà ýêñïàíäåðàõ

Ïóñòü G (r , d , c)-ãðàíè÷íûé ýêñïàíäåð ñ n âåðøèíàìè â

êàæäîé äîëå, c > 2, A ìàòðèöà ñìåæíîñòè (íàä F2).

Ïóñòü

Φ ôîðìóëà, ñîîòâåòñòâóþùàÿ ñèñòåìå Ax = b

Φ èìååò åäèíñòâåííóþ âûïîëíÿþùóþ ïîäñòàíîâêó.

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Ëîêàëüíàÿ êîððåêòíîñòü

Îïðåäåëåíèå

×àñòè÷íàÿ ïîäñòàíîâêà ρ äëÿ ïåðåìåííûõ èç x íàçûâàåòñÿ

ëîêàëüíî êîððåêòíîé, åñëè |ρ| < r/2 è ñèñòåìa Ax |I = b|I , ãäåI = Cl(vars(ρ)), èìååò ðåøåíèå, ñîãëàñîâàííîå ñ ρ.

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Ñëó÷àé áåç ïðàâèë óïðîùåíèÿ

Ïóñòü DA,B,C íå ïðèìåíÿåò ïðàâèë óïðîùåíèÿ ôîðìóëû.

T äåðåâî ðàñùåïëåíèÿ äëÿ ôîðìóëû Φ.Ïðàâèëüíûé ïóòü îò äåðåâà ê ëèñòó â T ñîîòâåòñòâóþùèé

âûïîëíÿþùåé ïîäñòàíîâêå. Äîõîäèò äî êîíöà ñ âåðîÿòíîñòüþ

P =n−1∏j=1

p(j),

ãäå p(j) = 1− q(j) âåðîÿòíîñòü, ñ êîòîðîé âåòâü âûæèâàåò

íà j-ì øàãå. Ïðåäïîëîæèì, ÷òî P > 1− ε.

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Ïðàâèëüíûé ïóòü

us âåðøèíû ïðàâèëüíîãî ïóòè

u∗s+1 èõ ïîòîìêè, íå ëåæàùèå íà ïðàâèëüíîì ïóòè

u0

u1

u2

un-1

un

u1*

u2*

un*

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Ïðåîáðàçóåì äåðåâî...

T T ′

(óäàëèëè ïîääåðåâüÿ, êîðíè êîòîðûõ íå ëîêàëüíî êîððåêòíû )

Ëåììà

 T ′ äëèíà êàæäîãî ïóòè îò êîðíÿ ê ëèñòó, íå ëåæàùåìó íà

ïðàâèëüíîì ïóòè, íå ìåíåå r/2− 1.

Ëåììà

Íà ëþáîì ïóòè îò êîðíÿ ê ëèñòó â T ′ ïî êðàéíåé ìåðå

ïîëîâèíà èç ïåðâûõ r/2− 3 âåðøèí èìåþò äâóõ ïðÿìûõ

ïîòîìêîâ (ÿâëÿþòñÿ òî÷êàìè ðàñùåïëåíèÿ).

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Áîëüøèå ïîääåðåâüÿ

Ñëåäñòâèå

Ïóñòü Ts+1 ïîääåðåâî â T ñ êîðíåì u∗s+1, Ïî êðàéíåé ìåðå

r/16− 1 èç äåðåâüåâ Ts+1 èìååò ðàçìåð ïîðÿäêà 2Ω(r)

u0

u1

u2

un-1

un

u1*

u2*

un*

T2

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Áîëüøèå ïîääåðåâüÿ

Ñëåäñòâèå

Ïóñòü Ts+1 ïîääåðåâî â T ñ êîðíåì u∗s+1, Ïî êðàéíåé ìåðå

r/16− 1 èç äåðåâüåâ Ts+1 èìååò ðàçìåð ïîðÿäêà 2Ω(r)

Äîêàçàòåëüñòâî.

Ñðåäè âåðøèí us , s ∈ 0, . . . r/8− 4, õîòÿ áû r/16− 2 òî÷êè

ðàñùåïëåíèÿ â T ′ (ñîîòâåñòâóþùèå èì äåðåâüÿ T ′s+1 íåïóñòû).

Äîêàæåì: â ëþáîì èç ýòèõ äåðåâüåâ íà êàæäîì ïóòè îò êîðíÿ ê

ëèñòó áóäåò íå ìåíåå r/8 + 1 òî÷åê ðàñùåïëåíèÿ.

Ïóòü îò êîðíÿ ê ëèñòó â ïîääåðåâå ýòî êóñîê íåêîòîðîãî ïóòè

îò êîðíÿ ê ëèñòó â äåðåâå T . Åñëè äðóãàÿ ÷àñòü ýòîãî

äëèííîãî ïóòè äëèíû íå áîëåå r/8− 3, òî íà ïóòü â

ïîääåðåâå ïðèõîäèòñÿ íå ìåíåå r/8 + 1 âåðøèí ñ äâóìÿ

ïîòîìêàìè.

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Áîëüøèå ïîääåðåâüÿ

Ëåììà

Ïóñòü W ÷èñëî âåðøèí â Ts+1. Òîãäà óñëîâíàÿ âåðîÿòíîñòü

Pr [DA,B,C ïîñåòèë > W2 âåðøèí Ts+1 | DA,B,C ïîñåòèë u∗s ]

áîëüøå 1− 2ε

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Áîëüøèå ïîääåðåâüÿ

Ëåììà

Ïóñòü W ÷èñëî âåðøèí â Ts+1. Òîãäà óñëîâíàÿ âåðîÿòíîñòü

Pr [DA,B,C ïîñåòèë > W2 âåðøèí Ts+1 | DA,B,C ïîñåòèë u∗s ]

áîëüøå 1− 2ε

Äîêàçàòåëüñòâî.

Pr [àëãîðèòì DA,B,C ïîñåòèë w |îí ïîñåòèë u∗s ] =

= p(s) · . . . · p(s + i − 1) ≥ 1− ε

Ïî íåðàâåíñòâó Ìàðêîâà

Pr [íå ïîñåùåííûõ âåðøèí > µεW |DA,B,C ïîñåòèë u∗s ] ≤ 1

µ

Âîçúì¼ì µ = 12ε

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Îñíîâíîé ðåçóëüòàò

Òåîðåìà

Åñëè àëãîðèòì DA,B,C ñ âåðîÿòíîñòüþ, áîëüøåé (1− ε), âûäàåòïðàâèëüíûé îòâåò íà ôîðìóëå Φ, òî ñ âåðîÿòíîñòüþ íå ìåíåå

(1− 2ε)(1− 2−Ω(r)) åãî âðåìÿ ðàáîòû íà Φ íå ìåíåå 2Ω(r).

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Îñíîâíîé ðåçóëüòàò

Òåîðåìà

Åñëè àëãîðèòì DA,B,C ñ âåðîÿòíîñòüþ, áîëüøåé (1− ε), âûäàåòïðàâèëüíûé îòâåò íà ôîðìóëå Φ, òî ñ âåðîÿòíîñòüþ íå ìåíåå

(1− 2ε)(1− 2−Ω(r)) åãî âðåìÿ ðàáîòû íà Φ íå ìåíåå 2Ω(r).

Äîêàçàòåëüñòâî.

1 C âåðîÿòíîñòüþ 1− 2−Ω(r) àëãîðèòì çàõîäèò â ïîääåðåâî

Ts+1.

2 C âåðîÿòíîñòüþ íå ìåíåå 1− 2ε îí ïîñåùàåò â ýòîì äåðåâå

2Ω(r) âåðøèí.

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Ñëó÷àé ñ èñïîëüçîâàíèåì óïðîùåíèé

Ïóñòü òåïåðü DA,B,C èñïîëüçóåò ïðàâèëî åäèíè÷íûõ

äèçúþíêòîâ.

Ïîñòðîèì DA′,B,C′ , íå èñïîëüçóþùèé ïðàâèë óïðîùåíèÿ.

T T

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Ïðåîáðàçóåì äåðåâî...

Ñíîâà îñòàâëÿåì òîëüêî âåðøèíû ñ ëîêàëüíî êîððåêòíûìè

ïîäñòàíîâêàìè.

T T ′

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Äëèíà ïðàâèëüíîãî ïóòè

Ëåììà

Ïóñòü L äëèíà ïðàâèëüíîãî ïóòè â T . Òîãäà L ≥ r/4− 2.

T ′ TÎáðåæåì âñå âåòâè T ′ ïî óðîâíþ L.

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Îñíîâíîé ðåçóëüòàò ïðè èñïîëüçîâàíèè ïðàâèë

óïðîùåíèÿ

Ëåììà

Ω(r) èç äåðåâüåâ Ts+1 èìååò ðàçìåð ïîðÿäêà 2Ω(r)

Ëåììà

T íå áîëåå ÷åì â n ðàç áîëüøå T .

Òåîðåìà

Åñëè àëãîðèòì DA,B,C ñ âåðîÿòíîñòüþ, áîëüøåé (1− ε), âûäàåòïðàâèëüíûé îòâåò íà ôîðìóëå Φ, òî ñ âåðîÿòíîñòüþ íå ìåíåå

(1− 2ε)(1− 2−Ω(r)) åãî âðåìÿ ðàáîòû íà Φ íå ìåíåå 2Ω(r).

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì

Ñïàñèáî çà âíèìàíèå!

Åëåíà Èêîííèêîâà Âåðîÿòíîñòíûå DPLL àëãîðèòìû ñ îòñå÷åíèåì