1. Introduction
A subset of vertices of a digraph is stable if it contains no pair of adjacent vertices, and absorbing if for any vertex not in , there is a vertex such that the arc exists in . A kernel is a subset of vertices that is both stable and absorbing. Kernels have been introduced in 1944 by Von Neumann and Morgenstern [21]
as a tool for the study of positional or Nimtype games. Since then, other applications in game theory have been found
[5]. Kernels also play a role in graph theory: they are for instance at the heart of Galvin’s proof of Dinitz’s conjecture on list coloring [12]. Not all digraphs admit a kernel: for example a directed cycle of length three has no kernel. It has been shown by Chvátal [6] that deciding if a digraph has a kernel is NPcomplete. It is even NPcomplete in planar graphs with small degree [10].An orientation of an undirected graph is a digraph obtained by orienting every edge of in only one direction. A superorientation of is a digraph obtained by orienting each edge of either in one direction or in both directions. An orientation or a superorientation of a graph is cliqueacyclic if no clique has a directed cycle consisting of arcs oriented in only one direction, or equivalently, if every clique has a sink, i.e., a vertex absorbing all other vertices of the clique. Note that in case of superorientations, a clique may have several sinks.
One of the main results in the field is a theorem proved in 1996 by Boros and Gurvich [4] – originally conjectured by Berge and Duchet in 1980 – which states that every cliqueacyclic superorientation of a perfect graph has a kernel. (We remind the reader that a graph is perfect if the clique number is equal to the chromatic number for this graph and for all its induced subgraphs.) The original proof was quite involved and relied on advanced notions of game theory. A simpler and much more direct proof based on Scarf’s lemma was later proposed by Aharoni and Holzman [2] and further simplified by Király and Pap [15] using Sperner’s lemma. However, none of these proofs provides any efficient way of computing a kernel. The question of the complexity of kernel computation in a cliqueacyclic superorientation of a perfect graph has been identified as a challenging open problem [9].
Polynomialtime algorithms to compute kernels are known in some special cases: for instance, digraphs without directed cycle (“select the sinks and recurse”), digraphs without odd directed cycle (Richardson’s algorithm
[22]), cliqueacyclic orientations of permutation graphs [1], and cliqueacyclic superorientations of linegraphs of bipartite graphs. As noted by Maffray [17], in this latter case kernels coincide with stable matchings in bipartite graphs, computable through the celebrated algorithm of Gale and Shapley [11]. Permutation graphs and linegraphs of bipartite graphs are perfect. With the result by Durand de Gevigney et al. [8] about socalled DE graphs (see Section 4), this is almost all that is known about kernel computation in cliqueacyclic superorientations of perfect graphs.We contribute to the literature with the following two theorems, which address the problem for two special classes of perfect graphs: clawfree perfect graphs and chordal graphs. A graph is clawfree if no three vertices with a common neighbor form a stable set. A graph is chordal if there is no induced cycle of length or more.
Theorem 1.
Kernel computation is polynomial in cliqueacyclic orientations of clawfree perfect graphs.
Theorem 2.
Kernel computation is polynomial in cliqueacyclic superorientations of chordal graphs.
In both cases, we show that there exists an algorithm that, when given a graph of the mentioned classes, returns a kernel in polynomial time. While our result for chordal graphs is about superorientations, we had to restrict ourselves to the case of orientations for clawfree graphs. The complexity status of kernel computation in superorientations of clawfree graphs is left as an open problem. Note also that in the case of Theorem 2 if only cliqueacyclic orientations are considered, the computation of a kernel is easy: indeed a cliqueacyclic orientation of a chordal graph is a digraph without directed cycle.
We end this introduction with a few insights in the light of complexity theory. For each of our two theorems, deciding whether the instance belongs to the expected class can be done in polynomial time: for orientations, cliqueacyclicity is equivalent to the absence of directed cycle of length three; for superorientations of chordal graphs, cliqueacyclicity can be checked by enumerating maximal cliques, since there is a linear number of such cliques. In general, deciding whether a superorientation of a perfect graph is cliqueacyclic is a coNPcomplete problem [3, Corollary 11]. Therefore, a way to get a problem with polynomially recognizable instances is to restrict to orientations of perfect graphs. However, the problem of computing a kernel in an orientation of a perfect graph is not known to belong to any of the classical subclasses of TFNP, such as PPAD or PLS, except if the graphs have bounded cliques, as done by Kintali et al. [14] for a related question (complexity of computing a “fractional kernel”; we also refer to that paper for definitions and discussions on these complexity classes).
2. Graph operations and kernels
This section gathers preliminary results that will be useful for the proofs of Theorems 1 and 2. The following notation will be used throughout the paper. In a graph , the set of all neighbors of a vertex is denoted by . In a digraph , the set of all outneighbors (resp. inneighbors) of a vertex is denoted by (resp. ).
2.1. Cliquecutset
A cliquecutset of a digraph is a subset such that induces a clique in and is disconnected. For each connected component of , the directed graph induced by is a piece of with respect to . The main result of this section – Proposition 1 – claims, roughly speaking, that if we are able to compute efficiently kernels in pieces, we are then able to combine them efficiently to get a kernel in the whole graph. It relies on the following lemma.
Lemma 1.
Let be a cliquecutset of a digraph and a bipartition of such that is a piece of with respect to . Suppose that there exist subsets of vertices such that is a kernel of for every and such that has a kernel . Then there exists such that is a kernel of .
Proof.
For notational simplicity, let us define , so that is a kernel of for every .
We first prove that there is an index such that . The sequence of subsets of is nondecreasing (for inclusion). There is thus an index such that . Since is a kernel of , we have . The equality implies that . We have thus , as claimed.
Assume that has a kernel . Suppose first that and have an empty intersection. The set being a cliquecutset and being empty, the set is stable. The vertices in are absorbed by and those of are absorbed by because . Hence is a kernel of .
Suppose then that and have a nonempty intersection. Denote by a vertex in . By definition of , we have and . There is thus an index such that . Since is a cliquecutset, the set is stable in . The vertices in are absorbed by and those of by , we get that is a kernel of . ∎
Proposition 1.
Consider two classes and of cliqueacyclic superorientations of perfect graphs, closed for taking induced subdigraphs, such that every digraph of without a cliquecutset belongs to . Suppose there exists an algorithm that, when given a digraph of , computes a kernel of this digraph in polynomial time.
Then there exists an algorithm that, when given a digraph of , computes a kernel of this digraph in polynomial time.
Proof.
Let be the polynomialtime algorithm whose existence is assumed. Let be any digraph in . Let us describe the general algorithm to apply to to compute a kernel.
If has no cliquecutset, apply ; otherwise compute a cliquecutset of and a piece of with respect to such that contains no cliquecutset. If has at least one cliquecutset, then such a piece exists, and as shown by Tarjan [24], it can be detected in polynomial time.
Compute as in the statement of Lemma 1. By assumption, they are computable in polynomial time using the algorithm since is in . Call recursively algorithm on , which is an element of . Given its result , a kernel of is found according to Lemma 1.
Let us prove that has polynomial complexity. Denote by it complexity function for an input graph with vertices. In addition to the computation of (whose complexity is upperbounded by ), the algorithm has to perform the following tasks: find the clique and the set , perform , and find such that is the kernel of . We can find positive values and with such that the complexity of each of these tasks is upperbounded by . We have for
A direct induction shows that . ∎
Remark 2.
A special version of Lemma 1 is a neat theorem by Jacob [13], used by Maffray for proving his result about kernels in triangulated graphs [16]. A digraph is kernelperfect if every subdigraph of has a kernel. Jacob’s theorem states that if every piece of digraph with respect to a given cliquecutset is kernelperfect, then has a kernel.
Jacob’s theorem provides an existence result, but it does not give any clue regarding complexity: his proof can be adapted into an algorithm to compute a kernel of a digraph, but we were not able to make it polynomial, even on simple instances such as cliqueacyclic orientations of interval graphs. Lemma 1 relies on a different method to combine kernels of the pieces and its statement makes it amenable to algorithmic approaches. We may also note that our proof is much shorter than Jacob’s original proof.
2.2. Augmentation of an edge
An edge in an undirected graph is flat if it is not contained in any triangle. A flat edge can be subject to an augmentation, which is an operation introduced by Maffray and Reed for their characterization of clawfree perfect graphs [18]. A formal definition is given as follows.
Let be a flat edge in a graph and let be a cobipartite graph, with being nonempty. We remind the reader that a cobipartite graph is the complement of a bipartite graph. Its vertexset is partitioned into the two cliques and , and is the set of edges between and . We assume that is disjoint from .
The augmentation of the edge in consists in building a new graph from and by removing from the edge and the vertices and , and by adding all possible edges between and and between and .
Consider a cliqueacyclic orientation of a graph obtained by an augmentation of a flat edge in a graph . Denote by and the sinks of and respectively. Assume w.l.o.g. that , i.e., if there is an arc between and it is the arc . Let and let be the sink of if . We define
The following two results play a crucial role in our proof of Theorem 1.
Lemma 2.
The graph is isomorphic to , or to , or to plus an additional vertex with neighborhood .
Lemma 3.
Any kernel of is a kernel of .
Proof of Lemma 2.
In all cases, vertex (resp. ) of is identified with vertex (resp. ) in . If , then and are not neighbors and . Then is isomorphic to . If and , then and is isomorphic to . If and , then is isomorphic to plus the additional vertex . Furthermore, implies that the neighborhood of this additional vertex is exactly . ∎
Proof of Lemma 3.
Let be a kernel in . Since is an induced subdigraph of , it is clear that remains stable in . Furthermore, it is sufficient to prove that absorbs to get that is a kernel of .
The conclusion will be almost straightforward with the following claim: Let . If there is a vertex such that , then is absorbed by . This claim is true because if is not in , then is absorbed by a vertex , and cliqueacyclicity implies that absorbs as well.
Consider now a vertex . To finish the proof, we have to show that there always exists a vertex in absorbing .
Assume first . By definition of , we have . By assumption and if the vertex exists, it is not a neighbor of . Hence . By definition of augmentation, we have thus and the claim allows to conclude with .
Assume then . We have . The vertex is not a neighbor of by definition of . Hence . By definition of the augmentation, we have thus and the claim allows to conclude with .
Assume finally . We have and . By definition of the augmentation, we have thus and the claim allows to conclude with . ∎
3. Proof of Theorem 1
An augmentation of a graph is defined by taking a matching of flat edges in the graph and applying sequentially augmentations of the edges in the matching, as presented in Section 2. The final output does not depend on the order in which augmentations of edges are performed.
Lemma 4 (Chvátal and Sbihi [7], Maffray and Reed [18]).
A clawfree perfect graph without a cliquecutset has a stability number at most or it is an augmentation of the linegraph of a bipartite multigraph. Moreover, this property is shared by any induced subgraph of .
The second part of the statement is a consequence of the fact, nonimmediate from the definition given here, that the class of augmentations of linegraphs of bipartite multigraphs is closed for taking induced subgraphs.
A preliminary result on linegraphs of bipartite multigraphs needed in our proof is the following.
Lemma 5.
The class of linegraphs of bipartite multigraphs is closed for the following two operations: deletion of a flat edge; addition of a new vertex adjacent to a maximal clique.
Proof.
Let be the linegraph of a bipartite multigraph . Without loss of generality, we can assume that is connected and has at least three vertices. Let be a flat edge in and let be the graph obtained from by deleting the flat edge . Because is flat and because of the assumption on , there exists three distinct vertices in with and and such that has no other neighbor than and in . Consider obtained from by replacing vertex by two copies, one adjacent to through edge , the other one adjacent to through edge . Then is the linegraph of the bipartite multigraph .
Consider now the second operation. Let be the graph obtained from by adding a new vertex to a maximal clique. A maximal clique of corresponds in to a set of edges all adjacent to a given vertex since is bipartite. Consider obtained from by adding a new vertex adjacent to by the new edge . Then is the linegraph of the bipartite multigraph . ∎
Proposition 2.
Let be an augmentation of the linegraph of a bipartite multigraph. A kernel of a cliqueacyclic orientation of can be computed in polynomial time.
Proof.
Let be an augmentation of the linegraph of a bipartite multigraph and a cliqueacyclic orientation of . Let denote the matching of flat edges of that have been augmented and let be the associated cobipartite graphs used in augmentations. For every , consider the vertices and the set introduced in Section 2. For define the set
According to Lemma 3, a kernel of is a kernel of for any . Hence a kernel of is a kernel of . We are going to prove that is the linegraph of a bipartite multigraph. It will be then clear that a kernel of can be computed in polynomial time: Maffray and Reed [18] showed how to retrieve and the augmentations from in polynomial time, from which we can compute the set ; the GaleShapley algorithm can then be used to compute a kernel of since is a cliqueacyclic orientation of the linegraph of a bipartite multigraph; this kernel is then a kernel of .
Consider a graph defined from the linegraph by applying the following operations for every : if and are not neighbors in , then delete the edge ; if exists and it is distinct from , then add an additional vertex with neighborhood . By repeated application of Lemma 3, it comes that is isomorphic to the graph . Also by repeated application of Lemma 5, since induces a maximal clique of for every , the graph is the linegraph of a bipartite multigraph. Hence so is . ∎
Proof of Theorem 1.
Let be the class of cliqueacyclic orientations of clawfree perfect graphs, and let be the class of induced subdigraphs of digraphs in without a cliquecutset. According to Lemma 4, any digraph in has a stability number at most or it is an augmentation of the linegraph of a bipartite multigraph. Computing a kernel of in polynomial time can then be done as follows: test all possible subsets of at most vertices (bruteforce enumeration); if it is not successful, then it means that is an augmentation of the linegraph of a bipartite graph and computing a kernel can be done in polynomial time according to Proposition 2. Proposition 1 implies thus that computing a kernel can be done over the whole class in polynomial time. ∎
4. Chordal, circulararc, and other intersection graphs
4.1. Perfect cliqueacyclic case
Proof of Theorem 2.
Chordal graphs without cliquecutset are cliques and any sink of a cliqueacyclic superorientation of a clique is a kernel of that clique. Proposition 1 is applicable with defined as the class of all cliqueacyclic superorientations of chordal graphs and defined as the class of cliqueacyclic superorientations of cliques. ∎
Another class where a similar result holds is the class of Directed Edge graphs, or DE graphs. DE graphs are intersection graphs of directed paths (seen as arc sets) in a directed tree. They have been introduced and studied by Monma and Wei [20]. They proved that DE graphs are perfect and thus subject to the BorosGurvich theorem. For orientations, polynomiality of kernel computation has been established by Durand de Gevigney et al. [8]. We settle polynomiality in the general case of superorientations.
Theorem 3.
Kernel computation is polynomial in cliqueacyclic superorientations of DE graphs.
Proof.
DE graphs without cliquecutset are linegraphs of bipartite multigraphs and kernels of cliqueacyclic superorientations of such graphs are computable in polynomial time with the GaleShapley algorithm. Proposition 1 is applicable with defined as the class of all cliqueacyclic superorientations of DE graphs and defined as the class of cliqueacyclic superorientations of linegraphs of bipartite multigraphs. ∎
4.2. Noncliqueacyclic orientations
We present additional results for nonnecessarily cliqueacyclic orientations of chordal and clawfree graphs.
Proposition 3.
Any orientation of a chordal graph has at most one kernel.
Proof.
Let be an orientation of a chordal graph . Assume for a contradiction that has two different kernels and . Consider the induced subgraph : it is chordal since is chordal. It is also bipartite because and form a partition of the vertices into two stable sets. A graph that is both chordal and bipartite is cyclefree. Hence its orientation is a digraph without directed cycle. This digraph is not empty hence it contains a sink , and w.l.o.g. . The vertex is not absorbed by any vertex in , and by stability of it is not absorbed by a vertex in . This contradicts the fact that is a kernel of . ∎
We noted that a similar proof leads to a new result on cardinality of kernels in clawfree graphs.
Proposition 4.
All kernels of an orientation of a clawfree graph have the same size.
Proof.
Let be an orientation of a clawfree graph . Consider two different kernels and of . The induced subgraph is clawfree, and it is bipartite. Hence each vertex in this graph has degree at most two. It follows that is a disjoint union of cycles and paths. Assume for a contradiction that one of the connected components of is a path . This path has a sink , and we can assume w.l.o.g. . Then is not absorbed by any other vertex in . It is neither absorbed by a vertex in by stability of . This contradicts the fact that is a kernel of , hence such a path does not exist. Then is a disjoint union of cycles, which alternate between and , hence . ∎
Note that this result generalizes a wellknown property of stable matchings: all stable matchings have the same size, as noted by Schrijver [23, Corollary 18.12a], who credits this remark to McVitie and Wilson [19].
An orientation of a chordal graph does not necessarily have a kernel when the orientation is not cliqueacyclic. Though, with the help of Proposition 3, we prove that deciding the existence of a kernel and computing it if it exists is polynomial.
Proposition 5.
Let be an orientation of a chordal graph. Deciding whether has a kernel and computing such a kernel if it exists can be performed in polynomial time.
Proof.
The algorithm is the following.
If is a clique, then search for a sink: return it or answer that none exists.
If is not a clique, then proceed as follows. Compute a simplicial vertex , i.e., a vertex whose neighborhood induces a clique. Such a vertex can be found in polynomial time. Let be the set of the nonneighbors of . Call recursively the algorithm on .

[label=()]

If has no kernel, then answer that has no kernel.

Otherwise, the recursive call has returned a kernel of .

[label=()]

If is a kernel of , then return .

If is a kernel of , then return .

Otherwise, answer that has no kernel.

This algorithm is obviously polynomial. Let us prove that it is correct.
We show that if has a kernel , then is a kernel of . Consider a kernel of . If , then and the vertices in are not absorbed by . If , then since has to be absorbed, and . In both cases is a kernel of . Thus in case 1, the algorithm outputs the correct answer.
Moreover, note that it also implies that if has a kernel , then by uniqueness of the kernel of (Proposition 3). Hence and are the only possible kernels of , which leads to the conclusion. ∎
A graph is a circulararc graph if it is the intersection graph of intervals on a circle. Circulararc graphs are not necessarily perfect.
Proposition 6.
Let be an orientation of a circulararc graph. Deciding whether has a kernel and computing such a kernel if it exists can be performed in polynomial time.
Proof.
The algorithm is the following. Fix a point on the circle in the representation of and let be the clique of all intervals crossing this point. For every set with , consider the subdigraph induced by vertices not in and not neighbors of . Search for a kernel of : the digraph is an orientation of an interval graph, thus the algorithm of Proposition 5 is applicable. If exists and absorbs all vertices in , return . After testing all sets , if nothing has been returned so far, then answer that has no kernel.
For every , the digraph is chordal, hence by Proposition 3 the kernel is its unique kernel. Any kernel of can be decomposed as , with , and the kernel of the digraph . This ensures that the algorithm always returns the kernel of if it exists. ∎
References
 [1] M. Abbas and Y. Saoula. Polynomial algorithms for kernels in comparability, permutation and free graphs. 4OR, 3:217–225, 2005.
 [2] R. Aharoni and R. Holzman. Fractional kernels in digraphs. Journal of Combinatorial Theory, Series B, 73:1–6, 1998.
 [3] S. D. Andres and W. Hochstättler. Perfect digraphs. Journal of Graph Theory, 79:21–29, 2014.
 [4] E. Boros and V. Gurvich. Perfect graphs are kernel solvable. Discrete Mathematics, 159:35–55, 1996.
 [5] E. Boros and V. Gurvich. Perfects graphs, kernels, and cores of cooperative games. Discrete Mathematics, 306:2336–2354, 2006.
 [6] V. Chvátal. On the computational complexity of finding a kernel. Technical Report CRM300, Centre de Recherches Mathématiques, Université de Montréal, 1973.
 [7] V. Chvátal and N. Sbihi. Recognizing clawfree perfect graphs. Journal of Combinatorial Theory, Series B, 44(2):154–176, 1988.
 [8] O. Durand de Gevigney, F. Meunier, C. Popa, J. Reygner, and A. Romero. Solving coloring, minimum clique cover and kernel problems on arc intersection graphs of directed paths on a tree. 4OR, 9:175–88, 2011.
 [9] Egerváry Research Group. Egres Open, finding kernels in special digraphs. http://lemon.cs.elte.hu/egres/open/Finding_kernels_in_special_digraphs, 2016.
 [10] A. S. Fraenkel. Planar kernel and grundy with , , are NPcomplete. Discrete Applied Mathematics, 3(4):257 – 262, 1981.
 [11] D. Gale and L. S. Shapley. College Admissions and the Stability of Marriage. The American Mathematical Monthly, 69:9–15, 1962.
 [12] F. Galvin. The list chromatic index of a bipartite multigraph. Journal of Combinatorial Theory, Series B, 63:153–158, 1995.
 [13] H. Jacob. Kernels in graphs with a cliquecutset. Discrete Mathematics, 156:265–267, 1996.
 [14] S. Kintali, L. J. Poplawski, R. Rajaraman, R. Sundaram, and S.H. Teng. Reducibility among fractional stability problems. In 50th Annual IEEE Symposium on Foundations of Computer Science, pages 283–292, 2009.
 [15] T. Király and J. Pap. A note on kernels and Sperner’s Lemma. Discrete Applied Mathematics, 157:3327–3331, 2009.
 [16] F. Maffray. On kernels in triangulated graphs. Discrete Mathematics, 61:247–251, 1986.
 [17] F. Maffray. Kernels in perfect linegraphs. Journal of Combinatorial Theory, Series B, 55(1):1–8, 1992.
 [18] F. Maffray and B. A. Reed. A description of clawfree perfect graphs. Journal of Combinatorial Theory, Series B, 75(1):134 – 156, 1999.
 [19] D. G. McVitie and L. B. Wilson. Stable marriage assignment for unequal sets. BIT Numerical Mathematics, 10(3):295–309, 1970.
 [20] C. L. Monma and V. K. Wei. Intersection graphs of paths in a tree. Journal of Combinatorial Theory, Series B, 41:141–181, 1986.
 [21] O. Morgenstern and J. von Neumann. Theory of Games and Economic Behavior. Princeton University Press, 1944.
 [22] M. Richardson. On weakly ordered systems. Bulletin of the American Mathematical Society, 52(2):113–116, 1946.
 [23] A. Schrijver. Combinatorial Optimization. Springer, 2003.
 [24] R. E. Tarjan. Decomposition by clique separators. Discrete Mathematics, 55:221–232, 1985.