1
0
mirror of https://github.com/ellmau/adf-obdd.git synced 2025-12-19 09:29:36 +01:00

96 Commits

Author SHA1 Message Date
3feeb1343b
Add more fine-grained heuristics
considering max-depth too
2022-04-04 13:04:11 +02:00
8d9e7f09e1
Add new heuristics approach
Selecting the minimal number of paths in the bdds, then choosing
variable with the highest impact.
2022-04-04 12:56:12 +02:00
b6fbb23626 Merge branch 'main' into feature/issue_39_counting-model-improvements 2022-04-04 10:35:44 +02:00
904d0b107e
Add path-counting functionality to the obdd 2022-04-04 10:34:47 +02:00
dependabot[bot]
0554538a88
Bump log from 0.4.14 to 0.4.16 (#46) 2022-04-04 07:51:33 +00:00
ccb82318d5
Update counting function with some adaptions
Still more changes to come (e.g. interpretation path counting)
2022-03-31 17:17:52 +02:00
6a47f4db30
Add debugging infos
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.
2022-03-30 13:15:49 +02:00
Stefan Ellmauthaler
93e1b1f581
Merge branch 'main' into feature/issue_39_counting-model-improvements 2022-03-28 11:05:52 +02:00
Stefan Ellmauthaler
d0026b9491
Flake/updates (#41)
* Update flake
2022-03-28 11:02:45 +02:00
1f196e3cf3
Add considering variable-impact to counting based stable models 2022-03-28 10:54:39 +02:00
39379d9e3d
Add more efficient construction of 2-val models with counting
wip commit; considering variable impact on other bdds should be
implemented next
2022-03-24 16:57:18 +01:00
Stefan Ellmauthaler
0d4f9ff195
Add where related coding convention (#40)
* Add where related coding convention to the CONTRIBUTING.md file
2022-03-24 12:00:53 +01:00
Stefan Ellmauthaler
3c8cbd8059
Feature/issue 37 model counts4stable models (#38)
* New lib version 0.2.2
* Refactor ModelCounts alias into struct
* Add option for model-count-based stb in binary

Note: reduced timeouts to "only" 160
0.2.2
2022-03-23 15:55:27 +01:00
Stefan Ellmauthaler
081584e634
Update README.md
Fix links for badges and rephrased a weird sentence.
2022-03-16 15:25:47 +01:00
Stefan Ellmauthaler
44d611263f
Update developer flake (#36)
Update developer flake
2022-03-16 15:02:43 +01:00
65835b5c81
Revert "Rename PR to a more verbose name"
This reverts commit 187b3c453427f1355c28c0ad21c95773034f7c3c.

One template file is enough so far
2022-03-15 13:14:29 +01:00
187b3c4534
Rename PR to a more verbose name 2022-03-15 13:11:15 +01:00
554522046c
Renamed PR template 2022-03-15 13:09:31 +01:00
a03c5558d3
Add PR-Template
Add basic checklists for a simple PR-template
2022-03-15 13:05:55 +01:00
Stefan Ellmauthaler
6fb4acd46f
Add contribution information in Readme 2022-03-15 12:40:43 +01:00
Stefan Ellmauthaler
80915b1df8
code-style and documentation tidying (#34)
* Remove `unwrap()` from code
Remove `unwrap()` from the code (except tests).
Replaced it by either using `expect()` or handling the error more
gracefully.

* Improve documentation
Add examples on how to use the library
Add explanaitions on the dual use of crate::datatypes::Term
Relates to #33 

* Update README
* Add contributing guidelines
2022-03-14 21:05:53 +01:00
Stefan Ellmauthaler
31d6c88d90
Update issue templates
Add Issue Templates
2022-03-07 13:57:04 +01:00
Stefan Ellmauthaler
a68c584a4a
RESOLV todo on variable-lists (#32)
variable lists can now be queried - regardless of the given features
2022-03-04 17:25:08 +01:00
drwadu
7cf581cd9b
Feature/issue 30 facet counting (#31)
Add facet_count functionality.

Co-authored-by: Stefan Ellmauthaler <stefan.ellmauthaler@tu-dresden.de>
2022-03-04 16:26:01 +01:00
Stefan Ellmauthaler
e4f67261b3
trying out devskim 2022-03-03 14:55:59 +01:00
Stefan Ellmauthaler
f5ec9c1f97
Update _config.yml 2022-03-03 14:18:24 +01:00
Stefan Ellmauthaler
caeb7b95e9
_config.yml updated for better presentation 2022-03-03 14:03:03 +01:00
Stefan Ellmauthaler
aa0e7018bf
UPD clap 2022-03-03 13:49:35 +01:00
Stefan Ellmauthaler
4f8d7c4bd5
Only one dependabot neeeded due to workspace 2022-03-03 13:42:14 +01:00
Stefan Ellmauthaler
f868bb0442
Update dependabot.yml 2022-03-03 13:39:08 +01:00
Stefan Ellmauthaler
20d59bc767
REORGANISE with workspace (#29)
Reorganise the structure of the repository to have a workspace with the library and the binary.
2022-03-03 13:37:14 +01:00
Stefan Ellmauthaler
3f32db45ee
ADD variable list mechanics (#27)
* directly hooked into the internal BDD-primitive functions
* has worse performance than the approach without the primitive functions
  * foreseeable for easy problems
  * surprise for more complex problems, because recursion can be
    escaped much earlier
* ADD the default-feature "variablelist" to have a compile-flag to either
enable or disable this feature.
* updated rust to the current version
2022-03-03 12:22:45 +01:00
Stefan Ellmauthaler
a2fa3adfe9
UPD clap, FIX resulting issues (#26)
Update clap to version 3.1.3, so
- structopt gets obsolete
- Errors are differently named, therefore tests needed to be adapted
- updated Cargo.lock for the binary

Fixed an issue with clippy warnings
2022-03-01 15:32:57 +01:00
Stefan Ellmauthaler
b18bbe0ed4
Dependabot add bin folder 2022-03-01 14:53:26 +01:00
Stefan Ellmauthaler
93c15faa11
Add dependabot to check for updates on deps 2022-03-01 14:21:44 +01:00
Stefan Ellmauthaler
a17749be52
Removed non-linux tests 2022-02-28 12:55:55 +01:00
Stefan Ellmauthaler
fbafe8382f
Create pr.yml 2022-02-28 10:03:29 +01:00
Stefan Ellmauthaler
c6837ff7eb
Feature/issue 22 extra binary (#24)
Split lib and bin into two directories

* modified workflow, readmes, documentation, ...
* excluded flake.lock from the package
* SET new patch version
v0.2.1-beta.1
2022-02-23 15:06:46 +01:00
Stefan Ellmauthaler
565fef99d1
ADD counting of (counter) models and variables of one BDD-Tree (#21)
* ADD counting of (counter) models and variables of one BDD-Tree
* ADD counting with memoization
set ahoc-counting as default feature
2022-02-21 10:49:27 +01:00
Stefan Ellmauthaler
e110b72115
0.2.0 optimisations (#19)
Implemented various optimisations of the 0.2.0 version, including different filtering and rewriting approaches for model enumerations

* ADD prefilter for stable model computation (hybrid and naive)

* ADD implementation with one big rewritten formula instead of many

* ADD second version of bdd rewriting method

* FIX documentation, UPD flake

* UPD Readme, usage

* ADD hybrid options for grounded and transformation
2022-02-16 16:54:39 +01:00
Stefan Ellmauthaler
05fa6c6b8b
removed unintended autotest 2022-01-27 13:06:03 +01:00
Stefan Ellmauthaler
1edfe43985
Feature/issue 17 biodivine (#18)
State of the art BDD library, naive implementation, and Hybrid-approach available in the first beta-release version 0.2.0

* ADD biodivine as an obdd library to adf-obdd

* Implement restrict-wrapper on Biodivine

* Testcases changed to use biodivine for grounded.

* API unified

* ADD stable and complete with biodivine

* moved main.rs to bin folder

* ADD biodivine -> naive translation

* ADD hybrid approach
  instantiation + grounded by biodivine, then naive approach with memoization

* TIDY Readme, doc, tests
v0.2.0-beta.1
2022-01-27 12:23:12 +01:00
Stefan Ellmauthaler
864419d033
BUGFIX three valued interpretations and complete interpretations (#16)
A couple of bugs have been identified, where the complete interpretation either identified too many interpretations as being complete (bug in complete_iter) or too less interpretations (bug in ThreeValuedInterpretationsIterator)

They are fixed now
v0.1.4-alpha.2
2022-01-13 13:16:49 +01:00
Stefan Ellmauthaler
f0f9789bc8
Merge pull request #15 from ellmau/feature/complete-models
Implements complete models in a dual manner to stable models
v0.1.4-alpha.1
2022-01-12 14:28:53 +01:00
308a39b435
Implements complete models in a dual manner to stable models
Signed-off-by: Stefan Ellmauthaler <stefan.ellmauthaler@tu-dresden.de>
2022-01-12 14:27:00 +01:00
Stefan Ellmauthaler
bfd0aa4a68
Implement non-deprecated cli with structopts and adf-state-safer (#14)
Rework of the CLI methods.

Added import/export functionality for ADFs in BDD representation (via JSON serialisation)
v0.1.3-alpha.2
2022-01-11 16:24:18 +01:00
Stefan Ellmauthaler
07d15167fe
Implement Stable Models based on lazy evaluated iterators (#13)
Implements #12 

* Implement Stable Models based on lazy evaluated iterators
* Adjustment of the internal computation of the grounded interpretation
* Update build.rs to replace "@" in test-instance names with "at"
* Implement de-/serialization of the adf (in OBDD representation) in library
* Adjust tests
* Add more style-restrictions to compiler
v0.1.3-alpha
2022-01-11 14:01:15 +01:00
Stefan Ellmauthaler
a95f88dee4
Merge pull request #11 from ellmau/feature/better_tests
Implement better tests
2022-01-06 16:58:51 +01:00
b73231f501
Implement better tests
Utilised quickcheck, assert_cmd, predicates, and assert_fs for better
tests of low-level functionality as well as cli-testing.

Signed-off-by: Stefan Ellmauthaler <stefan.ellmauthaler@tu-dresden.de>
2022-01-06 16:55:08 +01:00
Stefan Ellmauthaler
2112d71573
Delete build.rs v0.1.2-alpha 2022-01-03 17:46:13 +01:00