Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6

1 / 58

# Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6 - PowerPoint PPT Presentation

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 …. This is basically saying is that we need |E|=2|V| – 3 independent Rows in the rigidity matrix.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6' - jana

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Pebble Game Algorithm Demonstration

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

Recall (from last week) the 2|V| - 3 counting condition for (generic) rigidity in 2D …

This is basically saying is that we need |E|=2|V| – 3 independent

Rows in the rigidity matrix

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.

(Generic) rigidity of the framework depends only on the graph - i.e. not concerned with positions of vertices, edge lengths

Rigidity of a graph G = (V, E)

|E|=2|V| – 3

Minimal number of edges needed

Condition that edges are independent (well-distributed) No edges are wasted!

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

• Minimally rigid: flexible after any edge (but no vertices) is removed.

|E′|>2|V′| – 3 (red subgraph has one extra (redundant) edge)

Remember that first order rigidity and rigidity are the same if we consider generic frameworks

|E|=2|V| – 3

|E|<2|V| – 3

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

• (Generic) rigidity of the framework depends only on the graph
• - i.e. not concerned with positions of vertices, edge lengths

minimally rigid

(all edges are independent)

Flexible

Not enough edges (constraints).

Counting in 2D (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)

The idea is to match pebbles or DOF with edges according to some specific rules

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 4th 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

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)

We now have all but four pebbles matched

to edges. The entire graph is still flexible.

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 3D! (3|V| - 6 count)

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!

|V|=8

|E|=18

|E|=3|V| –6,

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

Theorem: If a graph G = (V,E) is minimally rigid in 3D then

|E|=3|V| – 6 and for all subgraphs |E′|≤3|V′| – 6.

We don’t have any nice counting (combinatorial) characterizations for rigidity. In fact there are no no known polynomial-time algorithm for testing rigidity in 3-space

• based on Theorems and Conjectures developed by Tay and Whiteley for Body-Bar, Body-Hinge structures

Switch to a different structure(s) and nice counting condition (6|V| – 6 count) that works in 3-space

COUNT on a multigraph for (generic) rigidity where bodies (vertices) have 6 DOF

Body-bar / Body-hingestructures

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

Just to make sure you have a better understanding of the pebble game let us look at the pebble game for this specific count

hinge

6

6

• Hinges can be represented with 5 bars (body-bar structure)

I am basically skipping a whole lot of theory, so I can illustrate this other pebble game

• Extract a multigraph G* = (V, E)  vertices are bodies and 5 edges (bars) between pairs of vertices that share a hinge

5 bars

It has nice combinatorial features, just like in the plane for bar and joint frameworks, count edges and vertices in the graph

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.

There are these other structures in 3-space which have a complete combinatorial characterization of generic rigidity, just like in 2 space bar and joint frameworks.

The conjecture is that this count also works for molecules.

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

Ok, let’s see how we play the 6|V| - 6 pebble game algorithm, it is essentially the same, but it is still worth doing.

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

6|V| - 6 Pebble Game Algorithm

Assign 6 pebbles (degrees of freedom) to each vertex

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

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

6|V| - 6 Pebble Game Algorithm

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)

You could obviously have anywhere between 6 and 12

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

6|V| - 6 Pebble Game Algorithm

|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′| – 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 7th free pebble

Search for the 7th 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

|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

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

Isostatic (minimally rigid)

|E| = 6|V| – 6

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

6|V| - 6 Pebble Game Algorithm

More interesting example …

Multigraph G = (V, E)

… Later stage of the algorithm

So far all edges are covered (pebbled) successfully

One more edge to test

Edge is redundant

Edge is redundant

|E| = 6|V| – 6

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

Failed search:

Rigid region

Flexible

Behaves like a rigid body (ring of size five)

11 free pebbles: 6 trivial DOF + 5 internal (extra) DOF

6 trivial DOF +

5 internal (extra) DOF

 invariant number of pebbled edges (invariant total free pebbles)

• Pebble game is a greedy algorithm

Play A

• Location of redundant edges is not unique

Any edge in a failed search region could have been declared as redundant (not covered by the pebble)

If you could draw more, then you could insert an edge and remove a pebble (a degree of freedom) but it is rigid

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