Pebble Game Algorithm Demonstration

Slides:



Advertisements
Similar presentations
Great Theoretical Ideas in Computer Science
Advertisements

A. S. Morse Yale University University of Minnesota June 4, 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A.
22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3.
Walks, Paths and Circuits Walks, Paths and Circuits Sanjay Jain, Lecturer, School of Computing.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
1 Discrete Structures & Algorithms Graphs and Trees: III EECE 320.
A survey of some results on the Firefighter Problem Kah Loon Ng DIMACS Wow! I need reinforcements!
Independence Conditions for Point-Line-Position Frameworks John Owen and Steve Power.
CompSci 102 Discrete Math for Computer Science April 19, 2012 Prof. Rodger Lecture adapted from Bruce Maggs/Lecture developed at Carnegie Mellon, primarily.
Infinitesimal rigidity of panel-hinge frameworks
How should we define corner points? Under any reasonable definition, point x should be considered a corner point x What is a corner point?
Rigidity Theory and Some Applications Brigitte Servatius WPI This presentation will probably involve audience discussion, which will create action items.
A Fairy Tale of Greedy Algorithms Yuli Ye Joint work with Allan Borodin, University of Toronto.
Great Theoretical Ideas in Computer Science.
Online Ramsey Games in Random Graphs Reto Spöhel Joint work with Martin Marciniszyn and Angelika Steger.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
A COMPLEX NETWORK APPROACH TO FOLLOWING THE PATH OF ENERGY IN PROTEIN CONFORMATIONAL CHANGES Del Jackson CS 790G Complex Networks
1 Spanning Trees Lecture 20 CS2110 – Spring
Greedy Algorithms for Matroids Andreas Klappenecker.
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
Online Graph Avoidance Games in Random Graphs Reto Spöhel Diploma Thesis Supervisors: Martin Marciniszyn, Angelika Steger.
What is the next line of the proof? a). Let G be a graph with k vertices. b). Assume the theorem holds for all graphs with k+1 vertices. c). Let G be a.
Approximation Algorithm: Iterative Rounding Lecture 15: March 9.
Rigidity and Persistence of Directed Graphs
Network Localization CPSC 436/EENG 460 Guest Lecture David Goldenberg Oct 7, 2004.
1 Global Rigidity R. Connelly Cornell University.
Chapter 4: Straight Line Drawing Ronald Kieft. Contents Introduction Algorithm 1: Shift Method Algorithm 2: Realizer Method Other parts of chapter 4 Questions?
Randomness in Computation and Communication Part 1: Randomized algorithms Lap Chi Lau CSE CUHK.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
22C:19 Discrete Math Graphs Spring 2014 Sukumar Ghosh.
Pebble games for rigidity Overview. The game of pebbling was first suggested by Lagarias and Saks, as a tool for solving a particular problem in number.
GRAPH Learning Outcomes Students should be able to:
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
7 Graph 7.1 Even and Odd Degrees.
Protein Flexibility Predictions
Dijkstra’s Algorithm. Announcements Assignment #2 Due Tonight Exams Graded Assignment #3 Posted.
Edge-disjoint induced subgraphs with given minimum degree Raphael Yuster 2012.
Prims’ spanning tree algorithm Given: connected graph (V, E) (sets of vertices and edges) V1= {an arbitrary node of V}; E1= {}; //inv: (V1, E1) is a tree,
Pebble game extensions- Detecting relevant regions, protein hinge motions, allostery … Adnan Sljoka, York University Work with Walter Whiteley.
Adnan Sljoka KGU/CREST, Japan How to inductively construct floating body-hinge / molecular Assur graphs?
Greedy Algorithms and Matroids Andreas Klappenecker.
Techniques for Proving NP-Completeness Show that a special case of the problem you are interested in is NP- complete. For example: The problem of finding.
Introduction to Graph Theory
The countable character of uncountable graphs François Laviolette Barbados 2003.
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
Conjectures Resolved and Unresolved from Rigidity Theory Jack Graver, Syracuse University SIAM conference on DISCRETE MATHEMATICS June 18-21, Dalhousie.
The Dominating Set and its Parametric Dual  the Dominated Set  Lan Lin prepared for theory group meeting on June 11, 2003.
Minimum Spanning Trees CS 146 Prof. Sin-Min Lee Regina Wang.
Role of Rigid Components in Protein Structure Pramod Abraham Kurian.
1 Latency-Bounded Minimum Influential Node Selection in Social Networks Incheol Shin
Graph Algorithms Maximum Flow - Best algorithms [Adapted from R.Solis-Oba]
FlexWeb Nassim Sohaee. FlexWeb 2 Proteins The ability of proteins to change their conformation is important to their function as biological machines.
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Topics in Rigidity Theory from the Aspect of Assur Graphs Offer Shai - Rigid structures are compositions of cycles of atoms (Assur Graphs) - The main.
Introduction to Graph Theory
1 Finding a decomposition of a graph T into isomorphic copies of a graph G is a classical problem in Combinatorics. The G-decomposition of T is balanced.
Great Theoretical Ideas in Computer Science for Some.
Information and Control Architectures for Formation Maintenance Swarming in Natural and Engineered Systems Workshop Brian DO Anderson (work involves others)
COMPSCI 102 Introduction to Discrete Mathematics.
Computational Algorithm for Determining the Generic Mobility of Floating Planar and Spherical Linkages Offer Shai Mechanical Engineering School, Tel-Aviv.
Week 11 - Wednesday.  What did we talk about last time?  Graphs  Paths and circuits.
Proceedings of the ASME 2012 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference IDETC/CIE 2012.
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
Proof technique (pigeonhole principle)
CHECKING MOBILITY AND DECOMPOSITION OF LINKAGES
What is the next line of the proof?
On the effect of randomness on planted 3-coloring models
Discrete Mathematics for Computer Science
Richard Anderson Lecture 5 Graph Theory
Presentation 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 … 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 |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) 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

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

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-hinge structures 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

Need seven pebbles on the ends! (6 pebbles (DOF) are always present) 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)

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

Edge is redundant Failed search: 7th free pebble is not found

7th free pebble is not found Edge is redundant |E| = 6|V| – 6 |E′|≤6|V′| – 6 Failed search: 7th free pebble is not found Rigid region Flexible Behaves like a rigid body (ring of size five) Failed search region is a rigid region 11 free pebbles: 6 trivial DOF + 5 internal (extra) DOF 6 trivial DOF + 5 internal (extra) DOF

Some observations, comments …  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, … This is just so that you can get a better feel for the pebble game algorithm Very fast - a multigraph with 100 000 vertices (atoms) takes seconds to analyze  O(|E||V|) (in practice scales linearly) 11 free pebbles

HIV Protease (pdb code: 1hhp) 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 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.