pebble game algorithm demonstration 2|v| - 3, 6|v| - 6 adnan sljoka

58
Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Upload: tabitha-black

Post on 26-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Pebble Game Algorithm Demonstration

2|V| - 3, 6|V| - 6

Adnan Sljoka

Page 2: 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

Page 3: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

• 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)

Page 4: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

2|V| - 3 Pebble Game Algorithm Demonstration

|E|=2|V| – 3

|E′|≤2|V′| – 3

Page 5: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

|E′|≤2|V′| – 3

Assign 2 pebbles (degrees of freedom-DOF) to each vertex

2|V| - 3 Pebble Game Algorithm Demonstration

Page 6: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

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

Page 7: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

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

Page 8: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

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

Page 9: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

2|V| - 3 Pebble Game Algorithm Demonstration

… Continue covering edges (one by one) with 4 pebble on the ends

|E′|≤2|V′| – 3

Page 10: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

2|V| - 3 Pebble Game Algorithm Demonstration

|E′|≤2|V′| – 3

… Continue covering edges (one by one) with 4 pebble on the ends

Page 11: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

2|V| - 3 Pebble Game Algorithm Demonstration

|E′|≤2|V′| – 3

… Continue covering edges (one by one) with 4 pebble on the ends

Page 12: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Need four pebbles on the ends.

Have only 3.

2|V| - 3 Pebble Game Algorithm Demonstration

|E′|≤2|V′| – 3

Page 13: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Found free pebble!

2|V| - 3 Pebble Game Algorithm Demonstration

Search for the 4th pebble by following the directed path

|E′|≤2|V′| – 3

Page 14: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

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

Page 15: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

2|V| - 3 Pebble Game Algorithm Demonstration

|E′|≤2|V′| – 3

Page 16: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Later stage …

2|V| - 3 Pebble Game Algorithm Demonstration

|E′|≤2|V′| – 3

Page 17: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Need four pebbles

Later stage …

One more edge to test!

2|V| - 3 Pebble Game Algorithm Demonstration

|E′|≤2|V′| – 3

Page 18: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

2|V| - 3 Pebble Game Algorithm Demonstration

|E′|≤2|V′| – 3

Reversing pebbles

Page 19: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

2|V| - 3 Pebble Game Algorithm Demonstration

|E′|≤2|V′| – 3

Reversing pebbles …

Page 20: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

2|V| - 3 Pebble Game Algorithm Demonstration

|E′|≤2|V′| – 3

Reversing pebbles …

Page 21: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

2|V| - 3 Pebble Game Algorithm Demonstration

|E′|≤2|V′| – 3

Reversing pebbles …

Page 22: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

2|V| - 3 Pebble Game Algorithm Demonstration

|E′|≤2|V′| – 3

Reversing pebbles …

Page 23: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Failed search

Could not find fourth free pebble

|E′|≤2|V′| – 3

2|V| - 3 Pebble Game Algorithm Demonstration

Page 24: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

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

Page 25: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

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!

Page 26: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

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)

Page 27: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

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

Page 28: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

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

Page 29: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

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

Page 30: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

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

Page 31: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Continue covering edges (one by one) with 7 pebble on the ends

|E′|≤6|V′| – 6

Page 32: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

… Continue covering edges (one by one) with 7 pebble on the ends

|E′|≤6|V′| – 6

Page 33: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Less than 7 free pebbles available at ends!

… Later stage|E′|≤6|V′| – 6

Page 34: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Found 7th free pebble

Search for the 7th pebble by following the directed path

|E′|≤6|V′| – 6

Page 35: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

pebble is swapped Edge stays covered

|E′|≤6|V′| – 6

7 pebbles on the ends

Page 36: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Place pebble on the edge

|E′|≤6|V′| – 6

Page 37: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

… Later stage

One more edge to test!

Less than 7 free pebbles available at ends!

|E′|≤6|V′| – 6

Page 38: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Found 7th free pebble

Search for the 7th pebble by following the directed path

|E′|≤6|V′| – 6

Page 39: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

|E′|≤6|V′| – 6

“Draw” (reverse) free pebble along the path (i.e. sequence of swaps)

Page 40: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

|E′|≤6|V′| – 6

“Draw” (reverse) free pebble back along the path (i.e. sequence of swaps)

Page 41: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

“Draw” (reverse) free pebble back along the path (i.e. sequence of swaps)

|E′|≤6|V′| – 6

Page 42: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

|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)

Page 43: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

All edges are successfully pebbled!

6 remaining free pebbles (6 trivial DOF)

Isostatic (minimally rigid)

|E| = 6|V| – 6

|E′|≤6|V′| – 6

Page 44: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

6|V| - 6 Pebble Game Algorithm

More interesting example …

Multigraph G = (V, E)

Page 45: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Test edges one by one

Page 46: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

… Later stage of the algorithm

So far all edges are covered (pebbled) successfully

One more edge to test

Page 47: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Need seven free pebbles on ends

Page 48: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

• Search for 7th free pebble: follow directed path

Page 49: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

• Search for 7th free pebble: follow directed path

Page 50: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Failed search: 7th free pebble is not found

Page 51: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Failed search: 7th free pebble is not found

Edge is redundant

Page 52: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

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

Page 53: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

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

Page 54: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Output of FIRST (6|V| - 6 pebble game) on selected proteins

HIV Protease (pdb code: 1hhp)

Rigid region (cluster) decomposition

Page 55: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

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.

Page 56: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

As computational cost is negligible, use FIRST (the 6|V| - 6 pebble game algorithm) on any size protein.

Immunoglobulin (pdb: 1igt)

Page 57: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

• 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)

Page 58: Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 Adnan Sljoka

Thank you.