Vybraná témata z algoritmů - úkol

Zadání úkolu

Naprogramujte sat solver založený na algoritmu DPLL (s unit propagací) a vyhodnoťte jeho výkon na vhodném datasetu. (Další vylepšení jsou volitelná). Očekává se, že studenti se budou snažit o co nejefektivnější implementaci.

Použití programu

Použití programu je

solver input.cnf

kde solver je jméno spustitelného souboru a input.cnf je soubor s formulí v DIMACS formátu

Výstup programu

Na standardní výstup vypíše program následující:

Testovací datasety

Benchmarky (.zip)

Adresáře n-vars obsahují formule s n proměnnými, adresář coloring obsahuje formule získané z barvení grafu rozdělené do podadresářů podle velikostí grafu, adresář pigeon-hole obsahuje formule získané z formalizace pigeonhole principu.

Podle splnitelnosti jsou soubory v adresářích sat a unsat.

Odevzdání

Odevzdávejte mailem. V příloze pošlete archiv obsahující:

Archiv nesmí obsahovat spustitelné soubory!! Volba jazyka je na studentech, preferuji věci snadno spustitelné na unixovém systému (případně na windows).