prost-planner / prost

probabilistic planning system for tasks encoded in RDDL
MIT License
37 stars 17 forks source link

Move functionality of determineBounds to simplification #120

Open thomaskeller79 opened 4 years ago

thomaskeller79 commented 4 years ago

LogicalExpression::determineBounds was removed from the code in issue-102 because it was only applied to the determinization and in the wrong place. In this issue, we want to reimplement the functionality, but as part of the simplify method. With it, we could for instance simplify

s' = if (s * Bernoulli(0.4)) > 1) then true else false

to s' = false because s * Bernoulli(0.4) cannot be larger than 1. (the example is not perfect since it comes from the determinization, where it makes also sense with ">=", but it should be sufficient to understand the idea).