Implicit Real Vector Automata Bernard Boigelot, Julien Brusten, - - PowerPoint PPT Presentation
Implicit Real Vector Automata Bernard Boigelot, Julien Brusten, - - PowerPoint PPT Presentation
Implicit Real Vector Automata Bernard Boigelot, Julien Brusten, Jean-Fran cois Degbomont Universit e de Li` ege Introduction Goal : Representing symbolically polyhedra in R n , i.e., sets of the form < x
Introduction
Goal : Representing symbolically polyhedra in Rn, i.e., sets of the form
- x ∈ Rn | Bi
- ai.
x
- <
≤
- bi
- ,
with ∀i : ai ∈ Zn, bi ∈ Z. Wish list :
- Concise data structure.
- Efficient manipulation algorithms : ∩, ∪, \, ×, . . .
- Efficient decision procedures : ⊆, =, empty?, . . .
- Possible conversions to and from other representations.
2
Closed Convex Polyhedra
In the particular case of closed convex polyhedra
- i
- ai.
x ≤ bi, suitable representations can be :
- a set of bounding constraints,
- sets of vertices and extremal rays, or
- a combination of both.
y ≥ 0 x ≥ y y ≥ −x + 1
3
Representing Non-Convex Polyhedra
Classical solutions :
- Represent a polyhedron by a formula.
- Decompose a polyhedron into an explicit union of convex polyhedra.
Main drawback : Set comparison operations become difficult. Better approach : Look for a canonical representation of polyhedra.
4
Real Vector Automata
Principles :
- Vectors in Rn are encoded as infinite words over the alphabet
{0, 1, . . . , r − 1, ⋆}, where r > 1 is a base, and ⋆ a separator symbol. Example (r = 2) : Enc
1
3
- = 0+ ⋆ (01)ω.
- A Real Vector Automaton (RVA) representing a set S ⊆ Rn is an
infinite-word automaton accepting the encodings of the elements of S. Key properties :
- All the sets definable in R, Z, <, + can be represented by weak
deterministic RVA.
- These automata are easily manipulated algorithmically, and can be
minimized into a canonical form.
- But the representation of linear constraints is not efficient enough . . .
5
Understanding Real Vector Automata : Conical Sets
Definition : Let D be a convex subset of Rn. A set S ⊆ D is conical in D if there exists v ∈ D such that ∀ x ∈ D − v, λ ∈ ]0, 1] : x ∈ S − v ⇔ λ x ∈ S − v. Property of weak deterministic RVA representing polyhedra : For each state q that belongs to a non-trivial strongly connected component, the language 0 ⋆ L(q) encodes a conical set. . . . . . . . . .
6
Application to Polyhedra
Theorem: Let P be a polyhedron in Rn. For every x ∈ Rn and sufficiently small convex neighborhood D of x, P is conical in D.
x2 x2 < 2 x1 − x2 ≤ 1 x1 ≥ 1 x1
Application:
- The conical structure of arbitrarily small convex neighborhoods of
points partitions Rn into a finite equivalence relation ∼.
- The equivalence classes of ∼ correspond to the characteristic elements
- f P (vertices, edges, faces, . . . ).
- An incidence relation ≺ between those elements can be defined.
7
The Representation of Polyhedra by RVA
Properties:
- Non-trivial strongly connected components correspond to
characteristic elements.
- The acyclic structures between components represent the incidence
relation. Illustration:
1
2 3 1 3 1 3 2 3
1
1 2 * 3 1,1 10 1,0 14 0,1 18 0,0 4 0,0 11 0,1 15 1,0 19 1,1 1,1 5 1,0 8 0,1 7 0,0 6 0,1 0,0 9 1,0 0,0 0,0 0,1 1,0 1,1 1,0 1,1 0,1 0,0 0,1 1,1 0,0 1,0 1,0 1,1 0,1 12 0,0 13 1,1 0,1 0,1 1,1 0,0 1,0 0,1 1,1 1,0 16 0,0 17 1,1 1,0 1,0 1,1 0,0 0,1 0,0 1,1 1,0 0,1
8
Improving the Conciseness of RVA
Principles:
- A characteristic element of a polyhedron is characterised by:
– an affine space { v0 + λ1 v1 + . . . + λp vp | ∀i : λi ∈ R}, with v0, v1, . . . ,
- vp ∈ Qn.
(Note: By a technical argument, one can assume w.l.o.g. v0 = 0.) – its successors by the incidence relation, and – its polarity (in/out).
- Real Vector Automata can be represented implicitly by:
– Replacing their non-trivial strongly connected components by canonical algebraic descriptions of vector spaces (“implicit states”), – Keeping an acyclic transition relation for representing the incidence relation, and – Encoding the polarity of elements by a Boolean acceptation condition.
9
Problem : In a RVA, the structure of transitions leaving a strongly connected component can be as large as the component itself. Solution : At each component, perform a variable change operation : The coordinate system ( e1, e2, . . . , em) becomes ( y1, y2, . . . , yp, z1, z2, . . . , zm−p), where
- The dimension of the corresponding characteristic element is p,
y1, y2, . . . , yp move inside that element, and
z1, z2, . . . , zm−p explore the directions along which one can leave the element.
- e1
- z1
- e3
- y1
- e2
- z2
Remark : The vectors z1, z2, . . . , zm−p can be chosen canonically.
10
Encoding Directions
Problem : Encoding the directions in which one can leave an implicit state, in a canonical way. Solution :
- 1. Apply a normalization function to the direction vectors.
We use norm( v) = 1 2d v, with v = (v1, v2, . . . , vq) and d = maxi|vi|.
−1
2 1 2 1 2
−1
2
−1
2
−1
2 1 2 1 2
11
- 2. Encode a normalized vector by :
- A prefix identifying the face of the hypercube to which it belongs.
Example (q = 3) : {1
2} × [−1 2, 1 2] × [−1 2, 1 2]
− → +1 [−1
2, 1 2] × {1 2} × [−1 2, 1 2]
− → +2 [−1
2, 1 2] × [−1 2, 1 2] × {1 2}
− → +3 {−1
2} × [−1 2, 1 2] × [−1 2, 1 2]
− → −1 [−1
2, 1 2] × {−1 2} × [−1 2, 1 2]
− → −2 [−1
2, 1 2] × [−1 2, 1 2] × {−1 2}
− → −3
- A suffix encoding the vector inside this face (i.e., in a restricted
domain of the form [−1
2, 1 2]q−1).
12
Examples of Implicit Real Vector Automaton
x x − 2z = 0 y − 3z = 0 y z
+1, −1 +1, −1
- 1
- ,
1
- ,
1
- 3
- 1
3/2 1/2
- 1
1
- ,
- 1
1/3
- 2
- 1
1/2
- ,
1
- +2, −2
+1, −1
13
- 1
2 1
- 1
1
- 1
2/3 1/3
- 1
1
- ,
- 1
−1
- 1
- ,
- 1
1/2
- 1
1
- ,
- 1
- 1
- ,
- 1
- ,
- 1
- 1
- ,
- 1
- ,
- 1
- x2
x2 < 2 x1 − x2 ≤ 1 x1 ≥ 1 x1
+1 +3 −1,−2,−3 1 1 1 1 1 1 1 1 1 +2 1 1 −2 −1, +2 +1 +2 +1 −1, −2 −1 +1, +2 −2 +1 +1 −1 −1 −1 +1
14
Overview of Main Results
- The representation of a polyhedron can easily be minimized into a
canonical form.
- Membership of a given vector can be decided by following a single
path in a IRVA.
- An algorithm for computing the product of two IRVA is available.
- The following operations are currently being investigated:
– Projection/determinization, – Import/export to and from other structures, – Visualization of sets, – Efficient ray tracing computations, – Efficient handling of large dimensions, – . . .
15