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

Post on 26-Dec-2015

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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.

top related