Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lsids #41

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

Lsids #41

wants to merge 5 commits into from

Conversation

conp-solutions
Copy link
Owner

This implements the technique presented in the upcoming paper "Designing New Phase Selection Heuristics"

Additionally, I added a switch that allows to disable the technique from the CLI, to measure performance impact more easily.

Finally, I spotted modified behavior when disabling LSIDS, or using the version before the series, and hence, added another commit to fix this.

Output of a test wrt solver behavior:

git clone https://github.com/conp-solutions/mergesat.git mergesat
cd mergesat
git checkout 960d045d0e4fe7d3f5b3ff3972cddedee31bf5d2
make r -j
cp build/release/bin/mergesat mergesat-960d045d0e4fe7d3f5b3ff3972cddedee31bf5d2

# go to unfixed variant
git checkout e36cb6020274263014f5c83808565496aa78480f
git show -s 
#commit e36cb6020274263014f5c83808565496aa78480f (HEAD)
#Author: Norbert Manthey <[email protected]>
#Date:   Sun Jun 14 21:42:18 2020 +0200
#
#    lsids: allow to activate separately
#    
#    Signed-off-by: Norbert Manthey <[email protected]>
make r -j

# compare the 2 solvers --- use another input cnf
./tools/check-solver-behavior.sh ~/cnf/sudoku77.cnf.gz  "build/release/bin/mergesat -no-lsids" ./mergesat-960d045
#Output of the command
#Use input /home/nmanthey/cnf/sudoku77.cnf.gz
#Run solver1: 'build/release/bin/mergesat -no-lsids'
#Run solver2: './mergesat-960d045'
#Run solver 1 ...
#Run solver 2 ...
#Evaluate ...
#Conflicts do not match, 1917 vs 1012
#Decisions do not match, 5069 vs 2999
#Exit code match: 10

# use fixed version
git checkout f3cf84282f8a33a6fcdd293f3190193346996049
make r -j

# compare fixed version
./tools/check-solver-behavior.sh ~/cnf/sudoku77.cnf.gz  "build/release/bin/mergesat -no-lsids" ./mergesat-960d045
#Output
#Use input /home/nmanthey/cnf/sudoku77.cnf.gz
#Run solver1: 'build/release/bin/mergesat -no-lsids'
#Run solver2: './mergesat-960d045'
#Run solver 1 ...
#Run solver 2 ...
#Evaluate ...
#Conflicts match: 1012
#Decisions match: 2999
#Exit code match: 10

arijitsh and others added 5 commits June 14, 2020 21:57
* Minimal LSIDS

* Bump for non-VSIDS section, Decaying

* bump lit scores during cancelUntil

* Creating lit_decay
When using no-lsids, we expect the solver to behave as before the
changes of this series. However, when comparing the output of the
solver with deactivated LSIDS, changes in the search behavior have been
spotted. These changes are caused by modifications to the way variable
activities are bumped during conflict analysis.

This change reverts these changes in case LSIDS is not used.

Signed-off-by: Norbert Manthey <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants