mathematics & statistics | smith collegerhaas/pebbles-mathfest.pdfcreated date 7/19/2005 4:53:30...
TRANSCRIPT
Graphs, Trees
Pebbles, Robots
1
Outline
I. Robot Arms.
II. Rigid Graphs.
III. Characterizations of minimally rigid graphs.
IV. Trees, Arboricity and Characterizations.
V. The Pebbling Algorithm.
VI. Applications: (a) Rigid Components.
2
I. Robot arms and the Carpenter’s Rule Problem.
Can a robot arm be straightened?(bent?)
Given a planar embedding of a path can it be straightened
(without crossing)?
3
What about moving one embedding of a graph to another?
Trees?
4
5
Trees can Lock!
(Beidl, Demaine, Demaine, Lubiw, O’Rourke, Overmans,
Robbins, Streinu)
5
Can any planar embedding of Cn be convexified?
6
Can any planar embedding of Cn be convexified?
Yes! Connelly, Demaine, Rote; nicer algorithm by Streinu (2000).
6
II. Rigidity of Graphs
u uuLLLLLL uu u
u#
##
##
!!!!! uu
uuu
uu
����
����
@ �
@
Construct the graph G in R2 using inflexible bars for the edges
and rotatable joints for the vertices. This immersion is rigid if the
only motions of this structure are trivial (rotations and
translations).
7
A non-rigid object:
17
Examples of flexible structures
8
A non-rigid object:
18
Examples of flexible structures
8
A non-rigid object:
19
Examples of flexible structures
20
Examples of flexible structures
8
A non-rigid object:
20
Examples of flexible structures
21
Examples of flexible structures
8
A non-rigid object:
21
Examples of flexible structures
8
Intuition: How many edges are necessary to make a rigid body
with V vertices?
u-6 u-6u-6 u-6
u-6 u-6
Total degrees of freedom: 2V .
E.g. variables {xi , yi } for each vertex i.
9
Intuition: How many edges are necessary to make a rigid body
with V vertices?
u-6 u-6u-6 u-6
u- u-6�
��
Total degrees of freedom: 2V .
Adding an edge can remove a degree of freedom.
E.g. variables {xi , yi } for each vertex i.
Constraint√
(x j − xi )2 + (y j − yi )2 = c
9
Possible Positions
For each edge have an equation:√(x j − xi )2 + (y j − yi )2 = c
or (x j − xi )2+ (y j − yi )
2= c2
u uuu
������DDDDDDA
A�� u u
u
u������DDDDDD�
�AA
10
Possible Motions
Take the derivative:
ddt Position: d
dt
((x j − xi )
2+ (y j − yi )
2= c2
)
2(x j − xi )(x ′
j − x ′
i ) + 2(y j − yi )(y ′
j − y ′
i ) = 0
Solve for x ′
i and y ′
i .
Now have a system of equations with 2V variables and E
equations.
11
In the end you will still be able to translate and rotate.
-
6
u uuLLLLLL
u uuLLLLLL
-
6
-
6
uu u!!!!!
Thus, if G is rigid in R2 then E ≥ 2V − 3.
12
A graph is rigid in R2 if some embedding of it is.
Turns out, if some embedding is rigid then most are.
u uu uLLLLLL
HHH
H
u uu uLLLLLL
��
��
u uuu
������DDDDDDA
A��
So we can hope for COMBINATORIAL characterizations
13
Aside: When the vertices are not in general position, can get
non-rigid embedding. (rigid but not infinitesimally rigid)
We’ll be concerned with vertices in general position. (Generic
Rigidity)
14
A graph is minimally rigid in R2 if removing any edge results in a
graph that is not rigid.
u uu uLLLLLL
HHH
H
��
��
u uu uLLLLLL
��
��
HHHH
u uuu
������DDDDDDA
A��
These are not minimally rigid.
15
Theorem (Laman, 1970) A graph is minimally rigid if and only if
EG = 2VG − 3 and for any subgraph H with at least 2 vertices,
EH ≤ 2VH − 3.
u uu uLLLLLL
HHHH
V = 4 then
E = 2 ∗ 4 − 3 = 5
16
Theorem (Laman, 1970) A graph is minimally rigid if and only if
EG = 2VG − 3 and for any subgraph H with at least 2 vertices,
EH ≤ 2VH − 3.
u uu uLLLLLL
HHHH
u uu uLLLLLL
HHHH
u�
��
�
V = 4 then V = 5 then
E = 2 ∗ 4 − 3 = 5 E = 2 ∗ 5 − 3 = 7
16
Theorem (Laman, 1970) A graph is minimally rigid if and only if
EG = 2VG − 3 and for any subgraph H with at least 2 vertices,
EH ≤ 2VH − 3.
u uu uLLLLLL
HHH
H
u uu uLLLLLL
HHHH
u�
��
�
u uu uLLLLLL
HHHH
u,
,,
,,
,
V = 4 then V = 5 then
E = 2 ∗ 4 − 3 = 5 E = 2 ∗ 5 − 3 = 7
16
Rigidity in 3-d.
Now every vertex has 3 degrees of freedom.
17
Rigidity in 3-d.
Now every vertex has 3 degrees of freedom.
There are 6 independent translations and rotations in R3
18
Rigidity in 3-d.
Now every vertex has 3 degrees of freedom.
There are 6 independent translations and rotations in R3
Theorem: If a graph is minimally rigid in R3 then EG = 3VG − 6
and for any subgraph H with at least 2 vertices, EH ≤ 3VH − 6.
19
Rigidity in 3-d.
Now every vertex has 3 degrees of freedom.
There are 6 independent translations and rotations in R3
Theorem: If a graph is minimally rigid in R3 then EG = 3VG − 6
and for any subgraph H with at least 2 vertices, EH ≤ 3VH − 6.
Converse is false...
20
21
III. Characterizations of minimally rigid graphs.
Theorem (Laman, 1970) A graph is minimally rigid if and only if
EG = 2VG − 3 and for any subgraph H with at least 2 vertices,
EH ≤ 2VH − 3.
uu
uuu
uu
����
����
@ �
@
Algorithm? Not very efficient...
22
Theorem (Laman, 1970) A graph is minimally rigid if and only if
EG = 2VG − 3 and for any subgraph H with at least 2 vertices,
EH ≤ 2VH − 3.
Trees
Trees are minimally connected graphs.
Theorem G is a tree if and only if EG = VG − 1 and for any
subgraph H with at least 2 vertices, EH ≤ VH − 1.
2V − 3 = 2(V − 1) − 1
23
Characterizations of minimally rigid graphs.
Theorem (Lovasz - Yemini, 1982) A graph is minimally rigid if
and only if adding any edge (including doubling an existing edge)
results in a graph that is two edge-disjoint spanning trees.
uu
uuu
uu
����
����
@ �
@ uu
uuu
uu
����
����
@ �
@��
��
Algorithm? Edmonds Matroid Partitioning Algorithm
-polynomial in V, E. Run it C(n,2) times!
24
Characterizations of minimally rigid graphs.
Theorem (Crapo, 1992) A graph is minimally rigid if and only if
its edges are the disjoint union of 3 trees such that each vertex is
incident with exactly 2 trees and in any subgraph the trees have
different spans.
uu
uuu
uu
����
����
@ �
@ uu
uuu
uu
����
����
@ �
@
This characterization can be tested in one application of a
modified Matroid partitioning algorithm.
25
Characterizations of minimally rigid graphs.
Theorem (Henneberg, 1860): A graph is minimally rigid if and
only if it can be constructed using a Henneberg 2-sequence.
26
Begin with the graph consisting of 2 vertices and a single edge.
1. Add a new vertex of degree 2.
27
Begin with the graph consisting of 2 vertices and a single edge.
1. Add a new vertex of degree 2.
27
Begin with the graph consisting of 2 vertices and a single edge.
1. Add a new vertex of degree 2.
27
Begin with the graph consisting of 2 vertices and a single edge.
1. Add a new vertex of degree 2.
27
Begin with the graph consisting of 2 vertices and a single edge.
1. Add a new vertex of degree 2.
27
2. Delete an edge {v1, v2}, and add a new vertex v adjacent to
each of {v1, v2} adjacent to any additional vertex.
28
2. Delete an edge {v1, v2}, and add a new vertex v adjacent to
each of {v1, v2} adjacent to any additional vertex.
28
2. Delete an edge {v1, v2}, and add a new vertex v adjacent to
each of {v1, v2} adjacent to any additional vertex.
28
2. Delete an edge {v1, v2}, and add a new vertex v adjacent to
each of {v1, v2} adjacent to any additional vertex.
28
2. Delete an edge {v1, v2}, and add a new vertex v adjacent to
each of {v1, v2} adjacent to any additional vertex.
28
2. Delete an edge {v1, v2}, and add a new vertex v adjacent to
each of {v1, v2} adjacent to any additional vertex.
28
2. Delete an edge {v1, v2}, and add a new vertex v adjacent to
each of {v1, v2} adjacent to any additional vertex.
28
2. Delete an edge {v1, v2}, and add a new vertex v adjacent to
each of {v1, v2} adjacent to any additional vertex.
28
The characterizations of minimally rigid graphs in the plane.
Theorem The following are equivalent.
1. EG = 2VG − 3 and every subgraph, H, with VH ≥ 2,
EH ≤ 2VH − 3 = 2(VH − 1) − 1
2. Adding any one edge to G results in a graph that can be
decomposed into 2 spanning trees.
3. G can be decomposed into 3 trees such that each vertex is
incident with exactly 2 trees.
4. G can be obtained from a single edge by Henneberg
construction.
5. G is minimally rigid in the plane.
29
IV. Trees, Arboricity and Characterizations
• Trees are minimally connected graphs.
• Trees have n − 1 edges.
Given a (multi-)graph G, can the edges of G be partitioned into k
spanning trees? For what k?
Forests
• Forests are acyclic graphs with at most n − 1 edges.
Given a graph G, for what k can the edges of G be partitioned
into k forests?
Equivalently, if EG = k(VG − 1) − l does there exist l edges that
can be added to G to form a graph whose edges can be
partitioned into k spanning trees?
30
Nash-Williams defined:
The arboricity of the graph G is the minimum number of forests
into which the edges of G can be partitioned.
Theorem(Nash-Williams, Tutte ’64): A graph G, has arboricity
≤ k if and only if for all subgraphs H ⊂ G
EH ≤ k(VH − 1).
The Matroid Partitioning Algorithm (Edmonds) produces the k
forests or shows that k is not sufficient, in polynomial time.
31
Graphs for which adding some l edges results in k spanning trees.
Theorem The following are equivalent for a graph G, and
integers k > 0 and l ≥ 0.
1. EG = k(VG − 1) − l , and for subgraphs H ⊂ G with at least
2 vertices EH ≤ k(VH − 1).
2. There exist some l edges which when added to G results in a
graph that can be decomposed into k spanning trees.
3. G can be decomposed into k + l trees such that each vertex is
incident with exactly k trees.
4. G can be constructed using Henneberg type construction.
32
Graphs for which adding any l edges results in k spanning trees.
Theorem The following are equivalent for a graph G, and
integers k > 0 and 0 ≤ l < k.
1. EG = k(VG − 1) − l , and for subgraphs H ⊂ G with at least
2 vertices EH ≤ k(VH − 1) − l .
2. Adding any l edges to G results in k spanning trees.
3. G can be decomposed into k + l trees such that each vertex is
incident with exactly k trees, such that any subgraph H
contains at least k + l subtrees as well.
4. G can be constructed using Henneberg type construction.
33
Nice theorems, not so nice algorithms.
Best algorithm for determining if a graph is the union of k-trees
and some related problems.
Gabow and Westermann ’88 O((km)3/2)
34
V. The Pebbling Algorithm.
First developed for basic rigidity problem by Hedrickson and
Jacobs ’97.
New version by Lee and Streinu. O((kn)2)
Determines if a given graph is the disjoint union of k trees.
(or related conditions)
35
Pebbling Algorithm (Streinu & Lee):
Basic algorithm to determine if a given graph is the disjoint
union of k trees.
• Place k pebbles on each vertex.
• Accept an edge if there are at least k + 1 pebbles total at its
ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can be moved against directed edges, and then edges
reversed.
• If can add all edges and end with k pebbles then YES k-trees.
36
k = 3 example
• Place k pebbles on each vertex.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
37
k = 3 example
• Accept an edge if at least k + 1 pebbles at its ends.
• Delete one pebble and orient edge away from that vertex.
• Pebbles can move against directed edges, then edges reversed.
• If can add all edges and end with k pebbles then YES k-trees.
37
Add some s for k-trees Algorithm.
The (k, k + 1) pebble game.
• Place k pebbles on each vertex.
• Accept an edge if there are at least k + 1 pebbles total at its
ends.
• If can add all edges and end with k + s then YES.
Determines whether this is a graph for which adding some s
edges gives a graph that is the disjoint union of k spanning trees.
38
Rigidity Algorithm.
The (2, 4) pebble game.
• Place 2 pebbles on each vertex.
• Accept an edge if there are at least 4 pebbles total at its ends.
• If can add all edges and end with 3 pebbles then YES
minimally rigid.
Determines whether this is a graph for which
adding any edge results in a graph that is the disjoint union of 2
spanning trees.
39
General Algorithm.
The (k, k + 1 + r ) pebble game.
• Place k pebbles on each vertex.
• Accept an edge if there are at least k + 1 + r pebbles total at
its ends.
• If can add all edges and end with k + r then YES.
Determines whether this is a graph for which
adding any r edges results in a graph that is the disjoint union of
k spanning trees.
40
General Algorithm.
The (k, k + 1 + r ) pebble game.
• Place k pebbles on each vertex.
• Accept an edge if there are at least k + 1 + r pebbles total at
its ends.
• If can add all edges and end with k + r + s then YES.
Determines whether this is a graph for which
adding some s edges gives a graph for which
adding any r edges results in a graph that is the disjoint union of
k spanning trees.
40
VI. Applications: (a)Rigid Components.
If a graph does not represent a rigid body, what motions does it
allow? The pebble game can find rigid components.
41
In a rigid component for each pair of vertices can have 2 pebbles
on one and 1 on the other and no more.
These are in the same rigid component.
42
In a rigid component for each pair of vertices can have 2 pebbles
on one and 1 on the other and no more.
These are NOT in the same rigid component.
(The algorithm updates the components as edges are added so is
efficient.)
43
In a rigid component for each pair of vertices can have 2 pebbles
on one and 1 on the other and no more.
The rigid components.
44
In a rigid component for each pair of vertices can have 2 pebbles
on one and 1 on the other and no more.
The rigid components.
45
In a rigid component for each pair of vertices can have 2 pebbles
on one and 1 on the other and no more.
The rigid components.
46
VI(b) Protein Folding (in 3-d)
Bonds between pairs of atoms often provide a stronger constraint
(lengths, angles).
Join together bodies not just points in space.
47
Body and bar frameworks
Theorem (Tay) A body and bar framework in d space is
generically minimally rigid if the corresponding graph
decomposes into d(d-1)/2 edge disjoint spanning trees.
Theorem(Tay) A body and hinge framework is generically
minimally rigid if the corresponding graph satisfies
E = k(V − 1) − 1 and EH ≤ k(VH − 1) − 1 . (For
k = d(d + 1)/2 − 1)
-The pebble game tests for these.
48
Basic Rigidity:
Graver, Jack; Servatius, Brigitte; Servatius, Herman Combinatorial rigidity.
Graduate Studies in Mathematics, 2. AMS 1993.
Robot Arms and Carpenters Rule:
Ileana Streinu, A Combinatorial Approach to Planar Non-Colliding Robot Arm
Motion Planning in Proc. 41st ACM (FOCS) 2000, pp. 443-453.
Arboricity and Trees
R Haas, Characterizations of arboricity of graphs. Ars Combinatorica, 63:129 -
137, 2002.
Pebble Games
Audrey Lee, Ileana Streinu, Pebble Game Algorithms or Body-and-Bar Rigidity
preprint Smith College.
Application to Protein Flexibility
Donald J. Jacobs, A.J. Rader, M.F. Thorpe, and Leslie A. Kuhn. Protein flexibilty
predictions using graph theory. Proteins 44, 150-165, 2001.
49
Convexification Problem:
Add extra edges so that the object has restricted motion.
Use pseudotriangles.
50
A pseudotriangle has 3 convex corners:
51
A pseudotriangulation is an embedding of a planar graph in
which all interior faces are pseudotriangle. The exterior face is
convex.
52
Theorem: Minimal pseudotriangulations are minimally rigid.
Pseudotriangulations provide stucture to convexify embedded
cycles.
53
Algorithm for Convexifying:
54
Algorithm for Convexifying:
Pseudotriangulate the polygon, including hull edges.
55
Remove one hull edge. Now have one-degree of freedom and its
an expansive motion.
Open the object.
56
Repeat.
http://cs.smith.edu/ streinu/Research/Motion/motion.html
http://cs.smith.edu/ streinu/Research/Motion/Animation/mech1a.html
57