Skip to content
/ SAT_3 Public

Project 3 for the 'SAT solving' course at the LMU.

Notifications You must be signed in to change notification settings

mkg33/SAT_3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SAT_3

Project 3

Deadline: 15.03.2021 (2:00 PM)

UPDATE(01.03)

I have an updated version in the file sat3.cpp. It solves all instances in less than 6 seconds, without restarts it solves all instances in less than 12 seconds. I still need to add your UNSAT proof code, MAPHSAT ASCII picture and figure out a way to make the scoring algorithm more efficient. I will do that in the coming days. You can compile with g++ -std=c++17 sat3.cpp -Wall -Werror -O3 -DNDEBUG -o sat3.out.

UPDATE (31.01)

ALl tests pass well within the time limit (current version). Turns out that the VSIDS heuristic works just fine (provided there are restarts with the right parameters).

EVSIDS also works but the conflictsNumber counter needs to be reset with every restart. I thought the counter was supposed to be incremented irrespective of restarts. Anyway, I'm glad this version works. Now we can consolidate our updates and get even better results. I suppose from now on it's just stress-free work :-).

UPDATE (24.01)

As of today, our solver can solve almost all test cases well within the 1m CPU time limit. There's only one timeout (hole9.cnf). All tests performed with VSIDS. There's also one borderline case that takes ca 57-58s but doesn't exceed the limit. I'll post the full results soon. It's promising that VSIDS actually outperforms the well-worn FIRST strategy. Preprocessing (tautology, subsumption, duplicates) probably looks ugly but does what it says on the tin and doesn't hog the resources.

TODO:

  • clause deletion strategy (P) ✅
  • VSIDS / VMTF branching heuristic (M) ✅
  • phase saving (P) ✅
  • restarts + different restart policies (M) ✅
  • preprocessing techniques (M) ✅ [might add more]
  • proof logging in DRUP (or DRAT) format (M) ✅
  • tests + cactus plots (M) ✅

About

Project 3 for the 'SAT solving' course at the LMU.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published