-
Notifications
You must be signed in to change notification settings - Fork 90
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
02cd696
commit c5cce1b
Showing
88 changed files
with
5,046 additions
and
1,310 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
Version sc2022-bulky | ||
-------------------- | ||
|
||
Compared to version 2.0.2 and thus the version submitted to the competition | ||
in 2021 we added the following features: | ||
|
||
- added ACIDS branching variable heuristics (disabled by default) | ||
- added CHB variable branching heuristic (but disabled by default) | ||
inspired by the success of 'kissat_mab' in the SAT Competition 2021 | ||
- faster randomization of phases in the Kitten sub-solver | ||
- using literal flipping for faster refinement during sweeping | ||
- literal flipping in a partial model obtained by Kitten | ||
- disabled priority queue for variable elimination (elimination attempts | ||
of variables in the given variable order is now enforced) | ||
- disabled by default reusing the trail during restarts | ||
- disabled by default hyper ternary resolution | ||
- obtain initial local search assignment through propagation | ||
(similar to the "warming-up" idea of Donald Knuth and how Shaowei Cai | ||
for "ReasonLS" solvers initializes the local search) | ||
- actual watch replacement of true literals during unit propagation instead | ||
of just updating the blocking literal (as suggested by Norbert Manthey) | ||
- fixed clause length and variable occurrences during variable elimination | ||
instead of increasing the limits dynamically (but very rarely actually) | ||
|
||
|
||
Version 2.0.2 | ||
------------- | ||
|
||
- removed 'src/makefile' from git (set during configuration instead) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
2.0.1 | ||
sc2022-bulky |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
#include "internal.h" | ||
#include "print.h" | ||
|
||
#ifndef QUIET | ||
|
||
static const char * | ||
branching_name (kissat * solver, unsigned branching) | ||
{ | ||
#ifdef NOPTIONS | ||
(void) solver; | ||
#endif | ||
return branching ? "CHB" : GET_OPTION (acids) ? "ACIDS" : "VSIDS"; | ||
} | ||
|
||
#endif | ||
|
||
void | ||
kissat_init_branching (kissat * solver) | ||
{ | ||
if (!GET_OPTION (bump)) | ||
return; | ||
|
||
solver->branching = GET_OPTION (chb) == 2; | ||
kissat_very_verbose (solver, | ||
"will start with %s branching heuristics", | ||
branching_name (solver, solver->branching)); | ||
|
||
if (GET_OPTION (chb)) | ||
{ | ||
const int emachb = GET_OPTION (emachb); | ||
solver->alphachb = 1.0 / emachb; | ||
kissat_very_verbose (solver, "CHB branching alpha %g (window %d)", | ||
solver->alphachb, emachb); | ||
} | ||
} | ||
|
||
bool | ||
kissat_toggle_branching (kissat * solver) | ||
{ | ||
assert (solver->stable); | ||
if (!GET_OPTION (bump)) | ||
return false; | ||
if (GET_OPTION (chb) != 1) | ||
return false; | ||
#ifndef QUIET | ||
const unsigned current = solver->branching; | ||
const unsigned next = solver->branching = !current; | ||
kissat_extremely_verbose (solver, | ||
"switching from %s branching heuristic to %s", | ||
branching_name (solver, current), | ||
branching_name (solver, next)); | ||
#else | ||
(void) solver; | ||
#endif | ||
return true; | ||
} |
Oops, something went wrong.