Simplicial models for trace spaces
Martin Raussen
Department of Mathematical Sciences Aalborg University
Denmark
Workshop on Computational Topology Fields Institute, Toronto 8.11.2011
Table of Contents
Examples: State spacesand associatedpath spacesin Higher Dimensional Automata (HDA)
Motivation: Concurrency
Simplest case: State spaces and path spaces related tolinear PV-programs
Tool: Cutting up path spaces intocontractible subspaces
Homotopy type of path space described by amatrix poset categoryand realized by aprodsimplicial complex Algorithmics: Detectingdeadandalivesubcomplexes/matrices
Outlook: How to handlegeneral HDA
Intro: State space, directed paths and trace space
Problem: How are they related?
Example 1: State space and trace space for a semaphore HDA
State space:
a 3D cube~I3\F
minus 4 box obstructions
Path space modelcontained in torus(∂∆2)2–
homotopy equivalent to a wedge of two circles and a point: (S1∨S1)t ∗
Analogy in standard algebraic topology
Relation between spaceX and loop spaceΩX.
Intro: State space and trace space
Pre-cubical set as state space
Example 2: State space and trace space for a non-looping pre-cubical complex
State space:Boundaries of two cubes glued together at common squareAB0C0•
Path spacemodel:
Prodsimplicial complex contained in(∂∆2)2∪∂∆2– homotopy equivalent to S1∨S1
Intro: State space and trace space
with loops
Example 3: Torus with a hole
• • • •
• •
X
• •
• N • •
• • • •
State space with holeX: 2D torus∂∆2×∂∆2with a rectangle∆1×∆1removed
Path spacemodel:
Discrete infinite space of dimension 0 corresponding to{r,u}∗
Motivation: Concurrency
Semaphores: A simple model for mutual exclusion Mutual exclusion
occurs, whennprocessesPi compete formresourcesRj.
Onlyk processes can be served at any given time.
Semaphores
Semantics: A processor has to lock a resource and to relinquish the lock later on!
Description/abstraction:Pi : . . .PRj. . .VRj. . . (E.W. Dijkstra) P: probeer;V: verhoog
Motivation: Concurrency
Semaphores: A simple model for mutual exclusion Mutual exclusion
occurs, whennprocessesPi compete formresourcesRj.
Onlyk processes can be served at any given time.
Semaphores
Semantics: A processor has to lock a resource and to relinquish the lock later on!
Description/abstraction:Pi : . . .PRj. . .VRj. . . (E.W. Dijkstra) P: probeer;V: verhoog
A geometric model: Schedules in "progress graphs"
The Swiss flag example
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111
000000000000000000 111111111111111111 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0
11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1
Unsafe Un−
reachable
T1 T2
Pa Pb Vb Va
Pb Pa Va Vb
(0,0)
(1,1)
PV-diagram from P1 :PaPbVbVa
P2 :PbPaVaVb
Executions aredirected paths– since time flow is irreversible – avoiding a forbidden region(shaded).
Dipaths that aredihomotopic (through a 1-parameter deformation consisting of dipaths) correspond to equivalentexecutions.
Deadlocks, unsafeand unreachableregions may occur.
A geometric model: Schedules in "progress graphs"
The Swiss flag example
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111
000000000000000000 111111111111111111 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0
11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1
Unsafe Un−
reachable
T1 T2
Pa Pb Vb Va
Pb Pa Va Vb
(0,0)
(1,1)
PV-diagram from P1 :PaPbVbVa
P2 :PbPaVaVb
Executions aredirected paths– since time flow is irreversible – avoiding a forbidden region(shaded).
Dipaths that aredihomotopic (through a 1-parameter deformation consisting of dipaths) correspond to equivalentexecutions.
Deadlocks, unsafeand unreachableregions may occur.
A geometric model: Schedules in "progress graphs"
The Swiss flag example
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111
000000000000000000 111111111111111111 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0
11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1
Unsafe Un−
reachable
T1 T2
Pa Pb Vb Va
Pb Pa Va Vb
(0,0)
(1,1)
PV-diagram from P1 :PaPbVbVa
P2 :PbPaVaVb
Executions aredirected paths– since time flow is irreversible – avoiding a forbidden region(shaded).
Dipaths that aredihomotopic (through a 1-parameter deformation consisting of dipaths) correspond to equivalentexecutions.
Deadlocks, unsafeand unreachableregions may occur.
Simple Higher Dimensional Automata
Semaphore models The state space
Alinear PV-program is modeled as the complement of a forbidden regionFconsisting of a number ofholesin an n-cube:
Hole= isothetic hyperrectangle
Ri =]ai1,b1i[× · · · ×]ain,bni[⊂In,1≤i≤l:
with minimal vertexai and maximal vertexbi. State spaceX=~In\F, F =Sli=1Ri
Xinherits a partial order from~In.
More general (PV)-programs:
Replace~Inby a productΓ1× · · · ×Γnofdigraphs.
Holes have then the formp1i((0,1))× · · · ×pni((0,1))with pij :~I→Γj a directed injective (d-)path.
Pre-cubical complexes: like pre-simplicial complexes, with (partially ordered) hypercubes instead of simplices as building blocks.
Simple Higher Dimensional Automata
Semaphore models The state space
Alinear PV-program is modeled as the complement of a forbidden regionFconsisting of a number ofholesin an n-cube:
Hole= isothetic hyperrectangle
Ri =]ai1,b1i[× · · · ×]ain,bni[⊂In,1≤i≤l:
with minimal vertexai and maximal vertexbi. State spaceX=~In\F, F =Sli=1Ri
Xinherits a partial order from~In.
More general (PV)-programs:
Replace~Inby a productΓ1× · · · ×Γnofdigraphs.
Holes have then the formp1i((0,1))× · · · ×pni((0,1))with pij :~I→Γj a directed injective (d-)path.
Pre-cubical complexes: like pre-simplicial complexes, with (partially ordered) hypercubes instead of simplices as building blocks.
Simple Higher Dimensional Automata
Semaphore models The state space
Alinear PV-program is modeled as the complement of a forbidden regionFconsisting of a number ofholesin an n-cube:
Hole= isothetic hyperrectangle
Ri =]ai1,b1i[× · · · ×]ain,bni[⊂In,1≤i≤l:
with minimal vertexai and maximal vertexbi. State spaceX=~In\F, F =Sli=1Ri
Xinherits a partial order from~In.
More general (PV)-programs:
Replace~Inby a productΓ1× · · · ×Γnofdigraphs.
Holes have then the formp1i((0,1))× · · · ×pni((0,1))with pij :~I→Γj a directed injective (d-)path.
Pre-cubical complexes: like pre-simplicial complexes, with (partially ordered) hypercubes instead of simplices as building blocks.
Spaces of d-paths/traces – up to dihomotopy
the interesting spaces Definition
X ad-space,a,b ∈X.
p:~I →X ad-pathinX (continuous and
“order-preserving”) fromatob.
~P(X)(a,b)={p:~I →X|p(0) =a,p(b) =1,pa d-path}.
Trace space~T(X)(a,b)=~P(X)(a,b)modulo increasing reparametrizations.
In most cases:~P(X)(a,b)'~T(X)(a,b).
Adihomotopyon~P(X)(a,b)is a mapH:~I×I →X such thatHt ∈~P(X)(a,b), t ∈I; ie a path in~P(X)(a,b).
Aim:
Description of thehomotopy typeof~P(X)(a,b)asexplicit finite dimensional prodsimplicial complex.
In particular: itspath components, ie the dihomotopy classes of d-paths (executions).
Spaces of d-paths/traces – up to dihomotopy
the interesting spaces Definition
X ad-space,a,b ∈X.
p:~I →X ad-pathinX (continuous and
“order-preserving”) fromatob.
~P(X)(a,b)={p:~I →X|p(0) =a,p(b) =1,pa d-path}.
Trace space~T(X)(a,b)=~P(X)(a,b)modulo increasing reparametrizations.
In most cases:~P(X)(a,b)'~T(X)(a,b).
Adihomotopyon~P(X)(a,b)is a mapH:~I×I →X such thatHt ∈~P(X)(a,b), t ∈I; ie a path in~P(X)(a,b).
Aim:
Description of thehomotopy typeof~P(X)(a,b)asexplicit finite dimensional prodsimplicial complex.
In particular: itspath components, ie the dihomotopy classes of d-paths (executions).
Spaces of d-paths/traces – up to dihomotopy
the interesting spaces Definition
X ad-space,a,b ∈X.
p:~I →X ad-pathinX (continuous and
“order-preserving”) fromatob.
~P(X)(a,b)={p:~I →X|p(0) =a,p(b) =1,pa d-path}.
Trace space~T(X)(a,b)=~P(X)(a,b)modulo increasing reparametrizations.
In most cases:~P(X)(a,b)'~T(X)(a,b).
Adihomotopyon~P(X)(a,b)is a mapH:~I×I →X such thatHt ∈~P(X)(a,b), t ∈I; ie a path in~P(X)(a,b).
Aim:
Description of thehomotopy typeof~P(X)(a,b)asexplicit finite dimensional prodsimplicial complex.
In particular: itspath components, ie the dihomotopy classes of d-paths (executions).
Spaces of d-paths/traces – up to dihomotopy
the interesting spaces Definition
X ad-space,a,b ∈X.
p:~I →X ad-pathinX (continuous and
“order-preserving”) fromatob.
~P(X)(a,b)={p:~I →X|p(0) =a,p(b) =1,pa d-path}.
Trace space~T(X)(a,b)=~P(X)(a,b)modulo increasing reparametrizations.
In most cases:~P(X)(a,b)'~T(X)(a,b).
Adihomotopyon~P(X)(a,b)is a mapH:~I×I →X such thatHt ∈~P(X)(a,b), t ∈I; ie a path in~P(X)(a,b).
Aim:
Description of thehomotopy typeof~P(X)(a,b)asexplicit finite dimensional prodsimplicial complex.
In particular: itspath components, ie the dihomotopy classes of d-paths (executions).
Tool: Subspaces of X and of ~ P ( X )( 0, 1 )
X =~In\F,F =Sli=1Ri;Ri = [ai,bi];0,1the two corners inIn.
Definition
1 Xij ={x ∈X|x ≤bi ⇒xj ≤aij}– directionjrestricted at holei
2 M a binaryl×n-matrix:XM =Tmij=1Xij
First Examples:
M = 1 0
1 0
1 0 0 1
0 1 1 0
0 1 0 1
M =
[100] [010] [001]
Tool: Subspaces of X and of ~ P ( X )( 0, 1 )
X =~In\F,F =Sli=1Ri;Ri = [ai,bi];0,1the two corners inIn.
Definition
1 Xij ={x ∈X|x ≤bi ⇒xj ≤aij}– directionjrestricted at holei
2 M a binaryl×n-matrix:XM =Tmij=1Xij
First Examples:
M = 1 0
1 0
1 0 0 1
0 1 1 0
0 1 0 1
M =
[100] [010] [001]
Covers by contractible (or empty) subspaces
Bookkeeping with binary matrices Binary matrices
Ml,n poset(≤) ofbinaryl×n-matrices Ml,nR,∗ no rowvector is thezerovector Ml,nR,u every rowvector is aunitvector Ml,nC,u every columnvector is aunitvector
A cover:
~P(X)(0,1) = [
M∈Ml,nR,u
~P(XM)(0,1).
Theorem
Every path space~P(XM)(0,1),M∈Ml,nR,∗, isemptyor
contractible. Which is which?
Proof.
SubspacesXM,M∈Ml,nR,∗areclosed under∨= l.u.b.
Covers by contractible (or empty) subspaces
Bookkeeping with binary matrices Binary matrices
Ml,n poset(≤) ofbinaryl×n-matrices Ml,nR,∗ no rowvector is thezerovector Ml,nR,u every rowvector is aunitvector Ml,nC,u every columnvector is aunitvector
A cover:
~P(X)(0,1) = [
M∈Ml,nR,u
~P(XM)(0,1).
Theorem
Every path space~P(XM)(0,1),M∈Ml,nR,∗, isemptyor
contractible. Which is which?
Proof.
SubspacesXM,M∈Ml,nR,∗areclosed under∨= l.u.b.
Covers by contractible (or empty) subspaces
Bookkeeping with binary matrices Binary matrices
Ml,n poset(≤) ofbinaryl×n-matrices Ml,nR,∗ no rowvector is thezerovector Ml,nR,u every rowvector is aunitvector Ml,nC,u every columnvector is aunitvector
A cover:
~P(X)(0,1) = [
M∈Ml,nR,u
~P(XM)(0,1).
Theorem
Every path space~P(XM)(0,1),M∈Ml,nR,∗, isemptyor
contractible. Which is which?
Proof.
SubspacesXM,M∈Ml,nR,∗areclosed under∨= l.u.b.
A combinatorial model and its geometric realization
First examples Combinatorics poset category
C(X)(0,1)⊆MlR,∗,n ⊆Ml,n
M∈ C(X)(0,1)“alive”
Topology:
prodsimplicial complex T(X)(0,1)⊆(∆n−1)l
∆M =∆m1× · · · ×∆ml ⊆ T(X)(0,1)
⇔~P(XM)(0,1)6=∅.
Examples of path spaces
1 0 1 0
1 0 0 1
0 1 1 0
0 1 0 1
T(X1)(0,1) = (∂∆1)2
=4∗
T(X2)(0,1) =3∗
⊃ C(X)(0,1)
A combinatorial model and its geometric realization
First examples Combinatorics poset category
C(X)(0,1)⊆MlR,∗,n ⊆Ml,n
M∈ C(X)(0,1)“alive”
Topology:
prodsimplicial complex T(X)(0,1)⊆(∆n−1)l
∆M =∆m1× · · · ×∆ml ⊆ T(X)(0,1)
⇔~P(XM)(0,1)6=∅.
Examples of path spaces
1 0 1 0
1 0 0 1
0 1 1 0
0 1 0 1
T(X1)(0,1) = (∂∆1)2
=4∗
T(X2)(0,1) =3∗
⊃ C(X)(0,1)
A combinatorial model and its geometric realization
First examples Combinatorics poset category
C(X)(0,1)⊆MlR,∗,n ⊆Ml,n
M∈ C(X)(0,1)“alive”
Topology:
prodsimplicial complex T(X)(0,1)⊆(∆n−1)l
∆M =∆m1× · · · ×∆ml ⊆ T(X)(0,1)
⇔~P(XM)(0,1)6=∅.
Examples of path spaces
1 0 1 0
1 0 0 1
0 1 1 0
0 1 0 1
T(X1)(0,1) = (∂∆1)2
=4∗
T(X2)(0,1) =3∗
⊃ C(X)(0,1)
Further examples
State spaces, “alive” matrices and path spaces
1 X =~In\~Jn
2
1 C(X)(0,1) =M1,nR,∗\ {[1,. . .1]}. T(X)(0,1) =∂∆n−1 'Sn−2.
2 Cmax(X)(0,1) = {
0 1 1
0 1 1
,
1 0 1
1 0 1
,
1 1 0
1 1 0
}. C(X)(0,1) ={M ∈Ml,nR,∗| ∃N ∈ Cmax(X)(0,1):M ≤N} T(X)(0,1) =3 diagonal squares⊂(∂∆2)2=T2
'S1. More examples in Mimram’s talk!
Further examples
State spaces, “alive” matrices and path spaces
1 X =~In\~Jn
2
1 C(X)(0,1) =M1,nR,∗\ {[1,. . .1]}. T(X)(0,1) =∂∆n−1 'Sn−2.
2 Cmax(X)(0,1) =
{
0 1 1
0 1 1
,
1 0 1
1 0 1
,
1 1 0
1 1 0
}. C(X)(0,1) ={M ∈Ml,nR,∗| ∃N ∈ Cmax(X)(0,1):M ≤N} T(X)(0,1) =3 diagonal squares⊂(∂∆2)2=T2
'S1. More examples in Mimram’s talk!
Further examples
State spaces, “alive” matrices and path spaces
1 X =~In\~Jn
2
1 C(X)(0,1) =M1,nR,∗\ {[1,. . .1]}. T(X)(0,1) =∂∆n−1 'Sn−2.
2 Cmax(X)(0,1) =
{
0 1 1
0 1 1
,
1 0 1
1 0 1
,
1 1 0
1 1 0
}. C(X)(0,1) ={M ∈Ml,nR,∗| ∃N ∈ Cmax(X)(0,1):M ≤N} T(X)(0,1) =3 diagonal squares⊂(∂∆2)2=T2
'S1. More examples in Mimram’s talk!
Homotopy equivalence between trace space
~ T ( X )( 0, 1 ) and the prodsimplicial complex T ( X )( 0, 1 )
Theorem (A variant of the nerve lemma)
~P(X)(0,1)'T(X)(0,1)'∆C(X)(0,1).
Proof.
FunctorsD,E,T :C(X)(0,1)(op)→Top:
D(M) =~P(XM)(0,1), E(M) =∆M,
T(M) =∗
colimD=~P(X)(0,1), colimE =T(X)(0,1), hocolimT =∆C(X)(0,1).
The trivial natural transformationsD ⇒ T,E ⇒ T yield:
hocolimD ∼=hocolimT∗∼=hocolimT ∼=hocolimE. Projection lemma:
hocolimD 'colimD, hocolimE 'colimE.
Homotopy equivalence between trace space
~ T ( X )( 0, 1 ) and the prodsimplicial complex T ( X )( 0, 1 )
Theorem (A variant of the nerve lemma)
~P(X)(0,1)'T(X)(0,1)'∆C(X)(0,1).
Proof.
FunctorsD,E,T :C(X)(0,1)(op)→Top:
D(M) =~P(XM)(0,1), E(M) =∆M,
T(M) =∗
colimD=~P(X)(0,1), colimE =T(X)(0,1), hocolimT =∆C(X)(0,1).
The trivial natural transformationsD ⇒ T,E ⇒ T yield:
hocolimD ∼=hocolimT∗∼=hocolimT ∼=hocolimE. Projection lemma:
hocolimD 'colimD, hocolimE 'colimE.
Homotopy equivalence between trace space
~ T ( X )( 0, 1 ) and the prodsimplicial complex T ( X )( 0, 1 )
Theorem (A variant of the nerve lemma)
~P(X)(0,1)'T(X)(0,1)'∆C(X)(0,1).
Proof.
FunctorsD,E,T :C(X)(0,1)(op)→Top:
D(M) =~P(XM)(0,1), E(M) =∆M,
T(M) =∗
colimD=~P(X)(0,1), colimE =T(X)(0,1), hocolimT =∆C(X)(0,1).
The trivial natural transformationsD ⇒ T,E ⇒ T yield:
hocolimD ∼=hocolimT∗∼=hocolimT ∼=hocolimE. Projection lemma:
hocolimD 'colimD, hocolimE 'colimE.
Why prodsimplicial?
rather than simplicial
We distinguish, for every obstruction,setsJi ⊂[1:n]of restrictions. A joint restriction is of product type
J1× · · · ×Jl ⊂[1:n]l, andnot an arbitrary subset of [1:n]l.
Simplicial model: a subcomplex of∆nl –2(nl) subsimplices.
Prodsimplicial model: a subcomplex of(∆n)l –2(nl) subsimplices.
Why prodsimplicial?
rather than simplicial
We distinguish, for every obstruction,setsJi ⊂[1:n]of restrictions. A joint restriction is of product type
J1× · · · ×Jl ⊂[1:n]l, andnot an arbitrary subset of [1:n]l.
Simplicial model: a subcomplex of∆nl –2(nl) subsimplices.
Prodsimplicial model: a subcomplex of(∆n)l –2(nl) subsimplices.
From C ( X )( 0, 1 ) to properties of path space
Questions answered by homology calculations usingT(X)(0,1) Questions
Is~P(X)(0,1)path-connected, i.e., are all (execution) d-paths dihomotopic (lead to the same result)?
Determination ofpath-components?
Are componentssimply connected?
Other topological properties?
Strategies – Attempts
ImplementationofT(X)(0,1)in ALCOOL:
Progress at CEA/LIX-lab.: Goubault, Haucourt, Mimram The prodsimplicial structure onC(X)(0,1)↔T(X)(0,1) leads to an associatedchain complexof vector spaces over a field.
Use fast algorithms (eg Mrozek CrHom etc) to calculate thehomologygroups of these chain complexes even for very big complexes: M. Juda (Krakow).
Number of path-components:rkH0(T(X)(0,1)).
For path-components alone, there are faster “discrete”
methods, that also yield representatives in each path component: Mimram’s talk!
From C ( X )( 0, 1 ) to properties of path space
Questions answered by homology calculations usingT(X)(0,1) Questions
Is~P(X)(0,1)path-connected, i.e., are all (execution) d-paths dihomotopic (lead to the same result)?
Determination ofpath-components?
Are componentssimply connected?
Other topological properties?
Strategies – Attempts
ImplementationofT(X)(0,1)in ALCOOL:
Progress at CEA/LIX-lab.: Goubault, Haucourt, Mimram The prodsimplicial structure onC(X)(0,1)↔T(X)(0,1) leads to an associatedchain complexof vector spaces over a field.
Use fast algorithms (eg Mrozek CrHom etc) to calculate thehomologygroups of these chain complexes even for very big complexes: M. Juda (Krakow).
Number of path-components:rkH0(T(X)(0,1)).
For path-components alone, there are faster “discrete”
methods, that also yield representatives in each path component: Mimram’s talk!
From C ( X )( 0, 1 ) to properties of path space
Questions answered by homology calculations usingT(X)(0,1) Questions
Is~P(X)(0,1)path-connected, i.e., are all (execution) d-paths dihomotopic (lead to the same result)?
Determination ofpath-components?
Are componentssimply connected?
Other topological properties?
Strategies – Attempts
ImplementationofT(X)(0,1)in ALCOOL:
Progress at CEA/LIX-lab.: Goubault, Haucourt, Mimram The prodsimplicial structure onC(X)(0,1)↔T(X)(0,1) leads to an associatedchain complexof vector spaces over a field.
Use fast algorithms (eg Mrozek CrHom etc) to calculate thehomologygroups of these chain complexes even for very big complexes: M. Juda (Krakow).
Number of path-components:rkH0(T(X)(0,1)).
For path-components alone, there are faster “discrete”
methods, that also yield representatives in each path component: Mimram’s talk!
From C ( X )( 0, 1 ) to properties of path space
Questions answered by homology calculations usingT(X)(0,1) Questions
Is~P(X)(0,1)path-connected, i.e., are all (execution) d-paths dihomotopic (lead to the same result)?
Determination ofpath-components?
Are componentssimply connected?
Other topological properties?
Strategies – Attempts
ImplementationofT(X)(0,1)in ALCOOL:
Progress at CEA/LIX-lab.: Goubault, Haucourt, Mimram The prodsimplicial structure onC(X)(0,1)↔T(X)(0,1) leads to an associatedchain complexof vector spaces over a field.
Use fast algorithms (eg Mrozek CrHom etc) to calculate thehomologygroups of these chain complexes even for very big complexes: M. Juda (Krakow).
Number of path-components:rkH0(T(X)(0,1)).
For path-components alone, there are faster “discrete”
methods, that also yield representatives in each path component: Mimram’s talk!
Detection of dead and alive subcomplexes
An algorithm starts with deadlocks and unsafe regions!
Allow less = forbid more!
RemoveextendedhyperrectanglesRji
:= [0,bi1[× · · · ×[0,bji−1[×]aij,bji[×[0,bji+1[× · · · ×[0,bin[⊃Ri.
XM =X \ [
mij=1
Rji.
Theorem
The following are equivalent:
1 ~P(XM)(0,1) =∅ ⇔M6∈C(X)(0,1).
2 There is a “dead” matrix N ≤M,N ∈Ml,nC,usuch that T
nij=1Rji 6= ∅– giving rise to adeadlockunavoidable from 0, i.e., T(XN)(0,1) =∅.
Detection of dead and alive subcomplexes
An algorithm starts with deadlocks and unsafe regions!
Allow less = forbid more!
RemoveextendedhyperrectanglesRji
:= [0,bi1[× · · · ×[0,bji−1[×]aij,bji[×[0,bji+1[× · · · ×[0,bin[⊃Ri.
XM =X \ [
mij=1
Rji.
Theorem
The following are equivalent:
1 ~P(XM)(0,1) =∅ ⇔M6∈C(X)(0,1).
2 There is a “dead” matrix N ≤M,N ∈Ml,nC,usuch that T
nij=1Rji 6= ∅– giving rise to adeadlockunavoidable from 0, i.e., T(XN)(0,1) =∅.
Dead matrices in D ( X )( 0, 1 )
Inequalities decide Decisions: Inequalities
Deadlock algorithm (Fajstrup, Goubault, Raussen) : Theorem
N∈Ml,nC,udead⇔
For all1≤j≤n, for all1≤k≤n such that∃j0:nkj0=1:
nij =1⇒aij<bkj.
M∈Ml,nR,∗dead⇔ ∃N∈Ml,nC,udead, N ≤M.
Definition
D(X)(0,1):={P∈Ml,n|∃N∈Ml,nC,u,Ndead:N≤P}.
A cube with a cube hole X=~In\~Jn
D(X)(0,1) ={[1,. . .,1]}=M1,nC,u.
Dead matrices in D ( X )( 0, 1 )
Inequalities decide Decisions: Inequalities
Deadlock algorithm (Fajstrup, Goubault, Raussen) : Theorem
N∈Ml,nC,udead⇔
For all1≤j≤n, for all1≤k≤n such that∃j0:nkj0=1:
nij =1⇒aij<bkj.
M∈Ml,nR,∗dead⇔ ∃N∈Ml,nC,udead, N ≤M.
Definition
D(X)(0,1):={P∈Ml,n|∃N∈Ml,nC,u,Ndead:N≤P}.
A cube with a cube hole X=~In\~Jn
D(X)(0,1) ={[1,. . .,1]}=M1,nC,u.
Maximal alive ↔ minimal dead
Still alive – not yet dead
Cmax(X)(0,1)⊂ C(X)(0,1)maximalalive matrices.
Matrices inCmax(X)(0,1)correspond tomaximal simplex productsinT(X)(0,1).
Connection: M ∈ Cmax(X)(0,1),M ≤N a succesor (a single 0 replaced by a 1)⇒N ∈D(X)(0,1).
A cube removed from a cube
X =~In\~Jn,D(X)(0,1) ={[1,. . .,1]}; Cmax(X)(0,1): vectors with a single 0;
C(X)(0,1) =Ml,nR \ {[1,. . .,1]}; T(X)(0,1) =∂∆n−1.
Maximal alive ↔ minimal dead
Still alive – not yet dead
Cmax(X)(0,1)⊂ C(X)(0,1)maximalalive matrices.
Matrices inCmax(X)(0,1)correspond tomaximal simplex productsinT(X)(0,1).
Connection: M ∈ Cmax(X)(0,1),M ≤N a succesor (a single 0 replaced by a 1)⇒N ∈D(X)(0,1).
A cube removed from a cube
X =~In\~Jn,D(X)(0,1) ={[1,. . .,1]}; Cmax(X)(0,1): vectors with a single 0;
C(X)(0,1) =Ml,nR \ {[1,. . .,1]}; T(X)(0,1) =∂∆n−1.
Extensions
1. Obstruction hyperrectangles intersecting the boundary ofIn - Components
More general linear semaphore state spaces
More general semaphores (intersection with the boundary
∂In ⊂Inallowed)
ndining philosophers: Trace space has2n−2 contractible components!
Different end points:~P(X)(c,d)and iterative calculations Endcomplexesrather than end points (allowing processes not to respond..., Herlihy & Cie)
State space components
New light on definition and determination ofcomponentsof model spaceX.
Extensions
1. Obstruction hyperrectangles intersecting the boundary ofIn - Components
More general linear semaphore state spaces
More general semaphores (intersection with the boundary
∂In ⊂Inallowed)
ndining philosophers: Trace space has2n−2 contractible components!
Different end points:~P(X)(c,d)and iterative calculations Endcomplexesrather than end points (allowing processes not to respond..., Herlihy & Cie)
State space components
New light on definition and determination ofcomponentsof model spaceX.
Extensions
2a. Semaphores corresponding tonon-linearprograms:
Path spaces in product of digraphs Products ofdigraphsinstead of~In: Γ=∏nj=1Γj, state spaceX = Γ\F,
F a product of generalized hyperrectanglesRi.
~P(Γ)(x,y) =∏~P(Γj)(xj,yj)–homotopy discrete!
Pullback to linear situation
Represent apath componentC ∈~P(Γ)(x,y)by (regular) d-pathspj ∈~P(Γj)(xj,yj)– an interleaving.
The mapc:~In→Γ,c(t1,. . .,tn) = (c1(t1),. . .,cn(tn))induces ahomeomorphism◦c :~P(~In)(0,1)→C⊂~P(Γ)(x,y).
Extensions
2a. Semaphores corresponding tonon-linearprograms:
Path spaces in product of digraphs Products ofdigraphsinstead of~In: Γ=∏nj=1Γj, state spaceX = Γ\F,
F a product of generalized hyperrectanglesRi.
~P(Γ)(x,y) =∏~P(Γj)(xj,yj)–homotopy discrete!
Pullback to linear situation
Represent apath componentC ∈~P(Γ)(x,y)by (regular) d-pathspj ∈~P(Γj)(xj,yj)– an interleaving.
The mapc:~In→Γ,c(t1,. . .,tn) = (c1(t1),. . .,cn(tn))induces ahomeomorphism◦c :~P(~In)(0,1)→C⊂~P(Γ)(x,y).
Extensions
2b. Semaphores: Topology of components of interleavings Homotopy types of interleaving components Pull backF viac:
X¯ =~In\F¯,F¯ =SR¯i,R¯i =c−1(Ri)– honest hyperrectangles!
iX :~P(X),→~P(Γ).
Given a componentC⊂~P(Γ)(x,y).
The d-mapc : ¯X →Xinduces a homeomorphism c◦:~P(X¯)(0,1)→iX−1(C)⊂~P(Γ)(x,y).
C“lifts toX”⇔~P(X¯)(0,1)6=∅; if so:
AnalyseiX−1(C)via~P(X¯)(0,1).
Exploit relations between various components.
Special case:Γ= (S1)n– a torus
State space: A torus with rectangular holes inF: Investigated by Fajstrup, Goubault, Mimram etal.:
Analyse bylanguageon the alphabetC(X)(0,1)ofalive matrices for a one-fold delooping ofΓ\F.
Extensions
2b. Semaphores: Topology of components of interleavings Homotopy types of interleaving components Pull backF viac:
X¯ =~In\F¯,F¯ =SR¯i,R¯i =c−1(Ri)– honest hyperrectangles!
iX :~P(X),→~P(Γ).
Given a componentC⊂~P(Γ)(x,y).
The d-mapc : ¯X →Xinduces a homeomorphism c◦:~P(X¯)(0,1)→iX−1(C)⊂~P(Γ)(x,y).
C“lifts toX”⇔~P(X¯)(0,1)6=∅; if so:
AnalyseiX−1(C)via~P(X¯)(0,1).
Exploit relations between various components.
Special case:Γ= (S1)n– a torus
State space: A torus with rectangular holes inF: Investigated by Fajstrup, Goubault, Mimram etal.:
Analyse bylanguageon the alphabetC(X)(0,1)ofalive matrices for a one-fold delooping ofΓ\F.