A Parallel Algorithm for the Spanning Forest Problem on Proper Circle Graphs

Given a simple graph G with n vertices, m edges and k connected components. The spanning forest problem is to find a spanning tree for each connected component of G. This problem has applications to the electrical power demand problem, computer network design, circuit analysis, etc. In this paper, we present an ( ) log O n time parallel algorithm with ( ) log O n n processors for constructing a spanning forest on proper circle graph G on EREW PRAM.


Introduction
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. Generally, there exist a number of different spanning trees in a connected graph.Let T be a tree with n vertices.
Then the following statements are equivalent [1]: 1) T contains no cycles, and has 1 n − edges; 2) T is connected, and has 1 n − edges; 3) T is connected, and each edge is a bridge; 4) Any two vertices of T are connected by exactly one path; 5)T contains no cycles, but the addition of any new edge creates exactly one cycle.
Given a simple graph G with n vertices and k components, the spanning forest problem is to find a spanning tree for each component of G.The spanning forest F has n k − edges.This problem has applications, such as electric power systems, computer network design and circuit analysis [1].A spanning tree can be found in

( )
O n m + time using, for example, the depth-first search or breadth-first search.In recent years, a large number of studies have been made to parallelize known sequential algorithms.For simple graphs, Chin et al.  [6].In addition, Honma et al. developed parallel algorithms for finding a spanning tree on circular permutation graphs [7] and circular trapezoid graphs [8].Both of them take in ( ) n processors on the EREW PRAM.
Let F be a family of nonempty sets.A simple graph G is the intersection graph of F if there exists a one-to-one correspondence between the vertices of G and the sets in F , such that two vertices in G are adjacent if and only if their corresponding sets have a nonempty intersection.A circle graph is an undirected graph isomorphic to the intersection graph of a finite set of chords in a circle.It is not difficult to show that the class of circle graphs contains all the complete bipartite graphs.Circle graphs have been introduced by Even and Itai in [9] in connection with algorithms that sort permutations by using stacks.This aspect is detailed in the book by Golumbic [10].Polynomial time algorithms for recognizing graphs in this class appear in [11] [12].Applications of circle graphs are diverse, and without trying to be exhaustive, we can cite container ship stowage [13] and reconstruction of long DNA strings from short subsequences [14].The best algorithms for recognizing circle graphs and constructing chord diagrams are by Gabor et al. [12] taking time O(mn) where n is the number of vertices and m the number of edges, and by Spinrad [15] taking time ( ) Gavril [16] i i a b .Without loss of generality, each chord i has two terminal points i a and i b , and all terminal points are distinct.We assume that chords are labeled in increasing order of their corner points i b 's, i.e., i j  1(a).Table 1 shows the details of the CD D of Figure 1.

Expanded Chord Diagram
In

Property of Proper Circle Graph
We describe some properties on the proper circle graph which are useful for constructing the algorithm for spanning forest problem.For two chords i and j ( ) in the (normal) chord diagram, we say chords i and j are disjoint if i j b a < .Moreover, we say chord j contain i if j i a a < .Figure 3 shows examples of the cases of disjoint and contain.
The following Lemma 1 is well known [22].Then, vertices i and j ( ) G if and only if chord i and j are not disjoint and i does not contains j in ED.
We can establish the following lemma using Lemma 1.
Lemma 2. Let D be proper chord diagram and G be a proper circle graph corresponding to D. Moreover, let ED be an expanded chord diagram constructed from D. Then, vertices i and j ( ) for two chords i and j in ED.
(Proof) By Lemma 1, vertices i v and j v ( ) only if chord i and j are not disjoint and i does not contains j in ED.By the definition of proper circle graph, i j a a < for any two chords i and j ( ) Then, vertices i and j ( ) two chords i and j in ED.
( ) M i is the largest chord number that intersects chord i.

Analysis of Algorithm CSF
We analyze the complexity of Algorithm CSF.In Step

Concluding Remarks
In this paper, we presented a parallel algorithm to solve the spanning forest problem on proper circle graphs.This algorithm can be implemented in ( ) n processors on an EREW PRAM computation model using only parallel prefix computation [23] and Brent's scheduling principle [24] without using a sophisticated technique.Solutions to the spanning problem have applications in electrical power provision, computer network design, circuit analysis, among others.For this reason, we think this paper is also worthy from both a theoretical and algorithmic point of view.In the future, we will continue this research by extending the results to other classes of graphs.
geometric representation described above is called the chord diagram.We next introduce the circle graphs.An undirected graph c G is a circle graph if it can be represented by the following chord diagram; each vertex of the graph corresponds to a chord in the chord diagram, and two vertices are adjacent in c G if and only if their chords intersect.In the following, we define proper circle graphs.If i diagram, such chord diagram is called "proper."The proper circle graph is a graph that is constructed by a proper chord diagram.Figure 1(a) illustrates an example of a proper chord diagram D with 12 chords.Figure 1(b) illustrates a proper circle graph G corresponding to D shown in Figure the following, we introduce the expanded chord diagram constructed from a chord diagram for solving the problem easier.An expanded chord diagram can be constructed by transforming chord [ ] , i i a b in chord diagram to a horizontal line segment such that left and right endpoints have values i a and i b , respectively.Figure 2 shows the expanded chord diagram ED constructed from the proper chord diagram D illustrated in Figure 1.

Figure 1 .
Figure 1.Proper chord diagram and circle graph: (a) Proper chord diagram D; (b) Proper circle graph G.

Figure 3 .
Figure 3. Examples of disjoint and contain: (a) Chords i and j are disjoint; (b) Chord j contains i.

□ 4 .
Parallel Algorithm for Spanning Forest Problem 4.1.Algorithm CSF In this section we propose a parallel algorithm for constructing a spanning forest F of a given proper circle graph G.The spanning forest F is constructed from proper chord diagram D corresponding to G. Input of the algorithm is each chord terminal points i a and i b of D. All chords have been sorted by corner point i b in increasing order.Instead of using a sophisticated technique, we propose simple parallel algorithms using only the parallel prefix computation [23] and Brent's scheduling principle [24].After executing Step 3, F consists of the spanning forest of proper circle graph G. Lemma 3.After executing Step 3 of Algorithm CSF, F consists of the spanning forest of proper circle graph G. (Proof) In Step 2 of Algorithm CSF, we compute an array ( ) In this study, we define proper circle graphs that are subclass of circle graphs.
[20]space, where d is a parameter known as the density of the circle graph.Other problems that are NP-complete for general graphs can also be solved in polynomial time for circle graphs, for example Tiskin[20]has shown an ( ) 2 log O n d time algorithm for the maximum clique problem.There are also problems that are NP-complete for both circle graphs and general graphs, such as minimum dominating set [21].

Table 1 .
Details of proper chord diagram D.

Table 2 and
i of root vertices have same value as themselves.Then, after executing Step 3, each component in G is connected and has n′ vertices and 1 n′ − edges.By the properties of tree, F is a spanning forest of G. Figure4show details of arrays executing Step 3 and constructed F.

Table 2 .
1, we initialize F and Details of concurrent read nor concurrent write is caused anywhere, and the same edges are not written more than once.Hence, Algorithm CSF can be executed on EREW PRAM.We have the following theorem.
Figure 4.A spanning forest of G. Journal of Computer and Communications