dreal3 icon indicating copy to clipboard operation
dreal3 copied to clipboard

extend prune signature to carry a vector<box>

Open soonhokong opened this issue 9 years ago • 0 comments

From void prune(box & b, ...) to void prune(box & b, ..., vector<box> & bin)

This extension allows a pruning operator to return a set of boxes.

  • It can be used to handle a disjunction in a preciser fashion. When we handle a disjunction C_1 \/ ... \/ C_n, the current implementation prunes a given box b using each disjunct C_i. It gives us new boxes b_i = C_i.prune(b) and takes a hull of all b_is. Instead of taking a hull of each result, a pruning operator may return a set of boxes (b_1, ..., b_n).
  • Another possible usage is in the under-approximation. When it concludes that a region R of a box B contains no solution, it represents/over-approximates B \setminus R as a set of boxes and return them as a result.

In ICP, after calling a pruning operation, it's supposed to check the bin vector and add its content to ICP stack (if any).

soonhokong avatar Oct 26 '15 21:10 soonhokong