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

Wip #12

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

Wip #12

wants to merge 36 commits into from

Commits on Mar 6, 2020

  1. Configuration menu
    Copy the full SHA
    ef6bea3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fceaa0f View commit details
    Browse the repository at this point in the history
  3. lcm: prepare clause class

    Add flag for LCM, as well as a reverse method.
    nmanthey authored and conp-solutions committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    f84aa85 View commit details
    Browse the repository at this point in the history
  4. lcm: port implementation from Riss

    The current version compiles, but does not respect the PT changes yet.
    The implemented parameters should be functional. By default, LCM is not
    active.
    nmanthey authored and conp-solutions committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    07f0c24 View commit details
    Browse the repository at this point in the history
  5. lcm: set PT level to current node level

    When a clause is modified via LCM, tracking the PT level is difficult.
    As an over approximation, use the level of the current node. This way, we
    can at least use LCM, and still share clauses downwards correctly. For now,
    this is good enough, compared to not being able to share clauses at all.
    conp-solutions committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    5be8767 View commit details
    Browse the repository at this point in the history
  6. pcasso: share results of LCM

    Track the share indexes during LCM. This way, we do not loose sharing
    information when doing LCM.
    conp-solutions committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    40310f3 View commit details
    Browse the repository at this point in the history
  7. pcasso: try to avoid local data structures

    Move vector initialization 2 loops out, to reduce the number of
    re-alloactions.
    conp-solutions committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    82e81e0 View commit details
    Browse the repository at this point in the history
  8. pcasso: get learnts_indeces right

    When using an index to point into the learnts vector, make sure the items
    in that vector are valid, or in release mode are dropped to not crash the
    solver. This was found when using LCM which modified the learnts vector.
    conp-solutions committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    275cf18 View commit details
    Browse the repository at this point in the history
  9. pcasso.sh: actually read tmp dir

    The tmp dir variable has been read from $3, while $2 was the actual aim.
    conp-solutions committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    96359f9 View commit details
    Browse the repository at this point in the history
  10. splitting: use var based index

    In the old version, the wrong variable has been used as index value,
    leading to out of bound errors.
    conp-solutions committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    bc4d5af View commit details
    Browse the repository at this point in the history
  11. splitting: only compute score for candidates

    If there are no candidate literals to compute a score for, stop the
    computation, and skip.
    conp-solutions committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    797ae6a View commit details
    Browse the repository at this point in the history
  12. splitting: handle no-split case

    The split variable next has to be initialized, such that in case of
    failures during computing the candidates, e.g. due to too small formulas,
    there lit_Undef value can still be returned.
    
    Consequently, make sure nobody consumes lit_Undef as an index.
    conp-solutions committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    892cf06 View commit details
    Browse the repository at this point in the history
  13. master: allow getting stuck more often

    As getting stuck might be due to a race condition, allow the solver to
    see this condition more often before actually aborting the search. On the
    other hand, make sure we assert before exit, so that debugging would be
    doable, and the problem can be identified during fuzzing.
    conp-solutions committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    10133b0 View commit details
    Browse the repository at this point in the history
  14. master: do not blindly set to unknown

    When multiple slaves work on the same node, make sure they do not overwrite
    the state of each other. Only set a state to unknown, if the node actually
    has an unknown state.
    conp-solutions committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    1c1cbc3 View commit details
    Browse the repository at this point in the history
  15. master: always write unsat result

    Currently, the stopUnsatChilds option had to be set to write the unsat
    state for a node. However, the state should always be written. Hence, the
    check for the option is moved closer to actually running the related
    algorithm.
    conp-solutions committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    3abccb4 View commit details
    Browse the repository at this point in the history
  16. pcasso: clear clauses to share before reduceDB

    In the reduceDB, new clauses are added to the clauses to be shared, but
    no clauses are removed. This way, faulty pointers might be used, as the
    clauses that are shared might become invalid, or wrong indexes are used.
    conp-solutions committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    a21fc34 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    20c2e54 View commit details
    Browse the repository at this point in the history
  18. solverpt: do not share eagerly

    When we know a level does not have clauses to share, do not lock the level,
    but instead skip the level right away.
    conp-solutions committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    b6262a0 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    b05be71 View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2020

  1. Configuration menu
    Copy the full SHA
    5f290f8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a5b624e View commit details
    Browse the repository at this point in the history

Commits on Mar 11, 2020

  1. lasplitting: handle unit conflicts

    We should not have unit clauses as conflicts in the first place.
    
    Learnt clauses can become units. Hence, they need to be treated
    accordingly, especially added on level 0.
    conp-solutions committed Mar 11, 2020
    Configuration menu
    Copy the full SHA
    a9ad8fa View commit details
    Browse the repository at this point in the history
  2. lasplitting: do not shrink watched lits

    The current implementation would allow to drop first lits of clauses
    that are used for splitting. Do not allow this, as this might result
    in unsound behavior.
    conp-solutions committed Mar 11, 2020
    Configuration menu
    Copy the full SHA
    3bd94fb View commit details
    Browse the repository at this point in the history
  3. lasplitting: do not use learnt units

    While learning units is good, the extra decision level jumps might be hard
    to maintain. Hence, for now, do not use the units right away.
    conp-solutions committed Mar 11, 2020
    Configuration menu
    Copy the full SHA
    cc67787 View commit details
    Browse the repository at this point in the history
  4. lcm: set PT level

    To make sure we do not stop at a higher level, set the lastLevel
    accordingly.
    conp-solutions committed Mar 11, 2020
    Configuration menu
    Copy the full SHA
    13357af View commit details
    Browse the repository at this point in the history
  5. bug: add another example for unsound behavior

    When building the debug version of the solver, the added formula is most
    of the time reported as unsatisfiable, although it is satisfiable.
    
    This is the invocation to trigger the bug on a 4 core machine:
    
    ./pcasso -verb=2 -model -child-count=7 -threads=3 \
            -print-tree -verbosity=6
            cnfs/bug-180394467.cnf
    conp-solutions committed Mar 11, 2020
    Configuration menu
    Copy the full SHA
    33540c4 View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2020

  1. sharing: store pt level before failing

    In case a node is solved by receiving shared clauses, make sure
    we store the ptlevel for failing before.
    conp-solutions committed Apr 12, 2020
    Configuration menu
    Copy the full SHA
    dcbe631 View commit details
    Browse the repository at this point in the history
  2. unsat: allow to suppress UNSAT

    As the solver is unsound, we might want to suppress unsat answers, and
    turn them into unknown, to result in a sound solver for satisfiable
    formulas again, without fixing the bug in the first place.
    conp-solutions committed Apr 12, 2020
    Configuration menu
    Copy the full SHA
    420c276 View commit details
    Browse the repository at this point in the history
  3. output: print state when verbose

    Show a little more info about state evaluation in verbose mode.
    conp-solutions committed Apr 12, 2020
    Configuration menu
    Copy the full SHA
    c950451 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    888a695 View commit details
    Browse the repository at this point in the history
  5. lcm: set level for dropped literals

    We need to track causalities of dropped literals. This was not
    implemented in original LCM.
    
    Signed-off-by: Norbert Manthey <[email protected]>
    conp-solutions committed Apr 12, 2020
    Configuration menu
    Copy the full SHA
    8b6780c View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2020

  1. Configuration menu
    Copy the full SHA
    cec08b1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    837c501 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bd681ae View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9f9c215 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1f130c6 View commit details
    Browse the repository at this point in the history