SLIDE 1
Bounded context switching for valence systems
Roland Meyer1, Sebastian Muskalla1, and Georg Zetzsche2
September 4, CONCUR 2018, Beijing 1 TU Braunschweig, Germany {roland.meyer,s.muskalla}@tu-bs.de 2 IRIF (Université Paris-Diderot, CNRS), France zetzsche@irif.fr
SLIDE 2 Result and structure
Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP (for all graph monoids).
- 1. What is bounded context switching (BCS)?
- 2. What are valence systems over graph monoids?
- 3. What is BCS for valence systems?
1
SLIDE 3 Result and structure
Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP (for all graph monoids).
- 1. What is bounded context switching (BCS)?
- 2. What are valence systems over graph monoids?
- 3. What is BCS for valence systems?
1
SLIDE 4 Result and structure
Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP (for all graph monoids).
- 1. What is bounded context switching (BCS)?
- 2. What are valence systems over graph monoids?
- 3. What is BCS for valence systems?
1
SLIDE 5 Result and structure
Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP (for all graph monoids).
- 1. What is bounded context switching (BCS)?
- 2. What are valence systems over graph monoids?
- 3. What is BCS for valence systems?
1
SLIDE 7
The problem
Setting: Concurrent system, each component modeled as automaton
2
SLIDE 8
The problem
Setting: Concurrent system, each component modeled as automaton Problem: If components are beyond finite-state, reachability (safety verification) is difficult
2
SLIDE 9
The problem
Setting: Concurrent system, each component modeled as automaton Problem: If components are beyond finite-state, reachability (safety verification) is difficult Solution: Consider bounded context switching (BCS)
2
SLIDE 10
Bounded context switching
Context: Infix of the (sequentialized) computation where a single thread is active BCS: Number of contexts switches (#contexts 1) bounded by a constant
3
SLIDE 11
Bounded context switching
Context: Infix of the (sequentialized) computation where a single thread is active BCS: Number of contexts switches (#contexts −1) bounded by a constant
3
SLIDE 12
Bounded context switching
Context: Infix of the (sequentialized) computation where a single thread is active BCS: Number of contexts switches (#contexts −1) bounded by a constant Reachability under bounded context switching (BCSREACH) Given: Concurrent system S, number k (in unary) Decide: Final configuration reachable from initial one in S by a computation with ⩽ k context switches?
3
SLIDE 13
Bounded context switching
Reachability under bounded context switching (BCSREACH) Given: Concurrent system S, number k (in unary) Decide: Final configuration reachable from initial one in S by a computation with ⩽ k context switches? Under-approximation of reachability Complexity is typically much lower Useful as bugs usually occur within few context switches [MQ07,LPSZ08]
4
SLIDE 14
Bounded context switching
Reachability under bounded context switching (BCSREACH) Given: Concurrent system S, number k (in unary) Decide: Final configuration reachable from initial one in S by a computation with ⩽ k context switches? Under-approximation of reachability Complexity is typically much lower Useful as bugs usually occur within few context switches [MQ07,LPSZ08]
4
SLIDE 15
Bounded context switching
Reachability under bounded context switching (BCSREACH) Given: Concurrent system S, number k (in unary) Decide: Final configuration reachable from initial one in S by a computation with ⩽ k context switches? Under-approximation of reachability Complexity is typically much lower Useful as bugs usually occur within few context switches [MQ07,LPSZ08]
4
SLIDE 16
Bounded context switching
Reachability under bounded context switching (BCSREACH) Given: Concurrent system S, number k (in unary) Decide: Final configuration reachable from initial one in S by a computation with ⩽ k context switches? Under-approximation of reachability Complexity is typically much lower Useful as bugs usually occur within few context switches [MQ07,LPSZ08]
4
SLIDE 17
Example
Example [QR05]: Concurrent system where each component is a PDS, communicating via finite control essentially a MPDS Reachability is undecidable if #components 2 Context: Infix in which only one stack is used Reachability under BCS is NP-complete
5
SLIDE 18
Example
Example [QR05]: Concurrent system where each component is a PDS, communicating via finite control ↰ essentially a MPDS Reachability is undecidable if #components 2 Context: Infix in which only one stack is used Reachability under BCS is NP-complete
5
SLIDE 19
Example
Example [QR05]: Concurrent system where each component is a PDS, communicating via finite control ↰ essentially a MPDS Reachability is undecidable if #components ⩾ 2 Context: Infix in which only one stack is used Reachability under BCS is NP-complete
5
SLIDE 20
Example
Example [QR05]: Concurrent system where each component is a PDS, communicating via finite control ↰ essentially a MPDS Reachability is undecidable if #components ⩾ 2 Context: Infix in which only one stack is used Reachability under BCS is NP-complete
5
SLIDE 21
Example
Example [QR05]: Concurrent system where each component is a PDS, communicating via finite control ↰ essentially a MPDS Reachability is undecidable if #components ⩾ 2 Context: Infix in which only one stack is used Reachability under BCS is NP-complete
5
SLIDE 22
Related work
Similar results for various types of components, various types of communication, various BCS-like restrictions.
6
SLIDE 23
Related work
Similar results for various types of components, various types of communication, various BCS-like restrictions. For example: Queues as storages [LMP08] Pushdowns with dynamic thread creation [ABQ09] Pushdowns communicating via queues [HLMS12] …
6
SLIDE 24
Related work II
Our goal: General BCS result
7
SLIDE 25 Related work II
Our goal: General BCS result Other people’s work: Using graph-theoretic measures (tree width, ...) [MP11, A14]
- Can handle queues
- Cannot handle counters
- Applies to settings where the complexity is beyond NP
Reductions to PA-satisfiability [HL12,EGT14]
- Can handle reversal-bounded counters
- Does not allow nested combination of counters and stack
Results incomparable to ours Our technique provides an algebraic view
7
SLIDE 26 Related work II
Our goal: General BCS result Other people’s work: Using graph-theoretic measures (tree width, ...) [MP11, A14]
- Can handle queues
- Cannot handle counters
- Applies to settings where the complexity is beyond NP
Reductions to PA-satisfiability [HL12,EGT14]
- Can handle reversal-bounded counters
- Does not allow nested combination of counters and stack
Results incomparable to ours Our technique provides an algebraic view
7
SLIDE 27 Related work II
Our goal: General BCS result Other people’s work: Using graph-theoretic measures (tree width, ...) [MP11, A14]
- Can handle queues
- Cannot handle counters
- Applies to settings where the complexity is beyond NP
Reductions to ∃PA-satisfiability [HL12,EGT14]
- Can handle reversal-bounded counters
- Does not allow nested combination of counters and stack
Results incomparable to ours Our technique provides an algebraic view
7
SLIDE 28 Related work II
Our goal: General BCS result Other people’s work: Using graph-theoretic measures (tree width, ...) [MP11, A14]
- Can handle queues
- Cannot handle counters
- Applies to settings where the complexity is beyond NP
Reductions to ∃PA-satisfiability [HL12,EGT14]
- Can handle reversal-bounded counters
- Does not allow nested combination of counters and stack
Results incomparable to ours Our technique provides an algebraic view
7
SLIDE 29 Related work II
Our goal: General BCS result Other people’s work: Using graph-theoretic measures (tree width, ...) [MP11, A14]
- Can handle queues
- Cannot handle counters
- Applies to settings where the complexity is beyond NP
Reductions to ∃PA-satisfiability [HL12,EGT14]
- Can handle reversal-bounded counters
- Does not allow nested combination of counters and stack
Results incomparable to ours Our technique provides an algebraic view
7
SLIDE 31
Valence systems
Need a single model that can represent various types of memory Introducing valence systems over some monoid Monoid represents the storage of the system Syntax: Semantics:
8
SLIDE 32
Valence systems
Need a single model that can represent various types of memory Introducing valence systems over some monoid M Monoid represents the storage of the system Syntax: Semantics:
8
SLIDE 33
Valence systems
Need a single model that can represent various types of memory Introducing valence systems over some monoid M Monoid M represents the storage of the system Syntax: Semantics:
8
SLIDE 34
Valence systems
Need a single model that can represent various types of memory Introducing valence systems over some monoid M Monoid M represents the storage of the system Syntax: Finite control Transitions labeled by generators of M Semantics:
8
SLIDE 35
Valence systems
Need a single model that can represent various types of memory Introducing valence systems over some monoid M Monoid M represents the storage of the system Syntax: Finite control Transitions labeled by generators of M Semantics: Configurations (q, m) with q control state, m ∈ M Transition q m′ − → q′ leads to (q′, m · m′)
8
SLIDE 36
Example
Valence system over Z × Z (with component-wise addition) qinit qfin (3, −3) (−2, 2) (1, −1)
9
SLIDE 37
Example
Valence system over Z × Z (with component-wise addition) qinit qfin (3, −3) (−2, 2) (1, −1) (essentially an integer 2-VASS)
9
SLIDE 38
Graph monoids
Want results of the following shape: Theorem If monoid M satisfies condition c, then checking property P for all valence systems over M is in complexity class C.
10
SLIDE 39
Graph monoids
Want results of the following shape: Theorem If monoid M satisfies condition c, then checking property P for all valence systems over M is in complexity class C. Best case: Complete for classification for property P
10
SLIDE 40
Graph monoids
Want results of the following shape: Theorem If monoid M satisfies condition c, then checking property P for all valence systems over M is in complexity class C. Best case: Complete for classification for property P For example, want classification of P = reachability Reachability for valence systems Given: Valence system A over monoid M Decide: (qinit, 1M) →∗ (qfinal, 1M)?
10
SLIDE 41
Graph monoids
Problem: Monoids are too diverse
11
SLIDE 42
Graph monoids
Problem: Monoids are too diverse Focus on an interesting subclass of monoids Finitely generated monoids: Too diverse Finite monoids: Not expressive Graph monoids
11
SLIDE 43
Graph monoids
Problem: Monoids are too diverse Focus on an interesting subclass of monoids Finitely generated monoids: Too diverse Finite monoids: Not expressive Graph monoids
11
SLIDE 44
Graph monoids
Problem: Monoids are too diverse Focus on an interesting subclass of monoids Finitely generated monoids: Too diverse Finite monoids: Not expressive Graph monoids
11
SLIDE 45
Graph monoids
Problem: Monoids are too diverse Focus on an interesting subclass of monoids Finitely generated monoids: Too diverse Finite monoids: Not expressive Graph monoids
11
SLIDE 46 Example: Graph monoid
Consider the following undirected graph:
Nodes a b are counters / stack symbols Operations: a b (“push a / b”, “increment a / b”) and a b (“pop a / b”, “decrement a / b”) Monoid elements: Sequences of operations modulo the congruence o
SLIDE 47 Example: Graph monoid
Consider the following undirected graph:
Nodes a, b are counters / stack symbols Operations: a b (“push a / b”, “increment a / b”) and a b (“pop a / b”, “decrement a / b”) Monoid elements: Sequences of operations modulo the congruence o
SLIDE 48 Example: Graph monoid
Consider the following undirected graph:
Nodes a, b are counters / stack symbols Operations: a+, b+ (“push a / b”, “increment a / b”) and a−, b− (“pop a / b”, “decrement a / b”) Monoid elements: Sequences of operations modulo the congruence o
SLIDE 49 Example: Graph monoid
Consider the following undirected graph:
Nodes a, b are counters / stack symbols Operations: a+, b+ (“push a / b”, “increment a / b”) and a−, b− (“pop a / b”, “decrement a / b”) Monoid elements: Sequences of operations modulo the congruence o
SLIDE 50 Example: Graph monoid
Consider the following undirected graph:
Nodes a, b are counters / stack symbols Operations: a+, b+ (“push a / b”, “increment a / b”) and a−, b− (“pop a / b”, “decrement a / b”) Monoid elements: Sequences of operations modulo the congruence o+.o− ∼ = ε
12
SLIDE 51 Example: PDS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b} a b b a a b a b irreducible a a irreducible Valence systems over
G are PDS over stack alphabet
a b
13
SLIDE 52 Example: PDS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b} a+b+b−a− a b a b irreducible a a irreducible Valence systems over
G are PDS over stack alphabet
a b
13
SLIDE 53 Example: PDS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b} a+b+b−a− ∼ = a+a− a b a b irreducible a a irreducible Valence systems over
G are PDS over stack alphabet
a b
13
SLIDE 54 Example: PDS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M a b a b irreducible a a irreducible Valence systems over
G are PDS over stack alphabet
a b
13
SLIDE 55 Example: PDS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M a+b+a−b− irreducible a a irreducible Valence systems over
G are PDS over stack alphabet
a b
13
SLIDE 56 Example: PDS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M a+b+a−b− irreducible a−a+ irreducible Valence systems over
G are PDS over stack alphabet
a b
13
SLIDE 57 Example: PDS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M a+b+a−b− irreducible a−a+ irreducible Valence systems over MG are PDS over stack alphabet {a, b}
13
SLIDE 58
Graph monoids
Graph monoid MG given by undirected graph G = (V, I)
14
SLIDE 59 Graph monoids
Graph monoid MG given by undirected graph G = (V, I) Nodes of G are counters Operations consisting of o
V
G
Monoid elements are represented by sequences of
Monoid operation: Concatenation of representatives Congruence satisfies o
14
SLIDE 60 Graph monoids
Graph monoid MG given by undirected graph G = (V, I) Nodes of G are counters Operations O consisting of o+, o− for each node o ∈ V
G
Monoid elements are represented by sequences of
Monoid operation: Concatenation of representatives Congruence satisfies o
14
SLIDE 61 Graph monoids
Graph monoid MG given by undirected graph G = (V, I) Nodes of G are counters Operations O consisting of o+, o− for each node o ∈ V MG = O∗/ ∼ = Monoid elements are represented by sequences of
Monoid operation: Concatenation of representatives Congruence satisfies o
14
SLIDE 62 Graph monoids
Graph monoid MG given by undirected graph G = (V, I) Nodes of G are counters Operations O consisting of o+, o− for each node o ∈ V MG = O∗/ ∼ = Monoid elements are represented by sequences of
Monoid operation: Concatenation of representatives Congruence satisfies o
14
SLIDE 63 Graph monoids
Graph monoid MG given by undirected graph G = (V, I) Nodes of G are counters Operations O consisting of o+, o− for each node o ∈ V MG = O∗/ ∼ = Monoid elements are represented by sequences of
Monoid operation: Concatenation of representatives Congruence satisfies o
14
SLIDE 64 Graph monoids
Graph monoid MG given by undirected graph G = (V, I) Nodes of G are counters Operations O consisting of o+, o− for each node o ∈ V MG = O∗/ ∼ = Monoid elements are represented by sequences of
Monoid operation: Concatenation of representatives Congruence ∼ = satisfies o+.o− ∼ = ε for all o
14
SLIDE 65 Graph monoids
Graph monoid MG given by undirected graph G = (V, I) Congruence ∼ = satisfies o+.o− ∼ = ε for all o Edge relation called independence relation Intuition:
If o u, then o and u belong to independents part of the storage Congruence should identify computations that order independent operations differently
If o u, then o and u commute: o u u
SLIDE 66 Graph monoids
Graph monoid MG given by undirected graph G = (V, I) Congruence ∼ = satisfies o+.o− ∼ = ε for all o Edge relation I called independence relation Intuition:
If o u, then o and u belong to independents part of the storage Congruence should identify computations that order independent operations differently
If o u, then o and u commute: o u u
SLIDE 67 Graph monoids
Graph monoid MG given by undirected graph G = (V, I) Congruence ∼ = satisfies o+.o− ∼ = ε for all o Edge relation I called independence relation Intuition:
If o u, then o and u belong to independents part of the storage Congruence should identify computations that order independent operations differently
If o u, then o and u commute: o u u
SLIDE 68 Graph monoids
Graph monoid MG given by undirected graph G = (V, I) Congruence ∼ = satisfies o+.o− ∼ = ε for all o Edge relation I called independence relation Intuition:
If o I u, then o and u belong to independents part of the storage Congruence should identify computations that order independent operations differently
If o u, then o and u commute: o u u
SLIDE 69 Graph monoids
Graph monoid MG given by undirected graph G = (V, I) Congruence ∼ = satisfies o+.o− ∼ = ε for all o Edge relation I called independence relation Intuition:
If o I u, then o and u belong to independents part of the storage Congruence should identify computations that order independent operations differently
If o u, then o and u commute: o u u
SLIDE 70
Graph monoids
Graph monoid MG given by undirected graph G = (V, I) Congruence ∼ = satisfies o+.o− ∼ = ε for all o Edge relation I called independence relation Intuition:
If o I u, then o and u belong to independents part of the storage Congruence should identify computations that order independent operations differently
If o I u, then o± and u± commute: o±.u± ∼ = u±.o±
14
SLIDE 71 Example: VASS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b}
= u±.o± where {u, o} = {a, b} a b b a a a 1 still valid a b a b a b b a a a still irreducible Valence systems over
G are 2-VASS 15
SLIDE 72 Example: VASS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b}
= u±.o± where {u, o} = {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a b a b a b b a a a still irreducible Valence systems over
G are 2-VASS 15
SLIDE 73 Example: VASS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b}
= u±.o± where {u, o} = {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a+b+a−b− ∼ = a+b+b−a− ∼ = ε a a still irreducible Valence systems over
G are 2-VASS 15
SLIDE 74 Example: VASS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b}
= u±.o± where {u, o} = {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a+b+a−b− ∼ = a+b+b−a− ∼ = ε a−a+ still irreducible Valence systems over
G are 2-VASS 15
SLIDE 75 Example: VASS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b}
= u±.o± where {u, o} = {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a+b+a−b− ∼ = a+b+b−a− ∼ = ε a−a+ still irreducible Valence systems over MG are 2-VASS
15
SLIDE 76 Example: integer VASS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b}
= u±.o± ∀u, o ∈ {a, b} a b b a a a 1 still valid a b a b a b b a a a a a Valence systems over
G are integer 2-VASS 16
SLIDE 77 Example: integer VASS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b}
= u±.o± ∀u, o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a b a b a b b a a a a a Valence systems over
G are integer 2-VASS 16
SLIDE 78 Example: integer VASS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b}
= u±.o± ∀u, o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a+b+a−b− ∼ = a+b+b−a− ∼ = ε a a a a Valence systems over
G are integer 2-VASS 16
SLIDE 79 Example: integer VASS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b}
= u±.o± ∀u, o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a+b+a−b− ∼ = a+b+b−a− ∼ = ε a−a+ ∼ = a+a− ∼ = ε Valence systems over
G are integer 2-VASS 16
SLIDE 80 Example: integer VASS
MG = { a+, b+, a−, b−}∗/ ∼ =
= ε ∀o ∈ {a, b}
= u±.o± ∀u, o ∈ {a, b} a+b+b−a− ∼ = a+a− ∼ = ε = 1M still valid a+b+a−b− ∼ = a+b+b−a− ∼ = ε a−a+ ∼ = a+a− ∼ = ε Valence systems over MG are integer 2-VASS
16
SLIDE 81 Example: MPDS
17
SLIDE 82 Example: MPDS
Any m ∈ {aℓ+, aℓ−, . . .}∗ can be written as m ∼ = m↾ℓ.m↾r such that m ∼ = ε iff m↾ℓ ∼ = ε and m↾r ∼ = ε
17
SLIDE 83 Example: MPDS
Any m ∈ {aℓ+, aℓ−, . . .}∗ can be written as m ∼ = m↾ℓ.m↾r such that m ∼ = ε iff m↾ℓ ∼ = ε and m↾r ∼ = ε Valence systems over MG are 2-PDS (with a binary stack alphabet for each stack)
17
SLIDE 84
Graph monoids
Graph monoids can model: Natural (partially blind) counters Integer (blind) counters Combinations of these Stacks of these
18
SLIDE 85
Graph monoids
Graph monoids can model: Natural (partially blind) counters Integer (blind) counters Combinations of these Stacks of these
18
SLIDE 86
Graph monoids
Graph monoids can model: Natural (partially blind) counters Integer (blind) counters Combinations of these Stacks of these
18
SLIDE 87
Graph monoids
Graph monoids can model: Natural (partially blind) counters Integer (blind) counters Combinations of these Stacks of these
18
SLIDE 88
Graph monoids
Graph monoids can model: Natural (partially blind) counters Integer (blind) counters Combinations of these Stacks of these Graph monoids cannot model: Queues Higher-order stacks
18
SLIDE 89
Graph monoids
Graph monoids can model: Natural (partially blind) counters Integer (blind) counters Combinations of these Stacks of these Graph monoids cannot model: Queues Higher-order stacks
18
SLIDE 90
Graph monoids
Graph monoids can model: Natural (partially blind) counters Integer (blind) counters Combinations of these Stacks of these Graph monoids cannot model: Queues Higher-order stacks
18
SLIDE 91
Results
Characterization results for valence systems/automata: reachability [Z15] regularity [Z11] context-freeness [BZ13] semilinearity of the Parikh image [BZ13] ...
19
SLIDE 92
- 3. BCS for valence systems
SLIDE 93
BCS for valence systems
How to define BCS for valence systems over graph monoids?
20
SLIDE 94
BCS for valence systems
How to define BCS for valence systems over graph monoids? Concurrent system as valence system Assume: The system is modeled as a single valence system The monoid models the total storage of all components The components share a control state ( communication between components )
20
SLIDE 95
BCS for valence systems
How to define BCS for valence systems over graph monoids? Concurrent system as valence system Assume: The system is modeled as a single valence system The monoid models the total storage of all components The components share a control state ( communication between components )
20
SLIDE 96
BCS for valence systems
How to define BCS for valence systems over graph monoids? Concurrent system as valence system Assume: The system is modeled as a single valence system The monoid models the total storage of all components The components share a control state ( communication between components )
20
SLIDE 97
BCS for valence systems
How to define BCS for valence systems over graph monoids? Concurrent system as valence system Assume: The system is modeled as a single valence system The monoid models the total storage of all components The components share a control state ( communication between components )
20
SLIDE 98
BCS for valence systems
How to define BCS for valence systems over graph monoids?
21
SLIDE 99
BCS for valence systems
How to define BCS for valence systems over graph monoids? A slight modification
21
SLIDE 100
BCS for valence systems
How to define BCS for valence systems over graph monoids? A slight modification Consider configurations of the shape (q, m) where m is a sequence of operations
21
SLIDE 101
BCS for valence systems
How to define BCS for valence systems over graph monoids? A slight modification Consider configurations of the shape (q, m) where m is a sequence of operations We do not store the monoid element, but its syntactic representation
21
SLIDE 102
BCS for valence systems
How to define BCS for valence systems over graph monoids? A slight modification Consider configurations of the shape (q, m) where m is a sequence of operations We do not store the monoid element, but its syntactic representation Crucial as our notion of context is not invariant under congruence
21
SLIDE 104 Contexts
Nodes belonging to independent parts of the storage are connected by an edge
22
SLIDE 105 Contexts
Nodes belonging to independent parts of the storage are connected by an edge Intuitively: m = . . . o±.u± . . . with o I u, then this constitutes a context switch
22
SLIDE 106 Contexts
Nodes belonging to independent parts of the storage are connected by an edge Intuitively: m = . . . o±.u± . . . with o I u, then this constitutes a context switch In general, we need a more restrictive definition
22
SLIDE 107
Dependent computations
Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.
23
SLIDE 108 Dependent computations
Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.
23
SLIDE 109 Dependent computations
Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.
a+c+ dependent
23
SLIDE 110 Dependent computations
Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.
a+c+ dependent b+c+ dependent
23
SLIDE 111 Dependent computations
Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.
a+c+ dependent b+c+ dependent a+b+ not dependent
23
SLIDE 112 Dependent computations
Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.
a+c+ dependent b+c+ dependent a+b+ not dependent a+c+b+ not dependent
23
SLIDE 113 Dependent computations
Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.
a+c+ dependent b+c+ dependent a+b+ not dependent a+c+b+ not dependent a+a− dependent
23
SLIDE 114 Dependent computations
Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.
a+c+ dependent b+c+ dependent a+b+ not dependent a+c+b+ not dependent a+a− dependent a+b+b−a− not dependent
23
SLIDE 115 Dependent computations
Definition A sequence of operations m is called dependent if for all o±, u± in m with o ̸= u, o I u does not hold.
a+c+ dependent b+c+ dependent a+b+ not dependent a+c+b+ not dependent a+a− dependent a+b+b−a− not dependent but a+a− ∼ = a+b+b−a− !
23
SLIDE 116
Contexts & context switches
Let m be a sequence of operations
24
SLIDE 117
Contexts & context switches
Let m be a sequence of operations Its first context is its maximal dependent prefix
24
SLIDE 118
Contexts & context switches
Let m be a sequence of operations Its first context is its maximal dependent prefix Inductively: The ith context of m is the maximal dependent prefix of m with the first i − 1 contexts removed
24
SLIDE 119
Contexts & context switches
Let m be a sequence of operations Its first context is its maximal dependent prefix Inductively: The ith context of m is the maximal dependent prefix of m with the first i − 1 contexts removed The number of context switches cs(m) is the number of contexts minus 1
24
SLIDE 120 In the examples
Assume the number of context switches is bounded by k
PDS no restriction
VASS changing the counter ⩽ k times
integer VASS changing the counter ⩽ k times
MPDS changing the stack ⩽ k times
25
SLIDE 121
The result
BCSREACH for valence systems over graph monoids Given: Valence system A over MG, number k (in unary) Decide: Is there (qinit, ε) → (qfinal, m) with m ∼ = ε and cs(m) ⩽ k?
26
SLIDE 122
The result
BCSREACH for valence systems over graph monoids Given: Valence system A over MG, number k (in unary) Decide: Is there (qinit, ε) → (qfinal, m) with m ∼ = ε and cs(m) ⩽ k? Theorem BCSREACH for valence systems over graph monoids is in NP (for all graph monoids).
26
SLIDE 123
The proof / The algorithm
SLIDE 124
Proof outline
Need to find a computation (qinit, ε) →∗ (qfinal, m) with m ∼ = ε Consider blockwise-reduction If contexts irreducible, get existence of a reducible block decomposition of length k2 Ensure irreducibility by saturating system Then check existence of reducible block decomposition using guessing and representing blocks as finite automata
27
SLIDE 125
Proof outline
Need to find a computation (qinit, ε) →∗ (qfinal, m) with m ∼ = ε Good: Bound cs(m) ⩽ k Consider blockwise-reduction If contexts irreducible, get existence of a reducible block decomposition of length k2 Ensure irreducibility by saturating system Then check existence of reducible block decomposition using guessing and representing blocks as finite automata
27
SLIDE 126
Proof outline
Need to find a computation (qinit, ε) →∗ (qfinal, m) with m ∼ = ε Good: Bound cs(m) ⩽ k Bad: No bound on length of length of m Consider blockwise-reduction If contexts irreducible, get existence of a reducible block decomposition of length k2 Ensure irreducibility by saturating system Then check existence of reducible block decomposition using guessing and representing blocks as finite automata
27
SLIDE 127
Proof outline
Need to find a computation (qinit, ε) →∗ (qfinal, m) with m ∼ = ε Good: Bound cs(m) ⩽ k Bad: No bound on length of length of m Consider blockwise-reduction If contexts irreducible, get existence of a reducible block decomposition of length k2 Ensure irreducibility by saturating system Then check existence of reducible block decomposition using guessing and representing blocks as finite automata
27
SLIDE 128
Proof outline
Need to find a computation (qinit, ε) →∗ (qfinal, m) with m ∼ = ε Good: Bound cs(m) ⩽ k Bad: No bound on length of length of m Consider blockwise-reduction If contexts irreducible, get existence of a reducible block decomposition of length ⩽ k2 Ensure irreducibility by saturating system Then check existence of reducible block decomposition using guessing and representing blocks as finite automata
27
SLIDE 129
Proof outline
Need to find a computation (qinit, ε) →∗ (qfinal, m) with m ∼ = ε Good: Bound cs(m) ⩽ k Bad: No bound on length of length of m Consider blockwise-reduction If contexts irreducible, get existence of a reducible block decomposition of length ⩽ k2 Ensure irreducibility by saturating system Then check existence of reducible block decomposition using guessing and representing blocks as finite automata
27
SLIDE 130
Proof outline
Need to find a computation (qinit, ε) →∗ (qfinal, m) with m ∼ = ε Good: Bound cs(m) ⩽ k Bad: No bound on length of length of m Consider blockwise-reduction If contexts irreducible, get existence of a reducible block decomposition of length ⩽ k2 Ensure irreducibility by saturating system Then check existence of reducible block decomposition using guessing and representing blocks as finite automata
27
SLIDE 131
Block decomposition
If m ∼ = ε, then there is a reduction of m that swaps letters cancels letters.
28
SLIDE 132
Block decomposition
If m ∼ = ε, then there is a reduction of m that swaps letters cancels letters. Can define similarly a notation of reduction that swaps blocks (infixes) cancels blocks in one step.
28
SLIDE 133
Block decomposition
If m ∼ = ε, then there is a reduction of m that swaps letters cancels letters. Can define similarly a notation of reduction that swaps blocks (infixes) cancels blocks in one step. E.g. m1.m2 → m2.m1 if every symbol in m1 commutes with every symbol in m2
28
SLIDE 134 Block decomposition
Let m = m1, m2, . . . , mn be a decomposition of m into blocks. If m , then its decomposition into letters is always freely reducible. Coarser decompositions might not be freely reducible:
u
SLIDE 135 Block decomposition
Let m = m1, m2, . . . , mn be a decomposition of m into blocks. If m can be reduced to ε by blockwise operations, call it freely reducible. If m , then its decomposition into letters is always freely reducible. Coarser decompositions might not be freely reducible:
u
SLIDE 136 Block decomposition
Let m = m1, m2, . . . , mn be a decomposition of m into blocks. If m can be reduced to ε by blockwise operations, call it freely reducible. If m ∼ = ε, then its decomposition into letters is always freely reducible. Coarser decompositions might not be freely reducible:
u
SLIDE 137 Block decomposition
Let m = m1, m2, . . . , mn be a decomposition of m into blocks. If m can be reduced to ε by blockwise operations, call it freely reducible. If m ∼ = ε, then its decomposition into letters is always freely reducible. Coarser decompositions might not be freely reducible:
29
SLIDE 138
Block decomposition
Sequence is irreducible if it is not congruent to a shorter one
30
SLIDE 139
Block decomposition
Sequence is irreducible if it is not congruent to a shorter one Theorem Let m be a sequence of operations with k contexts each of them irreducible, and m ∼ = ε. Then there is a decomposition of m into ⩽ k2 blocks that is freely reducible.
30
SLIDE 140
Block decomposition
Sequence is irreducible if it is not congruent to a shorter one Theorem Let m be a sequence of operations with k contexts each of them irreducible, and m ∼ = ε. Then there is a decomposition of m into ⩽ k2 blocks that is freely reducible. Size of the decomposition is independent of the length of m
30
SLIDE 141
Block decomposition
Sequence is irreducible if it is not congruent to a shorter one Theorem Let m be a sequence of operations with k contexts each of them irreducible, and m ∼ = ε. Then there is a decomposition of m into ⩽ k2 blocks that is freely reducible. Size of the decomposition is independent of the length of m Existence can be checked algorithmically
30
SLIDE 142 The algorithm, Step I
The algorithm Given: valence system A , bound k
k dependent parts of
q q p p a a
31
SLIDE 143 The algorithm, Step I
The algorithm Given: valence system A , bound k Part I: Enforcing irreducibility
k dependent parts of
q q p p a a
31
SLIDE 144 The algorithm, Step I
The algorithm Given: valence system A , bound k Part I: Enforcing irreducibility
- 1. Guess ⩽ k dependent parts of A
- 2. Saturate each part:
q q p p a a
31
SLIDE 145 The algorithm, Step I
The algorithm Given: valence system A , bound k Part I: Enforcing irreducibility
- 1. Guess ⩽ k dependent parts of A
- 2. Saturate each part:
q q′ · · · p′ p a+ ε ε a− ε
31
SLIDE 146
The algorithm, Step I
Let Asat be the resulting valence system
32
SLIDE 147
The algorithm, Step I
Let Asat be the resulting valence system Theorem (qinit, ε) →∗ (qfinal, m) in A with m ∼ = ε and cs(m) ⩽ k,
32
SLIDE 148
The algorithm, Step I
Let Asat be the resulting valence system Theorem (qinit, ε) →∗ (qfinal, m) in A with m ∼ = ε and cs(m) ⩽ k, iff (qinit, ε) →∗ (qfinal, m′) in Asat with m′ ∼ = ε, cs(m′) ⩽ k, and contexts of m′ irreducible.
32
SLIDE 149 The algorithm, Step II
Part II: Checking the existence of a freely reducible block decomposition
- 3. For each context i, guess part of
sat that is used in block
mi j as NFA
i j
- 4. Guess reduction on blocks (NFAs) of polynomial length
- 5. Verify reduction step-by-step
Swap rule applicable to
i j, i j
if
i j
u Alphabet
i j
Cancel rule applicable to
i j, i j
if
i j i j inverse is non-empty
33
SLIDE 150 The algorithm, Step II
Part II: Checking the existence of a freely reducible block decomposition
- 3. For each context i, guess part of Asat that is used in block
mi,j as NFA Ai,j
- 4. Guess reduction on blocks (NFAs) of polynomial length
- 5. Verify reduction step-by-step
Swap rule applicable to
i j, i j
if
i j
u Alphabet
i j
Cancel rule applicable to
i j, i j
if
i j i j inverse is non-empty
33
SLIDE 151 The algorithm, Step II
Part II: Checking the existence of a freely reducible block decomposition
- 3. For each context i, guess part of Asat that is used in block
mi,j as NFA Ai,j
- 4. Guess reduction on blocks (NFAs) of polynomial length
- 5. Verify reduction step-by-step
Swap rule applicable to
i j, i j
if
i j
u Alphabet
i j
Cancel rule applicable to
i j, i j
if
i j i j inverse is non-empty
33
SLIDE 152 The algorithm, Step II
Part II: Checking the existence of a freely reducible block decomposition
- 3. For each context i, guess part of Asat that is used in block
mi,j as NFA Ai,j
- 4. Guess reduction on blocks (NFAs) of polynomial length
- 5. Verify reduction step-by-step
Swap rule applicable to
i j, i j
if
i j
u Alphabet
i j
Cancel rule applicable to
i j, i j
if
i j i j inverse is non-empty
33
SLIDE 153 The algorithm, Step II
Part II: Checking the existence of a freely reducible block decomposition
- 3. For each context i, guess part of Asat that is used in block
mi,j as NFA Ai,j
- 4. Guess reduction on blocks (NFAs) of polynomial length
- 5. Verify reduction step-by-step
Swap rule applicable to Ai,j, Ai′,j′ if ∀o± ∈ Alphabet(Ai,j) ∀u± ∈ Alphabet(Ai′,j′): o I u Cancel rule applicable to
i j, i j
if
i j i j inverse is non-empty
33
SLIDE 154 The algorithm, Step II
Part II: Checking the existence of a freely reducible block decomposition
- 3. For each context i, guess part of Asat that is used in block
mi,j as NFA Ai,j
- 4. Guess reduction on blocks (NFAs) of polynomial length
- 5. Verify reduction step-by-step
Swap rule applicable to Ai,j, Ai′,j′ if ∀o± ∈ Alphabet(Ai,j) ∀u± ∈ Alphabet(Ai′,j′): o I u Cancel rule applicable to Ai,j, Ai′,j′ if L ( Ai,j ) ∩ L ( Ai′,j′)inverse is non-empty
33
SLIDE 155
Complexity for fixed graphs
SLIDE 156
Complexity for fixed graphs
Now, assume that the graph G is fixed, consider BCSREACH(G)
34
SLIDE 157
Complexity for fixed graphs
Now, assume that the graph G is fixed, consider BCSREACH(G) Let G− denote G with self-loops removed.
34
SLIDE 158
Complexity for fixed graphs
Now, assume that the graph G is fixed, consider BCSREACH(G) Let G− denote G with self-loops removed. Theorem If G− is a clique, then BCSREACH(G) is NL-complete.
34
SLIDE 159
Complexity for fixed graphs
Now, assume that the graph G is fixed, consider BCSREACH(G) Let G− denote G with self-loops removed. P4 = C4
34
SLIDE 160
Complexity for fixed graphs
Now, assume that the graph G is fixed, consider BCSREACH(G) Let G− denote G with self-loops removed. P4 = C4 Theorem If G− contains C4 as induced subgraph, then BCSREACH(G) is NP-complete.
34
SLIDE 161
Complexity for fixed graphs
Now, assume that the graph G is fixed, consider BCSREACH(G) Let G− denote G with self-loops removed. P4 = C4 Theorem If G− contains C4 as induced subgraph, then BCSREACH(G) is NP-complete. Theorem If G− contains neither C4 nor P4 as induced subgraphs, then BCSREACH(G) is in P.
34
SLIDE 162
Conclusion
Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP. + almost complete classification of complexity for fixed graphs.
35
SLIDE 163
Conclusion
Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP. + almost complete classification of complexity for fixed graphs. Open problems / future work: Complexity for valence systems over P4? Bounded phase switching? BCS for reachability games? Richer model supporting queues, higher order?
35
SLIDE 164
Conclusion
Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP. + almost complete classification of complexity for fixed graphs. Open problems / future work: Complexity for valence systems over P4? Bounded phase switching? BCS for reachability games? Richer model supporting queues, higher order?
35
SLIDE 165
Conclusion
Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP. + almost complete classification of complexity for fixed graphs. Open problems / future work: Complexity for valence systems over P4? Bounded phase switching? BCS for reachability games? Richer model supporting queues, higher order?
35
SLIDE 166
Conclusion
Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP. + almost complete classification of complexity for fixed graphs. Open problems / future work: Complexity for valence systems over P4? Bounded phase switching? BCS for reachability games? Richer model supporting queues, higher order?
35
SLIDE 167
Conclusion
Theorem Reachability under bounded context switching for valence systems over graph monoids is always in NP. + almost complete classification of complexity for fixed graphs. Open problems / future work: Complexity for valence systems over P4? Bounded phase switching? BCS for reachability games? Richer model supporting queues, higher order?
35
SLIDE 168
Thank you!
SLIDE 169
Questions?