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

Feature/issue 39 counting model improvements #42

Merged
merged 13 commits into from
Apr 6, 2022

Conversation

ellmau
Copy link
Owner

@ellmau ellmau commented Mar 28, 2022

What does this PR do?

Improves the performance of the stable model computation, by using more bdd-related information, such as

  • number of paths in a BDD with a specific outcome
  • variable impact
  • maximal depth of the BDD

Checklist before creating a non-draft PR

  • All tests are passing
  • Clippy has no complains
  • Code is rustfmt formatted
  • Applicable labels are chosen (Note: it is not necessary to replicate the labels from the related issues)
  • There are no other open Pull Requests for the same update/change.
    • If there is a good reason to have another PR for the same update/change, it is well justified.

Checklist on Guidelines and Conventions

  • Commit messages follow our guidelines
  • Code is self-reviewed
  • Naming conventions are met
  • New features are tested
    • quickcheck has been considered
    • All variants are considered and checked
  • Clippy Compiler-exceptions
    • Used in a sparse manner
    • If used, a separate comment describes and justifies its use
  • rustdoc comments are self-reviewed and descriptive
  • Error handling
    • Use of panic!(...) applications is justified on non-recoverable situations
    • expect(...) is used over unwrap() (except obvious test-cases)
  • No unsafe code (exceptions need to be discussed specifically)

@ellmau ellmau added enhancement New feature or request library This issue or pull request is related to the library labels Mar 28, 2022
@ellmau ellmau linked an issue Mar 28, 2022 that may be closed by this pull request
Currently the stable models (counting-based) has issues with a couple
of
instances (e.g. adfgen_nacyc_se05_a_02_s_02_b_02_t_02_x_02_c_sXOR_Planning2AF_ferry2.pfile-L2-C1-03.pddl.1.cnf_123_211.apx.adf )
of the examples in the res-folder.

Need further debugging and analysis.
@ellmau
Copy link
Owner Author

ellmau commented Mar 30, 2022

As already mentioned in commit 6a47f4d, the mentioned instance takes very long to compute the models (cancelled computation after 4h waiting time).

First checks on the results of the trace-output show that the problem gets trivial in roughly 20 steps with an comparable small amount of positive/negative paths in the BDD. This makes the long runtime even more questionable.

ellmau and others added 9 commits March 31, 2022 17:17
Still more changes to come (e.g. interpretation path counting)
Selecting the minimal number of paths in the bdds, then choosing
variable with the highest impact.
considering max-depth too
added a dummy-named-function 'heuristic1' to have a better readable
code.
Increased patch-number of the version
@ellmau ellmau marked this pull request as ready for review April 6, 2022 11:41
@ellmau ellmau added the binary This issue or pull request is related to the binary label Apr 6, 2022
@ellmau ellmau merged commit 7e66d89 into main Apr 6, 2022
@ellmau ellmau deleted the feature/issue_39_counting-model-improvements branch April 8, 2022 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
binary This issue or pull request is related to the binary enhancement New feature or request library This issue or pull request is related to the library
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Improve efficiency of the model-counting stable model approach
1 participant