pebble game algorithm demonstration 2|v| - 3, 6|v| - 6 adnan sljoka
TRANSCRIPT
Pebble Game Algorithm Demonstration
2|V| - 3, 6|V| - 6
Adnan Sljoka
Recall (from last week) the 2|V| - 3 counting condition for (generic) rigidity in 2D …Laman’s Theorem (1970): A graph G = (V, E) is minimally rigid (generically) in 2D if and only if |E|=2|V| – 3 and for every subgraph (V′ ,E′) with |V′| ≥ 2 vertices, |E′| ≤ 2|V′| − 3.
|E|=2|V| – 3
|E′|≤2|V′| – 3
minimally rigid(all edges are independent)
|E′|>2|V′| – 3 (red subgraph has one extra (redundant) edge)
Condition that edges are independent (well-distributed) No edges are wasted!
Minimal number of edges needed
• Minimally rigid: flexible after any edge (but no vertices) is removed.
|E|=2|V| – 3|E′|≤2|V′| – 3
Flexible
|E|<2|V| – 3
• 2|V| – 3 counting condition (Laman’s Theorem) taken literally leads to a poor (exponential time) algorithm need to count edges in all subgraphs!
• Several fast (polynomial time) and intuitive algorithms exist, based on counting degrees of freedom (tracking the 2|V| – 3 count) using some alternate form of Laman’s Theorem
|E|=2|V| – 3
|E′|≤2|V′| – 3
Note: 2|V| – 3 = 2(|V| – 1) – 1
Add an edge and look for 2 trees
Counting in 2D (2|V| - 3)
2|V| - 3 Pebble Game Algorithm Demonstration
|E|=2|V| – 3
|E′|≤2|V′| – 3
|E′|≤2|V′| – 3
Assign 2 pebbles (degrees of freedom-DOF) to each vertex
2|V| - 3 Pebble Game Algorithm Demonstration
Pick any edge, and test it for independence (i.e. see if it removes a DOF)
2|V| - 3 Pebble Game Algorithm Demonstration
|E′|≤2|V′| – 3
Need 4 pebbles on the ends! (3 pebbles (DOF) are always present in the
graph)
Pick any edge, and test it for independence (i.e. see if it removes a DOF)
|E′|≤2|V′| – 32|V| - 3 Pebble Game Algorithm Demonstration
2|V| - 3 Pebble Game Algorithm Demonstration
This vertex looses one free pebble
Cover edge with any of the 4 free pebbles from endvertices, orienting the edge accordingly!
Edge (constraint) removes a DOF.
|E′|≤2|V′| – 3
2|V| - 3 Pebble Game Algorithm Demonstration
… Continue covering edges (one by one) with 4 pebble on the ends
|E′|≤2|V′| – 3
2|V| - 3 Pebble Game Algorithm Demonstration
|E′|≤2|V′| – 3
… Continue covering edges (one by one) with 4 pebble on the ends
2|V| - 3 Pebble Game Algorithm Demonstration
|E′|≤2|V′| – 3
… Continue covering edges (one by one) with 4 pebble on the ends
Need four pebbles on the ends.
Have only 3.
2|V| - 3 Pebble Game Algorithm Demonstration
|E′|≤2|V′| – 3
Found free pebble!
2|V| - 3 Pebble Game Algorithm Demonstration
Search for the 4th pebble by following the directed path
|E′|≤2|V′| – 3
Reverse pebble along the directed path
Got four pebbles on ends!
2|V| - 3 Pebble Game Algorithm Demonstration
|E′|≤2|V′| – 3
Note: this edge remains pebbled
2|V| - 3 Pebble Game Algorithm Demonstration
|E′|≤2|V′| – 3
Later stage …
2|V| - 3 Pebble Game Algorithm Demonstration
|E′|≤2|V′| – 3
Need four pebbles
Later stage …
One more edge to test!
2|V| - 3 Pebble Game Algorithm Demonstration
|E′|≤2|V′| – 3
2|V| - 3 Pebble Game Algorithm Demonstration
|E′|≤2|V′| – 3
Reversing pebbles
2|V| - 3 Pebble Game Algorithm Demonstration
|E′|≤2|V′| – 3
Reversing pebbles …
2|V| - 3 Pebble Game Algorithm Demonstration
|E′|≤2|V′| – 3
Reversing pebbles …
2|V| - 3 Pebble Game Algorithm Demonstration
|E′|≤2|V′| – 3
Reversing pebbles …
2|V| - 3 Pebble Game Algorithm Demonstration
|E′|≤2|V′| – 3
Reversing pebbles …
Failed search
Could not find fourth free pebble
|E′|≤2|V′| – 3
2|V| - 3 Pebble Game Algorithm Demonstration
Edge is redundant (not independent)
Graph is flexible: 4 free pebbles remaining (3 trivial DOF and 1 internal DOF)
2|V| - 3 Pebble Game Algorithm Demonstration
|E′|≤2|V′| – 3
This region is overconstrained
We can adapt the 2|V| - 3 pebble game algorithm for other
interesting counts (3|V| - 3, 3|V| - 4, 6|V| - 6, …)
|V|=8|E|=18
|E|=3|V| – 6,|E′|≤3|V′| – 6
Recall that Laman’s Theorem (counting) does not extend to graphs (bar and joint) in 3D! (3|V| - 6 count)
Pebble Game Algorithm and other counts
Theorem: If a graph G = (V,E) is minimally rigid in 3D then
|E|=3|V| – 6 and for all subgraphs (|V′| >2), |E′|≤3|V′| – 6.
Converse is false!
6|V| - 6 count has important applications
based on Theorems and Conjectures developed by Tay and Whiteley
for Body-Bar, Body-Hinge structures
hinge
Body-bar / Body-hinge structures
Switch to a different structure(s) and nice counting condition (6|V| – 6 count) that works in 3-space
• Consider two rigid bodies joined on a linear hinge
• 6 DOF (trivial motions) for each body: total 12 DOF
• Hinge removes 5 DOF: 12 – 5 = 7 = 6 DOF + 1 DOF (rotation about the hinge)
hinge
Minimally (generically) rigid iff |E| = 6|V| – 6 and for every nonempty subset E′ with vertices V′, |E′|≤6|V′| – 6.
Theorem (Tay and Whiteley) (1984):
• Extract a multigraph G* = (V, E) vertices are bodies and 5 edges (bars) between pairs of vertices that share a hinge
6 6
5 bars
• Hinges can be represented with 5 bars (body-bar structure)
6|V| - 6 Pebble Game Algorithm
Demonstration
Multigraph G* = (V, E)Replace each hinge (bond) by five edges
6-membered ring
Note: |E| = 6|V| - 6 = 6(|V| - 1) (look for 6 edge-disjoint spanning trees)
30 = 6(6) – 6
Minimally rigid
|E| = 6|V| – 6 |E′|≤6|V′| – 6
6|V| - 6 Pebble Game Algorithm is implemented in program FIRST (Floppy Inclusion Rigid Structure Topography) for flexibility/rigidity analysis of proteins http://flexweb.asu.edu
Assign 6 pebbles (degrees of freedom) to each vertex
|E′|≤6|V′| – 66|V| - 6 Pebble Game Algorithm
|E| = 6|V| – 6 |E′|≤6|V′| – 6
Test an edge (constraint) for independence (i.e. see if it removes a DOF)
Need seven pebbles on the ends!
(6 pebbles (DOF) are always present)
|E′|≤6|V′| – 66|V| - 6 Pebble Game Algorithm
You could obviously have anywhere between 6 and 12
|E| = 6|V| – 6 |E′|≤6|V′| – 6
Cover edge with any of the 12 free pebbles from endvertices, orienting the edge accordingly!
Edge (constraint) removes a DOF
|E′|≤6|V′| – 66|V| - 6 Pebble Game Algorithm
Continue covering edges (one by one) with 7 pebble on the ends
|E′|≤6|V′| – 6
… Continue covering edges (one by one) with 7 pebble on the ends
|E′|≤6|V′| – 6
Less than 7 free pebbles available at ends!
… Later stage|E′|≤6|V′| – 6
Found 7th free pebble
Search for the 7th pebble by following the directed path
|E′|≤6|V′| – 6
pebble is swapped Edge stays covered
|E′|≤6|V′| – 6
7 pebbles on the ends
Place pebble on the edge
|E′|≤6|V′| – 6
… Later stage
One more edge to test!
Less than 7 free pebbles available at ends!
|E′|≤6|V′| – 6
Found 7th free pebble
Search for the 7th pebble by following the directed path
|E′|≤6|V′| – 6
|E′|≤6|V′| – 6
“Draw” (reverse) free pebble along the path (i.e. sequence of swaps)
|E′|≤6|V′| – 6
“Draw” (reverse) free pebble back along the path (i.e. sequence of swaps)
“Draw” (reverse) free pebble back along the path (i.e. sequence of swaps)
|E′|≤6|V′| – 6
|E′|≤6|V′| – 6
We have 7 free pebbles on the ends
Note: We have reversed the direction of the path
Edges always remain covered (pebbled)
All edges are successfully pebbled!
6 remaining free pebbles (6 trivial DOF)
Isostatic (minimally rigid)
|E| = 6|V| – 6
|E′|≤6|V′| – 6
6|V| - 6 Pebble Game Algorithm
More interesting example …
Multigraph G = (V, E)
Test edges one by one
… Later stage of the algorithm
So far all edges are covered (pebbled) successfully
One more edge to test
Need seven free pebbles on ends
• Search for 7th free pebble: follow directed path
• Search for 7th free pebble: follow directed path
Failed search: 7th free pebble is not found
Failed search: 7th free pebble is not found
Edge is redundant
Failed search:
7th free pebble is not found
Rigid region
FlexibleBehaves like a rigid body (ring of size five)
Edge is redundant
|E| = 6|V| – 6|E′|≤6|V′| – 6
11 free pebbles: 6 trivial DOF + 5 internal (extra) DOF
Some observations, comments …• Pebble game is a greedy algorithm
• We can always recover (draw) 6 free pebbles back to any vertex (body) (* Useful fact for proofs)
• Very fast - a multigraph with 100 000 vertices (atoms) takes seconds to analyze O(|E||V|) (in practice scales linearly)
• Location of redundant edges is not unique
• Many nice properties, theorems, …
Play A
Play B
11 free pebbles
11 free pebbles
Output of FIRST (6|V| - 6 pebble game) on selected proteins
HIV Protease (pdb code: 1hhp)
Rigid region (cluster) decomposition
Output of FIRST (6|V| - 6 pebble game) on selected proteins
HIV Protease
• Inhibitor (drug) is docked into the protein (locking the flaps), disrupting the function of HIV protease.
As computational cost is negligible, use FIRST (the 6|V| - 6 pebble game algorithm) on any size protein.
Immunoglobulin (pdb: 1igt)
• Nice applet of the 2|V| -3 pebble game available on http://flexweb.asu.edu (FIRST)
• Other interactive versions of the pebble game: http://www.cs.umass.edu/~alee/bodyBar/ (Audrey Lee)
Thank you.