Tomáš Balyo a Pavel Surynek

Slides:



Advertisements
Podobné prezentace
Rubikova kostka Tietz.
Advertisements

Měření úhlů Stupňová míra (devadesátinná, nonagesimální) je zavedena tak, že pravý úhel je rozdělen na 90 dílů, které se nazývají (úhlové) stupně, značí.
Dělitelnost přirozených čísel
Deduktivní soustava výrokové logiky
DOTAZOVACÍ JAZYKY slajdy přednášce DBI006
Obchodní akademie a Střední odborná škola, gen. F. Fajtla, Louny, p.o.
VI. Řešení úloh v testech Scio z matematiky
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK Odpřednášeno
Zpracování informací a znalostí Booleovský model vyhledávání dokumentů a jeho rozšiřování Doc. RNDr. Jan Rauch, CSc. Katedra informačního a znalostního.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Metoda nejmenších čtverců
Reklama Potřebujete nebo chcete vyrobit prezentaci na počítači
CIT Sekvenční obvody Díl VI.
Diskrétní matematika Opakování - příklady.
Ekvivalence následujících tří úloh
ALGO – Algoritmizace 1. cvičení
Střední škola Oselce Škola: SŠ Oselce, Oselce 1, Nepomuk, Projekt: Registrační číslo: CZ.1.07/1.5.00/ Název: Modernizace.
Střední škola Oselce Škola: SŠ Oselce, Oselce 1, Nepomuk, Projekt: Registrační číslo: CZ.1.07/1.5.00/ Název: Modernizace.
Střední škola Oselce Škola: SŠ Oselce, Oselce 1, Nepomuk, Projekt: Registrační číslo: CZ.1.07/1.5.00/ Název: Modernizace.
Matematika s ponorkou Jakub Dupák.
Distribuční úlohy LP.
Dynamické rozvozní úlohy
Schůze koordinátorů programu LLP/Erasmus
Kdo chce být milionářem ?
Téma: SČÍTÁNÍ A ODČÍTÁNÍ CELÝCH ČÍSEL 2
Násobení a dělení čísel 10, 100 a jejich násobků
IV. Řešení úloh v testech Scio z matematiky
I. Řešení úloh v testech Scio z matematiky
Dělitelnost přirozených čísel
Nejmenší společný násobek
Škola: Střední škola právní – Právní akademie, s.r.o. Typ šablony: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Projekt: CZ.1.07/1.5.00/
LOGISTICKÉ SYSTÉMY 7/14.
V. Řešení úloh v testech Scio z matematiky
Výukový materiál zpracován v rámci projektu EU peníze školám Registrační číslo projektu: CZ.1.07/1.5.00/ Šablona:III/2č. materiálu:VY_32_INOVACE_80.
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Zábavná matematika.
Největší společný dělitel – teorie a procvičování
Obchodní akademie, Ostrava-Poruba, příspěvková organizace
Letokruhy Projekt žáků Střední lesnické školy a střední odborné školy sociální ve Šluknově.
Kvadratické rovnice pro S O U (x - 5)(x + 5) = 0 S = 1/2gt2
Řešení dynamických problémů s podmínkami Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta.
Výukový materiál vytvořený v rámci projektu „EU peníze školám“ Škola: Střední škola právní – Právní akademie, s.r.o. Typ šablony: III/2 Inovace a zkvalitnění.
Jazyk vývojových diagramů
Řešení úloh s absolutní hodnotou Princip minimaxu (maximinu), Podíl dvou lineárních funkcí, Rozpětí v omezujících podmínkách.
Nejmenší společný násobek
Čtení myšlenek Je to až neuvěřitelné, ale skutečně je to tak. Dokážu číst myšlenky.Pokud mne chceš vyzkoušet – prosím.
52_INOVACE_ZBO2_1364HO Výukový materiál v rámci projektu OPVK 1.5 Peníze středním školám Číslo projektu:CZ.1.07/1.5.00/ Název projektu:Rozvoj vzdělanosti.
Dělení se zbytkem 8 MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA
Náhoda, generátory náhodných čísel
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
Střední škola Oselce Škola: SŠ Oselce, Oselce 1, Nepomuk, Projekt: Registrační číslo: CZ.1.07/1.5.00/ Název: Modernizace.
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
Constraint Programming in Planning Pavel Surynek Katedra teoretické informatiky a matematické logiky Matematicko-fyzikální fakulta Univerzita Karlova v.
Gymnázium Jiřího Ortena KUTNÁ HORA Předmět: Matematika Cílová skupina: 1. ročník (kvinta) gymnázia Oblast podpory: IV/2 Inovace a zkvalitnění výuky směřující.
Jazyk vývojových diagramů
Šablony Mendelova střední škola, Nový Jičín
Řešení obtížných případů problému splnitelnosti Booleovských formulí Pavel Surynek Katedra teoretické informatiky a matematické logiky Matematicko-fyzikální.
Predikátová logika.
Přednost početních operací
Slovní úlohy řešené soustavou rovnic
Znaky dělitelnosti.
Základní logické spojky.  Výrokem rozumíme každé tvrzení tedy (oznamovací větu), o kterém můžeme rozhodnout zda je pravdivé či nikoliv.  Je-li pravdivé.
Porovnání výroby a prodejů vozidel ve světě
P-těžké, np-těžké a np-úplné problémy
Výpočetní složitost Odhlédneme-li od realizace algoritmu na konkrétním hardwaru a v konkrétním prostředí informačního systému, lze časovou složitost hodnotit.
Výroková logika.
NP-úplné problémy v grafech
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)NP-úplné problémyGRA, LS 2012/13, Lekce 13 1 / 14 NP-ÚPLNÉ.
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
Predikátová logika.
Transkript prezentace:

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

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

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

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

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  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) 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

Nová 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} (x2  x4)  (x2  ¬x1)  (x3  ¬x1 )  (x3  ¬x6  x5) x4 x2 x1 x3 x5 x6 x4 x2 x3 x5 x6 (x2  x4)  (x3  ¬x6  x5) Po provedení přiřazení x1=nepravda Komponenty souvislosti grafu lze řešit nezávisle Znalosti 2009 Tomáš Balyo, Pavel Surynek

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

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

Experimenty náhodné 3-SAT problémy Problémy vybrány z oblasti fázového přechodu (zdroj: SATLIB) Náhodné 3-SAT Splnitelné Nesplnitelné Velikost prom/klauz 75 / /325 100 / / 430 125 / / 538 150 / /645 175 / / 753 / 325 / 645 Počet prob. 100 1000 MiniSat 1.17 11.59 2.05 3.32 9.18 0.95 11.85 2.45 6.07 15.80 MiniSat 2 0.70 7.26 1.47 2.79 7.19 0.45 7.78 1.91 5.10 14.04 PicoSat 1.02 10.92 1.98 3.89 10.96 0.84 11.95 2.93 7.27 22.39 zChaff 1.23 12.87 2.42 4.13 11.35 1.06 19.31 5.32 17.75 64.72 RSat 2 0.72 8.45 1.76 3.60 10.01 0.64 10.22 2.71 7.05 19.23 Mei 1.14 30.12 11.34 36.15 165.21 1.32 66.98 18.4 52.3 172.70 Znalosti 2009 Tomáš Balyo, Pavel Surynek

Experimenty 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) NESPLNITELNÉ Dirichlet hole6 hole7 hole8 hole9 hole10 Velikost prom/klauz 42 / / 133 56 / / 204 72 / / 287 90 / / 415 110 / / 561 MiniSat 0.04 0.21 0.67 5.44 43.18 MiniSat 2 0.03 0.19 0.64 3.39 31.24 PicoSat 0.02 0.42 1.37 15.40 313.79 zChaff 0.12 0.32 1.47 6.93 RSat 2 0.01 0.09 0.35 37.72 326.23 Mei 0.10 0.27 0.55 1.08 Znalosti 2009 Tomáš Balyo, Pavel Surynek

Experimenty strukturované problémy - FPGA Problém směrování v FPGA, vytváření propojení pomocí přepínačů (zdroj: SATLIB) NESPLNITELNÉ FPGA chnl 10-11 10-12 10-13 11-12 11-13 11-20 Velikost prom/klauz 220 / / 1122 240 / / 1344 260 / / 1586 264 / / 1476 286 / / 1472 440 / / 4220 MiniSat 56.73 35.66 25.77 >180.00 MiniSat 2 25.75 75.31 161.28 PicoSat zChaff 6.88 8.27 9.73 30.58 156.80 RSat 2 Mei 4.24 4.82 5.62 8.60 10.11 23.59 Znalosti 2009 Tomáš Balyo, Pavel Surynek

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