1 / 13

Efektivní heuristika pro SAT založená na znalosti komponent souvislosti grafu problému

Efektivní 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. Problém booleovské splnitelnosti (Problém SAT ). Dána booleovská formule

idra
Download Presentation

Efektivní heuristika pro SAT založená na znalosti komponent souvislosti grafu problému

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. Efektivní heuristika pro SAT založená na znalosti komponent souvislosti grafu problému Tomáš Balyo a Pavel Surynek Matematicko-fyzikální fakultaUniverzita Karlova v Praze

  2. Problém booleovské splnitelnosti (Problé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) Znalosti 2009 Tomáš Balyo, Pavel Surynek

  3. Motivace 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 Znalosti 2009 Tomáš Balyo, Pavel Surynek

  4. Slož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í) Znalosti 2009 Tomáš Balyo, Pavel Surynek

  5. Metoda DPLL(Davis, Putnam, Logemann & Loveland, 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 Znalosti 2009 Tomáš Balyo, Pavel Surynek

  6. Jednotková propagace • Pokud v dosud nesplněné klauzuli zbývá poslední neohodnocený literál, je nutné jej pravdivě ohodnotit (¬u ∨ w) ∧ (u∨ v) ∧ (u) ∧ (¬w ∨ z) Jednotková klauzule  umusí být ohodnoceno pravdivě (w) ∧ (¬w ∨ z) Splněné klauzule a nesplněné literály vyřadíme Jednotková klauzule  wmusí být ohodnoceno pravdivě (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 Znalosti 2009 Tomáš Balyo, Pavel Surynek

  7. Nová heuristika pro výběr proměnné (1) • GrafG=(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} (x2x4)  (x2 ¬x1)  (x3 ¬x1 )  (x3 ¬x6x5) x2 x6 x2 x6 x3 x3 x1 x4 x4 x5 x5 Po provedení přiřazení x1=nepravda (x2x4)  (x3 ¬x6x5) • Komponenty souvislosti grafu lze řešit nezávisle Znalosti 2009 Tomáš Balyo, Pavel Surynek

  8. Nová 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. Znalosti 2009 Tomáš Balyo, Pavel Surynek

  9. Experimentální řešící systém - Mei • 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 Competitiona 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 Znalosti 2009 Tomáš Balyo, Pavel Surynek

  10. Experimentynáhodné 3-SAT problémy • Problémy vybrány z oblasti fázového přechodu (zdroj: SATLIB) Znalosti 2009 Tomáš Balyo, Pavel Surynek

  11. Experimentystrukturované 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) NESPLNITELNÉ Znalosti 2009 Tomáš Balyo, Pavel Surynek

  12. Experimentystrukturované problémy - FPGA • Problém směrování v FPGA,vytváření propojení pomocí přepínačů(zdroj: SATLIB) NESPLNITELNÉ Znalosti 2009 Tomáš Balyo, Pavel Surynek

  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 Znalosti 2009 Tomáš Balyo, Pavel Surynek

More Related