Checking Two Structural Properties of Vector Addition Systems with States Florent Avellaneda & Rémi Morin Université d’Aix Marseille 6 décembre 2012 Florent Avellaneda MOVEP 2012 1 / 19
VASS Definition A vector addition system with state (VASS) is a directed graph G = ( Q , A , i ) with : Q a finite set of nodes. A ⊆ Q × Z d × Q a finite set of edges labeled by vectors. An initial state ∈ Q × N d . l 1 l 2 (-1, 1) (0, -1) l 3 (1, -1) q 2 q 1 l 4 (-1, 0) (5, 5) Florent Avellaneda MOVEP 2012 2 / 19
VASS Definition A vector addition system with state (VASS) is a directed graph G = ( Q , A , i ) with : Q a finite set of nodes. A ⊆ Q × Z d × Q a finite set of edges labeled by vectors. An initial state ∈ Q × N d . l 1 l 2 (-1, 1) (0, -1) l 3 (1, -1) q 2 q 1 l 4 (-1, 0) (5, 5) Florent Avellaneda MOVEP 2012 2 / 19
VASS Definition A vector addition system with state (VASS) is a directed graph G = ( Q , A , i ) with : Q a finite set of nodes. A ⊆ Q × Z d × Q a finite set of edges labeled by vectors. An initial state ∈ Q × N d . l 1 l 2 (-1, 1) (0, -1) l 3 (1, -1) q 2 q 1 l 4 (-1, 0) (5, 5) Florent Avellaneda MOVEP 2012 2 / 19
VASS Definition A vector addition system with state (VASS) is a directed graph G = ( Q , A , i ) with : Q a finite set of nodes. A ⊆ Q × Z d × Q a finite set of edges labeled by vectors. An initial state ∈ Q × N d . l 1 l 2 (-1, 1) (0, -1) l 3 (1, -1) q 2 q 1 l 4 (-1, 0) (5, 5) Florent Avellaneda MOVEP 2012 2 / 19
VASS Definition A vector addition system with state (VASS) is a directed graph G = ( Q , A , i ) with : Q a finite set of nodes. A ⊆ Q × Z d × Q a finite set of edges labeled by vectors. An initial state ∈ Q × N d . l 1 l 2 (-1, 1) (0, -1) l 3 (1, -1) q 2 q 1 l 4 (-1, 0) (5, 5) Florent Avellaneda MOVEP 2012 2 / 19
VASS Definition A vector addition system with state (VASS) is a directed graph G = ( Q , A , i ) with : Q a finite set of nodes. A ⊆ Q × Z d × Q a finite set of edges labeled by vectors. An initial state ∈ Q × N d . l 1 l 2 (-1, 1) (0, -1) l 3 (1, -1) q 2 q 1 l 4 (-1, 0) (5, 5) Florent Avellaneda MOVEP 2012 2 / 19
VASS Definition A vector addition system with state (VASS) is a directed graph G = ( Q , A , i ) with : Q a finite set of nodes. A ⊆ Q × Z d × Q a finite set of edges labeled by vectors. An initial state ∈ Q × N d . l 1 l 2 (-1, 1) (0, -1) l 3 (1, -1) q 2 q 1 l 4 (-1, 0) (5, 5) Florent Avellaneda MOVEP 2012 2 / 19
VASS Definition A vector addition system with state (VASS) is a directed graph G = ( Q , A , i ) with : Q a finite set of nodes. A ⊆ Q × Z d × Q a finite set of edges labeled by vectors. An initial state ∈ Q × N d . l 1 l 2 (-1, 1) (0, -1) l 3 (1, -1) q 2 q 1 l 4 (-1, 0) (5, 5) Florent Avellaneda MOVEP 2012 2 / 19
VASS Definition A vector addition system with state (VASS) is a directed graph G = ( Q , A , i ) with : Q a finite set of nodes. A ⊆ Q × Z d × Q a finite set of edges labeled by vectors. An initial state ∈ Q × N d . l 1 l 2 (-1, 1) (0, -1) l 3 (1, -1) q 2 q 1 l 4 (-1, 0) (5, 5) Florent Avellaneda MOVEP 2012 2 / 19
VASS Definition A vector addition system with state (VASS) is a directed graph G = ( Q , A , i ) with : Q a finite set of nodes. A ⊆ Q × Z d × Q a finite set of edges labeled by vectors. An initial state ∈ Q × N d . l 1 l 2 (-1, 1) (0, -1) l 3 (1, -1) q 2 q 1 l 4 (-1, 0) (5, 5) Florent Avellaneda MOVEP 2012 2 / 19
Petri net VASS are very close to Petri nets : A VASS can be simulated by a Petri net. q 2 l 1 l 2 a → b l 3 b → a b →∅ b a q 2 q 1 l 4 a →∅ ∅→ 4a 3b q 1 Florent Avellaneda MOVEP 2012 3 / 19
Petri net VASS are very close to Petri nets : A VASS can be simulated by a Petri net. A Petri net is a VASS with one state. 3a → 4b 5c 3c → a 2b a b → 2c b 3c → 2a Florent Avellaneda MOVEP 2012 3 / 19
MSG MSG (Message Sequence Graph) Automaton where each node is labeled by an MSC. MSGs are a special case of VASSs. a b c a b c VASSs are exponentially more concise than MSGs. a b c a b c b c Florent Avellaneda MOVEP 2012 4 / 19
Example : simplified sliding window protocol ... i j i j i j i j n.w j m → b j i w → i b j b → j m i b → i w i j i j i j ... n Florent Avellaneda MOVEP 2012 5 / 19
Termination Carstensen 87 Termination of a given VASS is EXPSPACE-hard. Florent Avellaneda MOVEP 2012 6 / 19
Termination Carstensen 87 Termination of a given VASS is EXPSPACE-hard. But, structural termination is polynomial problem. Florent Avellaneda MOVEP 2012 6 / 19
Property A VASS is structurally terminating if and only if there exists no closed path whose cost is ≥ � 0 . Florent Avellaneda MOVEP 2012 7 / 19
Property A VASS is structurally terminating if and only if there exists no closed path whose cost is ≥ � 0 . Problem solvable in polynomial time by linear programming. Florent Avellaneda MOVEP 2012 7 / 19
Minimum length of a closed path solution is potentially exponential. (n, -n) (-1, 1) l1 l2 l 1 . . . l 2 l 2 l 2 l 2 . . . ⇒ l 1 + n · l 2 � �� � n times The counter example is a multiset of edges. Florent Avellaneda MOVEP 2012 8 / 19
Challenge The counter example as multiset of edge is too complex. Goal Find a simple representation of counter examples. Solution Use a set of lassos. Florent Avellaneda MOVEP 2012 9 / 19
Definition Let Y 0 be a circuit starting from node n. Let Y 1 be a simple path from q in to n and Y 2 be a simple path from n to q in . The closed path Y 1 · ( Y 0 ) k · Y 2 is called a lasso with valuation k starting from q in . k times n q in Florent Avellaneda MOVEP 2012 10 / 19
Result Theorem Let H be a closed path given as a multiset of edges. We can compute in polynomial time a finite multiset of lassos S starting from b ∈ V H such that cost ( S ) = m × cost ( H ) with m ∈ N ∗ . q 0 (-1, -1) (-1, -1) a 1 a 3 q 2 q 1 l 2 l 1 (-1, 2) (3, -1) a 2 (-1, -1) Florent Avellaneda MOVEP 2012 11 / 19
Example Theorem Let H be a closed path given as a multiset of edges. We can compute in polynomial time a finite multiset of lassos S starting from b ∈ V H such that cost ( S ) = m × cost ( H ) with m ∈ N ∗ . H = a 1 + 5 l 1 + a 2 + 3 l 2 + a 3 S 1 = a 1 + 10 l 1 + a 2 + a 3 x1 q 0 x1 S 2 = a 1 + a 2 + 6 l 2 + a 3 (-1, -1) (-1, -1) a 1 a 3 S = S 1 + S 2 = 2 × cost ( H ) q 2 q 1 l 2 l 1 (-1, 2) (3, -1) a 2 x5 x3 x1 (-1, -1) Florent Avellaneda MOVEP 2012 12 / 19
Example Theorem Let H be a closed path given as a multiset of edges. We can compute in polynomial time a finite multiset of lassos S starting from b ∈ V H such that cost ( S ) = m × cost ( H ) with m ∈ N ∗ . H = a 1 + 5 l 1 + a 2 + 3 l 2 + a 3 S 1 = a 1 + 10 l 1 + a 2 + a 3 x1 q 0 x1 S 2 = a 1 + a 2 + 6 l 2 + a 3 (-1, -1) (-1, -1) a 1 a 3 S = S 1 + S 2 = 2 × cost ( H ) q 2 q 1 l 2 l 1 (-1, 2) (3, -1) a 2 x10 x1 (-1, -1) Florent Avellaneda MOVEP 2012 13 / 19
Example Theorem Let H be a closed path given as a multiset of edges. We can compute in polynomial time a finite multiset of lassos S starting from b ∈ V H such that cost ( S ) = m × cost ( H ) with m ∈ N ∗ . H = a 1 + 5 l 1 + a 2 + 3 l 2 + a 3 S 1 = a 1 + 10 l 1 + a 2 + a 3 x1 q 0 x1 S 2 = a 1 + a 2 + 6 l 2 + a 3 (-1, -1) (-1, -1) a 1 a 3 S = S 1 + S 2 = 2 × cost ( H ) q 2 q 1 l 2 l 1 (-1, 2) (3, -1) a 2 x6 x1 (-1, -1) Florent Avellaneda MOVEP 2012 14 / 19
Example Theorem Let H be a closed path given as a multiset of edges. We can compute in polynomial time a finite multiset of lassos S starting from b ∈ V H such that cost ( S ) = m × cost ( H ) with m ∈ N ∗ . H = a 1 + 5 l 1 + a 2 + 3 l 2 + a 3 S 1 = a 1 + 10 l 1 + a 2 + a 3 q 0 S 2 = a 1 + a 2 + 6 l 2 + a 3 (-1, -1) (-1, -1) a 1 a 3 S = S 1 + S 2 q 2 q 1 l 2 l 1 (-1, 2) (3, -1) a 2 cost ( S ) = 2 × cost ( H ) (-1, -1) Florent Avellaneda MOVEP 2012 15 / 19
Theorem Let H be a closed path given as a multiset of edges. We can compute in polynomial time a finite multiset of lassos S starting from b ∈ V H such that cost ( S ) = m × cost ( H ) with m ∈ N ∗ . Idea : b H Florent Avellaneda MOVEP 2012 16 / 19
Theorem Let H be a closed path given as a multiset of edges. We can compute in polynomial time a finite multiset of lassos S starting from b ∈ V H such that cost ( S ) = m × cost ( H ) with m ∈ N ∗ . Idea : b L H Florent Avellaneda MOVEP 2012 16 / 19
Theorem Let H be a closed path given as a multiset of edges. We can compute in polynomial time a finite multiset of lassos S starting from b ∈ V H such that cost ( S ) = m × cost ( H ) with m ∈ N ∗ . Idea : b L H b' Florent Avellaneda MOVEP 2012 16 / 19
Theorem Let H be a closed path given as a multiset of edges. We can compute in polynomial time a finite multiset of lassos S starting from b ∈ V H such that cost ( S ) = m × cost ( H ) with m ∈ N ∗ . Idea : b L' L H b' Florent Avellaneda MOVEP 2012 16 / 19
Theorem Let H be a closed path given as a multiset of edges. We can compute in polynomial time a finite multiset of lassos S starting from b ∈ V H such that cost ( S ) = m × cost ( H ) with m ∈ N ∗ . Idea : b L' H Florent Avellaneda MOVEP 2012 16 / 19
Recommend
More recommend