Pebble Game Algorithm Demonstration 2V 3 6V 6
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 2 D … Laman’s Theorem (1970): A graph G = (V, E) is minimally rigid (generically) in 2 D 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 Minimal number of edges needed |E′|≤ 2|V′| – 3 Condition that edges are independent (well-distributed) No edges are wasted! • Minimally rigid: flexible after any edge (but no vertices) is removed. |E′|>2|V′| – 3 (red subgraph has one extra (redundant) edge) |E|=2|V| – 3 |E|<2|V| – 3 |E′|≤ 2|V′| – 3 minimally rigid (all edges are independent) Flexible
Counting in 2 D (2|V| - 3) |E|=2|V| – 3 |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 Note: 2|V| – 3 = 2(|V| – 1) – 1 Add an edge and look for 2 trees
2|V| - 3 Pebble Game Algorithm Demonstration |E|=2|V| – 3 |E′|≤ 2|V′| – 3
2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤ 2|V′| – 3 Assign 2 pebbles (degrees of freedom-DOF) to each vertex
2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤ 2|V′| – 3 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)
2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤ 2|V′| – 3 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.
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
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 Need four pebbles on the ends. Have only 3.
2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤ 2|V′| – 3 Found free pebble! Search for the 4 th pebble by following the directed path
2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤ 2|V′| – 3 Note: this edge remains pebbled Reverse pebble along the directed path Got four pebbles on ends!
2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤ 2|V′| – 3
2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤ 2|V′| – 3 Later stage …
2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤ 2|V′| – 3 One more edge to test! Need four pebbles Later stage …
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 …
2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤ 2|V′| – 3 Failed search Could not find fourth free pebble
2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤ 2|V′| – 3 Edge is redundant (not independent) This region is overconstrained Graph is flexible: 4 free pebbles remaining (3 trivial DOF and 1 internal DOF)
Pebble Game Algorithm and other counts We can adapt the 2|V| - 3 pebble game algorithm for other interesting counts (3|V| - 3, 3|V| - 4, 6|V| - 6, …) Recall that Laman’s Theorem (counting) does not extend to graphs (bar and joint) in 3 D! (3|V| - 6 count) Theorem: If a graph G = (V, E) is minimally rigid in 3 D then |E|=3|V| – 6 and for all subgraphs (|V′| >2), |E′|≤ 3|V′| – 6. Converse is false! |V|=8 |E|=18 |E|=3|V| – 6, |E′|≤ 3|V′| – 6
Switch to a different structure(s) and nice counting condition (6|V| – 6 count) that works in 3 -space Body-bar / Body-hinge structures • Consider two rigid bodies joined on a linear hinge • 6 DOF (trivial motions) for each body: total 12 DOF 6 • Hinge removes 5 DOF: hinge 12 – 5 = 7 = 6 DOF + 1 DOF (rotation about the hinge) 6 • Hinges can be represented with 5 bars (body-bar structure) 5 bars • Extract a multigraph G* = (V, E) vertices are bodies and 5 edges (bars) between pairs of vertices that share a hinge Theorem (Tay and Whiteley) (1984): hinge Minimally (generically) rigid iff |E| = 6|V| – 6 and for every nonempty subset E′ with vertices V′, |E′|≤ 6|V′| – 6.
6|V| - 6 Pebble Game Algorithm Demonstration Minimally rigid 6 -membered ring 30 = 6(6) – 6 |E| = 6|V| – 6 |E′|≤ 6|V′| – 6 Replace each hinge (bond) by five edges Multigraph G* = (V, E) Note: |E| = 6|V| - 6 = 6(|V| - 1) (look for 6 edge-disjoint spanning trees) 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
6|V| - 6 Pebble Game Algorithm Assign 6 |E′|≤ |V′| – 6 6 pebbles (degrees of freedom) to each vertex |E| = 6|V| – 6 |E′|≤ 6|V′| – 6
6|V| - 6 Pebble Game Algorithm |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| – 6 |E′|≤ 6|V′| – 6
6|V| - 6 Pebble Game Algorithm Cover edge with any of the 12 free pebbles from endvertices, orienting the edge accordingly! Edge (constraint) removes a DOF |E′|≤ 6|V′| – 6
|E′|≤ 6|V′| – 6 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 … Later stage Less than 7 free pebbles available at ends!
|E′|≤ 6|V′| – 6 Found 7 th free pebble Search for the 7 th pebble by following the directed path
|E′|≤ 6|V′| – 6 7 pebbles on the ends pebble is swapped Edge stays covered
|E′|≤ 6|V′| – 6 Place pebble on the edge
… Later stage One more edge to test! Less than 7 free pebbles available at ends! |E′|≤ 6|V′| – 6
|E′|≤ 6|V′| – 6 Found 7 th free pebble Search for the 7 th pebble by following the directed path
|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)
|E′|≤ 6|V′| – 6 “Draw” (reverse) free pebble back along the path (i. e. sequence of swaps)
|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) |E| = 6|V| – 6 Isostatic (minimally rigid) |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 7 th free pebble: follow directed path
• Search for 7 th free pebble: follow directed path
Failed search: 7 th free pebble is not found
Edge is redundant Failed search: 7 th free pebble is not found
Failed search: Edge is redundant |E| = 6|V| – 6 |E′|≤ 6|V′| – 6 7 th free pebble is not found Rigid region Flexible 11 free pebbles: 6 trivial DOF + 5 internal (extra) DOF Behaves like a rigid body (ring of size five)
Some observations, comments … Play A • Pebble game is a greedy algorithm • Location of redundant edges is not unique • We can always recover (draw) 6 free pebbles back to any vertex (body) (* Useful fact for proofs) 11 free pebbles Play B • Many nice properties, theorems, … • Very fast - a multigraph with 100 000 vertices (atoms) takes seconds to analyze O(|E||V|) (in practice scales linearly) 11 free pebbles
Output of FIRST (6|V| - 6 pebble game) on selected proteins HIV Protease (pdb code: 1 hhp) 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: 1 igt)
• 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/body. Bar/ (Audrey Lee)
Thank you.
- Slides: 58