Parallel Graph Drawing Algorithm for Bipartite Planar Graphs

Naman Jain
2024-09-23
Abstract:We give a parallel $O(\log(n))$-time algorithm on a CRCW PRAM to assign vertical and horizontal segments to the vertices of any planar bipartite graph $G$ in the following manner: i) Two segments cannot share an interior point ii) Two segments intersect if and only if the corresponding vertices are adjacent, which uses a polynomial number of processors. In other words, represent vertices of a planar bipartite graph as parallel segments, and edges as intersection points between these segments. Note that two segments are not allowed to cross. Our method is based on a parallel algorithm for st-numbering which uses an ear decomposition search.
Computational Geometry
What problem does this paper attempt to address?
The problem this paper attempts to solve is how to efficiently draw bipartite planar graphs in a parallel computing environment. Specifically, the authors propose a parallel algorithm that can represent the vertices of a bipartite planar graph as vertical and horizontal line segments in logarithmic time (i.e., \(O(\log(n))\) time), and the intersections of these line segments correspond exactly to the edges in the graph. This algorithm is implemented on a CRCW PRAM (Concurrent Read, Concurrent Write Parallel Random Access Machine) using a polynomial number of processors. ### Problem Statement 1. **No Shared Internal Points**: Two line segments cannot share internal points or intersect. 2. **Intersection and Adjacency**: Two line segments intersect if and only if the corresponding vertices are adjacent. ### Background and Motivation - **Graph Drawing**: Graph drawing is a branch of mathematics that aims to visualize the information and structure of graphs, making them easier to understand. - **Parallel Algorithms**: With the development of big data and high-performance computing, traditional sequential algorithms can no longer meet the demands, thus requiring the development of efficient parallel algorithms to improve computation speed. - **Complexity Theory**: The study of parallel algorithms is an important part of computational complexity theory, focusing on how to efficiently solve problems using a large number of processors. ### Method 1. **Quadrangulation**: First, quadrangulate the bipartite planar graph, i.e., convert each face into a quadrilateral containing 4 edges. 2. **st-Numbering**: Use a parallel algorithm for st-numbering to convert the graph into a directed acyclic graph (DAG). 3. **Segment Assignment**: Based on the st-numbering results, assign the vertices to vertical and horizontal line segments. ### Main Results - A parallel \(O(\log(n))\) time algorithm is proposed, which uses \(n^{O(1)}\) processors on a CRCW PRAM to efficiently accomplish the above tasks. ### Related Work - **Planarity Testing**: Ramachandran and Reif proposed a parallel planarity testing algorithm that can complete the planarity test of a graph in \(O(\log(n))\) time. ### Conclusion This paper successfully develops an efficient parallel algorithm for drawing bipartite planar graphs on a CRCW PRAM, meeting the key requirements of the graph drawing field. This achievement is of significant importance for large-scale data processing and high-performance computing.