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

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

1 / 58
Pebble Game Algorithm Demonstration 2|V| - 3, 6|V| - 6

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

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

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

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

3. 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

4. 2|V| - 3 Pebble Game Algorithm Demonstration |E|=2|V| – 3 |E′|≤2|V′| – 3

5. 2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤2|V′| – 3 Assign 2 pebbles (degrees of freedom-DOF) to each vertex

6. 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

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

8. 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.

9. 2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤2|V′| – 3 … Continue covering edges (one by one) with 4 pebble on the ends

10. 2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤2|V′| – 3 … Continue covering edges (one by one) with 4 pebble on the ends

11. 2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤2|V′| – 3 … Continue covering edges (one by one) with 4 pebble on the ends

12. 2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤2|V′| – 3 Need four pebbles on the ends. Have only 3.

13. 2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤2|V′| – 3 Found free pebble! Search for the 4th pebble by following the directed path

14. 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!

15. 2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤2|V′| – 3

16. 2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤2|V′| – 3 Later stage …

17. 2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤2|V′| – 3 One more edge to test! Need four pebbles Later stage …

18. 2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤2|V′| – 3 Reversing pebbles

19. 2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤2|V′| – 3 Reversing pebbles …

20. 2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤2|V′| – 3 Reversing pebbles …

21. 2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤2|V′| – 3 Reversing pebbles …

22. 2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤2|V′| – 3 Reversing pebbles …

23. 2|V| - 3 Pebble Game Algorithm Demonstration |E′|≤2|V′| – 3 Failed search Could not find fourth free pebble

24. 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.

25. 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

26. 6|V| - 6 count has important applications • 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.

27. 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.

28. |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

29. |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

30. 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

31. |E′|≤6|V′| – 6 Continue covering edges (one by one) with 7 pebble on the ends

32. |E′|≤6|V′| – 6 … Continue covering edges (one by one) with 7 pebble on the ends

33. |E′|≤6|V′| – 6 … Later stage Less than 7 free pebbles available at ends!

34. |E′|≤6|V′| – 6 Found 7th free pebble Search for the 7th pebble by following the directed path

35. |E′|≤6|V′| – 6 7 pebbles on the ends pebble is swapped Edge stays covered

36. |E′|≤6|V′| – 6 Place pebble on the edge

37. |E′|≤6|V′| – 6 … Later stage One more edge to test! Less than 7 free pebbles available at ends!

38. |E′|≤6|V′| – 6 Found 7th free pebble Search for the 7th pebble by following the directed path

39. |E′|≤6|V′| – 6 “Draw” (reverse) free pebble along the path (i.e. sequence of swaps)

40. |E′|≤6|V′| – 6 “Draw” (reverse) free pebble back along the path (i.e. sequence of swaps)

41. |E′|≤6|V′| – 6 “Draw” (reverse) free pebble back along the path (i.e. sequence of swaps)

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

43. All edges are successfully pebbled! 6 remaining free pebbles (6 trivial DOF) Isostatic (minimally rigid) |E| = 6|V| – 6 |E′|≤6|V′| – 6

44. 6|V| - 6 Pebble Game Algorithm More interesting example … Multigraph G = (V, E)

45. Test edges one by one

46. … Later stage of the algorithm So far all edges are covered (pebbled) successfully One more edge to test

47. Need seven free pebbles on ends

48. Search for 7th free pebble: follow directed path

49. Search for 7th free pebble: follow directed path