Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

E FEKTIVNÍ HEURISTIKA PRO SAT ZALOŽENÁ NA ZNALOSTI KOMPONENT SOUVISLOSTI GRAFU PROBLÉMU Tomáš Balyo a Pavel Surynek Matematicko-fyzikální fakulta Univerzita.

Podobné prezentace


Prezentace na téma: "E FEKTIVNÍ HEURISTIKA PRO SAT ZALOŽENÁ NA ZNALOSTI KOMPONENT SOUVISLOSTI GRAFU PROBLÉMU Tomáš Balyo a Pavel Surynek Matematicko-fyzikální fakulta Univerzita."— Transkript prezentace:

1 E FEKTIVNÍ HEURISTIKA PRO SAT ZALOŽENÁ NA ZNALOSTI KOMPONENT SOUVISLOSTI GRAFU PROBLÉMU Tomáš Balyo a Pavel Surynek Matematicko-fyzikální fakulta Univerzita Karlova v Praze

2 P ROBLÉM BOOLEOVSKÉ SPLNITELNOSTI (P ROBLÉM SAT ) Dána booleovská formule Obsahuje výrokové proměnné, které mohou nabývat hodnot pravda/nepravda ( True/False ) Logické spojky : ¬, ∧, ∨, → (negace, konjunkce, disjunkce, implikace); závorky : (, ) Výroková proměnná je booleovská formule. Pokud A a B jsou formule, potom také ¬A, (A ∧ B), (A ∨ B), (A → B) jsou rovněž booleovské formule. Př.: (¬ x → ¬ y ) → ( y → x ), kde x,y jsou výrokové proměnné Otázka: Lze formuli splnit? Pokud ano, jaké je ohodnocení proměnných, které splňuje formuli? Ohodnocení: přiřazení hodnot proměnným formule Používá se tvar CNF (konjunktivní normální tvar) konjunkce klauzulí, klauzule = disjunkce literálů, literál = proměnná nebo negace proměnné Př.: ( x ∨ ¬ y ) ∧ (¬ y ) ∧ ( x ∨ ¬ y ∨ z ) Tomáš Balyo, Pavel SurynekZnalosti 2009

3 M OTIVACE K PROBLÉMŮM SAT Obecně: úlohy, kde je třeba současně splnit jisté podmínky Podmínky jsou modelovány jako klauzule Příklady Rozvrh služeb zdravotních sester (nurse scheduling) Chceme splnit podmínky : mohou pracovat maximálně H hodin týdně, některé nemohou mít noční služby, … Sestavování individuálního školního rozvrhu Podmínky : student chce navštěvovat matematiku a fyziku, nechce matematiku hned po fyzice, … Hry : Sudoku, N -královen Optimalizace dopravy Návrh hardwaru Tomáš Balyo, Pavel SurynekZnalosti 2009

4 S LOŽITOST A ŘEŠENÍ PROBLÉMU SAT Problém SAT je NP-úplný – není znám řešící algoritmus pracující v polynomiálním čase Všechny v současnosti známé algoritmy vyžadují v nejhorším případě exponenciální čas Existují různé řešící metody Úplné algoritmy – garantují nalezení řešení Prohledávání prostoru všech možných ohodnocení proměnných formule Bez použití vylepšujících technik malé šance na vyřešení v rozumném čase Dopředný pohled (look ahead) Propagace (jednotková propagace) Heuristiky (pro výběr proměnné k ohodnocení) Tomáš Balyo, Pavel SurynekZnalosti 2009

5 M ETODA DPLL (D AVIS, P UTNAM, L OGEMANN & L OVELAND, 1962) Téměř všechny úplné řešící systémy pro SAT jsou založeny na DPLL Prohledávání prostoru všech možných ohodnocení proměnných do hloubky + propagace Výběr dosud neohodnocené proměnné ( podle heuristiky ) Otestování hodnot pravda/nepravda pro vybranou proměnnou Po přiřazení hodnoty proměnné: Provést jednotkovou propagaci Výsledná formule splněna  konec Výsledná formule nesplnitelná  návrat Tomáš Balyo, Pavel SurynekZnalosti 2009

6 J EDNOTKOVÁ PROPAGACE Pokud v dosud nesplněné klauzuli zbývá poslední neohodnocený literál, je nutné jej pravdivě ohodnotit Tomáš Balyo, Pavel SurynekZnalosti 2009 (¬ u ∨ w ) ∧ ( u ∨ v ) ∧ ( u ) ∧ (¬ w ∨ z ) Jednotková klauzule  u musí být ohodnoceno pravdivě ( w ) ∧ (¬ w ∨ z ) Splněné klauzule a nesplněné literály vyřadíme Jednotková klauzule  w musí být ohodnoceno pravdivě (z)(z) Splněné klauzule a nesplněné literály opět vyřadíme, Zbývá poslední jednotková klauzule   z ohodnotíme pravdivě Splňující ohodnocení formule nalezeno jen s pomocí jednotkové propagace

7 N OVÁ HEURISTIKA PRO VÝBĚR PROMĚNNÉ (1) Graf G=(V,E) odvozený z formule (dynamický) V = { x | x dosud neohodnocená proměnná } E = { { x, y }| existuje ještě nesplněná klauzule K taková, že x  K ∧ y  K } Tomáš Balyo, Pavel SurynekZnalosti 2009 ( x 2  x 4 )  ( x 2  ¬ x 1 )  ( x 3  ¬ x 1 )  ( x 3  ¬ x 6  x 5 ) x4x4 x2x2 x1x1 x3x3 x5x5 x6x6 x4x4 x2x2 x3x3 x5x5 x6x6 ( x 2  x 4 )  ( x 3  ¬ x 6  x 5 ) Po provedení přiřazení x 1 =nepravda Komponenty souvislosti grafu lze řešit nezávisle

8 N OVÁ HEURISTIKA PRO VÝBĚR PROMĚNNÉ (2) Chceme udržovat znalost o komponentách souvislosti odvozeného grafu Proměnné k ohodnocení budeme vybírat ze stejné komponenty souvislosti Prohledávání omezíme pouze na danou komponentu souvislosti Př.: dvě stejně velké komponenty … složitost 2 |V|  2 |V|/2 Explicitní udržování znalosti o komponentách je příliš časově náročné Vybíráme vždy neohodnocenou proměnnou z klauzule, kde naposledy proběhla jednotková propagace. Žádné navýšení času + jedna proměnná navíc. Tomáš Balyo, Pavel SurynekZnalosti 2009

9 E XPERIMENTÁLNÍ ŘEŠÍCÍ SYSTÉM - M EI Nová heuristika zabudována do experimentálního systému pro řešení SAT problémů – SAT řešič Mei Implementováno v jazyce C Základem je DPLL Použito sledování dvou literálů Žádné další urychlující techniky Provedeno srovnání s řešícími systémy, které byly úspěšné v soutěžích SAT Competition a SAT Race MiniSAT, MiniSAT 2, PicoSAT, zChaff, RSat 2 Srovnání na náhodných 3-SAT a strukturovaných problémech Testy provedeny na CPU Intel Pentium M 1.7 GHz Tomáš Balyo, Pavel SurynekZnalosti 2009

10 E XPERIMENTY NÁHODNÉ 3-SAT PROBLÉMY Problémy vybrány z oblasti fázového přechodu (zdroj: SATLIB) Tomáš Balyo, Pavel SurynekZnalosti 2009 Náhodné 3-SAT SplnitelnéNesplnitelné Velikost prom/klauz 75 / / / / / / / / / / / / / / / / / / / / 753 Počet prob MiniSat MiniSat PicoSat zChaff RSat Mei

11 E XPERIMENTY STRUKTUROVANÉ PROBLÉMY - HOLUBI Dirichletův princip – N holubů do N-1 děr, v žádné díře není více než 1 holub (zdroj: SATLIB) Tomáš Balyo, Pavel SurynekZnalosti 2009 Dirichlet hole6hole7hole8hole9hole10 Velikost prom/klauz 42 / / / / / / / / / / 561 MiniSat MiniSat PicoSat zChaff RSat Mei NESPLNITELNÉ

12 E XPERIMENTY STRUKTUROVANÉ PROBLÉMY - FPGA Problém směrování v FPGA, vytváření propojení pomocí přepínačů (zdroj: SATLIB) Tomáš Balyo, Pavel SurynekZnalosti 2009 FPGA chnl chnl chnl chnl chnl chnl Velikost prom/klauz 220 / / / / / / / / / / / / 4220 MiniSat > MiniSat > PicoSat> zChaff > RSat 2> Mei NESPLNITELNÉ

13 Z ÁVĚR A BUDOUCÍ PRÁCE Nová heuristika pro výběr proměnné k ohodnocení Heuristika založena na implicitní znalosti komponent souvislosti odvozeného grafu Odvozený graf odráží strukturu problému Vybíráme proměnné ze stejné komponenty souvislosti Jednotlivé komponenty souvislosti řešeny nezávisle Odvozený graf není nutné udržovat explicitně Stačí vybírat proměnnou z klauzule, kde naposledy proběhla jednotková propagace Do budoucna plánujeme doplnit experimentální řešící systém o další urychlující techniky Tomáš Balyo, Pavel SurynekZnalosti 2009


Stáhnout ppt "E FEKTIVNÍ HEURISTIKA PRO SAT ZALOŽENÁ NA ZNALOSTI KOMPONENT SOUVISLOSTI GRAFU PROBLÉMU Tomáš Balyo a Pavel Surynek Matematicko-fyzikální fakulta Univerzita."

Podobné prezentace


Reklamy Google