Closed rimvydasrub closed 3 years ago
Hi, thanks for the detailed issue.
model_count
does not enumerate models to count how many are true (cause there are exponential). Here we have a tractable version of model_count
which comes with few restrictions.
model_count
can only be used when the circuit is deterministic, in this case p | q
and a | b | c
are not deterministic so we get wrong answers for model_count. Additionally, istautology
uses model_count so that also gets wrong answer.
We are planning to add some prerequsites so it makes it easier to know when you can use different functions.
For now you could go through SDD compilation to obtain a circuit that is deterministic and allows for efficient and correct model counting
Thank you for the API clarification. Performing SDD compilation resolves the problem.
Great. I will close this as we have https://github.com/Juice-jl/ProbabilisticCircuits.jl/issues/61 to already keep track of this API flaw.
Simple disjunction of literals seems to be evaluated incorrectly. For the following input:
I observe the following output:
false | false
is evaluated asfalse