Given a simple graph G with n vertices and m edges , the spanning tree problem is to find a spanning tree for a given graph G. This problem has many applications, such as electric power systems, computer network design and circuit analysis. For a simple graph, the spanning tree problem can be solved in O(log n) time with O(m+n) processors on the CRCW PRAM. In general, it is known that more efficient parallel algorithms can be developed by restricting classes of graphs. In this paper, we shall propose a parallel algorithm which run s O(log n) time with O(n/log n) processors on the EREW PRAM for constructing on proper circle trapezoid graphs.
Given a simple connected graph G with n vertices, the spanning tree problem is to find a tree that connects all the vertices of G. The spanning tree problem has applications, such as electric power systems, computer network design and circuit analysis [
In general, it is known that more efficient algorithms can be developed by restricting classes of graphs. For instance, Wang et al. proposed an optimal parallel algorithm for constructing a spanning tree on permutation graphs that run in O ( l o g n ) time using O ( n / l o g n ) processors on the EREW (Exclusive Read Exclusive Write) PRAM [
Felsner et al. first introduced circle trapezoid graphs [
In this study, we propose a parallel algorithm for spanning tree problem on a proper circle trapezoid graph. It can run in O ( l o g n ) time with O ( n / l o g n ) processors on the EREW PRAM. The rest of this paper is organized as follows. Section 2 describes some definitions of circle trapezoid graphs and models and introduces the extended circle trapezoid model, as well as some notation. Section 3 presents some properties on circle trapezoid graphs, which are useful for finding a spanning tree in an efficient manner. Section 4 describes our parallel algorithm for the spanning tree problem and its complexity. Finally, Section 5 concludes the paper.
We first illustrate the circle trapezoid model before defining the circle trapezoid graph. There is a unit circle C such that the consecutive integer i, 1 ≤ i ≤ 4 n are assigned clockwise on the circumference (n is the number of circle trapezoids). Consider nonintersecting two arcs A ′ = [ a i b i ] and A ″ = [ c i d i ] along the circumference of C. The point b i (resp., d i ) is the last point encountered when traversing A ′ (resp., A ″ ) clockwise. A circle trapezoid C T i is the region in a circle C that lies between two non-crossing chords 〈 a i d i 〉 and 〈 b i c i 〉 . Without loss of generality, each circle trapezoid C T i has four corner points a i , b i , c i , d i , and all corner points are distinct. We assume that circle trapezoids are labeled in increasing order of their corner points a i ’s, i.e., C T i < C T j if a i < a j . The geometric representation described above is called the circle trapezoid model.
An undirected graph G is a circle trapezoid graph if it can be represented by the following circle trapezoid model; each vertex of the graph corresponds to a circle trapezoid in circle trapezoid model, and two vertices are adjacent in G if and only if their circle trapezoids intersect [
In the following, we introduce the extended circle trapezoid model EM constructed from a circle trapezoid model for making the problem easier. We first cut a circle trapezoid model M at point 1 on the circumference and next unroll onto the real horizontal line. Each circle trapezoid C T i = [ a i , b i , c i , d i ] in M is also changed to a pair of line segment I i = ( [ a i , d i ] , [ b i , d i ] ) called interval pair by executing the above process. Here, feedback circle trapezoid C T i = [ a i , b i , c i , d i ] in M is changed to interval pair I i = ( [ a i , d i + 4 n ] , [ b i + 4 n , d i + 4 n ] ) for a i > b i , c i , d i . Moreover, copies I i − n of I i are created by shifting 4n to the left respectively, for each I i , 1 ≤ i ≤ n . Note that both interval pairs I i and I i − n in extended circle trapezoid model EM are corresponding to C T i in M.
The following Algorithm CEM constructs an EM from a M.
Algorithm CEM
Input: Corner points [ a i , b i , c i , d i ] of C T i in M.
Begin
For each non feedback circle trapezoid C T i pardo
Create a interval pair I i = ( [ a i , d i ] , [ b i , d i ] ) ;
For each feedback circle trapezoid C T i pardo
For each b i , c i , d i < a i
Create a interval pair I i = ( [ a i , d i + 4 n ] , [ b i + 4 n , d i + 4 n ] ) ;
For 1 ≤ i ≤ n pardo
Create copies I i − n by shifting 4n to the left for I i ;
End
In this study, we focus and treat a proper circle trapezoid graph. Graph G is a circle trapezoid graph corresponding to a circle trapezoid model M and an extended circle trapezoid model EM is constructed from M by executing Algorithm CEM. We consider circle trapezoid model M such that the extended
i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
ai | 1 | 6 | 7 | 11 | 18 | 21 | 23 | 25 |
bi | 3 | 9 | 10 | 12 | 20 | 22 | 24 | 26 |
ci | 5 | 13 | 14 | 16 | 28 | 27 | 31 | 32 |
di | 8 | 19 | 15 | 17 | 29 | 30 | 4 | 2 |
i | −7 | −6 | −5 | −4 | −3 | −2 | −1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ai | −31 | −26 | −25 | −21 | −14 | −11 | −9 | −7 | 1 | 6 | 7 | 11 | 18 | 21 | 23 | 25 |
bi | −29 | −23 | −22 | −20 | −12 | −10 | −8 | −6 | 3 | 9 | 10 | 12 | 20 | 22 | 24 | 26 |
ci | −27 | −19 | −18 | −16 | −4 | −5 | −1 | 0 | 5 | 13 | 14 | 16 | 28 | 27 | 31 | 32 |
di | −24 | −13 | −17 | −15 | −3 | −2 | 4 | 2 | 8 | 19 | 15 | 17 | 29 | 30 | 36 | 34 |
circle trapezoid model EM constructed from M satisfies that c i < d j for two interval pairs I i and I j ( i < j ) in EM. The circle trapezoid model M p is defined as proper circle trapezoid model. The graph corresponding to the proper circle trapezoid model is proper circle trapezoid graph G p . In this study, we will develop a parallel algorithm for spanning tree problem on proper circle trapezoid graphs. The
Here, some notations that form the basis of our algorithm are defined as follows.
The function nor ( i ) normalizes the interval pair number i in EM within the range 1 to n, which is expressed as
nor ( i ) = { i if i ≥ 1, i + n if i < 1 .
For the example shown in
The function v d ( k ) computes a vertex number i satisfying d i = k for a given number k on EM. For the example shown in
We next define l d i = max { d − n + 1 , d − n + 2 , ⋯ , d i } , for − n + 1 ≤ i ≤ n − 1 , in E M p . The details of l d i , v d ( d i ) , and n v d ( d i ) are shown in
We describe some properties on circle trapezoid graphs which are useful for constructing the algorithm for spanning tree problem on proper circle trapezoid graphs.
For two interval pairs I i and I j ( i < j ) in EM, we say I i and I j are disjoint if d i < a j . Moreover, we say I i contain I j if
i | −7 | −6 | −5 | −4 | −3 | −2 | −1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
−24 | −13 | −17 | −15 | −3 | −2 | 4 | 2 | 8 | 19 | 15 | 17 | 29 | 30 | 36 | 34 | |
−24 | −13 | −13 | −13 | −3 | −2 | 4 | 4 | 8 | 19 | 19 | 19 | 29 | 30 | 36 | - | |
−7 | −6 | −6 | −6 | −3 | −2 | −1 | −1 | 1 | 2 | 2 | 2 | 5 | 6 | 7 | - | |
1 | 2 | 2 | 2 | 5 | 6 | 7 | 7 | 1 | 2 | 2 | 2 | 5 | 6 | 7 | - |
Lemma 1 Let
The following Lemma 2 generalizes Lemma 1. This is very useful to find the edges on circle trapezoid graph.
Lemma 2 G is a circle trapezoid graph corresponding to a circle trapezoid model M, and extended circle trapezoid model EM is constructed from M. For two interval pairs
1)
2)
(Proof) By Lemma 1, for two non-feedback circle trapezoids
For the condition (
We obtain the following Lemma 3 for a proper circle trapezoid model
Lemma 3.
(Proof) By Lemma 2, if either of conditions 1) (
In Lemma 2, we have to test if
The following Lemma 4 is core of solving this problem. An efficient algorithm can be constructed by using the following lemma.
Lemma 4.
(Proof) By the definition,
In this section, we propose an algorithm for constructing a spanning tree of a connected proper circle trapezoid graph
Algorithm CST
Input:
Output: A spanning forest F of G. Initially F be an empty set.
Begin
(Step 1) % Initializing
For i,
For i,
(Step 2) % Computing
For i,
For i,
For i,
(Step 3) % Construct a spanning forest
For i,
If
then
End
Lemma 5. After executing Step 3 of Algorithm CST, graph T is a spanning tree of proper circle trapezoid graph
(Proof) Step 1 is a process for initialization. T is empty set and all
In Step 2, we set
We consider that T is added an edge form i to
In Step 3, in the case of
Therefore, after executing Step 3 of Algorithm CST, graph T is a spanning tree of proper circle trapezoid graph
In the following, we analyze the complexity of Algorithm CST.
In Step 1, an extended circle trapezoid model is constructed from a circle trapezoid model in
Theorem 6. Algorithm CST constructs a spanning tree of a proper circle trapezoid graph in
In this paper, we presented a parallel algorithm to solve the spanning tree problem on a proper circle trapezoid graph. This algorithm can be implemented in
We express many thanks to anonymous referees for their valuable advices on the theory of our attacks and their helpful editorial comments. This work was supported by JSPS KAKENHI Grant Number 17K00324 and 17K04965.
The authors declare no conflicts of interest regarding the publication of this paper.
Honma, H., Nakajima, Y., Nagasaki, S. and Sasaki, A. (2018) An Optimal Parallel Algorithm for Constructing a Spanning Tree on Proper Circle Trapezoid Graphs. Journal of Applied Mathematics and Physics, 6, 1649-1658. https://doi.org/10.4236/jamp.2018.68141