300 likes | 458 Views
Flow and Upward Planarity. Akil Kömür. Introduction. Upward planar: admits drawing that’s upward and planar Digraphs 1) characterization that relates upward planarity with st -graphs 2) angles which play a big role in upward planarity
E N D
Flow and Upward Planarity Akil Kömür
Introduction • Upward planar: admits drawing that’s upward and planar • Digraphs • 1) characterization that relates upward planarity with st-graphs • 2) angles which play a big role in upward planarity • 3) polynomial time algorithm to test upward planarity of embedded acyclic digraphs
Introduction • Two acyclic drawings
1) Inclusion in a Planar st-Graph • Planar st-graph is an st-graph that is planar and embedded with vertices s and t on the boundary of the external face • St-graph is an acyclic graph with a single source s and single sink t • Simple characterization of upward planarity:
1) Inclusion in a Planar st-Graph • Example theorem 6.1:
1) Inclusion in a Planar st-Graph • Statement 1 implies Statement 3 • S,T respc. lowest and highest y coord. • At sink v ≠ t draw new edge upward • Add new edges (v, dest(e)) • Able to cancel all sinks, except t • Similar process cancels all sources, except s • Finally edge (s,t) added • Statement shown.
1) Inclusion in a Planar st-Graph • Statement 3 implies Statement 2 • Given planar st-graph G′ including G construct a planar straight-line drawing in 3 steps • 1-add edges to G′. Resulting digraph G′′ is planar st-graph with all faces consisting of three edges • 2-construct upward planar straight-line drawing of G′′ • 3-remove edges that don’t belong to G from drawing of G′′
1) Inclusion in a Planar st-Graph • Step 1 in figure • Adding edges until all faces have three edges.
1) Inclusion in a Planar st-Graph • Step 2 - construct upward planar straight-line drawing of G′′ • The kernel of X is the set of points p from which all vertices of X are visible. • The wedge of vertex vi of X is defined as the intersection of the left half planes
1) Inclusion in a Planar st-Graph • Lemma 6.3: used in proof Lemma 6.4
1) Inclusion in a Planar st-Graph • Proof: omitted • Implies that statement 2 of theorem 6.1 implies statement 3
1) Inclusion in a Planar st-Graph • Statement 3 implies statement 1 (easy) • But uses algorithm discussed in chapter 4 (Battista) • Lemma 6.5 yields O(n) algorithm for constructing an upward planar straight-line drawing of an n-vertex planar st-graph • Testing if a digraph is planar st-Graph in O(n) • G has single source and single sink • G plus the edge (s,t) is planar (as an undirected graph) • G is acyclic -> tested in O(n)
1) Inclusion in a Planar st-Graph • Theorem 6.2: • Upward planarity testing is in NP. • Proof in paper.
2) Angles in Upward Drawings • Characterization of upward planarity for embedded digraphs. Algorithm for this follows in 3) • Vertex is bimodal if cyclic sequence of its incident edges can be partitioned into two (possibly empty) linear sequences, one for incoming the other for outgoing • Lemma 6.5 • An embedded digraph is upward planar only if it is bimodal. • Planar st-graph is bimodal, follows from L6.5, and fact that planar st-graph is upward planar.
2) Angles in Upward Drawings • Assignments of labels {small, large} on pairs of incoming/ outgoing edges (straight line drawing) • p is either face r vertex • L(p): nr of angles of p with label large • S(p): nr of angles of p with label small • A(f): the number of angles in f formed by pairs of incoming (or outgoing) edges • L(f) + S(f) = 2A(f) • See example
2) Angles in Upward Drawings • Motivated by above formulation: Assignment that maps each vertex v to a face incident to v.
2) Angles in Upward Drawings • Lemma 6.8 deduced from Lemma 6.7 • An embedded bimodal digraph is upward planar only if it admits a consistent assignment of sources and sinks to faces. • Now we can use Algorithm 6.1 to construct a planar st-graph that includes the embedded bimodal digraph as a sub graph
2) Angles in Upward Drawings • Assigns labels sL tL and sS tS to each face in a circular sequence of symbols by traversing the face clockwise.
2) Angles in Upward Drawings • Example of behavior of the algorithm
2) Angles in Upward Drawings • Proof omitted. Must show that each edge insertion preserves planarity, acyclicity, and bimodality. And have exactly one source and sink. • Algorithm 6.2 linear in nr of vertices of f • Algorithm 6.1 takes O(n)-time • Summarize this in Theorem 6.3
3) Upward Planarity Testing • Algorithm for testing whether an embedded digraph G is upward planar. Based on theorem 6.3. • To test if G admits consistent assignment of s and t: construct a bipartite flow network Bh • Example figure follows. • Lemma 6.10 summarizes the properties of Bh
3) Upward Planarity Testing • Constructing Bh takes O(n) time • Existence of flow tested in O(rn) time • So total is O(n2r) • Time complexity can be reduced to O(nr) by using Algorithm 6.3
3) Upward Planarity Testing • Algorithm 6.3: • Construct a flow network B, like a Bh but demand is A(f) – 1. O(n) • Test whether B admits a flow of value r-2. O(n-2) • For each face the demand is increased by two units and a test is done to see whether the flow of value r-2 in B can be augmented by two units O(nr) • The set of all faces of G for which step 3 was successful is returned.
3) Upward Planarity Testing • Testing whether embedded digraph G is acyclic and bimodal takes O(n) time • Then using Algorithm 6.3 to test whether G admits a consistent assignment of sources and sinks to its faces takes O(nr) time • Lemma 6.4 • Let G be an embedded digraph with n vertices and r sources and sinks. We test whether G is upward planar in O(nr) = O(n2) time
Summary • 1) characterization that relates upward planarity with st-graphs • 2) angles which play a big role in upward planarity • 3) polynomial time algorithm to test upward planarity of embedded acyclic digraphs