Circle Graph Isomorphism in Almost Linear Time

by   Vít Kalisz, et al.
Charles University in Prague

Circle graphs are intersection graphs of chords of a circle. In this paper, we present a new algorithm for the circle graph isomorphism problem running in time O((n+m)α(n+m)) where n is the number of vertices, m is the number of edges and α is the inverse Ackermann function. Our algorithm is based on the minimal split decomposition [Cunnigham, 1982] and uses the state-of-art circle graph recognition algorithm [Gioan, Paul, Tedder, Corneil, 2014] in the same running time. It improves the running time O(nm) of the previous algorithm [Hsu, 1995] based on a similar approach.



There are no comments yet.


page 1

page 2

page 3

page 4


A Scaling Algorithm for Weighted f-Factors in General Graphs

We study the maximum weight perfect f-factor problem on any general simp...

Feedback Vertex Set on Geometric Intersection Graphs

In this paper, we present an algorithm for computing a feedback vertex s...

Finding Triangles or Independent Sets

(I) We revisit the algorithmic problem of finding all triangles in a gra...

Expander Decomposition and Pruning: Faster, Stronger, and Simpler

We study the problem of graph clustering where the goal is to partition ...

Cryptanalysis of the DHDP and EGDP protocols over E_p^(m)

In this paper we break the protocol based on the Diffie-Hellman Decompos...

Augmenting the Algebraic Connectivity of Graphs

For any undirected graph G=(V,E) and a set E_W of candidate edges with E...

ASYMP: Fault-tolerant Mining of Massive Graphs

We present ASYMP, a distributed graph processing system developed for th...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

For graphs and , a bijection is called an isomorphism if . Testing isomorphism of graphs in polynomial time is a major open problem in theoretical computer science. The graph isomorphism problem clearly belongs to NP, it is unlikely NP-complete [40], and the best known algorithm runs in quasipolynomial time [2], heavily based on group theory. For a survey, see [27].

For restricted classes of graphs, it is often possible to design combinatorial polynomial-time algorithms, relying on strong structural properties of the considered classes: prime examples are linear-time algorithms for testing isomorphism of trees [1] and planar graphs [23, 18, 25]. Testing isomorphism of interval graphs [36] and permutation graphs [9, 31] in linear time relies on the property that certain canonical trees describe all their representations, and thus it can be reduced to testing isomorphism of trees whose nodes are labeled by simple graphs. In this paper, we described an almost linear-time algorithm for testing isomorphism of circle graphs working in a similar spirit.

For a graph , a circle representation of a graph is a collection of sets such that each is a chord of some fixed circle, and if and only if . Observe that is determined by the circular word giving the clockwise order of endpoints of the chords in which if and only if their endpoints alternate as in this word. A graph is called a circle graph if and only if it has a circle representation; see Fig. 1.

Figure 1: A circle graph and one of its circle representations corresponding to the circular word .

Circle graphs were introduced by Even and Itai [17] in the early 1970s. They are related to Gauss words [15], matroid representations [6, 14], and rank-width [39]. The complexity of recognition of circle graphs was a long-standing open problem, resolved in mid-1980s [5, 19, 37]. Currently, the fastest recognition algorithm [20] runs in almost linear time. In this paper, we use this recognition algorithm as a subroutine and solve the graph isomorphism problem of circle graphs in the same running time.

Theorem 1.1.

The graph isomorphism problem of circle graphs and the canonization problem of circle graphs can be solved in time , where is the number of vertices, is the number of edges, and is the inverse Ackermann function. Further, if circle representations are given as a part of the input, the running time improves to .

Two circle representation are isomorphic if by relabeling the endpoints we get identical circular orderings. In Section 4, we show that isomorphism of circle representations can be tested in time . When circle graphs and have isomorphic circle representations and , clearly . But in general, the converse does not hold since a circle graph may have many non-isomorphic circle representations.

The main tool is the split decomposition which is a recursive process decomposing a graph into several indecomposable graphs called prime graphs. Each split decomposition can be described by a split tree whose nodes are the prime graphs on which the decomposition terminates. The key property is that the initial graph is a circle graph if and only if all prime graphs are circle graphs. Further, each prime circle graph has a unique representation up to reversal, so isomorphism for them can be tested in using Section 4.

One might want to reduce the isomorphism problem of circle graphs to the isomorphism problem of split trees. Unfortunately, a graph may posses many different split decompositions corresponding to non-isomorphic split trees. The seminal paper of Cunnigham [10, Theorem 3] shows that for every connected graph, there exists a minimal split decomposition; this result was also proven in [11, Theorem 11]. The split tree associated to the minimal split decomposition is then also unique and it follows that the isomorphism problem of circle graphs reduces to the isomorphism problem of minimal split trees.

Already in 1995, this approach was used by Hsu [24] to solve the graph isomorphism problem of circle graphs in time . He actually concentrates on circular-arc graphs, which are intersection graphs of circular arcs, and builds a decomposition technique which generalizes minimal split decomposition. The main results are recognition and graph isomorphism algorithms for circular-arc graphs running in . Unfortunately, a mistake in this general decomposition technique was pointed out by [12].

This discovered mistake does not affect the graph isomorphism algorithm for circle graphs. However, Hsu’s 29 page long paper [24] just briefly mentions circle graphs and minimal split decomposition, with many details omitted. Also, a straightforward adaptation of Hsu’s algorithm combined with the fastest algorithm computing the minimal split decomposition implies an algorithm for testing isomorphism of circle graphs. But to get almost linear running time, further problems have to be addressed in this paper.

In [35], a linear-time algorithm testing isomorphism of proper circular-arc graphs is described. These are intersection graphs of circular arcs such that no arc is properly contained in another one. Since proper circular-arc graphs form a subclass of circle graphs, we strengthen their result.


Section 2 gives an overview of minimal split decomposition and minimal split trees. In Section 3, we describe a meta-algorithm computing cannonical form of a general tree whose nodes are labeled by graphs for which a linear-time cannonization is known. For a circle graph, its unique minimal split tree is labeled by prime circle graphs and degenerate graphs (complete graphs and stars). In Section 4, we give linear-time cannonization algorithms for prime and degenerate circle graphs. By putting this together in Section 5, we prove Theorem 1.1. In Conclusions, we discuss related results and open problems.

2 Minimal Split Decomposition and Split Trees

In this section, we describe several known properties of split decompositions and split trees. We assume that all graphs are connected, otherwise split decomposition is applied independently on each component.


For a graph , a split is a partition of such that:

  • For every and , we have .

  • There are no edges between and , and between and .

  • Both sides have at least two vertices: and .

See Fig. 2 on the left. In other words, the cut between and is the complete bipartite graph. A split in a graph can be found in polynomial time [42]. Graphs containing no splits are called prime graphs. Since the sets and already uniquely determine the split, we call it the split between and .

We can apply a split between and to divide the graph into two graphs and defined as follows. The graph is created from together with a new marker vertex adjacent exactly to the vertices in . The graph is defined analogously for , and . See Fig. 2 on the right.

Figure 2: On the left, a split in between and . On the right, application of this split produces graphs and with newly created marker vertices denoted by big white circles.

Split Decomposition and Split Trees.

A split decomposition of is a sequence of splits defined as follows. At the beginning, we start with the graph . In the -th step, we have graphs and we apply a split on some , dividing it into two graphs and . The next step then applies to one of the graphs , and so on.

A split decomposition can be captured by a graph-labeled tree . The vertices of are called nodes to distinguish them from the vertices of and from the added marker vertices, and nodes correspond to subsets of these vertices. To simplify the definition of graph isomorphism of graph-labeled trees, we give a slightly different formal definition in which is not necessarily a tree.

Definition 2.1.

A graph-labeled tree is a graph with where are called the normal edges and are called the tree edges. A node is a connected component of . There are no tree edges between the vertices of one node and no vertex is incident to two tree edges. The incidance graph of nodes must form a tree. The size of is .

A graph-labeled tree might not be a tree, but the underlying structure of tree edges forms a tree of nodes. The vertices of incident to tree edges are called marker vertices.

A split decomposition of is represented by the following graph-labeled tree called the split tree of (or a split tree of ). Initially, consists of a single node equal to . At each step, applies a split on one node of . This node is replaced by two new nodes and while the tree edges incident to are preserved in and and the marker vertices and are further adjacent by a newly formed tree edge. Figure 3 shows an example. It can be observed that the total size of every split tree is where is the number of vertices and is the number of edges of the original graph.

Figure 3: An example of a split tree of a split decomposition ending with highlighted prime and degenerate graphs (see the definition below). The split decomposition is not minimal: the gray and purple stars can be joined in to form the minimal split tree in the box.

From a split tree , the original graph can be reconstructed by joining neighboring nodes. For a tree edge , we remove and while adding all edges for and .

Recognition of Circle Graphs.

A split decomposition can be applied to recognize circle graphs. The key is the following observation.

Lemma 2.2.

A graph is a circle graph if and only if both and are circle graphs.

The proof is illustrated in Figure 4, which can be easily formalized; see for example [43]. A prime circle graph has a unique circle representation up to reversal [13] which can be constructed in polynomial time [20].

Figure 4: On the left, circle representations and of graphs and . They are combined into a circle representation of .

Minimal Split Decomposition.

A graph is called degenerate if it is the complete graph or the star . Suppose that we have a split decomposition ending on prime graphs. Its split tree is not uniquely determined, for instance degenerate graphs have many different split trees. Cunnigham [10] resolved this issue by terminating the split decomposition not only on prime graphs, but also on the degenerate graphs.

Cunnigham [10] introduced the notion of a minimal split decomposition. A split decomposition is minimal if the corresponding split tree has all nodes as prime and degenerate graphs, and joining any two neighboring nodes creates a non-degenerate graph.

Theorem 2.3 (Cunningham [10], Theorem 3).

For a connected graph , the split tree of a minimal split decomposition terminating on prime and degenerate graphs is uniquely determined.

The split tree of a minimal split decomposition of is called the minimal split tree of and it is denoted .

It was stated in [21, Theorem 2.17] that a split decomposition is minimal if the corresponding split tree has no two neighboring nodes such that

  • either both are complete,

  • or both are stars and the tree edge joining these stars is incident to exactly one of their central vertices.

The reason is that such neighboring nodes can be joined into a complete node or a star node, respectively. Therefore, the minimal split tree can be constructed from an arbitrary split tree by joining neighboring complete graphs and stars. For instance, the split tree in Fig. 3 is not minimal since the purple and gray stars can be joined, creating the minimal split tree .

Cunnigham’s definition of a minimal split decomposition is with respect to inclusion. Since the minimal split decomposition is uniquely determined, it is equivalently the split decomposition terminating on prime and degenerate graphs using the least number of splits.

Computation of Minimal Split Trees.

The minimal split tree can be computed in time using the algorithm of [13]. For the purpose of this paper, we use the following slower algorithm since it also computes the unique circle representations of encountered prime circle graphs:

Theorem 2.4 (Gioan et al. [21, 20]).

The minimal split tree of a circle graph can be computed in time where is the number of vertices, is the number of edges, and is the inverse Ackermann function. Further, the algorithm also computes the unique circle representation of each prime circle node of .

Graph Isomorphism Via Minimal Split Decompositions.

Let and be two graph-labeled trees. An isomorphism is an isomorphism which maps normal edges to normal edges and tree edges to tree edges. Notice that maps nodes of to isomorphic nodes of while preserving tree edges.

We use minimal split trees to test graph isomorphism of circle graphs:

Lemma 2.5.

Two connected graphs and are isomorphic if and only if the minimal split trees and are isomorphic.


Let and be any split trees of and , respectively, and be an isomorphism. We want to show that . Choose an arbitrary tree edge in , we know that is a tree edge in . We join over and over . We get that the restriction is an isomorphism of the constructed graph-labeled trees. By repeating this process, we get single nodes isomorphic graph-labeled trees which are and respectively. So .

For the other implication, suppose that is an isomorphism. Let be a minimal split decomposition, constructing the minimal split tree . We use to construct a split decomposition and a split tree of such that . Before any splits, the trees and are isomorphic. Suppose that and then uses a split between and in some node . Then will use the split between and , and since is an isomorphism, it is a valid split in . We construct by splitting into two nodes and and adding marker vertices and , and similarly for with marker vertices and . We extend to an isomorphism from to by setting and . Therefore, the resulting split trees and are isomorphic. By Theorem 2.3, the minimal split tree of is uniquely determined, so it has to be isomorphic to the constructed . ∎

3 Canonization of Graph-labeled Trees

In the rest of the paper, we work with colored graphs and isomorphisms are required to be color-preserving. Colors are represented as non-negative integers.

Definition of Canonization.

Let be a colored graph with vertices with colors in the range and edges. An encoding of is a sequence of non-negative integers. The encoding is linear if it contains at most integers, each in range . We denote the class of all encodings by . For a class of graphs , a linear canonization is some function such that is a linear encoding of and for , we have if and only if .

Fast Lexicographic Sorting.

Since we want to sort these encodings lexicographically, we frequently use the following well-known algorithm:

Lemma 3.1 (Aho, Hopcroft, and Ullman [1], Algorithm 3.2, p. 80).

It is possible to lexicographically sort sequences of numbers of arbitrary lengths in time where is the total length of these sequences.

It is easy to modify the above algorithm to get the same running time when all numbers belong to .

Canonization Algorithm.

In the rest of this section, we are going to describe the following meta-algorithm.

Lemma 3.2.

Let be a class of graphs and be a class of graph-labeled trees whose nodes belong to . Suppose that we can compute a linear-space canonization of colored graphs in in time where is the number of vertices, is the number of edges, and is convex. Then we can compute a linear-space canonization of graph-labeled trees from in time .

Let be a graph-labeled tree. We may assume that is rooted at the central node. If a tree edge is central, we insert there another node having a single vertex. Also, we orient all tree edges towards the root. For a node , we denote by the graph-labeled subtree induced by and all descendants of . Initially, we color all marker vertices by the color and all other vertices by the color . Throughout the algorithm, only marker vertices change colors.

The -th layer in is formed by all nodes of the distance from the root. Notice that every isomorphism from to maps, for every , the -th layer of to the -th layer of . Also, every node aside the root is incident to exactly one out-going tree edge whose incident marker vertex outside is called the parent marker vertex of .

The algorithm starts from the bottom layer of and process the layers towards the root. When a node is processed, we assign a color to . This color corresponds to a certain linear encoding which is created by modifying . Further, we store the mapping from colors to these linear encodings, so . The assigned colors have the property that two nodes and have the same assigned color if and only if the rooted graph-labeled subtrees induced by and all the nodes below and by and all the nodes below, respectively, are isomorphic. We remove the node from and assign its color to the parent marker vertex of . Also notice that when a non-root node is processed, all marker vertices except for one have colors different from , and for the root node, all marker vertices have colors different from .

Let be the nodes of the currently processed layer such that each vertex in these nodes has one color from . For each node , we want to use the canonization subroutine to compute the linear encoding . But the assumptions require that for vertices in , all colors are in range , but we might have . We can avoid this by renumbering the colors since at most different colors are used on . Suppose that exactly different colors are used in , and we define the injective mapping such that the smallest used color is , the second smallest is , and so on till . The renumbering of colors on is given by the inverse .

After renumbering, the algorithm runs the canonization subroutine to compute the linear encodings . We create the modified linear encoding by pre-pending with the sequence , , , …, where is the number of different colors used in . The algorithm lexicographically sorts these modified encodings using Lemma 3.1. Next, we assign the color to the nodes having the smallest encodings, the color to the nodes having the second smallest encodings, and so on. For every node , we remove it and set the color of the parent marker vertex of to the color assigned to .

Suppose that the root node has the color assigned, so throughout the algorithm, we have used the colors . The computed linear encoding of is an encoded concatenation of .

Lemma 3.3.

The described algorithm produces a correct linear canonization of graph-labeled trees in , i.e., for , we have if and only if .


Let be an isomorphism. We prove by induction from the bottom layer to the root that . Suppose that we are processing the -th layer of and and all previously used colors have the same assigned encodings in and . For every node of the -th layer of , then belongs to the -th layer of . We argue that also preserves the colors of . Since is an isomorphism of graph-labeled trees, it maps marker vertices to marker vertices and non-marker vertices to non-marker vertices. Let be the children of . By the induction hypothesis, we have , so the same colors are assigned to and . Therefore, preserves the colors of , and this property still holds after renumbering the colors by . Therefore, we have and thus . Thus, the lexicographic sorting of the nodes in the -th layer of and of is the same, so and have the same color assigned. Finally, the encodings are the same in and , so .

For the other implication, we show that a graph-labeled tree isomorphic to can be reconstructed from . We construct the root node from . Since is a canonization of , we obtain by applying . Next, we invert the recoloring by applying on the colors of . Next, we consider each marker vertex in . If it has some color , we use to construct a child node of exactly as before. We proceed in this way till all nodes are expanded and only the colors and remain. It is easy to prove by induction that since each uniquely determines the corresponding subtree in . ∎

Lemma 3.4.

The described algorithm runs in time .


When we run the canonization subroutine on a node having vertices and edges, it has all colors in range , so we can compute its linear encoding in time . Since is convex and the canonization subroutine runs on each node exactly once, the total time spend by this subroutine is bounded by .

The total count of used colors is clearly bounded by and each layer uses different colors except for and . Consider a layer with nodes having vertices and edges in total. All these nodes use at most different colors. Therefore, the modified encodings consisting of integers from , for some value , and are of the total length . Therefore, lexicografic sorting of these modified encodings can be done in time , and this sorting takes total time for all layers of . Therefore, the total running time of the algorithm is . ∎

Proof of Lemma 3.2.

It follows by Lemmas 3.3 and 3.4. ∎

4 Canonization of Prime and Degenerate Circle Graphs

Let be the class of colored prime and degenerate circle graphs. Recall that all nodes of minimal split trees of connected circle graphs belong to . To apply the meta-algorithm of Lemma 3.2, we need to show that the linear canonization of can be computed in time where is the number of vertices and is the number of edges.

Linear Canonizations of Degenerate Graphs.

For a colored complete graph , we sort its colors using bucket sort in time , so the vertices have the colors . The computed linear canonization is .

For a star , we sort the colors of leaves using bucket sort in time , so they have the colors , while the center has the color . The computed linear canonization is .

Linear Encodings of Colored Cycles.

As a subroutine, we need to find a canonical form of a colored cycle. To do this, it suffices to find the the lexicographically minimal rotation of a circular string. This can be done using comparisons over some alphabet  [4, 41].

Linear Canonizations of Circle Representations.

Let be an arbitrary colored circle graph on vertices together with an arbitrary circle representation . The standard way to describe is to arbitrarily order the vertices and to give a circular word consisting of integers from , each appearing exactly twice, in such a way that the occurrences of and alternate (i.e., appear as ) if and only if . This circular word describes the ordering of endpoint of the chords in, say, the clockwise direction.

Let and be two colored circle graphs on vertices labeled with circle representations and represented by and . We say that if and only if there exists a bijection such that

  • the vertices in and in have identical colors, and

  • the circular words and are identical.

Notice that when , necessarily , but in general the converse is not true. We want to construct a linear canonization such that if and only if .

We want to construct directly from the representation but an arbitrary chosen labeling of vertices in is not helpful. Therefore, we consider a different encoding of the representation which is invariant on rotation. For each of endpoints , we store two numbers:

  • The color of the vertex of the chord corresponding to .

  • The number of endpoints in the clockwise direction between and the other endpoint corresponding to the same chord. We have and when the and correspond one chord, then .

To distinguish from , we increase all by , so . Then we may consider the circular word of length .

Lemma 4.1.

Let and be two colored circle graphs with representations and . We have if and only if the circular words and are identical.


If , there exists an index such that rotating the representation by endpoints produces . When and , it cyclically holds that and . So the circular words and are identical.

For the other implication, observe that the circle representation and the circle graph can be reconstructed from . If and , we reconstruct isomorphic representations and . ∎

Lemma 4.2.

We can compute the linear encoding of colored circle representations in time .


For a representation , we can clearly compute in time . Next, we apply to an cycle canonization algorithm [4, 41] which computes in time . ∎

Linear Canonization of Prime Circle Graphs.

Let be a prime circle graph. It has at most two different representations and where one is the reversal of the other. Using Lemma 4.2, we compute their linear encodings and . As the linear encoding , we chose the lexicographically smallest of and , prepended with the value . Clearly, colored prime circle graphs and are isomorphic if and only if .

By putting the results of this section together, we get the following:

Lemma 4.3.

We can compute linear canonization of colored prime circle graphs and degenerate graphs in time .

5 Canonization and Graph Isomorphism of Circle Graphs

In this section, we combine the presented results to show that a linear canonization of circle graphs can be computed in time . This algorithm clearly implies Theorem 1.1 since circle graphs and are isomorphic if and only if .

Suppose that is a connected circle graph. We apply the algorithm of Theorem 2.4 to compute the minimal split decomposition of and the unique circle representation for each prime circle graph (up to reversal). We halt if some circle representations does not exist since is not a circle graph. The total running time of preprocessing is , and the remainder of the algorithm runs in time , so this step is the bottleneck. Next, we use Lemmas 4.3 and 3.2 to compute a linear canonization and we put .

Suppose that the circle graph is disconnected, and let be its connected components. We compute their linear encodings , lexicografically sort them in time using Lemma 3.1, and output them in sorted as a sequence. The total running time is .

When the input also gives a circle representation , we can avoid using Theorem 2.4. Instead, we compute a split decomposition and the corresponding split tree in time using [13]. We can easily modify this split tree into the minimal split tree by joining neighboring complete vertices and stars as discussed in Section 2. For each prime node , we obtain its unique circle representation by restricting to the vertices of . Since the avoided algorithm of Theorem 2.4 was the bottleneck, we get the total running time .

6 Conclusions

We conclude this paper by discussing several possible research directions and open problems. The main used tool is minimal split decomposition. The algorithm finds the cannonical form of the unique minimal split tree , using the canonical forms of every prime and degenerate circle graph appearing as a node of . We obtain an algorithm computing the cannonical form for every circle graph.

Problem 6.1.

Does the minimal split tree capture all possible representations of circle graph?

The -dimensional Weisfeiler-Leman [44] algorithm (-dim WL) is a fundamental algorithm used as a subroutine in graph isomorphism testing. The algorithm colors -tuples of vertices of two input graphs and iteratively refines the color classes until the coloring becomes stable. We say that -dim WL distinguishes two graph and if and only if its application to each of them gives colorings with different sizes of color classes. Two distinguished graphs are clearly non-isomorphic, however, for every , there exist non-isomorphic graphs not distinguished by -dim WL. For a class of graphs , the Weisfeiler-Leman dimension of is the minimum integer such that -dim WL distinguishes every such that .

Problem 6.2.

What is the Weisfeiler-Leman dimension of circle graphs?

For many classes of graphs, such as trees, interval graphs [16], planar graphs [26], or more generally graphs with excluded minors [22], and recently also circular-arc graphs [38], the Weisfeiler-Leman dimension is finite. A major open problem is for which classes of graphs can isomorphism be tested in polynomial time without using group theory, i.e., by a combinatorial algorithm, often meant some -dim WL.

Further, a natural question to ask, especially for problems solvable in linear time, is whether they can be solved using logarithmic space. This is, for example, known for interval graphs [32] and Helly circular-arc graphs [33]. Recently, a parametrized logspace algorithm was given for circular-arc graphs in [7].

Problem 6.3.

Can isomorphism of circle graphs be tested using logarithmic space?

Finally, we mention the partial representation extension problem which is a generalization of the recognition problem. The input consists of, in our case, a circle graph and a circle representation of its induced subgraph and the task is to complete the representation or output that it is not possible. Obviously, this problem can be asked for various classes of graphs and it was extensively studied [30, 28, 29, 8, 3, 34].

In [8], the authors give an algorithm to solve this problem. They give an elementary recursive description of the structure of all representations and try to match the partial representation on it. It is a natural question whether the minimal split trees can be used to solve the partial representation extension problem faster.

Problem 6.4.

Can the partial representation extension problem for circle graphs be solved using minimal split decomposition faster that ?


  • [1] A. V. Aho, J. E. Hopcroft, and J. D. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley Publishing Company, 1974.
  • [2] L. Babai. Graph isomorphism in quasipolynomial time. In STOC, 2016.
  • [3] J. Bang-Jensen, J. Huang, and X. Zhu. Completing orientations of partially oriented graphs. CoRR, abs/1509.01301, 2015.
  • [4] Kellogg S Booth. Lexicographically least circular substrings. Information Processing Letters, 10(4-5):240–242, 1980.
  • [5] A. Bouchet. Reducing prime graphs and recognizing circle graphs. Combinatorica, 7(3):243–254, 1987.
  • [6] A. Bouchet. Unimodularity and circle graphs. Discrete Mathematics, 66(1-2):203–208, 1987.
  • [7] Maurice Chandoo. Deciding circular-arc graph isomorphism in parameterized logspace. In 33rd Symposium on Theoretical Aspects of Computer Science (STACS 2016). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2016.
  • [8] S. Chaplick, R. Fulek, and P. Klavík. Extending partial representations of circle graphs. CoRR, abs/1309.2399, 2015.
  • [9] C. J. Colbourn. On testing isomorphism of permutation graphs. Networks, 11(1):13–21, 1981.
  • [10] William H Cunningham. Decomposition of directed graphs. SIAM Journal on Algebraic Discrete Methods, 3(2):214–228, 1982.
  • [11] William H Cunningham and Jack Edmonds. A combinatorial decomposition theory. Canadian Journal of Mathematics, 32(3):734–765, 1980.
  • [12] A. R. Curtis, M. C. Lin, R. M. McConnell, Y. Nussbaum, F. J. Soulignac, J. P. Spinrad, and J. L. Szwarcfiter. Isomorphism of graph classes related to the circular-ones property. Discrete Mathematics and Theoretical Computer Science, 15(1):157–182, 2013.
  • [13] E. Dahlhaus.

    Parallel algorithms for hierarchical clustering and applications to split decomposition and parity graph recognition.

    Journal of Algorithms, 36(2):205–240, 1998.
  • [14] H. de Fraysseix. Local complementation and interlacement graphs. Discrete Mathematics, 33(1):29–35, 1981.
  • [15] H. de Fraysseix and P. O. de Mendez. On a characterization of gauss codes. Discrete & Computational Geometry, 22(2):287–295, 1999.
  • [16] Sergei Evdokimov, Ilia Ponomarenko, and Gottfried Tinhofer. Forestal algebras and algebraic forests (on a new class of weakly compact graphs). Discrete Mathematics, 225(1-3):149–172, 2000.
  • [17] S. Even and A. Itai. Queues, stacks, and graphs. Theory of Machines and Computation (Z. Kohavi and A. Paz, Eds.), pages 71–76, 1971.
  • [18] J. Fiala, P. Klavík, J. Kratochvíl, and R. Nedela. 3-connected reduction for regular graph covers. CoRR, abs/1503.06556, 2017.
  • [19] C. P. Gabor, K. J. Supowit, and W. Hsu. Recognizing circle graphs in polynomial time. J. ACM, 36(3):435–473, 1989.
  • [20] E. Gioan, C. Paul, M. Tedder, and D. Corneil. Practical and efficient circle graph recognition. Algorithmica, 69(4):759–788, 2014.
  • [21] E. Gioan, C. Paul, M. Tedder, and D. Corneil. Practical and efficient split decomposition via graph-labelled trees. Algorithmica, 69(4):789–843, 2014.
  • [22] Martin Grohe. Descriptive complexity, canonisation, and definable graph structure theory, volume 47. Cambridge University Press, 2017.
  • [23] J. E. Hopcroft and J. Wong. Linear time algorithm for isomorphism of planar graphs. In STOC, pages 172–184. ACM, 1974.
  • [24] W. L. Hsu. algorithms for the recognition and isomorphism problems on circular-arc graphs. SIAM Journal on Computing, 24(3):411–439, 1995.
  • [25] K. Kawarabayashi, P. Klavík, B. Mohar, R. Nedela, and P. Zeman. Isomorphisms of maps on the sphere. to appear in Contemporary Mathematics AMS, 2019.
  • [26] Sandra Kiefer, Ilia Ponomarenko, and Pascal Schweitzer. The weisfeiler-leman dimension of planar graphs is at most 3. In 2017 32nd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), pages 1–12. IEEE, 2017.
  • [27] P. Klavík, D. Knop, and P. Zeman. Graph isomorphism restricted by lists. CoRR, abs/1607.03918, 2016.
  • [28] P. Klavík, J. Kratochvíl, Y. Otachi, I. Rutter, T. Saitoh, M. Saumell, and T. Vyskočil. Extending partial representations of proper and unit interval graphs. Algorithmica, 77(4):1071–1104, 2017.
  • [29] P. Klavík, J. Kratochvíl, Y. Otachi, and T. Saitoh. Extending partial representations of subclasses of chordal graphs. Theoretical Computer Science, 576:85–101, 2015.
  • [30] P. Klavík, J. Kratochvíl, Y. Otachi, T. Saitoh, and T. Vyskočil. Extending partial representations of interval graphs. Algorithmica, 2016.
  • [31] P. Klavík and P. Zeman. Automorphism groups of geometrically represented graphs. In 32nd International Symposium on Theoretical Aspects of Computer Science, STACS 2015, volume 30 of Leibniz International Proceedings in Informatics (LIPIcs), pages 540–553, 2015.
  • [32] Johannes Köbler, Sebastian Kuhnert, Bastian Laubner, and Oleg Verbitsky. Interval graphs: Canonical representations in logspace. SIAM Journal on Computing, 40(5):1292–1315, 2011.
  • [33] Johannes Köbler, Sebastian Kuhnert, and Oleg Verbitsky. Helly circular-arc graph isomorphism is in logspace. In International Symposium on Mathematical Foundations of Computer Science, pages 631–642. Springer, 2013.
  • [34] T. Krawczyk and B. Walczak. Extending partial representations of trapezoid graphs. In WG 2017, Lecture Notes in Computer Science, 2017.
  • [35] Min Chih Lin, Francisco J Soulignac, and Jayme L Szwarcfiter. A simple linear time algorithm for the isomorphism problem on proper circular-arc graphs, 2008.
  • [36] G. S. Lueker and K. S. Booth. A linear time algorithm for deciding interval graph isomorphism. Journal of the ACM (JACM), 26(2):183–195, 1979.
  • [37] W. Naji. Graphes de Cordes: Une Caracterisation et ses Applications. PhD thesis, l’Université Scientifique et Médicale de Grenoble, 1985.
  • [38] Roman Nedela, Ilia Ponomarenko, and Peter Zeman. Testing isomorphism of circular-arc graphs in polynomial time. arXiv preprint arXiv:1903.11062, 2019.
  • [39] S. Oum. Rank-width and vertex-minors. J. Comb. Theory, Ser. B, 95(1):79–100, 2005.
  • [40] U. Schöning. Graph isomorphism is in the low hierarchy. Journal of Computer and System Sciences, 37(3):312–323, 1988.
  • [41] Yossi Shiloach. Fast canonization of circular strings. Journal of algorithms, 2(2):107–121, 1981.
  • [42] J. P. Spinrad. Recognition of circle graphs. J. of Algorithms, 16(2):264–282, 1994.
  • [43] J. P. Spinrad. Efficient Graph Representations. Field Institute Monographs, 2003.
  • [44] B. Weisfeiler and A.A. Leman. A reduction of a graph to a canonical form and an algebra arising during this reduction. Nauchno-Technicheskaya Informatsiya, 9:12–16, 1968.