Upload
luca-leston
View
223
Download
1
Embed Size (px)
Citation preview
Planar graphs
Algorithms and Networks
Planar graphs2
Planar graphs
• Can be drawn on the plane without crossings• Plane graph: planar graph, given together with an
embedding in the plane• Many applications…• Questions:
– Testing if a graph is planar
– Finding a nice drawing of a planar graph
– Solving problems for planar graphs
Planar graphs3
Some notions
• Faces
• Exterior face
• Interior faces
• Each edge is incident to 2 faces
Planar graphs4
The smallest graphs that are not planar
• K5, K3,3
Planar graphs5
Kuratowski / Wagner
• A graph is planar if and only if it does not contain the K5 and the K3,3 as a homeomorphic subgraph / as a minor.
• Minor: H is a minor of G, if H can be obtained from G by a series of 0 or more deletions of vertices, deletions of edges, and contraction of edges.
• Does not yield fast recognition algorithm!
Planar graphs6
Euler’s theorem
• Let G be a connected plane graph with n vertices, m edges, and f faces. Then n + f – m = 2.
• Proof. By induction. – True if m=0.
– If G has a circuit, then delete an edge and …
– If G has a vertex v of degree 1, then delete v and …
• …
Planar graphs7
Euler’s theoremCorollaries
• If G is a connected plane graph with no parallel edges and no self-loops, with n > 1, then m 3n-6.– Every face `has’ at least three edges; each edge
`is on’ two faces, or twice on the same face.
• Every plane graph with no parallel edges and no self-loops has a vertex of degree at most 5.
Planar graphs8
Duality
• The dual G* of a plane graph G– A vertex in G* for each face of G– An edge in G* when faces share an edge in G
Planar graphs9
Drawings of planar graphs
• Different types• Vertices are:
– Points in 2-dimensional space– Rectangles, other objects
• Edges are– Straight lines– Curves– Lines with bends– Adjacencies or intersections of objects
Usual modelUsual model
Planar graphs10
Drawing planar graphs
In steps:1. Test if G is planar, and
2. Find for each vertex, a clockwise ordering of its incident edges, such that these orderings allow a planar embedding, and then
3. Assign coordinates to vertices
Planar graphs11
Planarity testing: reduction to biconnected graphs
• First, suppose G is biconnected.– G is biconnected, if for each vertex v, G-v is connected.– A biconnected component of G is a maximal subgraph
that is biconnected.– A graph is planar, if and only if each of its biconnected
components is planar.• Each biconnected component can be drawn with any vertex on
its exterior face.• Build drawing of G by putting drawings of biconnected
components together.• Easier non-constructive argument: G has a K5 or K3,3 minor, iff
a biconnected component of G has such a minor.
Planar graphs12
Cycles with pieces
• Take a cycle C in G.• Divide edges not on C of G into classes:
– e and e’ in the same class if there is a path starting with e, ending with e’, using no vertices on C as intermediate points
– A class forms a piece.
• Pieces are– A single edge between two vertices on C
– A connected graph with at least one vertex not on C
Planar graphs13
Separating cycles
• A cycle is separating if it has at least two pieces.
• Plan:– Find separating cycle C (how?)– Test for each piece + C if it is planar (recursion)– Determine for each piece if it has to be drawn
inside or outside C (matching problem; details follow).
Planar graphs14
Finding a separating cycle
• Find a cycle C.
• If C separating: done.
• Otherwise, let P be the unique piece.
• If P is a path: G is planar: done.
• Otherwise:– Take two consecutive attachments v, w of P in the circular
ordering of C, and let Q be the part of C between the attachments without another attachment.
– Take a path R between v and w in P avoiding other attachments
– C – Q + R is a separating cycle
Planar graphs15
The interlacement graph
• Pieces can be `inside’ or `outside’ the cycle
• Build interlacement graph– Each piece is a vertex in interlacement graph– Pieces are adjacent, when they cannot be at the
same side (look to attachments)
Planar graphs16
Theorem
• Let C be a separating cycle in G. G is a planar graph, if and only if– For each piece P, C+P is planar.– The interlacement graph is bipartite.
Gives a polynomialtime algorithm!
Gives a polynomialtime algorithm!
Planar graphs17
Interlacement graph can be built in O(n2) time
• For each piece– Partition C into intervals with respect to
attachments– For each other piece
• Look whether all attachments are in the same interval
• If not, they conflict.
Planar graphs18
Algorithm
• Find a cycle C• Test if C is separating.• If not, use method to build separating cycle C’.• Find pieces of C’.• Build interlacement graph.• Test if interlacement graph is bipartite. If not: G is
not planar, stop.• Otherwise, test for each piece P, recursively, if
P+C’ is planar.
Planar graphs19
Time
• O(n3).
• Can be done faster: O(n) algorithms exist.
• Finding clockwise orderings of edges per vertex can also be done: several details…
Planar graphs20
Force directed methods
• Method for arbitrary graphs
• Uses physical analogy:– Force system– Method to find equilibrium state
• Advantages:– Relatively easy to understand and implement– Often reasonably nice results
Planar graphs21
Springs and electrical forces method
• Edges are springs
• Vertices repel each other
• Force on vertex:– fuv is force on spring
– guv is repelling force
Vu
uvEvu
uv gfvF},{
)(
Planar graphs22
Spring force
• Assume some `wanted length’ of an edge luv. (E.g., 1.)
• Spring wants to assume length luv; force is proportional to difference with luv.
• Choose some stiffness of the spring kuv.’• Force in x-direction is (y-direction similar):
),(
*),(},.{ vud
xxlvudk vu
Evuuvuv
Planar graphs23
Repelling force
• Vertices are repelling particles
• Follow inverse square law
• k’uv is strength of repulsion (choose some number, e.g., experimentally)
• Repelling force of v in x-direction:
vuVu
vuuv
vud
xx
vud
k
,2 ),(),(
' Similar in y-direction
Planar graphs24
Search for equilibrium
• Position where all vertices have a force of 0 towards them (sum of spring and repelling forces)
• Springs have lengths of edges go to desired length
• Repelling has vertices not too close together
Planar graphs25
Searching for equilibrium
• Numerical techniques• Simple algorithm:
– Take for each vertex a random position
– Repeat:• Compute for each vertex its force
• Move all vertices to new position depending on their forces
Until in sufficient rest
• Faster algorithms exist
Planar graphs26
Barycenter method
• Tutte, 1960
• Differences with force method– No repelling forces
– luv = 0
– Stiffness is 1– Vertices at exterior face get fixed positions
Planar graphs27
Force on a vertex
Evu
vu ppvF},{
)()(
Where pu is the position of u on the planeIf v is a free vertex
Planar graphs28
Finding equilibrium
• System of forces can be written as set of linear equations
• Fast converging algorithms
• For planar graphs, system can be solved in O(n1.5) time
Planar graphs29
Barycenter draw pseudocode
• Place all fixed vertices at corners of polygon around origin, and all free vertices on origin
• Repeat– For each free vertex v do
• x(v) = 1/degree(v) * ((u,v) in E) x(u)
• y(v) = 1/degree(v) * ((u,v) in E) y(u)
until sufficient convergence
Planar graphs30
Theorem of Tutte
• If G is a triconnected planar graph, then this method yields a planar drawing of G.– Assuming …– In practice, layers become smaller in the inside
• Generalizations with more complicated forces sometimes also have this property
• If G is not triconnected, then we can make it triconnected by adding edges
Planar graphs31
Grid drawings
• Many results on planar drawings, e.g.,
• Theorem (Schnyder, 1990) Every planar graph G has a plane drawing, such that– Each edge is a straight line– Vertices are mapped to pairs of integers in {0,1,
…,n – 2} * {0,1, …, n – 2}
Planar graphs32
Many other results
• Embeddings with small areas and few bends per edge
• Drawings where vertices are represented by rectangles with an edge if rectangles touch
• …