In graph theory, a circle graph is the intersection graph of a set of chords of a circle. That is, it is an undirected graph whose vertices can be associated with chords of a circle such that two vertices are adjacent if and only if the corresponding chords cross each other.
Spinrad (1994) gives an O(n2)-time algorithm that tests whether a given n-vertex undirected graph is a circle graph and, if it is, constructs a set of chords that represents it.
A number of other problems that are NP-complete on general graphs have polynomial time algorithms when restricted to circle graphs. For instance, Kloks (1996) showed that the treewidth of a circle graph can be determined, and an optimal tree decomposition constructed, in O(n3) time. Additionally, a minimum fill-in (that is, a chordal graph with as few edges as possible that contains the given circle graph as a subgraph) may be found in O(n3) time.Tiskin (2010) has shown that a maximum clique of a circle graph can be found in O(n log2n) time, while Nash & Gregg (2010) have shown that a maximum independent set of an unweighted circle graph can be found in O(n min{d, α}) time, where d is a parameter of the graph known as its density, and α is the independence number of the circle graph.
However, there are also problems that remain NP-complete when restricted to circle graphs. These include the minimum dominating set, minimum connected dominating set, and minimum total dominating set problems.
The chromatic number of a circle graph is the minimum number of colors that can be used to color its chords so that no two crossing chords have the same color. Since it is possible to form circle graphs in which arbitrarily large sets of chords all cross each other, the chromatic number of a circle graph may be arbitrarily large, and determining the chromatic number of a circle graph is NP-complete. It remains NP-complete to test whether a circle graph can be colored by four colors.Unger (1992) claimed that finding a coloring with three colors may be done in polynomial time but his writeup of this result omits many details.