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 
as a tool for the study of positional or Nim-type games. Since then, other applications in game theory have been found. 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 . Not all digraphs admit a kernel: for example a directed cycle of length three has no kernel. It has been shown by Chvátal  that deciding if a digraph has a kernel is NP-complete. It is even NP-complete in planar graphs with small degree .
An orientation of an undirected graph is a digraph obtained by orienting every edge of in only one direction. A super-orientation of is a digraph obtained by orienting each edge of either in one direction or in both directions. An orientation or a super-orientation of a graph is clique-acyclic 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 super-orientations, a clique may have several sinks.
One of the main results in the field is a theorem proved in 1996 by Boros and Gurvich  – originally conjectured by Berge and Duchet in 1980 – which states that every clique-acyclic super-orientation 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  and further simplified by Király and Pap  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 clique-acyclic super-orientation of a perfect graph has been identified as a challenging open problem .
Polynomial-time 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), clique-acyclic orientations of permutation graphs , and clique-acyclic super-orientations of line-graphs of bipartite graphs. As noted by Maffray , in this latter case kernels coincide with stable matchings in bipartite graphs, computable through the celebrated algorithm of Gale and Shapley . Permutation graphs and line-graphs of bipartite graphs are perfect. With the result by Durand de Gevigney et al.  about so-called DE graphs (see Section 4), this is almost all that is known about kernel computation in clique-acyclic super-orientations of perfect graphs.
We contribute to the literature with the following two theorems, which address the problem for two special classes of perfect graphs: claw-free perfect graphs and chordal graphs. A graph is claw-free 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.
Kernel computation is polynomial in clique-acyclic orientations of claw-free perfect graphs.
Kernel computation is polynomial in clique-acyclic super-orientations 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 super-orientations, we had to restrict ourselves to the case of orientations for claw-free graphs. The complexity status of kernel computation in super-orientations of claw-free graphs is left as an open problem. Note also that in the case of Theorem 2 if only clique-acyclic orientations are considered, the computation of a kernel is easy: indeed a clique-acyclic 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, clique-acyclicity is equivalent to the absence of directed cycle of length three; for super-orientations of chordal graphs, clique-acyclicity can be checked by enumerating maximal cliques, since there is a linear number of such cliques. In general, deciding whether a super-orientation of a perfect graph is clique-acyclic is a coNP-complete 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.  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 out-neighbors (resp. in-neighbors) of a vertex is denoted by (resp. ).
A clique-cutset 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.
Let be a clique-cutset 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 .
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 non-decreasing (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 clique-cutset 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 non-empty intersection. Denote by a vertex in . By definition of , we have and . There is thus an index such that . Since is a clique-cutset, the set is stable in . The vertices in are absorbed by and those of by , we get that is a kernel of . ∎
Consider two classes and of clique-acyclic super-orientations of perfect graphs, closed for taking induced subdigraphs, such that every digraph of without a clique-cutset 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.
Let be the polynomial-time 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 clique-cutset, apply ; otherwise compute a clique-cutset of and a piece of with respect to such that contains no clique-cutset. If has at least one clique-cutset, then such a piece exists, and as shown by Tarjan , 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 upper-bounded 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 upper-bounded by . We have for
A direct induction shows that . ∎
A special version of Lemma 1 is a neat theorem by Jacob , used by Maffray for proving his result about kernels in -triangulated graphs . A digraph is kernel-perfect if every subdigraph of has a kernel. Jacob’s theorem states that if every piece of digraph with respect to a given clique-cutset is kernel-perfect, 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 clique-acyclic 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 claw-free perfect graphs . A formal definition is given as follows.
Let be a flat edge in a graph and let be a cobipartite graph, with being non-empty. We remind the reader that a cobipartite graph is the complement of a bipartite graph. Its vertex-set 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 clique-acyclic 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.
The graph is isomorphic to , or to , or to plus an additional vertex with neighborhood .
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 clique-acyclicity 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.
A claw-free perfect graph without a clique-cutset has a stability number at most or it is an augmentation of the line-graph 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, non-immediate from the definition given here, that the class of augmentations of line-graphs of bipartite multigraphs is closed for taking induced subgraphs.
A preliminary result on line-graphs of bipartite multigraphs needed in our proof is the following.
The class of line-graphs 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.
Let be the line-graph 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 line-graph 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 line-graph of the bipartite multigraph . ∎
Let be an augmentation of the line-graph of a bipartite multigraph. A kernel of a clique-acyclic orientation of can be computed in polynomial time.
Let be an augmentation of the line-graph of a bipartite multigraph and a clique-acyclic 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 line-graph of a bipartite multigraph. It will be then clear that a kernel of can be computed in polynomial time: Maffray and Reed  showed how to retrieve and the augmentations from in polynomial time, from which we can compute the set ; the Gale-Shapley algorithm can then be used to compute a kernel of since is a clique-acyclic orientation of the line-graph of a bipartite multigraph; this kernel is then a kernel of .
Consider a graph defined from the line-graph 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 line-graph of a bipartite multigraph. Hence so is . ∎
Proof of Theorem 1.
Let be the class of clique-acyclic orientations of claw-free perfect graphs, and let be the class of induced subdigraphs of digraphs in without a clique-cutset. According to Lemma 4, any digraph in has a stability number at most or it is an augmentation of the line-graph 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 (brute-force enumeration); if it is not successful, then it means that is an augmentation of the line-graph 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, circular-arc, and other intersection graphs
4.1. Perfect clique-acyclic case
Proof of Theorem 2.
Chordal graphs without clique-cutset are cliques and any sink of a clique-acyclic super-orientation of a clique is a kernel of that clique. Proposition 1 is applicable with defined as the class of all clique-acyclic super-orientations of chordal graphs and defined as the class of clique-acyclic super-orientations 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 . They proved that DE graphs are perfect and thus subject to the Boros-Gurvich theorem. For orientations, polynomiality of kernel computation has been established by Durand de Gevigney et al. . We settle polynomiality in the general case of super-orientations.
Kernel computation is polynomial in clique-acyclic super-orientations of DE graphs.
DE graphs without clique-cutset are line-graphs of bipartite multigraphs and kernels of clique-acyclic super-orientations of such graphs are computable in polynomial time with the Gale-Shapley algorithm. Proposition 1 is applicable with defined as the class of all clique-acyclic super-orientations of DE graphs and defined as the class of clique-acyclic super-orientations of line-graphs of bipartite multigraphs. ∎
4.2. Non-clique-acyclic orientations
We present additional results for non-necessarily clique-acyclic orientations of chordal and claw-free graphs.
Any orientation of a chordal graph has at most one kernel.
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 cycle-free. 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 claw-free graphs.
All kernels of an orientation of a claw-free graph have the same size.
Let be an orientation of a claw-free graph . Consider two different kernels and of . The induced subgraph is claw-free, 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 well-known 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 .
An orientation of a chordal graph does not necessarily have a kernel when the orientation is not clique-acyclic. Though, with the help of Proposition 3, we prove that deciding the existence of a kernel and computing it if it exists is polynomial.
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.
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 non-neighbors of . Call recursively the algorithm on .
If has no kernel, then answer that has no kernel.
Otherwise, the recursive call has returned a kernel of .
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 circular-arc graph if it is the intersection graph of intervals on a circle. Circular-arc graphs are not necessarily perfect.
Let be an orientation of a circular-arc graph. Deciding whether has a kernel and computing such a kernel if it exists can be performed in polynomial time.
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. ∎
-  M. Abbas and Y. Saoula. Polynomial algorithms for kernels in comparability, permutation and -free graphs. 4OR, 3:217–225, 2005.
-  R. Aharoni and R. Holzman. Fractional kernels in digraphs. Journal of Combinatorial Theory, Series B, 73:1–6, 1998.
-  S. D. Andres and W. Hochstättler. Perfect digraphs. Journal of Graph Theory, 79:21–29, 2014.
-  E. Boros and V. Gurvich. Perfect graphs are kernel solvable. Discrete Mathematics, 159:35–55, 1996.
-  E. Boros and V. Gurvich. Perfects graphs, kernels, and cores of cooperative games. Discrete Mathematics, 306:2336–2354, 2006.
-  V. Chvátal. On the computational complexity of finding a kernel. Technical Report CRM300, Centre de Recherches Mathématiques, Université de Montréal, 1973.
-  V. Chvátal and N. Sbihi. Recognizing claw-free perfect graphs. Journal of Combinatorial Theory, Series B, 44(2):154–176, 1988.
-  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.
-  Egerváry Research Group. Egres Open, finding kernels in special digraphs. http://lemon.cs.elte.hu/egres/open/Finding_kernels_in_special_digraphs, 2016.
-  A. S. Fraenkel. Planar kernel and grundy with , , are NP-complete. Discrete Applied Mathematics, 3(4):257 – 262, 1981.
-  D. Gale and L. S. Shapley. College Admissions and the Stability of Marriage. The American Mathematical Monthly, 69:9–15, 1962.
-  F. Galvin. The list chromatic index of a bipartite multigraph. Journal of Combinatorial Theory, Series B, 63:153–158, 1995.
-  H. Jacob. Kernels in graphs with a clique-cutset. Discrete Mathematics, 156:265–267, 1996.
-  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.
-  T. Király and J. Pap. A note on kernels and Sperner’s Lemma. Discrete Applied Mathematics, 157:3327–3331, 2009.
-  F. Maffray. On kernels in -triangulated graphs. Discrete Mathematics, 61:247–251, 1986.
-  F. Maffray. Kernels in perfect line-graphs. Journal of Combinatorial Theory, Series B, 55(1):1–8, 1992.
-  F. Maffray and B. A. Reed. A description of claw-free perfect graphs. Journal of Combinatorial Theory, Series B, 75(1):134 – 156, 1999.
-  D. G. McVitie and L. B. Wilson. Stable marriage assignment for unequal sets. BIT Numerical Mathematics, 10(3):295–309, 1970.
-  C. L. Monma and V. K. Wei. Intersection graphs of paths in a tree. Journal of Combinatorial Theory, Series B, 41:141–181, 1986.
-  O. Morgenstern and J. von Neumann. Theory of Games and Economic Behavior. Princeton University Press, 1944.
-  M. Richardson. On weakly ordered systems. Bulletin of the American Mathematical Society, 52(2):113–116, 1946.
-  A. Schrijver. Combinatorial Optimization. Springer, 2003.
-  R. E. Tarjan. Decomposition by clique separators. Discrete Mathematics, 55:221–232, 1985.