SAT řešič pomocí algoritmů inspirovaných přírodou. Jan Klátil, Milan Rybář

Podobné dokumenty
ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML

Programování. s omezujícími podmínkami. SAT a lokáln. Algoritmus GSAT. Algoritmus GSAT. Roman Barták

12. Globální metody MI-PAA

Co je obsahem? O čem bude přednáška? plánování a rozvrhování. ono se to někde používá? aplikace? řešící algoritmy.

Heuristické řešení problémů. Seminář APS Tomáš Müller

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

7. Heuristické metody

Výroková a predikátová logika - III

Optimalizace & soft omezení: algoritmy

ČVUT FEL X36PAA - Problémy a algoritmy. 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Výroková a predikátová logika - V

Výroková a predikátová logika - II

ILOG (aisa:/software/ilog/solver51/doc/index.html)

Matematická logika. Rostislav Horčík. horcik

Výroková a predikátová logika - II

Genetické programování

Jak se matematika poučila v biologii

Paralelní grafové algoritmy

Výroková logika - opakování

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky

Centrální plánování cest pro mnoho agentů Centralized Multi-agent Path Planning

vhodná pro strojové dokazování (Prolog) metoda založená na vyvracení: dokazuje se nesplnitelnost formulí

Rozhodovací procedury a verifikace Pavel Surynek, KTIML

PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

11. Tabu prohledávání

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Optimizing Limousine Service with AI. David Marek

Evolučníalgoritmy. Dále rozšiřována, zde uvedeme notaci a algoritmy vznikléna katedře mechaniky, Fakulty stavební ČVUT. Moderní metody optimalizace 1

prochází částečná konzistentní ohodnocení dokud nenajde úplné (konzistentní) ohodnocení Základní princip prohledávání s navracení při řešení CSP:

Řešení problému vážené splnitelnosti booleovské formule pokročilou iterativní metodou

Plánováníá a rozvrhování

Rezoluční kalkulus pro výrokovou logiku

Dotazování nad stromem abstraktní syntaxe

Výroková a predikátová logika - III

Logický agent, výroková logika

Logický agent, výroková logika

Logický agent, výroková logika. Návrh logického agenta

LOGICKÉ OBVODY 2 kombinační obvody, minimalizace

OPTIMALIZACE PÁŘENÍM VČELÍ KRÁLOVNY

u odpovědí typu A, B, C, D, E: Obsah: jako 0) CLP Constraint Logic Programming

Hanojská věž. T2: prohledávání stavového prostoru. zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3]

Matematická logika. Rostislav Horčík. horcik

Úvod do stochastických optimalizačních metod (metaheuristik) Moderní metody optimalizace 1

Obsah: CLP Constraint Logic Programming. u odpovědí typu A, B, C, D, E: jako 0)

Metaheuristiky s populacemi

Algoritmy a datové struktury

Usuzování za neurčitosti

Vraťme se k základům: DFS = Depth First Search

Programovani v Maplu Procedura

Seminář z umělé inteligence. Otakar Trunda

Y36SAP Y36SAP-2. Logické obvody kombinační Formy popisu Příklad návrhu Sčítačka Kubátová Y36SAP-Logické obvody 1.

Binární vyhledávací stromy pokročilé partie

Optimalizační algoritmy inspirované chováním mravenců

Řešitelský kolektiv Finanční požadavky Finanční výhled na další roky Rozšiřující informace Přílohy

Unbounded Model Checking

Dynamic programming. Optimal binary search tree

--- zde bude zadání práce (originál nebo kopie) ---

Systém pro přiřazování směn zaměstnancům

Spojová implementace lineárních datových struktur

Metody návrhu algoritmů, příklady. IB111 Programování a algoritmizace

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Sémantika výrokové logiky. Alena Gollová Výroková logika 1/23

2. Entity, Architecture, Process

Rezoluce ve výrokové logice

Servery s Xeon E3-1200v2 Nové servery s procesory IvyBridge Inte Xeon E3-1200v2

TGH09 - Barvení grafů

Úvod do optimalizace, metody hladké optimalizace

Část 2 POROVNÁNÍ VÝKONNOSTI A POUŽITELNOSTI ARCHITEKTUR V TYPICKÝCH APLIKACÍCH

VYŠŠÍ ODBORNÁ ŠKOLA a STŘEDNÍ PRŮMYSLOVÁ ŠKOLA Mariánská 1100, Varnsdorf PROGRAMOVÁNÍ FUNKCE, REKURZE, CYKLY

Základy umělé inteligence

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky

Obsah. 16. dubna Přehled metodik. Terminologie. Vlastnosti stroje Omezení Optimalizace CVUT FEL, K Klasifikace rozvrhovacích problému

Základy digitální techniky

IUJCE 07/08 Přednáška č. 6

brmiversity: Um lá inteligence a teoretická informatika

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

10. Složitost a výkon

Metoda hrubé sily, backtracking a branch-and-bound

Optimalizace obecný úvod. [proč optimalizovat?] Formalizace problému. [existují podobné problémy?]

Algoritmy pro hraní tahových her

Reprezentace znalostí - úvod

APLIKACE METOD BARVENÍ GRAFŮ PRO URČENÍ MINIMÁLNÍHO POČTU FÁZÍ SVĚTELNĚ ŘÍZENÝCH KŘIŽOVATEK

Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu

Úvod do logiky (VL): 5. Odvození výrokových spojek z jiných

ČVUT FEL X36PAA - Problémy a algoritmy. 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu

Paralelní architektury se sdílenou pamětí typu NUMA. NUMA architektury

Logický agent, výroková logika.

Řešení pro šíření informací ve výrobě

Logika III. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı BI-MLO, ZS 2011/12

10. Techniky formální verifikace a validace

Výroková a predikátová logika - XIII

Alternativní metody prohledávání stavového prostoru. Gerstner Laboratory Agent Technology Group, Czech Technical University in Prague

Počítačové simulace a statistická mechanika

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

Logický agent, výroková logika

UNICORN COLLEGE BAKALÁŘSKÁ PRÁCE Marek ŠMÍD

Transkript:

SAT řešič pomocí algoritmů inspirovaných přírodou Jan Klátil, Milan Rybář

Obsah 1. Základní algoritmy pro SAT 2. SAT Competition 3. SAT a algoritmy inspirované přírodou

Vteřinový úvod do SATu Rozhodnout zda je formule v CNF tvaru splnitelná. formule v CNF: konjunkce klauzulí klauzule: disjunkce literálů literál: atom nebo negace atomu Základní algoritmy: Úplné: DPLL, CDCL Neúplné: lokální prohledávání

Davis-Putnam-Loveland-Logemann Procedure (DPLL) DPLL (Φ) /* Input Φ is a set of sets of literals representing a CNF formula */ /* Output is either unsatisfiable or satisfiable */ If Φ = Ø; return satisfiable. If there is a clause containing a single literal l do the following: Return DPLL({c \ { l} : c Φ and l c}). If there is a variable v which occurs in Φ only as either a positive literal or as a negative literal do this: Return DPLL({c Φ : v c and v c}). Choose any variable v from Φ. Φ0 {c \ {v} : c Φ and v c} If DPLL(Φ0) == satisfiable Return satisfiable. Φ1 {c \ { v} : c Φ and v c} If DPLL(Φ1) == satisfiable Return satisfiable. Return unsatisfiable. úplný a korektní algoritmus

DPLL - Nevýhody / Vylepšení Chronologický backtracking => backjumping Zapomíná konflikty => nové klauzule z konfliktu během vyhledávání Heuristiky pro výběr proměnné / hodnoty Pravidelný restart vyhledávání (nové klauzule jsou zachovány) Strategie pro mazání nových kláuzulí (šetření paměti)... Soubor těchto je vylepšení je znám jako Conflict-Driven Clause Learning (CDCL)

Conflict-Driven Clause Learning (CDCL) CDCL(ϕ, ν) if (UnitPropagation(ϕ, ν) == CONFLICT) then return UNSAT dl 0 Decision level while (not AllVariablesAssigned(ϕ, ν)) do (x, v) = PickBranchingVariable(ϕ, ν) // Decide stage dl dl + 1 // Increment decision level due to new decision ν ν {(x, v)} if (UnitPropagation(ϕ, ν) == CONFLICT) // Deduce stage return SAT then β = ConflictAnalysis(ϕ, ν) if (β < 0) then return UNSAT else úplný a korektní algoritmus // Diagnose stage Backtrack(ϕ, ν, β) dl β // Decrement decision level due to backtracking

Stochastic local search (SLS) GSAT překlápí hodnotu proměnné, která maximalizuje počet splněných klauzulí, se statickými restarty vylepšení: vážené klauzule, náhodná procházka (GWSAT),... WalkSAT minimalizuje počet nesplněných klauzulí vylepšení: Tabu search, Obecné SLS metody: Simulované žíhání Evoluční algoritmy Neúplné, korektní algoritmy

SAT competition 2015: 9. ročník (1.: 2002) 2013: https://helda.helsinki. fi/bitstream/handle/10138/40026/s c2013_proceedings.pdf? sequence=2

Random náhodný uniformní k-sat: (k) SAT: prahové: (k=3; r=4.267; n=3000.. 13000), (k=4,..7; n=2300,..140) obří: jako aplikovované UNSAT: vstup: #neznámých (n), #klauzulí (m), #literálů v klauzuli alg: vytvářej klauzule: 1. vyber neznámou=>literál 2. přidej pokud není opačný v klauzuli 3. pokud není klauzule ve formuli, přidej jí (k=3; r=3.7,..4.2; n=1000000), (k=4,..7; n=500000,..50000) jen pro úplné SAT řešiče pro k=3: n=1800,..2500 filtrování: lokální SAT solver nenalezl řešení do 10 minut

Kombinační Nová kategorie, dříve ručně vyrobené, hodnocení podle počtu nalezených řešení, 50:50 SAT:UNSAT, hlavně nová zadání Kategorie podle nalezení řešení předchozích řešičů od minuty po hodinu barvení grafu, izomorfismus grafů, hidoku, rozklad na prvočísla (152411913452483), plánování (Cooperative Path Planning, RNDr. P. Surynek PhD)

Aplikovaná rozvrhování a plánování, kryptografie (sha, aes, md5) výrobní linka aut, jízdní řády vlaků, ověřování obvodů polovina zadání je recyklovaná

Paralelismus, minisat hack sekvenčně: 1 jádro, 7.5GB RAM, 50GB disk, 1 hodina a 20 minut paralelně: 8 jader, 15GB RAM, 100GB disk, 1 hodina a 20 minut 2x Quad-Core Intel Xeon E5440, 2.83 GHz with 16GB RAM během soutěže: spotřeboval 6MWh~spotřeba 5 lidí/rok 3t CO 2 (váha autorů SAT řešičů) úprava minisatu do 1000 znaků

MAX-SAT 2014 maximální počet ohodnocených klauzulí, NP-úplné MAX-SAT, vážené klauzule, částečný MAX-SAT (část klauzulí povinná, max ostatních) kategorie náhodných, ručně vyrobených, z praxe kategorie neúplných řešičů

Algoritmy inspirované přírodou Algoritmy inspirované přírodou: Evoluční algoritmy Roje, mravenci, kukačky, světlušky a další... Hlavní problémy: Lokální prohledávání, neúplné V praxi používané pro nalezení suboptimálního řešení pro SAT potřeba optimálního řešení výhodnější pro MAX-SAT úlohu Definice fitness funkce pro prohledávaný prostor uvíznutí v lokálním optimu, cyklení Problém explorace vs exploatace Velký prohledávací prostor

Plán Vyzkoušení ne moc používaných algoritmů lokálního prohledávání na SAT Cílem není vyhrání soutěže nebudeme extrémně optimalizovat kód ani používat speciální moderní náročné postupy Cílem je zvolení vhodného algoritmu, vhodné reprezentace CNF a prohledávacího prostoru (definice fitness funkce) porovnání s ostatními SAT řešiči používající lokálního prohledávání a MiniSATem Aktuálně uvažované (nepromyšlené) přístupy: Hiearchistická (více populační) EVA Multikriteriální optimalizace Roje Kombinace více přístupů Adaptivní parametry...

Q & A Děkujeme za pozornost V příštích dílech uvidíte: minisat poražen Nejlepší zaostávají Výhra v SAT Competition

Zdroje SAT Basics. http://gauss.ececs.uc.edu/sat/articles/sat.pdf History of Satisfiability, John Franco and John Martin. Handbook of Satisfiability, Chapter 1, IOS Press, 2009. http://gauss.ececs.uc. edu/sat/articles/faia185-0003.pdf Conflict-Driven Clause Learning SAT Solvers, Joao Marques-Silva, Ines Lynce and Sharad Malik. Handbook of Satisfiability, Chapter 4, IOS Press, 2009. http://gauss.ececs.uc.edu/sat/articles/faia185-0131.pdf (MiniSAT) An Extensible SAT-solver, Niklas Eén, Niklas Sörensson. http://minisat.se/downloads/minisat.pdf SAT competition proceedings: 2013 https://helda.helsinki. fi/bitstream/handle/10138/40026/sc2013_proceedings.pdf Towards Optimal Cooperative Path Planning in Hard Setups through Satisfiability Solving, P. Surynek, 2012 http://ktiml.mff.cuni. cz/~surynek/publications/files/surynekpavel_cooperative-compression- SAT_PRICAI-2012.pdf