Journal of Parallel and Distributed Computing 56, 144155 (1999) Article ID jpdc.1998.1514, available online at http:www.idealibrary.com on
A Simple O(log N ) Time Parallel Algorithm for Testing Isomorphism of Maximal Outerplanar Graphs Srabani Sen Gupta and Bhabani P. Sinha Advanced Computing and Microelectronics Unit, Indian Statistical Institute, Calcutta 700 035, India Received October 30, 1998; accepted November 6, 1998
Maximal outerplanar graphs constitute an important class of graphs, often encountered in various applications, e.g., computational geometry, robotics, etc. In this paper, we propose a parallel algorithm for testing the isomorphism of maximal outerplanar graphs. Given the ordered adjacency lists of the two graphs, the proposed algorithm tests their isomorphism in O(log N) time using N processors, for graphs with N nodes on an EREW shared memory model, as well as on a hypercube arhitecture. When the adjacency matrices of the graphs are given, this algorithm can be redesigned on N 2 processors to run in O(log N) time. 1999 Academic Press
1. INTRODUCTION Two graphs G 1 =(V1 , E 1 ) and G 2 =(V2 , E 2 ) are isomorphic to each other iff there exists a one-to-one mapping f from V1 onto V2 such that v 1 , v 2 # V1 are adjacent in V1 iff f (v 1 ) and f (v 2 ) are adjacent in V2 . The problem of testing the isomorphism of two graphs G 1 and G 2 has been well studied in the literature [24]. It is, however, not known whether the general graph isomorphism problem is solvable in polynomial time or it is an NP complete problem [7]. Several good heuristics [6, 25] exist in the literature for the general problem. The isomorphism problem for some special classes of graphs, e.g., trees [1, 4], interval graphs [4, 18], seriesparallel graphs [27], planar graphs [15], hamiltonian 2-sep chordal graphs [28], partial k-trees [3], etc., can, however, be solved in polynomial time. In the case of planar graphs, Weinberg [27] developed a sequential algorithm for testing the isomorphism of triply connected planar graphs in O(N 2 ) time, where N stands for the number of vertices in the graphs. An improved algorithm for triply connected planar graphs and an O(N 2 ) isomorphism algorithm for general planar graphs were given by Hopcroft and Tarjan [12]. The same authors further reduced the time complexity to O(N log N) [13]. Finally, Hopcroft and Wong were able to obtain a linear time algorithm [15] for this problem. 0743-731599 30.00 Copyright 1999 by Academic Press All rights of reproduction in any form reserved.
144
O(log N) TIME PARALLEL ALGORITHM
145
A planar graph is outerplanar if it can be embedded in a plane so that all its vertices lie on the same face. We call this face the exterior face [11]. Exploiting the fact that every biconnected outerplanar graph has a unique Hamiltonian cycle [11], Colbourn and Booth developed an interesting method for testing the isomorphism of outerplanar graphs [4]. An outerplanar graph is maximal if no edge can be added to the graph without violating the outerplanarity [11]. These graphs form a restricted but very useful subclass of planar graphs. One encounters these types of graphs in two-dimensional computational geometry, computer graphics, robotics, and many other engineering disciplines. The general techniques for testing the isomorphism of planar [15] and outerplanar graphs [4] also apply for testing the isomorphism of maximal outerplanar graphs (MOP) as well. However, there are some specific properties of maximal outerplanar graphs which can be exploited to design more efficient and simpler algorithms for testing the isomorphism of MOPs. Beyer et al. proposed such an algorithm [2] using the fact that the Hamiltonian degree sequence uniquely characterizes a MOP up to isomorphism. Beyer et al. [2] compute the Hamiltonian degree sequences D 1 and D 2 for the two graphs G 1 and G 2 and combine this with the fact that G 1 and G 2 are isomorphic iff D 2 is a substring of D 1 D 1 ID R1 D R1 , where D R1 is the reverse string of D 1 (D R1 is indentical to D 1 read from the reverse side) and ``I'' represents the ``end of string'' character. In other words, D 2 is either a substring of D 1 D 1 or a substring of D R1 D R1 . In their first approach of comparing these two strings, they used Morris and Pratt's pattern matching algorithm [21]. In the second approach, they found a set of either two or three vertices (termed as central vertices) which can be uniquely identified in a MOP and for comparison of the degree sequences, they start the Hamiltonian cycle only at these vertices. Regarding parallel algorithms, Ja Ja and Kosaraju [16] parallelized the idea given by Hopcroft and Tarjan [14] for isomorphism testing of planar graphs with a time complexity of O(log 3 N) when implemented on a CREW PRAM model with O(N 2 ) processors and with O(- N) time when implented on - N_- N array of processors. Gazit and Reif [8] also parallelized the same approach with a randomized algorithm of time complexity O(log N) using N 1.5 - log(N) processors, assuming that the families of seperators for both the graphs are given. Gazit also presented [9] a deterministic algorithm for planar graphs which requires O(log 3 N) time using N 1.5log 2(N) processors when implemented on a CRCW PRAM model. Parallel algorithms for testing isomorphism of outerplanar graphs also exist in the literature. It is shown by Lingas et al. [20] that the isomorphism problem restricted to 2-connected outerplanar graphs is in the class NC 3 (they can be solved by an algorithm running in O(log 3 N) time using polynomial number of processors). Levcopoulos et al. [19] have shown that the isomorphism of trees and outerplanar graphs can be tested in O(log N) time with Nlog N processors on a CRCW PRAM model and in O(log2 N) time with Nlog 2 N processors on an EREW PRAM model. These results also hold for MOPs. There exists an O(log N) optimal parallel string matching algorithm on an EREW PRAM model as proposed by Cole et al. [5]. If this algorithm is used, in case of MOPs, to compare the Hamiltonian degree sequences (as discussed by
146
SEN GUPTA AND SINHA
Beyer et al. [2]), then the time complexity of testing isomorphism of MOPs can be reduced to O(log N). But, in that case, the number of processors used will be quite large. In this paper, we present a parallel algorithm for testing the isomorphism of MOPs. Here, we have viewed the isomorphism problem of MOPs in terms of the isomorphism of triangulations of a convex polygon, since we know that there exists a one-to-one correspondence between the maximal outerplanar graphs and the planar embedding of triangulated convex polygons. Some interesting properties of triangulations of convex polygons are used to design a simple and efficient parallel algorithm for the MOP isomorphism problem. This approach is quite different from the existing techniques of isomorphism testing of planar graphs. The proposed algorithm requires O(log N) time using N processors when implemented on an EREW PRAM model as well as on a hypercube architecture. Thus, the number of processors used in our technique is much smaller than that required for isomorphism testing using the idea of string matching [5] on an EREW model in the same order(O(log N)) of time. We assume that the graphs with N vertices will be given in the form of ordered adjacency lists. If, however, the graphs are given in terms of the adjacency matrices, then our algorithm will take the same order of time using N 2 processors. 2. PRELIMINARIES Our goal is to describe a simple parallel algorithm for testing the isomorphism of MOPs. Since there is a one-to-one correspondence between the maximal outerplanar graphs and the planar embeddings of triangulated convex polygons, we view this problem in terms of the isomorphism of triangulated convex polygons. For this we reveal some basic concepts regarding the triangulation problem. Triangulation of a simple polygon is a classical problem of interest in the field of computational geometry [23]. Triangulating a polygon means partitioning it into nonintersecting triangles (they can share common edges and vertices) by inserting internal diagonals [23]. To triangulate a polygon of size N, N&3 internal diagonals are required. This will generate N&2 component triangles in the polygon. These internal diagonals can be chosen in many possible ways, and as a result, triangulation of a simple polygon is nonunique. Figure 1 shows two different triangulations of an octagon.
FIG. 1.
Two triangulations of an octagon.
O(log N) TIME PARALLEL ALGORITHM
FIG. 2.
147
Two isomorphic triangulations.
In a convex polygon, all of its diagonals are internal diagonals. Thus, the number of triangulations of a convex N-gon is independent of the shape; in particular, it is determined by the number of its vertices N. Let {(N ) be the total number of triangulations of a convex N-gon. Graham et al. [10] have shown that {(N)=C N&2 =
2N&4 1 , N&1 N&2
\
+
where C N is the Nth Catalan Number. The triangulated octagons in Fig. 1 are maximal outerplanar graphs of size 8. In general, each maximal outerplanar graph corresponds to a triangulated convex polygon and vice versa. The MOP corresponding to a triangulation T will be represented by G T (V, E), where v i # V is a vertex of the polygon, and (v i , v j ) # E if v i and v j are joined by either a polygon edge or a diagonal. Two triangulations are said to be isomorphic to each other if the corresponding maximal outerplanar graphs are isomorphic. Two isomorphic triangulations of a polygon are shown in Fig. 2.
3. CLASSIFICATION OF POLYGON TRIANGULATIONS In this section, we will discuss a new classification scheme introduced by the authors [26] for triangulation of convex polygons which can also be applied to the characterization of MOPs. For ease of understanding, let us first recapitulate some of the important definitions and results discussed in [26]. However, for the sake of completeness, the reader may refer to [26] for proofs of the important results. Throughout this paper, we will consider a convex polygon with N vertices (N is any positive integer, N 3). The vertices are numbered from 0 to N&1 in the clockwise direction. The polygon will be denoted by P(0, 1, 2, ..., N&1). The notation T(0 ,1, 2, ..., N&1), or just T for short, will be used to denote a particular triangulation of the polygon P(0, 1, ..., N&1). The corresponding maximal outerplanar graph will be denoted by G T . An edge joining two vertices i and j will be
148
SEN GUPTA AND SINHA
denoted by the pair (i, j). Nodes of the graph G T are also labeled in the same fashion as in P. Definition 1. In G T , the length d(i, j) of an edge (i, j) is defined as the minimum path length between i and j along the outermost cycle. In other words, d(i, j)=d( j, i)=min[ |i& j|, N& |i& j | ]. Example 1.
In Fig. 2a, d(1, 6)=3, d(1, 3)=2.
For any triangulation T, the length of a longest edge in G T will be denoted by L. It is easy to verify that LwN2x. 3.1. Classification Definition 2. A triangulation T is said to be a bisector triangulation, if L=wN2x=WN2X. Otherwise T will be a nonbisector triangulation. Thus, for odd values of N, we cannot have any bisector triangulation, whereas for even N, we may have both types. The following results are taken (without proofs) from [26]. Result 1. In any nonbisector triangulation T, if there is more than one longest edge, then every two of them must have one end-point in common. Result 2. For any nonbisector triangulation T, there is a unique triangle (face) in G T whose perimeter is equal to N. Result 3. In any nonbisector triangulation, the longest edge(s) of the triangulated polygon must be among the edges of the unique triangle with perimeter N. Definition 3. In any nonbisector triangulation, the unique triangle with perimeter N will be called the central triangle of that triangulation. Example 2. The triangulation of the polygon, as shown in Fig. 3, has the central triangle (0, 3, 6).
FIG. 3.
The central triangle (0, 3, 6).
O(log N) TIME PARALLEL ALGORITHM
FIG. 4.
149
Classification of triangulations.
Note that the concept of central triangle applies only to nonbisector triangulations. The central triangle may be equilateral, isosceles, or scalene. Remark. Incidentally, the notion of the unique central triangle corresponds to the three central vertices introduced by Beyer et al. [2], which were obtained by successively deleting the ears from the triangulated convex polygon. Moreover, when L=wN2x=WN2X , the end points of the longest edge of the bisector triangulation also correspond to the two central vertices defined in the same paper [2]. Definition 4. A triangulation will be called scalene, isosceles, or equilateral, if the central triangle is scalene, isosceles, or equilateral, respectively. The notions of bisector triangulation and the central triangle allow us to classify the various triangulations of a convex polygon into the cases, as shown in Fig. 4. Having classified the triangulations of a convex polygon as above, we now show that two triangulations belonging to two different classes cannot be isomorphic.
4. PROPERTIES OF ISOMORPHIC TRIANGULATIONS For the sake of completeness we reiterate some existing results found in the literature [2]. Result 4. The maximal outerplanar graph G T , corresponding to any triangulation T(0, 1, ..., N&1), has a unique Hamiltonian cycle, (0, 1, ..., N&1 ,0). Result 5. Two triangulations T1 (0, 1, ..., N&1) and T2 (0, 1, ..., N&1) are isomorphic iff one can be obtained from the other by reflection andor rotation. From these two results we derive the following two corollaries. Corollary 1. If T1 and T2 are two isomorphic triangulations, then the unique central triangle of T1 is congruent to that of T2 . Proof. If T1 and T2 are isomorphic to each other, then T1 can be obtained from T2 by rotation andor reflection. Such an operation can only affect the orientation of the central triangle of a triangulation, but not its shape and size. Hence the result. K
150
SEN GUPTA AND SINHA
Corollary 2. Two triangulations belonging to two different classes cannot be isomorphic to each other. Proof.
Immediate from Corollary 1. K 5. IDENTIFICATION OF THE CLASS AND THE CENTRAL TRIANGLE
In this section we consider the problem of efficiently determining the central triangle (or the bisector) of a triangulation and thus identifying the class to which a triangulation belongs. For this we first find the longest edge(s) in the triangulated polygon. If the longest edge is of length N2 (which can occur only when N is even), then the given triangulation is a bisector one. Otherwise, we find the unique central triangle in the given nonbisector triangulation by using the fact that the longest edge in G T must be one of the sides of the central triangle of T (from Result 3). The complete process can be described by the three steps given below. (I) Find the longest edge emanating from the vertices i of G T , \ i , 0iN&1. (II) (p, q).
Among N edges obtained in (I), find again the longest one. Let it be
(III) If d(p, q)=N2, then the triangulation T is a bisector triangulation; otherwise, for each vertex k, other than p and q, find d(k, p)+d(k, q)+d(p, q). If the sum is N then (k, p, q) is the central triangle. We assume that the planar straight line embedding of G T is given in the form of ordered adjacency lists. By ordered adjacency list we mean that the nodes in the list will appear in a specific direction, in that of either increasing node number or decreasing node number and for a node i, the list will start either from i+1 or i&1 ( \are taken under modulo N). An example is shown in Fig. 5. Let us now formally describe the algorithm ICCT for identification of the class and the central triangle of the triangulation when implemented with N processors. These processors will be referred to as P0 , P1 , ..., PN&1 so that the processor Pi will take care of the vertex i.
FIG. 5.
An example of representing a graph by ordered adjacency lists.
O(log N) TIME PARALLEL ALGORITHM
151
Algorithm ICCT. Input:
The maximal outerplanar graph G T (V, E) corresponding to given triangulation T. G T is given in the form of ordered adjacency lists.
Output:
The class to which T belongs and also the central triangle in case of nonbisector triangulation.
Step 1. for i=0 to N&1 do in parallel from the adjacency list of the node i, the processor Pi finds the largest chord (i, k) of length l i emanating from vertex i, where k # V is some vertex in G T . If there is more than one such edge with the same length l i , then only that corresponding to the minimum k value will be chosen. Pi generates the triplet ( i, k, l i ). Step 2. Pi's find the lexicographic minimum of the triplets ( N&l i , i, k). Let this minimum be ( N&l s , s, t). The processor P0 will store the triplet ( s, t, l s ). Step 3. If l s =N2 then output T as a bisector triangulation and stop. Step 4. The triplet ( s, t, l s ) is broadcast to all the N&1 processors Pi , 0
152
SEN GUPTA AND SINHA
6. ISOMORPHISM PROBLEM FOR MOPs We know that there exists a one-to-one correspondence between the MOPs and the planar embeddings of triangulated convex polygons. If the nodes in a MOP are numbered in such a way that the sequence of nodes [0, 1, ..., N&1, 0] describes the unique Hamiltonian cycle of the MOP, then a MOP G can be equivalently represented by the triangulated convex polygon T(0, 1, ..., N&1). We now recall the notion of Hamiltonian degree sequence [2] in a MOP as follows. Definition 5. For a MOP T(0, 1, 2, ..., N&1), the sequence [$ 0 , $ 1 , ..., $ N&1 ] of positive integers will be called the Hamiltonian degree sequence of T iff $ i is the degree of the node i, \ i , 0iN&1. From the properties of triangulation of a polygon [23], it may be noted that (i)
2$ i N&1, and
(ii)
there exist at least two elements of the sequence whose values are 2.
For the MOP isomorphism problem we start from the point that two MOPs G 1 and G 2 , having N nodes each, are given in terms of two triangulations T1 (0, 1, ..., N&1) and T2 (0, 1, ..., N&1). Hence, deciding whether G 1 and G 2 are isomorphic to each other amounts to testing the isomorphism of the two triangulations T1 (0, 1, ..., N&1) and T2 (0, 1, ..., N&1). We now state the following result which is also mentioned by Beyer et al. [2] in another form. Result 6. Two MOPs T1 (0, 1, ..., N&1) and T2 (0, 1, ..., N&1) are isomorphic to each other iff their Hamiltonian degree sequences are identical under reflection andor rotation. The algorithm we present to test whether two MOPs are isomorphic is based mainly on Result 6. Let the given degree sequences of T1 and T2 along their Hamiltonian cycles be [$ 10 , $ 11 , $ 12 , ..., $ 1N&1 ] and [$ 20 , $ 21 , $ 22 , ..., $ 2N&1 ], respectively. We need to find whether there exist any relection andor rotation under which these degree sequences will be identical. If there exists one such transformation, for nonbisector triangulations, we can say by Corollary 1 that the central triangle of T1 and T2 will be identical under the same transformation. Let (i 1 , j 1 , k 1 ) and (i 2 , j 2 , k 2 ) be the central triangles of T1 and T2 , respectively. If the central triangles (i 1 , j 1 , k 1 ) and (i 2 , j 2 , k 2 ) are not congruent to each other, then we can at once conclude that the triangulations are nonisomorphic. But, in case they are congruent to each other, different possible transformations (at most six in number) can easily be found, under one of which the degree sequences will be identical when T1 and T2 are isomorphic. In particular, for each of scalene and isosceles triangulations, there are two different possible transformations; for equilateral and bisector triangulations, there exist six and four different possible transformations, respectively [29]. Let us now present the algorithm in a formal way. Algorithm ISO MOP. Input: Two triangulatons T1 (0, 1, ..., N&1) and T2 (0, 1, ..., N&1) corresponding to two maximal outerplanar graphs G 1 and G 2 along with the respective
O(log N) TIME PARALLEL ALGORITHM
153
Hamiltonian degree sequences [$ 10 , $ 11 , $ 12 , ..., $ 1N&1 ] and [$ 20 , $ 21 , $ 22 , ..., $ 2N&1 ] are given. The MOPs are given in the form of the ordered adjacency lists. Output: Decide whether G 1 and G 2 are isomorphic or not. Step 1. Using the algorithm ICCT, identify the classes to which these two triangulations belong. If these two triangulations belong to two different classes then the triangulations are nonisomorphic. Otherwise, in case of bisector triangulations, find the longest edges of both T1 and T2. In case of nonbisector triangulations, find the central triangles [i 1 , j 1 , k 1 ] and [i 2 , j 2 , k 2 ] of T1 and T2 , respectively. Step 2. If the triangulations are bisector triangulations, then check whether the modified Hamiltonian degree sequence of T2 is identical to that of T1 under any one of the four possible mappings [29]. If one such mapping is found then the triangulations are isomorphic. Otherwise, these triangulations are nonisomorphic triangulations. Step 3. If the triangulations are scalene triangulations, then check whether the modified Hamiltonian degree sequence of T2 is identical to that of T1 under either of the two possible mappings [29]. If one such mapping is found then the triangulations are isomorphic. Otherwise, these triangulations are nonisomorphic triangulations. Step 4. If the triangulations are isosceles triangulations, then check whether the modified Hamiltonian degree sequence of T2 is identical to that of T1 under either of the two possible mappings [29]. If one such mapping is found then the triangulations are isomorphic. Otherwise, these triangulations are nonisomorphic triangulations. Step 5. If the triangulations are equilateral triangulations, then check whether the modified Hamiltonian degree sequence of T2 is identical to that of T1 under any one of the six possible mappings [29]. If one such mapping is found then the triangulations are isomorphic. Otherwise, these triangulations are nonisomorphic triangulations. Implementation of the algorithm. (1) On an EREW PRAM model with N processors. Step 1 requires O(log N) time steps as discussed in the previous section. Steps 2, 3, 4, and 5 can be implemented on this model in O(log N) time. In each of the steps 2, 3, 4, and 5, the processor Pi will compute the inverse of the respective mappings (as discussed above) for i. Let it be j. Pi will then read the value of $ 2j from the PRAM and compare it with $ 1i . All the processors will do the same work in parallel. It will take a constant amount of time to implement. Finally, the results obtained by comparison will be gathered by the processor P0 in O(log N) time and P0 will take the decision whether the triangulations are isomorphic or not. Hence, the total time taken to implement this algorithm on an EREW PRAM model with N processors is O(log N). (2) On a hypercube with N processors. We assume that the processor Pi will take care of the node i, 0iN&1. Initially, the ordered adjacency list for the node i and the i th elements $ 1i and $ 2i of the Hamiltonian degree sequences of T 1 and T 2 will be given to the processor Pi . Step 1 can be implemented on the hypercube in O(log N) time. To implement steps 2, 3, 4, and 5, here also the processor Pi will first compute the respective inverse mapping of i to get the value of j. It will then request the processor Pj to send the value of $ 2j . The value of $ 2j will be compared with $ 1i at the processor Pi . These results are gathered by the processor P0 to take the final decision. These steps
154
SEN GUPTA AND SINHA
can be implemented on a hypercube in O(log N) time steps [17, 22]. Hence the required time is O(log N). Remark. If instead of ordered adjacency lists, the graphs are given in the form of adjacency matrices along with the Hamiltonian degree sequences, then also the algorithm ICCT can be implemented with the same time complexity. However, in this case we would need N 2 processors. This is because we know the maximum of N numbers can be found in Wlog 2 NX time using N processors. Therefore, in step 1 of the algorithm ICCT, to find the longest edge emanating from a vertex in Wlog 2 NX time steps, N processors will be required for each of the vertices. As a result, we would need N 2 processors altogether. Hence, to keep the time complexity of the algorithm ISO MOP at O(log N), N 2 processors are required when the graphs are given in the form of adjacency matrices. 7. CONCLUSION In this paper, we have presented an algorithm for testing the isomorphism of MOPs. If the MOPs are given in the form of ordered adjacency lists, the algorithm will take O(log N) time steps, when implemented on an EREW PRAM model as well as on a hypercube with N processors. The problem has been tackled in a framework related to triangulation of convex polygons, resulting in a simple and easily implementable algorithm. REFERENCES 1. A. V. Aho, J. E. Hopcroft, and J. D. Ullman, ``The Design and Analysis of Computer Algorithms,'' AddisonWesley, Reading, MA, 1974. 2. T. Beyer, W. Jones, and S. Mitchel, Linear algorithms for isomorphism of maximal outerplanar graph, J. Assoc. Comput. Mach. 26 (1979), 603610. 3. H. L. Bodlaender, Polynomial algorithms for graph isomorphism and chromatic index on partial K-trees, J. Algorithms 11 (1990), 631643. 4. C. J. Colbourn and K. S. Booth, Linear time automorphism algorithms for trees, interval graphs and planar graphs, SIAM J. Comput. 10 (1981), 203225. 5. R. Cole, M. Crochemore, Z. Galil, L. Gasieniec, R. Hariharan, S. Muthukrishnan, K. Park, and W. Rytter, Optimally fast parallel algorithms for preprocessing and pattern matching in one and two dimensions, in ``Proceedings, 34th Annu. Symp. Found. Comput. Sci. (FOCS),'' pp. 248258, 1993. 6. D. G. Corneil and C. C. Gotlieb, An efficient algorithm for graph isomorphism, J. Assoc. Comput. Mach. 17 (1970), 5164. 7. M. R. Garey and D. S. Johnson, ``Computers and IntractabilityA Guide to the Theory of NP-Completeness,'' Freeman, San Fransisco, 1979. 8. H. Gazit and J. H. Reif, A randomized parallel algorithm for planar graph isomorphism, in ``Proceedings, 2nd Annu. ACM Symp. Parallel Algorithm Arch.,'' pp. 210219, 1990. 9. H. Gazit, A deterministic parallel algorithm for planar graph isomorphism, in ``Proceedings, 32nd Annu. Symp. Found. Comput. Sci. (FOCS),'' pp. 723732, 1991. 10. R. L. Graham, D. E. Knuth, and O. Potashnik, ``Concrete Mathematics,'' AddisonWesley, Reading, MA, 1988. 11. F. Harary, ``Graph Theory,'' AddisonWesley, New York, 1969. 12. J. E. Hopcroft and R. E. Tarjan, A V 2 algorithm for determining isomorphism of planar graphs, Inform. Process. Lett. (1971), 3234. 13. J. E. Hopcroft and R. E. Tarjan, Isomorphism of planar graphs, in ``Complexity of Computer Computations'' (R. E. Miller and J. W. Thatcher, Eds.), pp. 131152, Plenum Press, New York, 1972.
O(log N) TIME PARALLEL ALGORITHM
155
14. J. E. Hopcroft and R. E. Tarjan, Dividing a graph into triconnected components, SIAM J. Comput. 2 (1973), 135158. 15. J. E. Hopcroft and J. K. Wong, Linear time algorithm for isomorphism of planar graphs, in ``Proceedings, 6th Annual ACM Symp. Theory Comput.,'' pp. 172184, 1974. 16. J. JaJa and S. R. Kosaraju, Parallel algorithm for planar graph isomorphism and related problems, IEEE Trans. Circuits Syst. 35 (1988), 304311. 17. S. L. Johnson and C.-T. Ho, Optimum broadcasting and personalized communication in hypercubes, IEEE Trans. Comput. 38 (1989), 12491268. 18. G. S. Leuker and K. S. Booth, A Linear time algorithm for deciding interval graph isomorphism, J. Assoc. Comput. Mach. 26 (1979), 183195. 19. C. Levcopoulos, A. Lingas, O. Peterson, and W. Ryter, Optimal parallel algorithms for testing isomorphism of trees and outerplanar graphs, in ``Proceedings, Found. Software Tech. Theoretical Comput. Sci.,'' pp. 204214, 1990. 20. A. Lingas and A. Proskurowski, On parallel complexity of the subgraph homeomorphism and the subgraph isomorphism problem for classes of planar graphs, Theoret. Comput. Sci. 68 (1989), 155173. 21. J. H. Morris, Jr. and V. R. Pratt, A linear pattern matching algorithm, Tech. Rep. 40, Computing Center, University of California, Berkeley, CA, 1970. 22. D. Nassimi and S. Sahni, Data broadcasting in SIMD computers, IEEE Trans. Comput. 30 (1981), 101106. 23. F. P. Preparata and M. I. Shamos, ``Computational GeometryAn Introduction,'' Springer-Verlag, Berlin, 1988. 24. R. Read and D. Corneil, The graph isomorphism disease, J. Graph Theory. 1 (1977), 239363. 25. D. C. Schmidt and L. E. Druffel, A fast backtracking algorithm to test directed graphs for isomorphism using distance matrices, J. Assoc. Comput. Mach. 23(3) (1976), 433445. 26. S. Sen Gupta, K. Mukhopadhyaya, B. B. Bhattacharya, and B. P. Sinha, Geomotric classification of triangulations and their enumeration in a convex polygon, Comput. Math. Appl. 27 (1994), 99115. 27. L. Weinberg, On the maximum order of the automorphism group of a planar triply-connected graph, SIAM J. Appl. Math. 14 (1966), 729738. 28. N. C. Veeraraghavulu, P. Srenivasa Kumar, and C. E. Veni Madhavan, A linear time algorithm for isomorphism of a subclass of chordal graphs, in ``Proceedings, 1st National Seminar Theoretical Comput. Sci.,'' pp. 159168, 1991. 29. S. Sen Gupta, ``New Topologies and Parallel Algorithms for Static Interconnection Networks,'' Ph.D. thesis, Indian Statistical Institute, 1996.
SRABANI SEN GUPTA received her M.Sc. in Applied Mathematics from University of Calcutta and Ph.D. in Computer Science from Indian Statistical Institute, Calcutta in 1990 and 1997, respectively. Currently, she is working as a Post-Doctoral Associate in the Department of Computer and Information Science and Engineering, University of Florida, Gainesville. Her research interests include interconnection networks, parallel algorithms, and high performance computing. BHABANI P. SINHA received his M.Tech. and Ph.D. degrees in 1975 and 1979, respectively, both from the University of Calcutta, India. He joined the faculty of Electronics Unit of Indian Statistical Institute, Calcutta in 1976, where he is currently a Professor, Head of the Advanced Computing and Microelectronics Unit, and Professor-in-Charge of the Computer and Communication Sciences Division. He has published research papers in the areas of computer architecture, fault diagnosis, graph algorithms, interconnection networks, parallel algorithms, etc. His current research interests are in the areas of parallel processing and efficient algorithm design. Professor Sinha was an Alexander von Humboldt fellow of Germany during 19791981 and also during 19901991. He was a visiting faculty of Southern Illinois University, Carbondale, Illinois during 19861987 and of University of Central Florida, Orlando in 1998. He is a fellow of the National Academy of Sciences, India, Indian National Academy of Engineering, and also of the Institution of Electronics and Telecommunication Engineering, India. He is a senior member of the IEEE.