Title: Using Persistent Homology To Recover Spatial Information From Encounter Traces
1Using Persistent Homology To Recover Spatial
Information From Encounter Traces
- Brenton Walker
- University of Maryland
2Encounter Traces
3Mobile Ad-Hoc Networks
- Wireless network
- No infrastructure!
4Delay-Tolerant Networks
- No end-to-end connectivity
- Messages are handed off and (maybe) delivered
later
5Mobility of Nodes Is Important
- But its hard to understand
- Instead people like to study encounter patterns
???
6Encounter Pattern Experiments
- Haggle Project (Intel Cambridge) for example
- Record encounters between motes
Source Intel Mote Overview http//www.intel.com/r
esearch/exploratory/motes.htm
Source Haggle Project (?) http//www.haggleprojec
t.org/
7What Can You Do With Data Like These?
8Spatial Reconstruction
- In a connected network it would not be
unreasonable to try and reconstruct the geometry
of the network.
9There is not much geometric information here!
10Persistent Homology
11Topological invariant Betti numbers
?1 1
?1 2
?1 0 ?2 1
?1 2 ?2 1
12Filtration Example
13Filtration Example
14Filtration Example
15Filtration Example
16Filtration Example
17Filtration Example
18Filtration Example
19Filtration Example
20Noisier Data
21(No Transcript)
22(No Transcript)
23(No Transcript)
24(No Transcript)
25(No Transcript)
26The idea of Persistence
- Topological features that appear and disappear
quickly are not interesting - Topological features that persist across the
filtration are interesting
27The idea of Persistence
- Topological features that appear and disappear
quickly are not interesting - Topological features that persist across the
filtration are interesting
28The idea of Persistence
- Visualize this in a persistence diagram or
barcode
29The Math of Persistence
- Computing Persistent Homology Zamorodian and
Carlsson
30How to process an encounter trace?
- We want to build a topological object from the
data. - We need data points with a metric.
Topological Object
Data
31Consider Guys Traveling on A Graph
A
C
B
A cant get to C without encountering B
32Consider Guys Traveling on A Graph
B
A
C
Now A can get to C without encountering B
The Point The topology of the space has an
effect on what encounter patterns are possible.
33What Can You Do With Data Like These?
34Make Some Deductions
node A encounters node B at time t1, coordinates
(x1,y1)
node B encounters node C at time t2, coordinates
(x2,y2)
Conclusion
If t1- t2 is small, then the points where the
encounters took place must be close t1-t2 lt T
gt dist((x1,y1),(x2,y2)) lt D
A
C
B
B
35This Gives Us A Weighted Graph
- (1st degree) Encounter Complex
- Rule
- Each encounter ei is a vertex (0-simplex)
- If ei and ej have a node in common and ti-tj
- Then connect ei and ej with with weight ti-tj
A
B
C
D
e1
e1
t1-t2
t1-t3
e2
e2
e3
t
e3
t2-t4
e4
t3-t4
e4
36The space the data lie in
- Two encounters can be close in space, but distant
in this graph-based metric - Picture the data points lying in the physical
space crossed with time X?R
37How to triangulate these data?
- We have data points with a metric.
- We want to build a topological object from the
data. - The object should reveal something about the
encounter data
Topological Object
Data
38Witness Complex
- Vin deSilva A Weak Characterization of the
Delaunay Triangulation - Like a Delaunay triangulation for discrete spaces
- Except it preserves the topology of the data
39Experiments and Results
40Example Linear graph
41Example Linear graph
42Example Loop
43Example Loop
44Example Figure-8
45Success!
- In this simplified model we can distinguish
between a line, a loop and a multi-loop. - Problems
- What are the key mobility assumptions?
- How many guys need to be on the graph?
- What has its mobility restricted to unknown
graphs?
46Naked Mole Rats
47Naked Mole Rats
- Rufus from Kim Possible
- 25 of the Errol Morris film Fast, Cheap Out of
Control - Naked mole rats are going to be the next mercats
- Clearly there is an urgent need to study their
burrowing habits
48What if the graph changes?
- Could we detect emergence and disappearance of a
loop? - An expanding and contracting loop would manifest
itself as non-trivial H2(C)
49Expanding contracting loop
50What About Spaces That Arent Graphs?
- Somewhat made up for if the motes have larger
radio range - Its a harder problem
- The guys can just go around each other
- Can we do anything?
51Room Boundary Cross-section
- Look at the room when everyone is at the
perimeter - It should look like a 1-cycle
52Bounded rectangle vs torus
- Simulations and mathematical models of wireless
networks are usually done on a torus - The encounter patterns are detectably different
53Haggle Day 1
54Haggle Day 2
55Haggle Day 3
56Questions?
57Localized Homology and the Problem of Missing Data
58Idea Is there some other way to tell the
difference between these loops and these loops?
Computation gets more difficult
59The Math of Persistence
- Computing Persistent Homology Zamorodian and
Carlsson
60Filtration of spaces
X1 ? X2 ? X3 ? ? Xn
61Persistence Complex
- Columns are inclusion maps
- Inclusion is a chain map, and so induces a map on
homology
X0 ? X1 ? X2 ? ? Xn
62Induces a map on homology
- For each dimension k0,1,2,
- Consider a generator ??Hik
- We may want to consider where in the filtration
that generator first appears (created), and when
it first becomes bounding (destroyed)
63Definition Persistence Module
Let R be a commutative PID A persistence module
is a collection of R-modules, Mi, together with
R-module homomorphisms fi such that fiMi ---gt
Mi1 M Mi, fi
A persistence module M is said to be of finite
type if the individual Mi are finitely generated,
and ? N such that n N ? fiMi ? Mi1
64Correspondence Theorem
Let R be a commutative PID, and M Mi, fi a
persistence module of finite type over R Define a
functor a Where the R-module structure on
the Mi is the sum of the individual components,
and the action of t is given by t(m0, m1, m2, )
(0, f0(m0), f1(m1), f2(m2), )
Proof the Artin-Rees theory in commutative
algebra?
65Correspondence Theorem
Let R be a commutative PID, and M Mi, fi a
persistence module over R Define a functor
a If RF is a field, then Ft is a graded
PID and we have a structure theorem for its
finitely-generated graded modules
n
m
M ? Sa_i Ft ? ? Sg_j Ft/(tn_j)
i1
j1
free part torsion part
66The Result
- We can compute the homology of the entire
filtration at once by computing it over a
polynomial ring over a field - There is a fast algorithm for computing it
- Faster than your typical Smith Normal Form
algorithm
67Simplicial Complex
- Simplicial complexes are built from simplices
- (k1) points form a k-simplex
- This can be a purely combinatorial construction
k 1 0-simplex
a
k 2 1-simplex
a b
k 3 2-simplex
a b c
k 4 3-simplex
a b c d
k 5 4-simplex
etc
68Example Rips Complex
- Let X be a collection of points in a metric space
- Rips complex Re(X) contains a simplex for every
collection of points that are pairwise within
distance e - Every complete k-subgraph of the communication
graph becomes a simplex in the Rips Complex
?
69Better Witness Complex
- Invented and studied by Vin deSilva
- Like a Delaunay triangulation for discrete spaces
- Much more efficient than Rips complex
70Better Witness Complex
- Step1 Choose landmarks
- Choose the first landmark randomly
- Choose the next landmark from the remaining data
points so as to maximize the minimum distance to
all previously chosen landmarks - Step2 Add simplices
- 0-simplices are the landmarks
- A collection of landmarks forms a simplex a0 a1
... ak if there is a data point, x, with a0, a1,
..., ak among its k nearest landmarks. - Generalization Add some wiggle room to step 2
- Introduce a threshold, T 0
- For data point xi, let mi be the distance to its
2nd closest landmark - Include a b if max(d(a,xi), d(b,xi)) mi T
71Naked Mole Rat Experiment
- Fit a colony of naked mole rats with motes that
track their encounters - Collect the motes and analyze the data using
these methods - Profit!!
72The Disco
- A disco is crowded and chaotic
73The Disco Movie Phenomenon
- A disco is crowded and chaotic
- But when John Travolta starts dancing everybody
gets out of the way
74Room Area Cross-section
- Look at the data before the crowd separates
- It should produce a contractible blob (eventually)
75Make Some Deductions
e1
e2
node A encounter node B at time t1, coordinates
(x1,y1)
node B encounter node C at time t2, coordinates
(x2,y2)
Conclusion
If t1- t2 is small, then the points where the
encounters took place must be close t1-t2 lt T
gt dist((x1,y1),(x2,y2)) lt D
A
C
B
B
This is transitive, up to a point
e3
Conclusion
node C encounter node D at time t3, coordinates
(x3,y3)
If t1- t2t2- t3 is small, then the points
where the encounters e1 and e3 took place must be
close t1-t2t2-t3 lt T gt
dist((x1,y1),(x3,y3)) lt D
D
C