A Faster Algorithm for Maximum Induced Matchings on Circle Graphs

Circle graphs have applications to RNA bioinformatics, computational chemistry, and VLSI design. Additionally, many problems that are intractable on general graphs are efficient for circle graphs. This has driven research into algorithms for circle graphs. One well known graph problem is to find a maximum induced matching. This is NP-Hard, even for bipartite graphs. No algorithm for this problem that works directly on circle graphs has been proposed. However, since circle graphs are included in interval filament graphs, algorithms for this class can be applied to circle graphs. Unfortunately, this entails a large computational cost of O(|V |) time. We propose an algorithm that operates directly on circle graphs, and requires only O(|V |) time. Submitted: April 2018 Reviewed: June 2018 Revised: June 2018 Accepted: July 2018 Final: July 2018 Published: August 2018 Article type: Concise paper Communicated by: G. Liotta E-mail addresses: max.ward-graham@research.uwa.edu.au (MaxWard) andrew.gozzard@uwa.edu.au (Andrew Gozzard) michael.wise@uwa.edu.au (Michael Wise) amitava.datta@uwa.edu.au (Ami-


Introduction
Circle graphs are intersection graphs resulting from a set of chords.A more rigorous definition is given in Section 2.1.Circle graphs are notable for two reasons.First, many problems that are typically hard on general graphs are tractable for circle graphs [1,8,10,11,13,15,17]. Second, circle graphs have practical applications.For instance, they are used to model problems in VLSI design.These problems include channel and switch-box routing [16].In addition, circle graphs correspond to ribonucleic acid (RNA) secondary structures.As such, algorithms for circle graphs have been prominent in bioinformatics, sometimes without the authors' realizing that they use circle graphs.For example, Nussinov et al. [14] solved the maximum weight independent set problem on a circle graph as a method for predicting a likely RNA secondary structure.Another example comes from RNA structure visualization where Auber et al. [2] needed to approximate maximum induced bipartite subgraphs for circle graphs.One can also see that the conflict graphs used by Auber et al. are circle graphs.Similarly, Bonsma & Breuer [3] used circle graphs to model the counting of benzenoid hydrocarbons and fullerenes.
The Maximum Induced Matching (MIM) problem is to find a maximum matching in a simple undirected graph G, such that the vertices of no two edges in the matching share an edge in G. Put another way, we are to find a matching in G such that the induced subgraph is also a matching.The MIM problem is NP-Hard for both general graphs, and for bipartite graphs, but can be solved in polynomial time for chordal graphs [4], and some intersection graphs [5].This problem has never been directly solved for circle graphs to our knowledge.The best algorithms for finding a MIM in circle graphs are for super classes of circle graphs, and follow from the findings of Cameron [5].
We describe a new algorithm for finding a MIM in circle graphs.This algorithm works directly on circle graphs, and requires only O(|V | 3 ) time.This is faster than existing algorithms which operate on super classes of circle graphs and require O(|V | 6 ) time.

Existing Algorithms
Existing algorithms capable of finding a MIM in circle graphs are implied by the work of Cameron [5].Cameron points out three interesting properties about some intersection graph classes that make this possible.These can be found in Properties 1 to 3. To understand these, some definitions must be given.An independent set is a set of vertices in a graph such that no two vertices in the set share an edge.The line-graph L(G) of a graph G is constructed by making a vertex corresponding to each edge in G where two vertices in L(G) share an edge iff the corresponding edges in G share a vertex.Finally, the square G 2 of a graph G is constructed by adding non-existing edges between any pair of vertices in G that are connected by a path of length two.
Property 3.There exists a polynomial time algorithm for the maximum independent set problem.
If Properties 1 to 3 hold for a graph class, then there is a polynomial time algorithm for the MIM problem on that graph class.Interestingly, Cameron found that only Property 1 is not true for circle graphs since [L(G)] 2 for a circle graph G may not be a circle graph [5].In contrast, all three properties hold for interval-filament graphs.Interval-filament graphs are intersection graphs of a set of curves (filaments) with their endpoints describing intervals on a line such that the filaments of two disjoint intervals cannot intersect.Interval-filament graphs include circle graphs [9].This implies a polynomial time solution for the MIM problem on circle graphs, as all circle graphs are also interval-filament graphs.More recently, a polynomial time maximum weight independent set algorithm was found for outerstring graphs by Keil et al. [12].Since outerstring graphs include interval filament graphs, and thus circle graphs, this also implies a polynomial time algorithm for the MIM problem on circle graphs.
Since the squared line-graph of some circle graph , the complexity analysis of finding a maximum independent set in [L(G)] 2 is subtle.Both the algorithm of Gavril, which finds the maximum weight independent set on an interval-filament graph [9], and the algorithm of Keil et al., which finds a maximum weight independent set in an outerstring graph [12], have time complexity O(|V | 3 ).This implies that the best known complexity for finding a MIM for a circle graph is O(|V | 6 ).The algorithm we shall present, which works directly on circle graphs, and not on the squared line-graph, requires only O(|V | 3 ) time.
2 An Algorithm For Finding a Maximum Induced Matching in Circle Graphs

Circle Graph Models & Definitions
In this section, we explain fundamental terminology and concepts for circle graphs.Later, we shall build on these to describe our algorithms for the MIM problem.This section is an extension from our previous work on circle graphs [18].A circle graph is described by a set of chords on a circle as in Figure 1.Each chord represents a vertex, and two intersecting chords share an edge in the circle graph.We shall make some simplifications to our model of circle without loss of generality.In particular, we first assume an interval-arc model of a circle graph.
The interval-arc model of a circle graph is a convenient representation in which the circle is cut at an arbitrary point.After doing this, we are left with a collection of arcs on a line segment as can be seen in Figure 1 the chords on the original circle.Observe that the intersections between chords are preserved after cutting the circle.
Let us say that an interval-arc model contains N arcs (|V | = N ), and that we assign each a unique number from 1 to N .Call these numbers vertex numbers, as they each correspond to a vertex in the circle graph.We can uniquely represent a circle graph as a permutation of these vertex numbers {1, 1, 2, 2, . . ., N, N }.We will call this representation the permutation model.The left and right endpoints of an arc now correspond to the indexes of the first and last occurrence of that arc's number in the permutation model.The permutation can be constructed by enumerating the left-to-right order of endpoints in the interval-arc representation.In other words, the permutation model is an interval-arc model in which the extra space between endpoints is removed.
Given a vertex number x, we shall say L(x) is the index of the first occurrence of x in the permutation model, and R(x) is the index of the last occurrence.Also, we say that two different vertex numbers x and y intersect (and thus share an edge in the graph) iff L(x) < L(y) < R(x) < R(y) or L(y) < L(x) < R(y) < L(x).
In the permutation model, an induced matching is a set M of pairs of vertex numbers with the following properties: Property 4. For every (x, y) ∈ M , x intersects y.

Property 5. Neither x nor y intersect any other vertex number in M .
A MIM is such a set that has the maximum possible cardinality.

Maximum Induced Matching Algorithm
We now describe a dynamic programming algorithm for finding a MIM in a circle graph.Call the permutation model of a circle graph p.Let us denote the vertex number at index i in p as p i .We define F (l, r) to be the cardinality of a MIM for the subrange of p from index l to r inclusive.Of course, F (1, |p|) (assuming p is 1-indexed) is the cardinality of a MIM for our complete circle graph.If l and r are not a valid range (l > r), then F (l, r) = 0. Otherwise, we can define the solution as follows: Let us unpack the logic behind Equation 1. First, observe that any MIM in a subrange must have a first vertex number.By first, we mean the vertex number in the MIM whose left endpoint is leftmost.The recurrence for F (l, r) exploits this property.There are two cases to maximize over.The first considers F (l + 1, r), which covers the cases where the first vertex number in a MIM does not have its left endpoint at l. Conversely, in the second case, we cover all cases where the first vertex number in the MIM does have its leftmost endpoint at l, which is only possible if l is the index of a left endpoint (L(p l ) = l).Clearly, a MIM must either have its first vertex number at l, or not, so these cases are sufficient to define a solution.
A property of a MIM in a circle graph needs to be understood before explaining the correctness of the second case of F (l, r).Consider any intersecting pair (p l , p i ) of vertex numbers in an induced matching.We know that no other vertex number can intersect either.This means that every other vertex number in an induced matching must have both its endpoints fully contained between the endpoints of p l and p i , or completely to their left or right.Correspondingly, we define I r (p l , p i ) to be the cardinality of a MIM given that p l and p i intersect, and that we are considering only the subrange from L(p l ) to r inclusive.This needs only to sum up the cardinalities of MIMs for the subranges between the endpoints of p l and p i , and the remaining part of the subrange on the right.A visualization of this can be found in Figure 2. The function I r (p l , p i ) is used in the second case of F (l, r).Recall that we are assuming that l is the index of the left endpoint of the first vertex in a MIM for the subrange [l, r].If p l is in a MIM, then it must intersect exactly one other vertex number p i .Also, as p l is first, R(p i ) > R(p l ).This means that vertex numbers that occur between l and R(p l ), and which have their right endpoints right of R(p l ) are the only possible options for p i .For each of these, the function I can be used to the find the corresponding MIM.Thus, all possibilities for the second case of F (l, r) are maximized over.
After solving the recurrence for F (l, r) using dynamic programming, the table of sub-solutions can be used to reconstruct a MIM.This is achieved by reapplying the function definition and recursively following the series of optimal sub-problems leading to the final solution.Alternatively, a table of the optimal choices can be maintained corresponding to each call to F , and the optimal solution can be traced by following these choices.Both of these techniques are classical approaches to recovering solutions to optimization problems after dynamic programming [6,7].

Complexity Analysis
The size of the state space for F is O(|V | 2 ).Observe that the number of indexes into a permutation model p is exactly 2|V |, since every vertex number occurs exactly twice.The state in our dynamic programming recurrence comprises two indexes into p of which there are O(|V | 2 ) possibilities.The final space complexity of our algorithm is also thus O(|V | 2 ).
For each of the valid states for F , both cases described in Section 2.

Final Remarks
We have presented a faster algorithm to find a MIM in a circle graph.To our knowledge, this means that the best known time complexity for this problem is reduced from O(|V | 6 ) to O(|V | 3 ).However, we have not proved a lower bound, and wonder if a better complexity is possible.An interesting corollary to our algorithm is that it can be modified to work when endpoints are shared.This modified variant has time complexity O(k 5 ) where k is the number of unique endpoints in the circle graph.This can be significant if many endpoints are shared [3,18].
We wonder if our algorithm can be extended to more general graph classes.For example, we conjecture that our algorithm can be adapted to polygoncircle graphs and interval-filament graphs.Polygon-circle graphs generalize circle graphs as they are the intersection graphs of a set of polygons inscribed on a circle.Interval-filament graphs also generalize circle graphs and are defined in Section 1.1.To our knowledge, no algorithm faster than finding the maximum independent set in [L(G)] 2 is known, which implies an O(|V | 6 ) algorithm for both.

Figure 1 :
Figure 1: Three different representations of the same circle graph.The left panel shows the circle graph as a set of chords on a circle.The middle panel shows a corresponding graph representation.The right panel depicts an interval-arc model in which the circle has been cut at point P .

Figure 2 :
Figure 2: A representation of the two cases used to compute the recurrence in Equation1.Unshaded arcs represent vertex numbers that are taken to be in a MIM.Shaded arcs represent solutions to F (l, r), that is, a MIM for a subrange.
2 must be computed.The first takes O(1) time, as it only considers a single option.The second takes O(|V |) time, as it involves iteration through a range of indexes.This implies a final time complexity of O(|V | 3 ).