Independent Set on Pk-Free Graphs in Quasi-Polynomial Time
Abstract
We present an algorithm that takes as input a graph with weights on the vertices, and computes a maximum weight independent set of . If the input graph excludes a path on vertices as an induced subgraph, the algorithm runs in time . Hence, for every fixed our algorithm runs in quasi-polynomial time. This resolves in the affirmative an open problem of [Thomassé, SODA’20 invited presentation]. Previous to this work, polynomial time algorithms were only known for -free graphs [Corneil et al., DAM’81], -free graphs [Lokshtanov et al., SODA’14], and -free graphs [Grzesik et al., SODA’19]. For larger values of , only time algorithms [Bascó et al., Algorithmica’19] and quasi-polynomial time approximation schemes [Chudnovsky et al., SODA’20] were known. Thus, our work is the first to offer conclusive evidence that Independent Set on -free graphs is not NP-complete for any integer .
Additionally we show that for every graph , if there exists a quasi-polynomial time algorithm for Independent Set on -free graphs for every connected component of , then there also exists a quasi-polynomial time algorithm for Independent Set on -free graphs. This lifts our quasi-polynomial time algorithm to -free graphs, where has one component that is a , and components isomorphic to a fork (the unique -vertex tree with a degree vertex).
1 Introduction
An independent set (also known as a stable set) in a graph is a vertex set such that no pair of distinct vertices in are adjacent in . In the Independent Set problem the input is a graph on vertices and integer , the task is to determine whether contains an independent set of size at least . Independent Set is a well-studied and fundamental graph problem which is NP-complete [GJ79a, Kar72] and intractable within most frameworks for coping with NP-hardness. Indeed, Independent Set was one of the very first problems to be shown to be NP-hard to approximate [FGLaMS96, Zuc07], one of the first intractable problems from the perspective of parameterized complexity [DF99], one of the first problems to be shown not to have a time algorithm assuming the Exponential Time Hypothesis (ETH) [IPZ01], and one of the very first problems whose hardness of parameterized approximation, assuming the Gap-ETH, was established [CCK+17].
With the above in mind, it is natural that a significant research effort has been devoted to identifying classes of input graphs for which the Independent Set problem is substantially easier than on general graphs. Of particular interest are the classes where Independent Set becomes polynomial time solvable. Most famously the problem becomes polynomial time solvable on Perfect graphs [GLS81], other examples of polynomial time solvable cases include -free graphs [BY89] and graphs of bounded cliquewidth [CMR00]. For an extensive list, see [BS+99] and the companion website [DR+16]. On the other hand the problem remains NP-complete even on planar graphs of maximum degree 3 [GJ79b], unit disc graphs [CCJ90], triangle-free graphs [Pol74] and AT-free graphs [BKKM99].
This paper fits in a long line of work to precisely classify the complexity of Independent Set on all hereditary graph classes defined by a single forbidden induced subgraph (and more generally, by a finite set of forbidden induced subgraphs). A graph is said to be -free if does not contain a copy of as an induced subgraph. For a set of graphs, is -free if is -free for all . The ultimate goal of this research direction is to establish a dichotomy theorem that for every finite set of graphs determines whether Independent Set on -free graphs is polynomial time solvable, or NP-complete111There is of course the possibility that Independent Set on -free graphs has NP-intermediate complexity for some choice of . We believe this is unlikely, however that is pure speculation..
In 1982 Alekseev [Ale82] observed that Independent Set remains NP-complete on the class of -free graphs for every finite set that does not include a graph whose every connected component is a path or a subdivision of the claw (). Since then, no new NP-completeness results for Independent Set on -free graphs have been found for any other finite set . Thus, it is consistent with current knowledge that Independent Set is polynomial time solvable on -free graphs for all other finite sets . At the same time, progress on algorithms has been embarrassingly slow. The only connected graphs for which NP-completness of Independent Set does not follow from Alekseev’s result are paths and subdivisions of the claw. Polynomial time algorithms for Independent Set on claw-free graphs were found independently by Sbihi [Sbi80] and Minty [Min80] in 1980. A polynomial time algorithm on fork-free graphs (a fork is a claw with one subdivided edge) was found by Alekseev [Ale04]. Subsequently, Lozin and Milanic [LM08] gave an algorithm for Weighted Independent Set on fork-free graphs. For paths, Independent Set on -free graphs was shown to be polynomial time solvable by Corneil et al. [CLB81] in 1981. After a series of papers giving polynomial time algorithms for various subclasses of -free graphs [BL03, BM03, GL03, LM05, Mos08, RS10], in 2014 Lokshtanov et al. [LVV14] gave a polynomial time algorithm on free graphs. Two years later, Lokshtanov et al. [LPvL18] devised a quasi-polynomial time algorithm on -free graphs, before Grzesik et al. [GKPP19] designed a polynomial time algorithm for -free graphs in 2019. This summarizes the state-of-the-art for polynomial time solvability of Independent Set on -free graphs.
It appears that the currently known techniques are very far from being able to yield polynomial time algorithms for Independent Set on -free graphs for , let alone for all values of . More concretely, the polynomial time algorithms for -free graphs of Lokshtanov et al. [LVV14] and for -free graphs of Grzesik et al. [GKPP19] are based on the same method. First, from a sample of two articles the complexity of applying this method seems to grow exponentially with . Second, and more importantly, in a recent manuscript Grzesik et al. [GKPP20] show that a crucial component of this method fails completely on -free graphs for .
The slow progress on polynomial time algorithms have prompted researchers to look for weaker forms of tractability of Independent Set on -free graphs. Bacsó et al. [BLM+19] provided time algorithms for Independent Set on -free graphs (see also [Bra17, GOR+19]). Finally, Chudnovsky et al. [CPPT20] obtained quasi-polynomial time approximation schemes for -free graphs for all . In fact their result is much more general - they obtain quasi-polynomial time approximation schemes on -free graphs for all sets for which NP-hardness does not follow from Alekseev’s [Ale82] observation. While the results above are general, they are consistent with Independent Set being NP-complete on all -free classes of graphs on which polynomial time algorithms are not already known. In this paper we obtain a quasi-polynomial time algorithm for Weighted Independent Set on -free graphs for every . In particular we prove the following theorem.
Theorem 1.
There exists an algorithm that given a graph and weight function outputs the weight of a maximum weight independent set of . If is -free then the algorithm runs in time.
Theorem 1 implies that unless , Independent Set on -free graphs is not NP-complete for any . This is the first conclusive evidence against NP-completeness for any . The running time of the algorithm of Theorem 1 matches that of Chudnovsky et al. [CPPT20], but computes optimal solutions instead of -approximate ones. It is also worth mentioning that our algorithm and analysis is substantially simpler than the quasi-polynomial time algorithm of Lokshtanov et al. [LPvL18] for the special case of -free graphs. We have been unsuccessful in generalizing Theorem 1 to a quasi-polynomial time algorithms for -free graphs where is a subdivision of a claw. However, the techniques used to prove Theorem 1 can be used to show that such an algorithm would automatically generalize to all classes of -free graphs for which NP-hardness is not already known. More concretely, for a graph let OH be an oracle that takes as input an -free graph and outputs the weight of a maximum weight independent set in . Further, let denote the set of connected components of . Our second result is the following.
Theorem 2.
There exists an algorithm that given as input a graph , a graph , and weight function as well as access to oracles for all , outputs the weight of a maximum weight independent set of . If is -free then the algorithm uses at most operations and oracle calls on induced subgraphs of .
Theorem 2 has two immediate consequences. First, coupled with Theorem 1 and the polynomial time algorithm for Weighted Independent Set on fork-free graphs, Theorem 2 yields a quasi-polynomial time algorithm for Weighted Independent Set on -free graphs, where is the graph with connected components the first of which is a and each of the remaining are isomorphic to a fork. Second, Theorem 2 implies that if Weighted Independent Set has a quasi-polynomial time algorithm on -free graphs for every subdivided claw , then Weighted Independent Set also has a quasi-polynomial time algorithm on all -free classes of graphs, for finite sets , for which NP-hardness does not follow from Alekseev’s result. Or, stated more poetically, the buck stops at the (subdivided) claw.
Methods.
The starting point for our algorithm is the time algorithm for -free graphs of Bascó et al. [BLM+19]. The algorithm of Bascó et al. [BLM+19] is simple enough that we can give a quite detailed overview here. It combines two methods - “degree reduction” and “balanced separation”.
The “degree reduction” approach can be summarised as follows. As long as the input graph contains a vertex of sufficiently high degree (degree ) then branch on . That is, find the best solution avoiding by a recursive call on , and the best solution containing by adding to the solution obtained from a recursive call on . Output the best of these two solutions. A simple recurrence analysis shows that this reduces the problem to solving instances in which no vertex has degree at least . Bascó et al. [BLM+19] set and obtain instances with maximum degree .
The “balanced separation” technique is based on the classic “Gyárfás path” argument [Gyá87] for proving that Pk-free graphs are -bounded. A simple lemma (Lemma 2 of Bascó et al. [BLM+19]), whose proof spans less than a page, shows that in every free graph there exists a vertex set of size at most , such that every connected component of has at most vertices. Bascó et al. [BLM+19] apply this result to instances output by the degree reduction procedure above. In such instances, , assuming is a constant. Then, after guessing the intersection of the optimal solution with (there are at most such guesses) the connected components of become independent sub-instances of size at most , on which the algorithm may be called recursively. Thus, solving a single instance on vertices reduces to solving instances on at most vertices. Analyzing the corresponding recurrence shows that the total running time of the algorithm is upper bounded by .
If we wish to improve the running time from to quasi-polynomial, we may only apply degree reduction with , and we can not afford to guess the intersection of the balanced separator with an optimal solution. At this point we apply a slight generalization of degree reduction, to degree reduction relative to a vertex set . Here we branch on vertices that have at least neighbors in (the vertex itself does not have to be in ). A simple recursion analysis shows that this will reduce a single instance to instances where every vertex has at most neighbors in . We apply degree reduction on the balanced separator with for some constant (possibly depending on ). Thus, the initial degree reduction, followed by the degree reduction on , reduces the task of solving a single instance to that of solving the problem on instances in which every vertex has degree at most and furthermore has at most neighbors in the set . Here we are working with induced subgraphs of the original graph , so when we say we really mean what remains of the set (with the neighborhood taken in the graph ) in the subgraph of that is currently being considered.
The route above is perhaps the most natural one to try to obtain a quasi-polynomial time algorithm. Indeed, it is also the engine in the quasi-polynomial time algorithm of Lokshtanov et al. [LPvL18] for -free graphs. However it is not at all clear how to deal with the instances output by this degree reduction. For -free graphs, Lokshtanov et al. [LPvL18] (essentially) show that if the balanced separator is chosen very carefully, then the degree reduction procedure never gets stuck: as long as is non-empty some vertex is a neighbor to a constant fraction of . Thus the algorithm will make quasi-polynomially many calls on instances where the balanced separator has been reduced to the empty set, in which case each connected component of the graph is substantially smaller than the original graph. This leads to a recurrence that solves to quasi-polynomial time. We are not able to prove an analogous statement for -free graphs for higher values of , and so we are faced with the problem of how to deal with the degree-reduced instances described above.
The key insight of our algorithm is the following: if we re-apply the “Gyárfás path” argument of Bascó et al. [BLM+19] on the degree-reduced instances to obtain a new balanced separator , then can not have large intersection with . This is because is the neighbor set of a constant size set () and no vertex in the degree-reduced instance has many neighbors in . We now apply the degree reduction procedure again, this time on . If this reduction procedure completely reduces or to the empty set, or disconnects the graph into connected components so that the largest one has at most vertices, then we have won, because the connected components of our instances are substantially smaller than on the original graph. If the procedure gets stuck then we obtain yet another balanced separator , observe that has small intersection with and , and do degree-reduction on . And this keeps going, we keep adding new balanced separators into the mix until the degree-reduction procedure sufficiently disconnects the graph (i.e the largest connected component of the instances becomes sufficiently smaller than the original graph. The hard part of the analysis is to prove that the graph does become substantially disconnected by the time at most separators have been added to the instance.
The actual final form of the algorithm is slightly different from what we describe above. Indeed, based on the ideas in the previous paragraph we can get an algorithm with running time for every , however to obtain quasi-polynomial time we need to be slightly more careful. The main difference is that we do not do degree reduction on each individual separator . Instead we define level sets. Level is the set of all vertices that appear in at least of the separators that we have constructed so far. We will maintain that throughout the course of the algorithm the size of level drops exponentially with . Thus there will only be levels, and we can afford to run degree reduction so that for each level, no vertex sees more than a fraction of that level. Then, when we add a new separator, because it is the neighbor set of only a constant number of vertices, each level will increase by at most a factor of of the size of the previous level. Thus, such a process may continue to depth while maintaining the invariant that the size of the level drops exponentially with .
If recursion depth is reached without sufficiently disconnecting the graph (i.e the largest connected component of the graph still has size at least , where is the number of vertices in the original graph) this means that we have found balanced separators for the graph such that no vertex is contained in more than of them. A simple counting argument then shows that the average distance between pairs of vertices in the component has to be at least , contradicting that is -free. This means that after recursion depth , the graph has already been disconnected! At this point running the algorithm from scratch on each of the connected components yields at most instances of size at most which solves to quasi-polynomial time.
Our algorithm for Theorem 2 follows the same template as the algorithm for Theorem 1. The key difference is that instead of growing a sequence of balanced separators we grow a sequence of (neighborhoods of) induced copies in of connected components of . Again the sequence has the property that the sets in the sequence do not overlap too much, so if we can grow the sequence to length then we can find an induced copy of in .
2 Preliminaries
All graphs in this paper are assumed to be simple, undirected graphs. We denote the edge set of a graph by and the vertex set of a graph by . If , then we use to denote the closed neighborhood of v, i.e. the set of all neighbors of together with itself. We use to denote the set }. If , then = and = . We use to denote the set of connected components of . If , ,…, are graphs, then we use to denote the graph that that has vertex set , and edge set .
Given a weight function the weight of a vertex set is defined as . An independent set in is a vertex set such that no pair of vertices in have an edge between them. We define mwis to be the weight of the maximum weight independent set in . The of a path is the number of vertices in the path and we denote by the path of length . If then we will use to denote the the graph induced by the vertex set , and if it is clear from the context we will use to denote the graph .
Given a positive number and a graph , we call a set a - if no connected component of has over vertices. A vertex multi-family is a collection of vertex sets that allows for multiple instances of its vertex sets. If = { and is a set of vertices, then is the vertex multi-family {. For two vertex multi-families and their union is denoted by and is defined by the vertex multi-family that contains all elements of and of . The multiplicity of an element in is its multiplicity in plus its multiplicity in . We will use to denote the function throughout this paper.
3 Quasi-Polynomial Time Algorithm for Pk-Free Graphs
In this section we prove Theorem 1. We will make use of the following balanced separator lemma from Basco et al. [BLM+19].
Lemma 1.
[BLM+19] There exists an algorithm that given a graph runs in polynomial time and outputs an induced path in such that is a -balanced separator of .
We begin by proving a slight strengthening of Lemma 1.
Lemma 2.
There exists an algorithm that takes as input a graph , and a positive integer such that , runs in polynomial time and outputs a set such that is a -balanced separator in . Furthermore, if is -free then .
Proof.
Let and be as in the statement of the lemma, the proof is by induction on . For the algorithm calls the algorithm of Lemma 1 and obtains a path . It then returns . Lemma 1 guarantees that in this case satisfies the statement of this lemma. For the algorithm first calls itself recursively on the input and obtains a set such that is a -balanced separator in , and furthermore, if is -free then . For each connected component of such that the algorithm calls itself recursively on and obtains a set such that is a -balanced separator of . If is -free it holds that . The algorithms sets as where the union is taken over all such that . Clearly the construction of ensures that is a -balanced separator of . Furthermore if is -free then where is the number of connected components of whose size is more than . Since these components are disjoint we have that . Therefore as claimed.
To see that the run time is polynomial it suffices to show the number of times the algorithm makes a call to the algorithm of Lemma 1 is polynomial. To see this polynomial bound, note that on input () the algorithm makes at most calls to the algorithm of Lemma 1 plus the number calls it makes to the algorithm of Lemma 1 on input (). Since 2, the recurrence shows the algorithm makes at most = calls to the algorithm of Lemma 1. ∎
To describe the algorithm of Theorem 1 we first need to define the notion of level sets relative to a vertex multi-family .
Definition 1.
Given a graph and a vertex multi-family consisting of vertex sets of , for positive integers , the th level relative to is denoted by and defined as follows
In other words is a vertex set containing all vertices of that are contained in at least sets in . Our algorithm will also make use of a number , this number will be approximately equal to the number of vertices in the input graph .
Definition 2.
The th branch threshold is denoted by and is defined as . Given a multi-family , a vertex is a branchable vertex if there exists an such that .
In the following is always a graph, is a weight function , is an integer, and is a multi-family of subsets of . We now describe the main subroutine ALG1 in the algorithm of Theorem 1. The algorithm takes as input , , and and (as we will prove) outputs the weight of a maximum weight independent set in . The algorithm of Theorem 1 will call ALG1 with parameters G, , w, and . ALG1 is a recursive branching algorithm with only four rules. First, if has at most one vertex, then return . Second, if the largest component of has at most vertices then solve the problem recursively on each component and return the sum. Third, if there exists a branchable vertex , then branch on (i.e solve the problem with forced in to the independent set, and forced out). Finally, if none of the previous rules apply then add a new balanced separator (obtained by Lemma 2) to . In other words, make a recursive call on the instance .
ALG1 is very similar to well known exact exponential time branching algorithms for Independent Set [FK10]. The key differences are that we use the multi-family of balanced separators to guide which vertex to branch on, that when no rules apply we add a separator to the family (at a glance this appears to make no progress at all, but it increases the size of the level sets, making more vertices branchable), and that we wait with recursing on connected components until the size of the largest component becomes less than (this is primarily to simplify the analysis).
ALG1
We will distinguish between the three different kinds of recursive calls that ALG1 can make. If the else if condition on line 5 holds, then the algorithm makes the recursive calls on line 6. In this case we say that ALG1 recurses on connected components. If the else if condition on line 7 holds, then the algorithm makes the recursive calls on line 8. In this case we say that ALG1 branches on a branchable vertex. Otherwise the algorithm makes the recursive call on line 10. In this case we say that ALG1 adds a balanced separator. We will frequently need to refer to parts of the execution of the algorithm. For disambiguation, we collect the terminology here.
An instance is a four-tuple . A run of the algorithm refers to the entire execution of the algorithm on an instance. A call refers to the computation done in the root node of the recursion tree of the run . We remark that parameters , and never change during the call (. When a run or a call ALG recursively calls ALG1 on the instance we say the run or the call executes a run or a call on . This will sometimes be referred to as makes a recursive call . A run of is called a - if is a -free graph, , , and is a weight function. A call is called a - if it is executed during the course of a -fair run. An instance is called a -fair instance if is a k-fair call.
Lemma 3.
ALG terminates on every input.
Proof.
Consider a run of ALG1 with initial input and . Whenever the algorithm makes a recursive call ALG we have that and . Furthermore, whenever the algorithm recurses on connected components or branches on a branchable vertex, then it executes ALG with either or . Finally, ALG1 cannot add a balanced separator for over successive recursive calls since then a call ALG with would add a balanced separator. However, since each new balanced separator must be non-empty (since otherwise the algorithm would have recursed on connected components) we have that , and so the call ALG would branch on a vertex. This contradicts that the call added a balanced separator, and proves that ALG1 cannot add a balanced separator for over successive recursive calls. It follows by induction on that ALG1 always terminates. ∎
Lemma 4.
A run ALG always returns the weight of a maximum weight independent set of under the weight function .
Proof.
Consider a run of ALG1 with initial input and . It is clear from the algorithm that if each run ALG1() that is executed by the call ALG1() returns the weight of a maximum weight independent set of with weight function , then so would the run ALG1( ). By Lemma 3 the height of the recursion tree is bounded, and the result is trivially true for the base case of , so the result follows by induction on the height of the recursion tree of the run ALG1(). ∎
We have now proved that ALG1 always terminates and that it always outputs the correct answer. The remainder of the section is devoted to the running time analysis. We will now prove some lemmas to help us bound the run time of ALG1 on -fair runs. First, in Observation 1 we will prove that remains a multi-family of balanced separators of throughout the execution of the algorithm. In Observation 2 we will show that no vertex appears in many (more than ) sets in . This will ensure that can never grow too large, because, as we will show in Lemma 5, a connected -free graph can not contain a large fractional packing of balanced separators.
Observation 1.
Let (, , , ) be a -fair instance. Then every set is a -balanced separator of .
Proof.
Consider a -fair instance . If then the result is trivially true, so assume . It follows ALG1 executes ALG during a -fair call ALG by branching on a branchable vertex or ALG1 executes ALG during a -fair call ALG by adding a balanced separator, . In the first case, if all sets of are -balanced separators for , then since = for some vertex set , and = , all sets of are -balanced separators for . In the second case, is generated in such a way that it is guaranteed to be an -balanced separator for , so if all sets of are -balanced separators for , then all sets of are -balanced separators for . The statement of the observation now follows by induction on the depth of the call ALG in the recursion tree. ∎
Observation 2.
For every -fair instance , we have that .
Proof.
Consider a -fair call ALG. We will prove the statement by induction on the depth the call ALG in the recursion tree of a run ALG which executes ALG.
If then the result is trivially true. Suppose now that , it follows ALG1 executes ALG during a -fair call ALG by branching on a branchable vertex or by adding a balanced separator . In the first case = for some vertex set . By the induction hypothesis and hence . In the second case, ALG does not branch on a branchable vertex, so we have that since every vertex in is branchable. It follows that . ∎
Lemma 5.
For every -fair instance it holds that .
Proof.
Consider a -fair instance . We will prove the result by induction on the depth of the call ALG in the recursion tree of a run ALG which executes ALG.
In the base case , and the claim of the lemma holds trivially, so assume . Thus the call ALG is executed by a -fair call ALG. By the induction hypothesis ( since ). Thus, unless ALG recurses by adding a balanced separator we have that as well. So assume that ALG adds a balanced separator and that therefore , and . We prove that , then the result follows since .
Suppose for contradiction that , we will now produce an induced path of length in , contradicting that is -free. The call added a balanced separator, and so the size of the largest connected component, , in is greater than . This, together with Observation 1 then gives that every set is a -balanced separator for . Consider the following random process. Uniformly at random, select vertices and in . For all , let denote the random variable that is 1 if and are not in the same connected component of and otherwise. Since is a -balanced separator for , the probability that and are in the same connected component of is at most . Thus with probability at least . We denote by all sets such that and are not in the same component of , again including multiplicity. By linearity of expectation we have that
It follows there exists vertices and in such that . Let be a shortest path connecting and in . Since is -free, has at most vertices. By Observation 2, each of these vertices is contained in at most sets in . But then there exists a set disjoint from contradicting that and are not in the same component of . ∎
The following observation shows that the level sets do not grow a lot in each successive recursive call, and that they therefore never get very large. Note in particular that the size of level set drops exponentially with .
Observation 3.
For every -fair call ALG that adds a balanced separator and every ,
Furthermore, for every -fair instance ,
Proof.
Consider a -fair call ALG that adds a balanced separator . Let denote the set of vertices in , then we can see that Since the call ALG adds a balanced separator, , there are no branchable vertices. So, we have that for all , . Furthermore, by Lemma 2, since is generated as an -balanced separator and therefore a -balanced separator for , is the neighborhood of at most vertices, hence and the result follows.
The second statement follows by combining induction, the first part of this Observation, and the fact that if the call ALG executes ALG, then if and only if the call ALG adds a balanced separator.
∎
For -fair instances we define a measure:
If is not a -fair instance, then is undefined. Note that must always be an integer, and that it is independent of the weight function . We will say that two instances and are essentially different if , or .
Lemma 6.
For every positive integer , the number of essentially different -fair instances such that = is finite. In addition, for every -fair instance it holds that .
Proof.
Consider a -fair instance with = . Clearly, there are only a finite number of such instances with . We will show that if then . If then , , and are all bounded in terms of , and the first part of the lemma follows.
By Lemma 5 we have that is at most 10. It follows that the terms , , and are all non negative. Hence . This also proves that 0. ∎
Lemma 7.
For every -fair instance it holds that
Proof.
Consider a -fair instance . By Observation 3 and Lemma 5, we have that . Therefore, . Also, since , we can see that
∎
We define to be the running time of a -fair run of ALG1 starting with the inputs . We also define
When we analyze run time we assume that arithmetic (addition, subtraction, comparisons) on weights of vertices and vertex sets is constant time. Thus, both the running time of and the measure of an instance are independent of the weight function . Thus, by Lemma 6, is well defined.
Lemma 8.
satisfies the following recurrence:
Proof.
Let be a -fair instance such that and is the run time of ALG. If the call ALG recurses on connected components, then it makes at most recursive calls on instances of the form , where and . It follows that for each of these recursive calls we have
Therefore, if the instance ALG recurses on connected components, we must have that .
If the call ALG branches on a branchable vertex, , then it makes two recursive calls, one execution ALG, where the instance has measure , and the other execution is ALG. Note that for a branchable vertex, , we have that
since for at least one level we have that and = 1/2. It follows that
Therefore, if the call ALG branches on a branchable vertex, then we have that .
Finally, if the call ALG adds a balanced separator, , then it makes a single recursive call ALG. By Observation 3 and Lemma 7 we obtain the following.
Therefore, if the call ALG adds a balanced separator, then .
The result now follows from the observation that ALG only does = work in any given call and always recurses on connected components, branches on a branchable vertex, adds a balanced separator, or returns without making further recursive calls. ∎
Since is a non negative, non decreasing function, by adding the three possibilities in the of Lemma 8 we immediately obtain the following simplified recurrence.
Corollary 1.
Lemma 9.
Proof.
The proof is by induction on . The base case is established by Lemma 6. By Corollary 1 we have the inequality and repeatedly applying the inequality to the first term on the right hand side, gives . By the inductive hypothesis then, there is some such that
∎
We are now ready to prove Theorem 1.
4 Disconnected Forbidden Induced Subgraphs
Let be a graph. We denote by OH an oracle that takes an -free graph as input and outputs the weight of a maximum weight independent set in . In this section we present a quasi-polynomial time algorithm for Maximum Weight Independent Set in -free graphs, assuming we have access to the oracles OC for all . Specifically we will prove Theorem 2.
In the following, = + +…+ is a graph, is a graph, is a weight function on the vertices of , is a positive integer, and is a vertex multi-family of subsets of . We now present the algorithm of Theorem 2. The algorithm is very similar to the algorithm for free graphs, the main difference is that instead of packing balanced separators in the family , the algorithm “packs” (neighborhoods of) copies of induced ’s.
ALG2
The proof of correctness and running time analysis for closely follows that of . The main difference is in the proof of why the family can not grow beyond size (Lemmata 12 and 13). The other parts are just minor modifications of corresponding results from Section 3.
We will distinguish between the two different kinds of recursive calls that ALG2 can make. If the if condition of line 4 holds, then the algorithm makes the recursive calls on line 5. In this case we say that ALG2 branches on a branchable vertex. If the else if condition of line 6 holds, then the algorithm makes the recursive call in line 8. In this case we say that ALG2 adds a neighborhood. We define instances, runs, calls, execution and making a recursive call similarly as for . Just as for , a run of is called a if is an -free graph, , , and is a weight function. A call is called a if it is executed during the course of a fair run. An instance is a fair instance if is a fair call.
Lemma 10.
terminates on every input.
Proof.
Consider a run of ALG2 with initial input and . Whenever the algorithm makes a recursive call it does so with a call ALG where . Furthermore, whenever the algorithm branches on a branchable vertex, then it recurses with a call ALG where . Furthermore ALG2 can not add a neighborhood in over successive recursive calls. Suppose it does, then a call ALG with adds a neighborhood, but and thus there exists a branchable vertex, contradicting that ALG with adds a neighborhood. It follows by induction on that ALG2 always terminates. ∎
Lemma 11.
A run ALG returns the weight of a maximum weight independent set of .
Proof.
Consider an run of ALG2 with initial input . It is clear from the algorithm that if each run ALG2() that is executed by the call ALG2() returns the weight of a maximum weight independent set of under the weight function , then so would the run ALG). By Lemma 10 the height of the recursion tree is bounded, and the result is trivially true for the base case of so the result follows by induction on the depth of the recursion tree. ∎
Observation 4.
For ever fair instance , we have that .
Proof.
Consider a fair call ALG. We will prove the result by induction on the depth of the call ALG in the recursion tree of a run ALG which executes ALG.
If then the result is trivially true. Suppose , it follows that ALG2 executes ALG during a fair call ALG by branching on a branchable vertex or by adding a neighborhood, . In the first case, it is clear that since = for some vertex set , if , then in ALG. In the second case, since the instance ALG does not branch on a branchable vertex, we have that since every vertex in is branchable. It follows that . ∎
Lemma 12.
Let be a graph, an integer greater than 1, and let be a graph. If there exists a sequence of subsets of , = such that for all , , the subgraph induced by is isomorphic to , and for all we have that for at most ’s where , then there exists a subset such that forms an induced in .
Proof.
Let and be graphs, an integer greater than 1, and a sequence of sets of vertices with the properties given in the statement of the lemma. Given an , set = . We will refer to the segment , ,…, as ’s block.
The proof is by induction on . If then the statement is trivially true. Assume now that and that the statement is true for all smaller values. There are at most ’s such that some vertex of belongs to , . Remove from the sequence each such along with all other vertex sets in ’s block, as well as all ’s such that . After these deletions, re-name the sets in the updated sequence so that the index of each set is equal to the position of in the sequence (starting with ).
Let . There are at least = remaining vertex sets in the updated sequence, and this new sequence along with and satisfies the condition of the inductive hypothesis. It follows that there exists a set such that and is the union of sets in the (updated) sequence. Since does not belong to the neighborhood of any of the vertex sets in the new sequence, is disjoint from , and hence induces in , completing the proof. ∎
Lemma 13.
For every fair instance with , it holds that
Proof.
Let the fair instance be as in the statement of the lemma, furthermore let be the graph used in the initial input of ALG2 of the fair run that produces the instance . Assume to the contrary, that . In the fair run that executes the call ALG, consider the sequence of recursive calls (ordered by when the call occurs) that lead to the call ALG. In particular, consider the subsequence
such that the call ALG is the call to add a neighborhood . By Observation 4, we can see that for all , and for all vertices , for at most ’s with . The result follows now by observing that , , , and the sequence satisfy the hypothesis of Lemma 12, contradicting that is -free.
∎
Observation 5.
For every fair call ALG that recurses by adding a neighborhood and for every i,
Furthermore, for every fair instance ,
Proof.
Consider a fair call ALG that recurses by adding a neighborhood . Let denote the set of vertices in , then we can see that Since the call ALG adds a neighborhood, , there are no branchable vertices. So, we have that for all , . Hence and the result follows.
The second inequality follows by combining induction, the first part the observation, and the fact that if the call ALG executes ALG, then if and only if the call ALG makes the call ALG by adding a neighborhood. ∎
For fair instances we define the measure
If is not a fair instance, then is undefined. Note that must always be an integer and that it is independent of the weight function . We will say that two instances and are essentially different if , or .
If then a fair run ALG clearly terminates after a constant number of steps (since in a fair run, ) regardless of the other inputs, so from now on we will assume .
Lemma 14.
For every positive integer , the number of essentially different fair instances such that = is finite. In addition, for every fair instance 0.
Proof.
Consider a fair instance . We will show that if = , then . If then the range of inputs for , , and are bounded in terms of and the first part of the Lemma follows.
By Lemma 13 we have that is less than . It follows that the terms , , and are all non negative. Hence . This also proves that 0. ∎
Lemma 15.
for every fair instance .
Proof.
Consider a fair instance . By Observation 5 and Lemma 13, we have that
It follows that
Also, since , we have the following.
∎
We define to be the running time (including the number of oracle calls) of ALG2 starting with the inputs . We also define
Just as for , when we analyze run time we assume that arithmetic on weights takes constant time. Thus, both the running time of and the measure of an instance are independent of the weight function , and so by Lemma 14, is well defined.
Lemma 16.
satisfies the following recurrence:
Proof.
Let be a fair instance such that = and is the run time of ALG. If the call ALG branches on a branchable vertex, , then it makes two recursive calls, one execution on , which has measure at most . The other execution is on the instance . Note that for a branchable vertex, , we have that
since for at least one level we have that and = 1/2.
Hence,
Thus, if the call ALG branches on a branchable vertex, then we have that
If ALG adds a neighborhood, , it makes a single call ALG. By Observation 5 and Lemma 15 we get the following.
Thus, if the call ALG adds a neighborhood, then . The result now follows from the observation that ALG only does = work in a given call and always branches on a branchable vertex, adds a balanced separator, or immediately returns a value without making further recursive calls. ∎
Since is a non negative, non decreasing function, by adding the two possibilities in the of Lemma 16 we immediately obtain the following simplified recurrence.
Corollary 2.
Lemma 17.
Proof.
The proof is by induction on . The base case is established by Lemma 14. By Corollary 2 we have the inequality and repeatedly applying the inequality to the first term on the right hand side, gives . By the inductive hypothesis then, there is some constant such that
∎
We are now ready to prove Theorem 2.
Proof of Theorem 2.
The algorithm returns the answer of ALG. By Lemmata 10 and 11, ALG2 will always terminate and return the weight of a maximum weight independent set in . For the running time analysis, observe that is a fair instance and let . We assume that , since the run time bound follows trivially if . By Lemma 15 we have that . Let , then it follows that
This completes the proof. ∎
Theorem 2 sligthly increases the current reach of Theorem 1. In particular, let be the graph with connected components the first of which is a path on vertices and the remaining are forks (a fork is a path on four vertices plus a single vertex adjacent to the second vertex of the path). Lozin and Milanic [LM08] gave a polynomial time algorithm for Weighted Independent Set on fork-free graphs. Theorem 2 implies that Weighted Independent Set on free graphs can be solved by making oracle calls to the polynomial time algorithm of Lozin and Milanic [LM08] or the algorithm of Theorem 1. Thus we obtain the following result.
Theorem 3.
There exists an algorithm that given a -free graph and weight function , runs in time, and outputs the weight of a maximum weight independent set of .
5 Conclusion
In this paper we gave a quasipolynomial time algorithm for Weighted Independent Set on -free graphs for all integers . The dependence on in the exponent is and so our algorithm is quasi-polynomial even for and sub-exponential for for . In light of our algorithm it is tempting to conjecture that (Weighted) Independent Set on -free graphs can be solved in polynomial time for every . Given how dependent our algorithms are on branching on high degree vertices it looks unlikely that our techniques can lead to polynomial time algorithms for -free graphs. Nevertheless it may be possible to extract structural insights from our algorithms that could eventually lead to polynomial time algorithms.
Our second main result (Theorem 2) implies that if there exists a quasi-polynomial time algorithm for -free graphs for every subdivided claw then there exists a quasi-polynomial time algorithm for every finite family such that NP-completeness of Independent Set on -free graphs does not follow from Alekseev’s result [Ale82]. Thus, a quasi-polynomial time algorithm for subdivided-claw-free graphs would complete a dichotomy for the complexity of Independent Set on -free graphs for every finite family : every case is either quasi-polynomial time solvable or NP-complete.
References
- [Ale82] V.E. Alekseev. The effect of local constraints on the complexity of determination of the graph independence number. Combinatorial-algebraic methods in applied mathematics, pages 3–13, 1982. (in Russian).
- [Ale04] Vladimir E. Alekseev. Polynomial algorithm for finding the largest independent sets in graphs without forks. Discrete Applied Mathematics, 135(1-3):3–16, 2004.
- [BKKM99] Hajo Broersma, Ton Kloks, Dieter Kratsch, and Haiko Müller. Independent sets in asteroidal triple-free graphs. SIAM J. Discrete Math., 12(2):276–287, 1999.
- [BL03] Rodica Boliac and Vadim V. Lozin. An augmenting graph approach to the stable set problem in -free graphs. Discrete Applied Mathematics, 131(3):567 – 575, 2003.
- [BLM+19] Gábor Bacsó, Daniel Lokshtanov, Dániel Marx, Marcin Pilipczuk, Zsolt Tuza, and Erik Jan van Leeuwen. Subexponential-time algorithms for maximum independent set in $$p_t$$ P t -free and broom-free graphs. Algorithmica, 81(2):421–438, 2019.
- [BM03] Andreas Brandstädt and Raffaele Mosca. On the structure and stability number of - and co-chair-free graphs. Discrete Applied Mathematics, 132(1–3):47 – 65, 2003. Stability in Graphs and Related Topics.
- [Bra17] Christoph Brause. A subexponential-time algorithm for the maximum independent set problem in pt-free graphs. Discret. Appl. Math., 231:113–118, 2017.
- [BS+99] Andreas Brandstädt, Jeremy P Spinrad, et al. Graph classes: a survey. Number 3. Siam, 1999.
- [BY89] Egon Balas and Chang S. Yu. On graphs with polynomially solvable maximal-weight clique problem. Networks, 19:247––253, 1989.
- [CCJ90] Brent N. Clark, Charles J. Colbourn, and David S. Johnson. Unit disk graphs. Discrete Math., 86(1 – 3):165 – 177, 1990.
- [CCK+17] Parinya Chalermsook, Marek Cygan, Guy Kortsarz, Bundit Laekhanukit, Pasin Manurangsi, Danupon Nanongkai, and Luca Trevisan. From gap-eth to fpt-inapproximability: Clique, dominating set, and more. In Chris Umans, editor, 58th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2017, Berkeley, CA, USA, October 15-17, 2017, pages 743–754. IEEE Computer Society, 2017.
- [CLB81] D.G. Corneil, H. Lerchs, and L.Stewart Burlingham. Complement reducible graphs. Discrete Applied Mathematics, 3(3):163 – 174, 1981.
- [CMR00] Bruno Courcelle, Johann A. Makowsky, and Udi Rotics. Linear time solvable optimization problems on graphs of bounded clique-width. Theory Comput. Syst., 33(2):125–150, 2000.
- [CPPT20] Maria Chudnovsky, Marcin Pilipczuk, Michal Pilipczuk, and Stéphan Thomassé. Quasi-polynomial time approximation schemes for the maximum weight independent set problem in H-free graphs. In Shuchi Chawla, editor, Proceedings of the 2020 ACM-SIAM Symposium on Discrete Algorithms, SODA 2020, Salt Lake City, UT, USA, January 5-8, 2020, pages 2260–2278. SIAM, 2020.
- [DF99] Rod G. Downey and Michael R. Fellows. Parameterized Complexity. Springer-Verlag, New York, 1999.
- [DR+16] H.N. De Ridder et al. Information system on graph classes and their inclusions). www.graphclasses.org, 2016.
- [FGLaMS96] Uriel Feige, Shafi Goldwasser, László Lovász, and Shmuel Safra andF Mario Szegedy. Interactive proofs and the hardness of approximating cliques. J. ACM, 43(2):268–292, 1996.
- [FK10] Fedor V. Fomin and Dieter Kratsch. Exact Exponential Algorithms. Texts in Theoretical Computer Science. An EATCS Series. Springer, 2010.
- [GJ79a] M. R. Garey and David S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman, 1979.
- [GJ79b] Michael R. Garey and David S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. Series of Books in the Mathematical Sciences. W. H. Freeman and Co., 1979.
- [GKPP19] Andrzej Grzesik, Tereza Klimosova, Marcin Pilipczuk, and Michal Pilipczuk. Polynomial-time algorithm for maximum weight independent set on p6-free graphs. In Timothy M. Chan, editor, Proceedings of the Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2019, San Diego, California, USA, January 6-9, 2019, pages 1257–1271. SIAM, 2019.
- [GKPP20] Andrzej Grzesik, Tereza Klimosová, Marcin Pilipczuk, and Michal Pilipczuk. Covering minimal separators and potential maximal cliques in p-free graphs. CoRR, abs/2003.12345, 2020.
- [GL03] Michael U. Gerber and Vadim V. Lozin. On the stable set problem in special -free graphs. Discrete Applied Mathematics, 125(2-3):215–224, 2003.
- [GLS81] Martin Grötschel, László Lovász, and Alexander Schrijver. The ellipsoid method and its consequences in combinatorial optimization. Combinatorica, 1:169–197, 1981.
- [GOR+19] Carla Groenland, Karolina Okrasa, Paweł Rzazewski, Alex D. Scott, Paul D. Seymour, and Sophie Spirkl. H-colouring pt-free graphs in subexponential time. Discret. Appl. Math., 267:184–189, 2019.
- [Gyá87] A Gyárfás. Problems from the world surrounding perfect graphs. Applicationes Mathematicae, 3(19):413–441, 1987.
- [IPZ01] Russell Impagliazzo, Ramamohan Paturi, and Francis Zane. Which problems have strongly exponential complexity? J. Comput. Syst. Sci., 63(4):512–530, 2001.
- [Kar72] Richard M. Karp. Reducibility among combinatorial problems. In Complexity of Computer Computations, pages 85–103, 1972.
- [LM05] Vadim V. Lozin and Raffaele Mosca. Independent sets in extensions of -free graphs. Discrete Applied Mathematics, 146(1):74 – 80, 2005.
- [LM08] Vadim V. Lozin and Martin Milanic. A polynomial algorithm to find an independent set of maximum weight in a fork-free graph. J. Discrete Algorithms, 6(4):595–604, 2008.
- [LPvL18] Daniel Lokshtanov, Marcin Pilipczuk, and Erik Jan van Leeuwen. Independence and efficient domination on P-free graphs. ACM Trans. Algorithms, 14(1):3:1–3:30, 2018.
- [LVV14] Daniel Lokshantov, Martin Vatshelle, and Yngve Villanger. Independent set in P-free graphs in polynomial time. In Chandra Chekuri, editor, Proceedings of the Twenty-Fifth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2014, Portland, Oregon, USA, January 5-7, 2014, pages 570–581. SIAM, 2014.
- [Min80] George J. Minty. On maximal independent sets of vertices in claw-free graphs. Journal of Combinatorial Theory, Series B, 28(3):284 – 304, 1980.
- [Mos08] Raffaele Mosca. Some observations on maximum weight stable sets in certain -free graphs. European Journal of Operational Research, 184(3):849 – 859, 2008.
- [Pol74] Svatopluk Poljak. A note on stable sets and colorings of graphs. Commentationes Mathematicae Universitatis Carolinae, 15(2):307 – 309, 1974.
- [RS10] Bert Randerath and Ingo Schiermeyer. On maximum independent sets in -free graphs. Discrete Applied Mathematics, 158:1041–1044, 2010.
- [Sbi80] Najiba Sbihi. Algorithme de recherche d’un stable de cardinalite maximum dans un graphe sans etoile. Discrete Mathematics, 29(1):53 – 76, 1980.
- [Zuc07] David Zuckerman. Linear degree extractors and the inapproximability of max clique and chromatic number. Theory of Computing, 3(1):103–128, 2007.