1 / 24

Adaptation of S&H Algorithm to the Maximal Planar Subgraph (MPS) Problem

Adaptation of S&H Algorithm to the Maximal Planar Subgraph (MPS) Problem. Wen-Lian Hsu. A Necessary and Sufficient Condition for a Graph to be Planar. A graph is planar iff at every iteration i , there exists a rooting and a unique path s.t.

yeardley
Download Presentation

Adaptation of S&H Algorithm to the Maximal Planar Subgraph (MPS) Problem

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adaptation of S&H Algorithm to the Maximal Planar Subgraph (MPS) Problem Wen-Lian Hsu

  2. A Necessary and Sufficient Condition for a Graph to be Planar • A graph is planar iff at every iteration i, there exists a rooting and a unique path s.t. • nodes on this path can be flipped so that all full subtrees lie on one side, and all empty subtrees lie on the other side without violating the cyclic order of any C-node

  3. A Necessary and Sufficient Condition for a Graph to be Planar: At each iteration Root Full side u u' Empty side

  4. An Efficiency Note • Part of the boundary path and essential nodes in iteration i could be shared by many later iterations. • The next time a C-node w of i is traversed (through the smallest j-essential nodes), it is destroyed. Its remaining essential nodes need to change parent pointers to the new C-node • A C-node is short lived. There is no need to keep all the parent pointers

  5. In MPS, one cannot use the information of future back edges at each iteration • Cannot determine all essential nodes • Cannot determine all terminal nodes • Cannot compute complete separating paths Delayed Planarity Test Determine everything partially as much as we can

  6. j Pj Pj Pj Pj k consecutive m Future Essential nodes are consecutive Group the set of essential nodes on each C-node by iteration A region of essential nodes Pk Pm Pk Pm Pk Pm Pk

  7. j j i Creation of C-Nodes i Bidding

  8. j i How Many Different Ways can We Embed the paths from j to a component of i j i j- essential nodes

  9. k k j j i i Three Consecutive Traversals i, j and k to the boundary of a component of i k j Consider the next iteration k that we revisit the same boundary of a component of i The region to be embedded inside The region to be embedded inside i j- essential nodes The delimiters The critical segment

  10. k k j j i Deleting an old C-node (of i) and creating a new one (for j) Traverse to an existing C-node for i, delete it and create a new C-node for j The region to be embedded inside

  11. What is the least amount of information we need to determine the above? • The subdivision of the boundary cycle by the j-essential nodes • Where, on the cycle, does the back edge traversal from node k first touch What do we need to do afterward? • Embed the other segments inside

  12. Creation of C-node for a component of i • Previously, a new component (a new C-node) for i is formed at the end of the i-th iteration • A boundary cycle consisting of all essential nodes (have complete information about the future) • Now, a new C-node is created for i at the next iteration j when its boundary is first traversed • To keep a cycle of j-essential nodes as delimiters to help determine the critical segment

  13. Creation of C-Node (1) • Previously, the boundary path is determined by labeling full subtrees • But now, it is not clear which one is full until we know which back edges will stay • Hence, it is decided by back edge traversal in later iterations

  14. A Revisit to the Terminal Path A partial terminal path Full side u u' Empty side

  15. Back Edge Elimination in Partial Path Eliminate all back edges in this part ! Full side Empty side

  16. Node and Edge Labeling • Previously, we only need node labeling to decide full, partial nodes • Now we have to pay attention to which edge is traversed by which back edge traversal • Every edge should be traversed twice before it becomes part of a boundary path.

  17. Labeling • Each node has a “stack” of labels (last on top) • For every back edge traversal at iteration k, do • We would label • a node by k (if its top label is < k) • a “new” edge by <k,>, and • an “old” edge (with label <j,>) by <j,k> • We would terminate a traversal when it reaches • a node labeled […,k]. • the node k itself (does not label it)

  18. The Effect of Each Back Edge Traversal • Create a new C-node • Determine a partial boundary path together with some inside nodes • Make some old C-nodes boundary nodes • Locate a new delimiter • Refine the subdivision of a cycle • Locate the critical segment of a boundary path • Embed the remaining segment inside

  19. Back Edge Elimination • Every time a new back edge is added, some other back edges must be deleted • to maintain the unique path, division between inside, outside nodes • Back edge elimination is done gradually since the complete information is unveiled gradually

  20. Deletion of a C-Node • Previously, a component of i (represented by a C-node) is merged (and deleted) the next iteration j it is traversed (its C-node is deleted) • Now, a component of i formed at iteration j is merged (or deleted) the next iteration k it is traversed.

  21. One iteration of the MPS Algorithm • (1) The addition of one back edge and (2) the corresponding back edge traversal • For each new component encountered, a new C-node is created • and a maximal # of internal nodes are determined • For each boundary of an existing C-node encountered, either a delimiter is located or a critical segment is determined • and a maximal # of internal nodes are determined

  22. The C-Node Hierarchy The boundary cycle of a C-node contains other C-nodes recursively u

  23. The Find C-Node Operation u

  24. Hierarchical PC-Trees Potential future traversal (b) The original PC-tree in the S&H algorithm (a) The hierarchical PC-trees in the DPT algorithm

More Related