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 ∈ R n | B i � � a i .� x b i , ≤ a i ∈ Z n , b i ∈ Z . with ∀ i : � 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 � � a i .� x ≤ b i , i suitable representations can be : • a set of bounding constraints, • sets of vertices and extremal rays, or • a combination of both. x ≥ y y ≥ − x + 1 y ≥ 0 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 R n are encoded as infinite words over the alphabet { 0 , 1 , . . . , r − 1 , ⋆ } , where r > 1 is a base, and ⋆ a separator symbol. � 1 � = 0 + ⋆ (01) ω . Example ( r = 2) : Enc 3 • A Real Vector Automaton (RVA) representing a set S ⊆ R n 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 R n . A set S ⊆ D is conical in D if there exists � v ∈ D such that v, λ ∈ ]0 , 1] : � ∀ � x ∈ D − � 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 x ∈ R n and sufficiently Theorem: Let P be a polyhedron in R n . For every � small convex neighborhood D of � x , P is conical in D . x 2 x 2 < 2 x 1 ≥ 1 x 1 − x 2 ≤ 1 x 1 Application: • The conical structure of arbitrarily small convex neighborhoods of points partitions R n into a finite equivalence relation ∼ . • The equivalence classes of ∼ correspond to the characteristic elements of 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. 0,0 0,1 0,0 1,0 Illustration: 5 4 1,0 0,0 6 0,1 0,1 1,1 3 1,1 1,1 0,0 1,1 11 0,1 0,1 1,0 0,0 10 1,0 1 0,0 1,1 0,1 1,0 * 8 1 2 1,1 0,1 0,1 9 1,0 1,1 0,0 1,0 0,0 14 1,0 2 1,0 7 0,1 0,0 15 3 1,1 0,1 0,0 0,1 0,0 1 13 1,0 12 1,0 3 1,0 18 1,1 1,1 1,1 0,0 19 0,1 0 1,1 1 2 0 1 16 17 1,0 3 3 0,0 0,1 1,1 8
Improving the Conciseness of RVA Principles: • A characteristic element of a polyhedron is characterised by: – an affine space { � v 0 + λ 1 � v 1 + . . . + λ p � v p | ∀ i : λ i ∈ R } , with � v 0 , � v 1 , . . . , v p ∈ Q n . � v 0 = � (Note: By a technical argument, one can assume w.l.o.g. � 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 ( � e m ) becomes ( � z m − p ), e 1 , � e 2 , . . . , � y 1 , � y 2 , . . . , � y p , � z 1 , � z 2 , . . . , � where • The dimension of the corresponding characteristic element is p , • � y 1 , � y 2 , . . . , � y p move inside that element, and • � z 1 , � z 2 , . . . , � z m − p explore the directions along which one can leave the element. � e 1 � z 1 � z 2 y 1 � � e 2 � e 3 Remark : The vectors � z 1 , � z 2 , . . . , � z m − 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 v ) = 1 norm ( � 2 d� v, with � v = ( v 1 , v 2 , . . . , v q ) and d = max i | v i | . 1 1 2 2 − 1 − 1 2 2 − 1 1 − 1 1 2 2 2 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 − 3 2 } − → • 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 y 0 �� 1 �� 3 / 2 1 / 2 z +1 , − 1 +2 , − 2 x 1 2 �� 1 � 0 � � �� �� � �� 0 1 0 , 1 0 , 1 0 1 / 3 1 / 2 0 x − 2 z = 0 +1 , − 1 +1 , − 1 y − 3 z = 0 3 � � 1 � � 0 � � 0 � � 0 , 1 , 0 0 0 1 13
x 2 �� x 2 < 2 +2 +1 − 1, − 2, − 3 +3 0 1 x 1 ≥ 1 1 0 x 1 − x 2 ≤ 1 0 1 0 x 1 1 � � � � � � � � � � � � 1 1 1 2 0 2 / 3 1 1 1 / 3 − 1 , − 2 1 0 +2 +1 − 2 − 1 +1 − 1 , +2 0 1 +1 , +2 1 0 0 − 2 1 1 0 1 0 1 0 � � � � � � � � � � � � � � � � � � 1 0 1 0 1 0 0 1 0 1 0 1 , , , 1 0 0 1 / 2 1 − 1 − 1 +1 +1 +1 − 1 − 1 � � � � � � � � � � � � � � � � 1 0 0 1 0 0 0 1 0 0 1 0 , , , , 0 0 1 0 0 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
Recommend
More recommend