- By
**ama** - Follow User

- 136 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'Planar Orientations' - ama

**An Image/Link below is provided (as is) to download presentation**

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

Outline & Goal

- In this lesson we will deal with planar st-graphs (which will be explained later on).
- We will review several algorithms for representing a st-planar graph.
- We will also learn that by using those representations we can turn a st-planar graph, to a more specific shape (such as a polyline).

The goal of this lesson is simple: Which is to learn of ways to represent a st-graph in a more “useful” and “aesthetic” representation.

Numbering of Digraphs

- A topological numbering of G is an assignment of numbers to the vertices of G, such that, for every edge (u,v) of G, the number assigned to v is greater then the one assigned to u.

5

2

3

4

2

1

Numbering of Digraphs (2)

- A topological sorting is a topological numbering of G, such that every vertex is assigned a distinct integer between 1 and n.
- A topological sorting is unique if G has a directed path that visits every vertex.

6

5

3

4

2

1

Numbering of Digraphs (3)

- The following statements are equivalent:
- G is acyclic.
- G admits a topological numbering.
- G admits a topological sorting.

In other words a topological numbering (sorting) can be done only on an acyclic graph.

Planar Graph

- A planar graph is a graph which can be embedded in the plane, i.e., it can be drawn on the plane in such a way that its edges intersect only at their endpoints.

Faces

ST-Graph

- An acyclic digraph with a single source s and a single sink t is called an st-graph.

Sink “t” has no outgoing edges!

t

s

Source “s” has no incoming edges!

ST-Graph (2)

- Let G be an st-graph. The following simple properties hold:
- Given a topological numbering of G. every directed path of G visits with increasing numbers.
- For every vertex v of G, there exists a simple directed path from s (source) to t (sink) that contains v.

Planar ST-Graph

- A planar st-graph is an st-graph that is planar and embedded with vertices s and t on the boundary of the external face.

t

s

Planar ST-Graph (2)

- Let G be a planer st-graph and F be its set of faces. We conventionally assume that F contains two representatives for the external face:
- The “left external face” s*
- The “right external face” t*

s*

t*

Planar ST-Graph (3)

- For each edge e = (u,v), we define orig(e) = u and dest(e) = v.
- We define left(e) (resp. right(e)) to be the face to the left (resp. right) of e.

dest(e) = v

v

orig(e) = u

f1

left(e) = f1

e

u

left(e) = f2

f2

Planar ST-Graph Properties

- Lemma 1:Each face f of G consists of two directed paths with common origin called orig(f), and common destination called dest(f).
- Proof: Let f be a face of G for which the lemma is not true.

t

dest(f)

There must be a path from vertex u to the “sink” t

w

Since the graph is planar there must be

a node where the passes intersect

We receive a cycle!

u

There must be a path from the “source” s to vertex w

orig(f)

s

Planar ST-Graph Properties (2)

- Lemma 2: The incoming edges for each vertex of G appear consecutively around v, and so do the outgoing edges.
- Proof: The lemma holds trivially for the vertices s and t. Let v be any other vertex, and suppose for a contradiction, that there are edges (v,w0), (w1,v), (v,w2), (w3,v).

t

w0

w1

We now have a cycle!

v

x

w2

w3

s

Because every vertex in a st-graph has a simple path from “s” to “t” we add the following paths…

Because the graph is planar we add the vertex “x” to the graph.

Planar ST-Graph Properties (3)

- Since the incoming (outgoing) edges of each vertex of G appear consecutively we define the face separating the incoming edges from the outgoing edges in clockwise order, left(v), and the other separating face is called right(v).

Planar ST-Graph G*

- We define a digraph G* associated with planar st-graph G, as follows:
- The vertex set of G* is the set F of faces (recall that F has two representatives, s* and t*, of the external face.
- For every edge e != (s,t) of G, G* has an e* = (f,g) where f = left(e) and g = right(e).

left(e)

e

right(e)

Notice that G* is a planar st-graph as well

Lemma 3

- An element of is called an object of planar st-graph G.
- For vertex v, we define orig(v) = dest(v) = v.
- For a face f, we define left(f) = right(f) = f.

* Reminder we have already defined previously: left(v), right(v), left(e), right(e), orig(e), dest(e), orig(f) and dest(f).

Lemma 3 (2)

- Lemma 3: For any two objects o1 and o2 of a planar st-graph G, exactlyone of the following holds:
- G has a directed path from dest(o1) to orig(o2).
- G has a directed path from dest(o2) to orig(o1).
- G* has a directed path from right(o1) to left(o2).
- G* has a directed path from right(o2) to left(o2).

Tile

- A tile is a rectangle with sides parallel to the coordinate axes.
- A tilecan be unbounded or can degenerate to a segment or a point.
- Two tiles are horizontally (vertically) adjacent if they share a portion of a vertical (horizontal) side.

Tiles:

Vertically adjacent:

Tessellation Representation

- Let G be a planar st-graph. A tessellation representation Θ for G maps each object o of G into a tile Θ(o) such that:
- The interiors of tiles Θ(o1) and Θ(o2) are disjoint whenever o1 != o2.
- The union of all tiles Θ(o), is a rectangle.
- Tiles Θ(o1) and Θ(o2) are horizontally adjacent if and only if o1 = left(o2) or o1 = right(o2) or o2 = left(o1) or o2 = right(o1).
- Tiles Θ(o1) and Θ(o2) are vertically adjacent if and only if o1 = orig(o2) or o1 = dest(o2) or o2 = orig(o1) or o2 = dest(o1).

Tessellation Representation (2)

4

3

1

f

4

3

3

2

4

X(left(e)) = 0

X(left(f)) = 3

2

0

2

X(right(e)) = 1

X(right(f)) = 3

2

1

Y(orig(e)) = 0

Y(orig(f)) = 2

Y(dest(e)) = 2

Y(dest(f)) = 4

1

3

e

1

1

0

0

0

1

2

3

4

Tessellation Representation (3)

- The correctness of the algorithm is based on Lemma 3:
- Let there be tile t1 and tile t2, from Lemma 3 t1 is either: above t2, below t2, left of t2 or right of t2. And only one of this directions is true.
- Since each line of the algorithm is O(n), the total runtime of the algorithm is O(n).
- The size of the Tessellation Representation can be modified by modifying the topological numbering (e.g. increasing the numbering to be 0..2..4 instead of 0..1..2 will make a Tessellation Representation twice bigger).

Visibility Representation

- Let G be a planar st-graph. A visibility representation of G draws each vertex v as a horizontal segment, called vertex segment , and each edge (u,v) as vertical segment, called edge segment such that:
- The vertex segments do not overlap.
- The edge segments do not overlap.
- Edge-segment has its bottom end point on , its top end-point on , and does not intersect any other vertex segment.

Visibility Representation (5)

- The correctness of the algorithm By lemma 3 and the construction of the algorithm:
- Any two vertex segments are separated by a horizontal or vertical strip of at least unit width (The vertex segments do not overlap).
- Any two edge segments on opposite sides of a face are separated by a vertical strip of at least a unit width (The edge segments do not overlap).
- Each edge segments (u,v) has its bottom point intersecting with u vertex segment, and his upper point intersecting with v vertex segment (sufficing the 3rd condition).
- The runtime of the algorithm is O(n) since each step is O(n).

Constrained Visibility Representation

- Let G be a planar st-graph with n vertices. Two paths of π1 and π2 of G are said to be nonintersecting if:
- They are edge disjoint.
- And do not cross at common vertices.

π1

π2

π3

Constrained Visibility Representation (2)

- Given a collection ∏ of nonintersecting paths of G, we consider the problem of constructing a visibility representation Γ of G such that for every path π in ∏ we have the following constraint:
- Any two edges e’ and e’’ of π, the edge segments Γ(e’) and Γ(e’’) have the same x-coordinate.

Note: We assume that ∏ covers all the edges in graph G (Such that any edge who is not in any of the nonintersecting paths in the collection ∏, is a nonintersecting path himself in ∏).

Constrained Visibility Representation (4)

∏={π1, π2,π3,π4,π5, π6, π7, π8}

4

π8

3

π8

0

π7

0.5

2.5

π7

f6

f5

f6

f5

π6

π1

π6

2

3

1.5

1

-0.5

2

3.5

f4

2

f7

π1

π2

f4

f7

f1

2

π2

f1

1

f3

2.5

f3

f2

π5

π3

π4

f2

0.5

0

1

π3

π4

π5

3

1

0

Constrained Visibility Representation (5)

4

3

2

1

0

0

1

2

3

3

4

π8

0

Total Runtime

O(n)

π7

0.5

2.5

π8

π7

f6

f5

f6

f5

π6

π1

π6

2

3

1.5

1

-0.5

2

3.5

f4

2

f7

π1

π2

f4

f7

f1

2

π2

f1

1

f3

2.5

f3

f2

π5

π3

π4

f2

0.5

0

1

π3

π4

π5

3

1

0

Polyline Drawing

- We can construct a planar upward polyline drawing of a planar st-graph G using its visibility representation.
- We draw each vertex in an arbitrary point inside its vertex segment.
- We draw each edge (u,v) of G as a three segment polygonal chain.

Polyline Drawing (3)

- Since every step in the algorithm is O(n), the total complexity runtime is O(n).
- We can reduce the number of “bends” if we put each place vertex on intersections between an edge segment and vertex segment.

Polyline Drawing (4)

- The technique can be extended for constrained visibility representation of a planar st-graph which is called constrained-polyline.
- In a constrained-polyline all the internal vertices in a path π in ∏ are vertically aligned.

The algorithm for

Constrained polyline

Download Presentation

Connecting to Server..