sppl
sppl copied to clipboard
Implement multi-variable environment in spn.Product
https://github.com/probcomp/sum-product-dsl/blob/c482341d04ef35febefc46f8821350e9236e8013/src/spn.py#L409-L413
- The multivariable transform must be of type event.
- If a condition or logprob query has multivariate symbol, then we cannot call logprob_factored on the children. Instead, we need to reassemble the query post-substitution and call
self.logprobon the new query, which will take care of converting it to dnf, solving it, and factoring it again.
Related https://github.com/probcomp/sppl/issues/92, since min/max can be of the form min(X1, X2, ..., Xn).