This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Independent Set on Pk-Free Graphs in Quasi-Polynomial Time

Peter Gartland University of California, Santa Barbara, USA. Emails: [email protected], [email protected]    Daniel Lokshtanov11footnotemark: 1
Abstract

We present an algorithm that takes as input a graph GG with weights on the vertices, and computes a maximum weight independent set SS of GG. If the input graph GG excludes a path PkP_{k} on kk vertices as an induced subgraph, the algorithm runs in time nO(k2log3n)n^{O(k^{2}\log^{3}n)}. Hence, for every fixed kk 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 P4P_{4}-free graphs [Corneil et al., DAM’81], P5P_{5}-free graphs [Lokshtanov et al., SODA’14], and P6P_{6}-free graphs [Grzesik et al., SODA’19]. For larger values of tt, only 2O(knlogn)2^{O(\sqrt{kn\log n})} 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 PkP_{k}-free graphs is not NP-complete for any integer kk.

Additionally we show that for every graph HH, if there exists a quasi-polynomial time algorithm for Independent Set on CC-free graphs for every connected component CC of HH, then there also exists a quasi-polynomial time algorithm for Independent Set on HH-free graphs. This lifts our quasi-polynomial time algorithm to TkT_{k}-free graphs, where TkT_{k} has one component that is a PkP_{k}, and k1k-1 components isomorphic to a fork (the unique 55-vertex tree with a degree 33 vertex).

1 Introduction

An independent set (also known as a stable set) in a graph GG is a vertex set SS such that no pair of distinct vertices in SS are adjacent in GG. In the Independent Set problem the input is a graph GG on nn vertices and integer kk, the task is to determine whether GG contains an independent set SS of size at least kk. 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 2o(n)2^{o(n)} 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 k×K2k\times K_{2}-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 HH (and more generally, by a finite set {\cal H} of forbidden induced subgraphs). A graph GG is said to be HH-free if GG does not contain a copy of HH as an induced subgraph. For a set {\cal H} of graphs, GG is {\cal H}-free if GG is HH-free for all HH\in{\cal H}. The ultimate goal of this research direction is to establish a dichotomy theorem that for every finite set {\cal H} of graphs determines whether Independent Set on {\cal H}-free graphs is polynomial time solvable, or NP-complete111There is of course the possibility that Independent Set on {\cal H}-free graphs has NP-intermediate complexity for some choice of {\cal H}. 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 {\cal H}-free graphs for every finite set {\cal H} that does not include a graph HH whose every connected component is a path or a subdivision of the claw (K1,3K_{1,3}). Since then, no new NP-completeness results for Independent Set on {\cal H}-free graphs have been found for any other finite set {\cal H}. Thus, it is consistent with current knowledge that Independent Set is polynomial time solvable on {\cal H}-free graphs for all other finite sets {\cal H}. At the same time, progress on algorithms has been embarrassingly slow. The only connected graphs HH 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 P4P_{4}-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 P5P_{5}-free graphs [BL03, BM03, GL03, LM05, Mos08, RS10], in 2014 Lokshtanov et al. [LVV14] gave a polynomial time algorithm on P5P_{5} free graphs. Two years later, Lokshtanov et al. [LPvL18] devised a quasi-polynomial time algorithm on P6P_{6}-free graphs, before Grzesik et al. [GKPP19] designed a polynomial time algorithm for P6P_{6}-free graphs in 2019. This summarizes the state-of-the-art for polynomial time solvability of Independent Set on HH-free graphs.

It appears that the currently known techniques are very far from being able to yield polynomial time algorithms for Independent Set on PkP_{k}-free graphs for k=8k=8, let alone for all values of kk. More concretely, the polynomial time algorithms for P5P_{5}-free graphs of Lokshtanov et al. [LVV14] and for P6P_{6}-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 kk. Second, and more importantly, in a recent manuscript Grzesik et al. [GKPP20] show that a crucial component of this method fails completely on PkP_{k}-free graphs for k8k\geq 8.

The slow progress on polynomial time algorithms have prompted researchers to look for weaker forms of tractability of Independent Set on PkP_{k}-free graphs. Bacsó et al. [BLM+19] provided 2O(knlogn)2^{O(\sqrt{kn\log n})} time algorithms for Independent Set on PkP_{k}-free graphs (see also [Bra17, GOR+19]). Finally, Chudnovsky et al. [CPPT20] obtained quasi-polynomial time approximation schemes for PkP_{k}-free graphs for all kk. In fact their result is much more general - they obtain quasi-polynomial time approximation schemes on {\cal H}-free graphs for all sets {\cal H} 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 {\cal H}-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 PkP_{k}-free graphs for every kk. In particular we prove the following theorem.

Theorem 1.

There exists an algorithm that given a graph GG and weight function w:V(G)w:V(G)\rightarrow\mathbb{N} outputs the weight of a maximum weight independent set of GG. If GG is PkP_{k}-free then the algorithm runs in nO(k2log3n)n^{O(k^{2}\log^{3}n)} time.

Theorem 1 implies that unless 𝖭𝖯𝖰𝖯{\sf NP}\subseteq{\sf QP}, Independent Set on PkP_{k}-free graphs is not NP-complete for any kk. This is the first conclusive evidence against NP-completeness for any k7k\geq 7. The running time of the algorithm of Theorem 1 matches that of Chudnovsky et al. [CPPT20], but computes optimal solutions instead of (1ϵ)(1-\epsilon)-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 P6P_{6}-free graphs. We have been unsuccessful in generalizing Theorem 1 to a quasi-polynomial time algorithms for HH-free graphs where HH 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 {\cal H}-free graphs for which NP-hardness is not already known. More concretely, for a graph HH let OH be an oracle that takes as input an HH-free graph GG and outputs the weight of a maximum weight independent set in GG. Further, let 𝒞𝒞(H){\cal CC}(H) denote the set of connected components of HH. Our second result is the following.

Theorem 2.

There exists an algorithm that given as input a graph HH, a graph GG, and weight function w:V(G)w:V(G)\rightarrow\mathbb{N} as well as access to oracles O(Hi)O(H_{i}) for all Hi𝒞𝒞(H)H_{i}\in{\cal CC}(H), outputs the weight of a maximum weight independent set of GG. If GG is HH-free then the algorithm uses at most nO(|H|2|𝒞𝒞(H)|log3(n))n^{O(|H|^{2}|{\cal CC}(H)|\log^{3}(n))} operations and oracle calls on induced subgraphs of GG.

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 TkT_{k}-free graphs, where TkT_{k} is the graph with kk connected components the first of which is a PkP_{k} and each of the remaining k1k-1 are isomorphic to a fork. Second, Theorem 2 implies that if Weighted Independent Set has a quasi-polynomial time algorithm on HH-free graphs for every subdivided claw HH, then Weighted Independent Set also has a quasi-polynomial time algorithm on all {\cal H}-free classes of graphs, for finite sets {\cal H}, 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 2O(nlogn)2^{O(\sqrt{n\log n})} time algorithm for PkP_{k}-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 GG contains a vertex vv of sufficiently high degree (degree d\geq d) then branch on vv. That is, find the best solution avoiding vv by a recursive call on GvG-v, and the best solution containing vv by adding vv to the solution obtained from a recursive call on GN[v]G-N[v]. Output the best of these two solutions. A simple recurrence analysis shows that this reduces the problem to solving 2O(nlognd)2^{O(\frac{n\log n}{d})} instances in which no vertex has degree at least dd. Bascó et al. [BLM+19] set d=nlognd=\sqrt{n\log n} and obtain 2O(nlogn)2^{O(\sqrt{n\log n})} instances with maximum degree nlogn\sqrt{n\log n}.

The “balanced separation” technique is based on the classic “Gyárfás path” argument [Gyá87] for proving that Pk-free graphs are χ\chi-bounded. A simple lemma (Lemma 2 of Bascó et al. [BLM+19]), whose proof spans less than a page, shows that in every PkP_{k} free graph GG there exists a vertex set X1X_{1} of size at most k1k-1, such that every connected component of GN[X1]G-N[X_{1}] has at most n/2n/2 vertices. Bascó et al. [BLM+19] apply this result to instances output by the degree reduction procedure above. In such instances, |N[X1]|O(nlogn)|N[X_{1}]|\leq O(\sqrt{n\log n}), assuming kk is a constant. Then, after guessing the intersection of the optimal solution with N[X1]N[X_{1}] (there are at most 2|N[X1]|2nlogn2^{|N[X_{1}]|}\leq 2^{\sqrt{n\log n}} such guesses) the connected components of GN[X1]G-N[X_{1}] become independent sub-instances of size at most n/2n/2, on which the algorithm may be called recursively. Thus, solving a single instance on nn vertices reduces to solving 2O(nlogn)2^{O(\sqrt{n\log n})} instances on at most n/2n/2 vertices. Analyzing the corresponding recurrence shows that the total running time of the algorithm is upper bounded by 2O(nlogn)2^{O(\sqrt{n\log n})}.

If we wish to improve the running time from 2O(nlogn)2^{O(\sqrt{n\log n})} to quasi-polynomial, we may only apply degree reduction with d=Ω(nlogO(1)n)d=\Omega(\frac{n}{\log^{O(1)}n}), and we can not afford to guess the intersection of the balanced separator N[X1]N[X_{1}] with an optimal solution. At this point we apply a slight generalization of degree reduction, to degree reduction relative to a vertex set SS. Here we branch on vertices vv that have at least dd^{\prime} neighbors in SS (the vertex vv itself does not have to be in SS). A simple recursion analysis shows that this will reduce a single instance to n|S|/dn^{|S|/d^{\prime}} instances where every vertex has at most dd^{\prime} neighbors in SS. We apply degree reduction on the balanced separator N[X1]N[X_{1}] with d=|N[X1]|/cd^{\prime}=|N[X_{1}]|/c for some constant cc (possibly depending on kk). Thus, the initial degree reduction, followed by the degree reduction on N[X1]N[X_{1}], reduces the task of solving a single instance GG to that of solving the problem on 2logO(1)n2^{\log^{O(1)}n} instances in which every vertex has degree at most n/logO(1)nn/\log^{O(1)}n and furthermore has at most |N[X1]|/c|N[X_{1}]|/c neighbors in the set N[X1]N[X_{1}]. Here we are working with induced subgraphs of the original graph GG, so when we say N[X1]N[X_{1}] we really mean what remains of the set N[X1]N[X_{1}] (with the neighborhood taken in the graph GG) in the subgraph of GG 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 P6P_{6}-free graphs. However it is not at all clear how to deal with the instances output by this degree reduction. For P6P_{6}-free graphs, Lokshtanov et al. [LPvL18] (essentially) show that if the balanced separator N[X1]N[X_{1}] is chosen very carefully, then the degree reduction procedure never gets stuck: as long as N[X1]N[X_{1}] is non-empty some vertex is a neighbor to a constant fraction of N[X1]N[X_{1}]. Thus the algorithm will make quasi-polynomially many calls on instances where the balanced separator N[X1]N[X_{1}] 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 PkP_{k}-free graphs for higher values of kk, 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 N[X2]N[X_{2}], then N[X2]N[X_{2}] can not have large intersection with N[X1]N[X_{1}]. This is because N[X2]N[X_{2}] is the neighbor set of a constant size set (X2X_{2}) and no vertex in the degree-reduced instance has many neighbors in N[X1]N[X_{1}]. We now apply the degree reduction procedure again, this time on N[X2]N[X_{2}]. If this reduction procedure completely reduces X1X_{1} or X2X_{2} to the empty set, or disconnects the graph into connected components so that the largest one has at most 0.9n0.9n 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 X3X_{3}, observe that X3X_{3} has small intersection with X2X_{2} and X1X_{1}, and do degree-reduction on X3X_{3}. 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 O(logn)O(\log n) 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 O(2nϵ)O(2^{n^{\epsilon}}) for every ϵ>0\epsilon>0, 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 N[Xi]N[X_{i}]. Instead we define level sets. Level ii is the set of all vertices that appear in at least ii of the separators N[X1],,N[Xt]N[X_{1}],\ldots,N[X_{t}] that we have constructed so far. We will maintain that throughout the course of the algorithm the size of level ii drops exponentially with ii. Thus there will only be O(logn)O(\log n) levels, and we can afford to run degree reduction so that for each level, no vertex sees more than a (1klogn)O(1)(\frac{1}{k\log n})^{O(1)} 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 1+(1klogn)O(1)1+(\frac{1}{k\log n})^{O(1)} of the size of the previous level. Thus, such a process may continue to depth (klogn)O(1)(k\log n)^{O(1)} while maintaining the invariant that the size of the level ii drops exponentially with ii.

If recursion depth Ω(klogn)\Omega(k\log n) is reached without sufficiently disconnecting the graph (i.e the largest connected component CC of the graph still has size at least N/2N/2, where NN is the number of vertices in the original graph) this means that we have found Ω(klogn)\Omega(k\log n) balanced separators for the graph such that no vertex is contained in more than O(logn)O(\log n) of them. A simple counting argument then shows that the average distance between pairs of vertices in the component CC has to be at least klognlognk\frac{k\log n}{\log n}\geq k, contradicting that GG is PkP_{k}-free. This means that after recursion depth O(klogn)O(k\log n), the graph has already been disconnected! At this point running the algorithm from scratch on each of the connected components yields at most nn instances of size at most n/2n/2 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 GG of connected components of HH. 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 Ω(|H|O(1)logn)\Omega(|H|^{O(1)}\log n) then we can find an induced copy of HH in GG.

2 Preliminaries

All graphs in this paper are assumed to be simple, undirected graphs. We denote the edge set of a graph GG by E(G)E(G) and the vertex set of a graph by V(G)V(G). If vv \in V(G)V(G), then we use N[v]N[v] to denote the closed neighborhood of v, i.e. the set of all neighbors of vv together with vv itself. We use N(v)N(v) to denote the set N[v]{vN[v]-\{v}. If XX \subseteq V(G)V(G), then N[X]N[X] = xXN[x]\bigcup_{x\in X}N[x] and N(X)N(X) = N[X]XN[X]-X. We use 𝒞𝒞(G){\cal CC}(G) to denote the set of connected components of GG. If G1G_{1}, G2G_{2},…, GmG_{m} are graphs, then we use G1+G2++GmG_{1}+G_{2}+...+G_{m} to denote the graph that that has vertex set V(G1)V(G2)V(Gm)V(G_{1})\cup V(G_{2})\cup...\cup V(G_{m}), and edge set E(G1)E(G2)E(Gm)E(G_{1})\cup E(G_{2})\cup...\cup E(G_{m}).

Given a weight function w:V(G)w:V(G)\rightarrow\mathbb{N} the weight of a vertex set SS is defined as w(S)=vSw(v)w(S)=\sum_{v\in S}w(v). An independent set in GG is a vertex set SS such that no pair of vertices in SS have an edge between them. We define mwis(G)(G) to be the weight of the maximum weight independent set in GG. The lengthlength of a path is the number of vertices in the path and we denote by PkP_{k} the path of length kk. If XX \subseteq V(G)V(G) then we will use G(X)G(X) to denote the the graph induced by the vertex set XX, and if it is clear from the context we will use GXG-X to denote the graph G(V(G)X)G(V(G)-X).

Given a positive number kk and a graph GG, we call a set SS \subset V(G)V(G) a cc-balancedbalanced separatorseparator if no connected component of GSG-S has over cc vertices. A vertex multi-family {\cal F} is a collection of vertex sets that allows for multiple instances of its vertex sets. If {\cal F} = {S1,S2,,Sn}S_{1},S_{2},\ldots,S_{n}\} and XX is a set of vertices, then X{\cal F}-X is the vertex multi-family {S1X,S2X,,SnX}S_{1}-X,S_{2}-X,\ldots,S_{n}-X\}. For two vertex multi-families 𝒜{\cal A} and {\cal B} their union is denoted by 𝒜{\cal A}\cup{\cal B} and is defined by the vertex multi-family that contains all elements of 𝒜{\cal A} and of {\cal B}. The multiplicity of an element XX in 𝒜{\cal A}\cup{\cal B} is its multiplicity in 𝒜{\cal A} plus its multiplicity in {\cal B}. We will use log(x)\log(x) to denote the function log2(x)\lceil\log_{2}(x)\rceil 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 GG runs in polynomial time and outputs an induced path PP in GG such that N(V(P))N(V(P)) is a |V(G)|2\frac{|V(G)|}{2}-balanced separator of GG.

We begin by proving a slight strengthening of Lemma 1.

Lemma 2.

There exists an algorithm that takes as input a graph GG, and a positive integer ii such that 2i<|V(G)|2^{i}<|V(G)|, runs in polynomial time and outputs a set XX such that N[X]N[X] is a |V(G)|2i\frac{|V(G)|}{2^{i}}-balanced separator in GG. Furthermore, if GG is PkP_{k}-free then |X|2i+1k|X|\leq 2^{i+1}\cdot k.

Proof.

Let GG and ii be as in the statement of the lemma, the proof is by induction on ii. For i=1i=1 the algorithm calls the algorithm of Lemma 1 and obtains a path PP. It then returns X=V(P)X=V(P). Lemma 1 guarantees that in this case XX satisfies the statement of this lemma. For i>1i>1 the algorithm first calls itself recursively on the input (G,i1)(G,i-1) and obtains a set XX^{\prime} such that N[X]N[X^{\prime}] is a |V(G)|2i1\frac{|V(G)|}{2^{i-1}}-balanced separator in GG, and furthermore, if GG is PkP_{k}-free then |X|2ik|X^{\prime}|\leq 2^{i}\cdot k. For each connected component CjC_{j} of GN[X]G-N[X^{\prime}] such that |V(Cj)|>|V(G)|2i|V(C_{j})|>\frac{|V(G)|}{2^{i}} the algorithm calls itself recursively on (Cj,1)(C_{j},1) and obtains a set XjX_{j} such that N[Xj]N[X_{j}] is a |V(Cj)|2\frac{|V(C_{j})|}{2}-balanced separator of CjC_{j}. If GG is PkP_{k}-free it holds that |Xj|k|X_{j}|\leq k. The algorithms sets XX as X=X(jXj)X=X^{\prime}\cup(\bigcup_{j}X_{j}) where the union is taken over all jj such that |V(Cj)|>|V(G)|2i|V(C_{j})|>\frac{|V(G)|}{2^{i}}. Clearly the construction of XX ensures that N[X]N[X] is a |V(G)|2i\frac{|V(G)|}{2^{i}}-balanced separator of GG. Furthermore if GG is PkP_{k}-free then |X||X|+tk|X|\leq|X^{\prime}|+t\cdot k where tt is the number of connected components of GXG-X^{\prime} whose size is more than |V(G)|2i\frac{|V(G)|}{2^{i}}. Since these components are disjoint we have that t2it\leq 2^{i}. Therefore |X|2ik+2ik=2i+1k|X|\leq 2^{i}\cdot k+2^{i}\cdot k=2^{i+1}\cdot k 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 (G,iG,i) the algorithm makes at most 2i2^{i} calls to the algorithm of Lemma 1 plus the number calls it makes to the algorithm of Lemma 1 on input (G,i1G,i-1). Since 2i|V(G)|=n{}^{i}\leq|V(G)|=n, the recurrence shows the algorithm makes at most Σi=0log(n)n/2i\Sigma_{i=0}^{\log(n)}n/2^{i} = O(n)O(n) 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 {\cal F}.

Definition 1.

Given a graph GG and a vertex multi-family {\cal F} consisting of vertex sets of GG, for positive integers ii, the iith level relative to {\cal F} is denoted by L(,i)L({\cal F},i) and defined as follows

L(,i)={vV(G):|{S:vS}|i}L({\cal F},i)=\{v\in V(G)~{}:~{}|\{S\in{\cal F}~{}:~{}v\in S\}|\geq i\}

In other words L(,i)L({\cal F},i) is a vertex set containing all vertices of GG that are contained in at least ii sets in {\cal F}. Our algorithm will also make use of a number NN, this number will be approximately equal to the number of vertices in the input graph GG.

Definition 2.

The iith branch threshold is denoted by Δi\Delta_{i} and is defined as Δi=N/2i\Delta_{i}=N/2^{i}. Given a multi-family {\cal F}, a vertex vV(G)v\in V(G) is a branchable vertex if there exists an i1i\geq 1 such that |N[v]L(,i)|Δi|N[v]\cap L({\cal F},i)|\geq\Delta_{i}.

In the following GG is always a graph, ww is a weight function w:V(G)w:V(G)\rightarrow\mathbb{N}, NN is an integer, and {\cal F} is a multi-family of subsets of V(G)V(G). We now describe the main subroutine ALG1 in the algorithm of Theorem 1. The algorithm takes as input GG, ww, NN and {\cal F} and (as we will prove) outputs the weight of a maximum weight independent set in GG. The algorithm of Theorem 1 will call ALG1 with parameters G, N=|V(G)|N=|V(G)|, w, and ={\cal F}=\emptyset. ALG1 is a recursive branching algorithm with only four rules. First, if GG has at most one vertex, then return V(G)V(G). Second, if the largest component of GG has at most |N|/2|N|/2 vertices then solve the problem recursively on each component and return the sum. Third, if there exists a branchable vertex vv, then branch on vv (i.e solve the problem with vv forced in to the independent set, and vv forced out). Finally, if none of the previous rules apply then add a new balanced separator XX (obtained by Lemma 2) to {\cal F}. In other words, make a recursive call on the instance (G,w,N,{N[X]})(G,w,N,{\cal F}\cup\{N[X]\}).

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 {\cal F} of balanced separators to guide which vertex to branch on, that when no rules apply we add a separator to the family {\cal F} (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 N/2N/2 (this is primarily to simplify the analysis).

ALG1

1:  Input: GG, ww, NN, {\cal F}.
2:  Output: mwis(G)(G).
3:  if  |V(G)|1|V(G)|\leq 1 then
4:     return  w(V(G))w(V(G))
5:  else if (maxC𝒞𝒞(G)|V(C)|)N/2\max_{C\in{\cal CC}(G)}|V(C)|)\leq N/2 then
6:     return  C𝒞𝒞(G)ALG1(C,w,|V(C)|,)\sum_{C\in{\cal CC}(G)}\mbox{ALG}_{1}(C,w,|V(C)|,\emptyset)
7:  else if exists branchable vertex vv then
8:     return  max(ALG1(Gv,w,N,{v}),ALG1(GN[v],w,N,N[v])+w(v))\max\left(\mbox{ALG}_{1}(G-v,w,N,{\cal F}-\{v\}),\mbox{ALG}_{1}(G-N[v],w,N,{\cal F}-N[v])+w(v)\right)
9:  obtain XX by applying Lemma 2 on GG with i=2i=2
10:  return  ALG(G,w,N,{N[X]})1{}_{1}(G,w,N,{\cal F}\cup\{N[X]\})

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 (G,w,N,)(G,w,N,{\cal F}). A run of the algorithm refers to the entire execution of the algorithm on an instance. A call ALG1(G,w,N,)\mbox{ALG}_{1}(G,w,N,{\cal F}) refers to the computation done in the root node of the recursion tree of the run ALG1(G,w,N,)\mbox{ALG}_{1}(G,w,N,{\cal F}). We remark that parameters G,w,NG,w,N, and {\cal F} never change during the call ALG1\mbox{ALG}_{1}(G,w,N,)G,w,N,{\cal F}). When a run or a call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) recursively calls ALG1 on the instance (G,w,N,)(G^{\prime},w,N^{\prime},{\cal F}^{\prime}) we say the run or the call executes a run or a call on (G,w,N,)(G^{\prime},w,N^{\prime},{\cal F}^{\prime}). This will sometimes be referred to as makes a recursive call ALG1(G,w,N,)\mbox{ALG}_{1}(G^{\prime},w,N^{\prime},{\cal F}^{\prime}). A run of ALG1(G,w,N,)\mbox{ALG}_{1}(G,w,N,{\cal F}) is called a kk-fairfair runrun if GG is a PkP_{k}-free graph, N=|V(G)|N=|V(G)|, ={\cal F}=\emptyset, and ww is a weight function. A call ALG1(G,w,N,)\mbox{ALG}_{1}(G,w,N,{\cal F}) is called a kk-fairfair callcall if it is executed during the course of a kk-fair run. An instance (G,w,N,)(G,w,N,{\cal F}) is called a kk-fair instance if ALG1(G,w,N,)\mbox{ALG}_{1}(G,w,N,{\cal F}) is a k-fair call.

Lemma 3.

ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) terminates on every input.

Proof.

Consider a run of ALG1 with initial input G,w,N,G,w,N, and {\cal F}. Whenever the algorithm makes a recursive call ALG(G,w,N,)1{}_{1}(G^{\prime},w,N^{\prime},{\cal F}^{\prime}) we have that |V(G)||V(G)||V(G^{\prime})|\leq|V(G)| and NNN^{\prime}\leq N. Furthermore, whenever the algorithm recurses on connected components or branches on a branchable vertex, then it executes ALG(G,w,N,)1{}_{1}(G^{\prime},w,N^{\prime},{\cal F}^{\prime}) with either |V(G)|<|V(G)||V(G^{\prime})|<|V(G)| or N<NN^{\prime}<N. Finally, ALG1 cannot add a balanced separator for over |V(G)|log(N)|V(G)|\cdot\log(N) successive recursive calls since then a call ALG(G,w,N,′′)1{}_{1}(G,w,N,{\cal F}^{\prime\prime}) with ′′=|V(G)|log(N){\cal F^{\prime\prime}}=|V(G)|\cdot\log(N) 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 L(′′,log(N))L({\cal F^{\prime\prime}},\log(N))\neq\emptyset, and so the call ALG(G,w,N,′′)1{}_{1}(G,w,N,{\cal F}^{\prime\prime}) 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 |V(G)|log(N)|V(G)|\cdot\log(N) successive recursive calls. It follows by induction on |V(G)|+N|V(G)|+N that ALG1 always terminates. ∎

Lemma 4.

A run ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) always returns the weight of a maximum weight independent set of GG under the weight function ww.

Proof.

Consider a run of ALG1 with initial input G,w,N,G,w,N, and {\cal F}. It is clear from the algorithm that if each run ALG1(G,w,N,G^{\prime},w,N^{\prime},{\cal F}) that is executed by the call ALG1(G,w,N,G,w,N,{\cal F}) returns the weight of a maximum weight independent set of GG^{\prime} with weight function ww, then so would the run ALG1(G,w,N,G,w,N, {\cal F}). By Lemma 3 the height of the recursion tree is bounded, and the result is trivially true for the base case of |V(G)|1|V(G)|\leq 1, so the result follows by induction on the height of the recursion tree of the run ALG1(G,w,N,G,w,N,{\cal F}). ∎

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 kk-fair runs. First, in Observation 1 we will prove that {\cal F} remains a multi-family of balanced separators of GG throughout the execution of the algorithm. In Observation 2 we will show that no vertex appears in many (more than logN\log N) sets in {\cal F}. This will ensure that {\cal F} can never grow too large, because, as we will show in Lemma 5, a connected PkP_{k}-free graph can not contain a large fractional packing of balanced separators.

Observation 1.

Let (GG, ww, NN, {\cal F}) be a kk-fair instance. Then every set SS\in{\cal F} is a N4\frac{N}{4}-balanced separator of GG.

Proof.

Consider a kk-fair instance (G,w,N,)(G,w,N,{\cal F}). If ={\cal F}=\emptyset then the result is trivially true, so assume {\cal F}\neq\emptyset. It follows ALG1 executes ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) during a kk-fair call ALG(G,w,N,)1{}_{1}(G^{\prime},w,N,{\cal F^{\prime}}) by branching on a branchable vertex or ALG1 executes ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) during a kk-fair call ALG(G,w,N,′′)1{}_{1}(G,w,N,{\cal F^{\prime\prime}}) by adding a balanced separator, XX. In the first case, if all sets of {\cal F^{\prime}} are N4\frac{N}{4}-balanced separators for GG^{\prime}, then since GG = GSG^{\prime}-S for some vertex set SS, and {\cal F} = S{\cal F^{\prime}}-S, all sets of {\cal F} are N4\frac{N}{4}-balanced separators for GG. In the second case, XX is generated in such a way that it is guaranteed to be an N4\frac{N}{4}-balanced separator for GG, so if all sets of ′′{\cal F^{\prime\prime}} are N4\frac{N}{4}-balanced separators for GG, then all sets of {\cal F} are N4\frac{N}{4}-balanced separators for GG. The statement of the observation now follows by induction on the depth of the call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) in the recursion tree. ∎

Observation 2.

For every kk-fair instance (G,w,N,)(G,w,N,{\cal F}), we have that L(,log(N)+1)=L({\cal F},\log(N)+1)=\emptyset.

Proof.

Consider a kk-fair call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}). We will prove the statement by induction on the depth the call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) in the recursion tree of a run ALG(G,w,|V(G)|,)1{}_{1}(G^{*},w,|V(G^{*})|,\emptyset) which executes ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}).

If ={\cal F}=\emptyset then the result is trivially true. Suppose now that {\cal F}\neq\emptyset, it follows ALG1 executes ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) during a kk-fair call ALG(G,w,N,)1{}_{1}(G^{\prime},w,N,{\cal F^{\prime}}) by branching on a branchable vertex or by adding a balanced separator XX. In the first case {\cal F} = S{\cal F^{\prime}}-S for some vertex set SS. By the induction hypothesis L(,log(N)+1)=L({\cal F^{\prime}},\log(N)+1)=\emptyset and hence L(,log(N)+1)=L({\cal F},\log(N)+1)=\emptyset. In the second case, ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F^{\prime}}) does not branch on a branchable vertex, so we have that L(,log(N))=L({\cal F^{\prime}},\log(N))=\emptyset since every vertex in L(,log(N))L({\cal F^{\prime}},\log(N)) is branchable. It follows that L(,log(N)+1)=L(X,log(N)+1)=L({\cal F},\log(N)+1)=L({\cal F^{\prime}}\cup X,\log(N)+1)=\emptyset. ∎

Lemma 5.

For every kk-fair instance (G,w,N,)(G,w,N,{\cal F}) it holds that ||10klog(N)|{\cal F}|\leq 10k\cdot\log(N).

Proof.

Consider a kk-fair instance (G,w,N,)(G,w,N,{\cal F}). We will prove the result by induction on the depth of the call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) in the recursion tree of a run ALG(G,w,|V(G)|,)1{}_{1}(G^{*},w,|V(G^{*})|,\emptyset) which executes ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}).

In the base case ={\cal F}=\emptyset, and the claim of the lemma holds trivially, so assume {\cal F}\neq\emptyset. Thus the call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) is executed by a kk-fair call ALG(G,w,N,)1{}_{1}(G^{\prime},w,N^{\prime},{\cal F}^{\prime}). By the induction hypothesis ||10klog(N)|{\cal F}^{\prime}|\leq 10k\cdot\log(N) (N=NN=N^{\prime} since {\cal F}\neq\emptyset). Thus, unless ALG(G,w,N,)1{}_{1}(G^{\prime},w,N^{\prime},{\cal F}^{\prime}) recurses by adding a balanced separator we have that ||10klog(N)|{\cal F}|\leq 10k\cdot\log(N) as well. So assume that ALG(G,w,N,)1{}_{1}(G^{\prime},w,N^{\prime},{\cal F}^{\prime}) adds a balanced separator XX and that therefore G=GG^{\prime}=G, N=NN^{\prime}=N and ={X}{\cal F}={\cal F}^{\prime}\cup\{X\}. We prove that ||<10klog(N)|{\cal F}^{\prime}|<10k\cdot\log(N), then the result follows since ||=||+1|{\cal F}|=|{\cal F}^{\prime}|+1.

Suppose for contradiction that ||10klog(N)|{\cal F}^{\prime}|\geq 10k\cdot\log(N), we will now produce an induced path of length kk in GG, contradicting that GG is PkP_{k}-free. The call ALG1(G,w,N,)=ALG1(G,w,N,)\mbox{ALG}_{1}(G^{\prime},w,N^{\prime},{\cal F^{\prime}})=\mbox{ALG}_{1}(G,w,N,{\cal F^{\prime}}) added a balanced separator, and so the size of the largest connected component, CC, in GG is greater than N2\frac{N}{2}. This, together with Observation 1 then gives that every set SS\in{\cal F} is a |V(C)|2\frac{|V(C)|}{2}-balanced separator for CC. Consider the following random process. Uniformly at random, select vertices xx and yy in CC. For all SS\in{\cal F}, let XSX_{S} denote the random variable that is 1 if xx and yy are not in the same connected component of CSC-S and 0 otherwise. Since SS is a |V(C)|2\frac{|V(C)|}{2}-balanced separator for CC, the probability that xx and yy are in the same connected component of CSC-S is at most 12\frac{1}{2}. Thus XS=1X_{S}=1 with probability at least 12\frac{1}{2}. We denote by x,y{\cal F}_{x,y} all sets SS\in{\cal F} such that xx and yy are not in the same component of CSC-S, again including multiplicity. By linearity of expectation we have that

E[|x,y|]=SE[XS]||/2>5klog(N).E[|{\cal F}_{x,y}|]=\sum_{S\in{\cal F}}E[X_{S}]\geq|{\cal F}|/2>5k\cdot\log(N).

It follows there exists vertices aa and bb in CC such that |a,b|>5klog(N)|{\cal F}_{a,b}|>5k\cdot\log(N). Let PP be a shortest path connecting aa and bb in CC. Since GG is PkP_{k}-free, PP has at most k1k-1 vertices. By Observation 2, each of these vertices is contained in at most log(N)\log(N) sets in a,b{\cal F}_{a,b}. But then there exists a set Sa,bS\in{\cal F}_{a,b} disjoint from V(P)V(P) contradicting that aa and bb are not in the same component of CSC-S. ∎

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 ii drops exponentially with ii.

Observation 3.

For every kk-fair call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) that adds a balanced separator XX and every ii,

|L(X,i)|Δi18k+|L(,i)|.|L({\cal F}\cup X,i)|\leq\Delta_{i-1}\cdot 8k+|L({\cal F},i)|.

Furthermore, for every kk-fair instance (G,w,N,)(G^{\prime},w,N^{\prime},{\cal F}^{\prime}),

|L(,i)|Δi18k||.|L({\cal F}^{\prime},i)|\leq\Delta_{i-1}\cdot 8k\cdot|{\cal F}^{\prime}|.
Proof.

Consider a kk-fair call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) that adds a balanced separator XX. Let XjX_{j} denote the set of vertices in L(,j)XL({\cal F},j)\cap X, then we can see that |L({X},j)|L(,j)+|Xj1|.|L({\cal F}\cup\{X\},j)|\leq L({\cal F},j)+|X_{j-1}|. Since the call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) adds a balanced separator, XX, there are no branchable vertices. So, we have that for all vGv\in G, |N[v]L(,j)|Δj|N[v]\cap L({\cal F},j)|\leq\Delta_{j}. Furthermore, by Lemma 2, since XX is generated as an N4\frac{N}{4}-balanced separator and therefore a |G|4\frac{|G|}{4}-balanced separator for GG, XX is the neighborhood of at most 8k8k vertices, hence |Xj1||X_{j-1}| \leq Δj18k\Delta_{j-1}\cdot 8k and the result |L({X},i)|Δi18k+|L(,i)||L({\cal F}\cup\{X\},i)|\leq\Delta_{i-1}\cdot 8k+|L({\cal F},i)| follows.

The second statement follows by combining induction, the first part of this Observation, and the fact that if the call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) executes ALG(G,w,N,)1{}_{1}(G^{\prime},w,N^{\prime},{\cal F}^{\prime}), then ||<|||{\cal F}|<|{\cal F}^{\prime}| if and only if the call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) adds a balanced separator.

For kk-fair instances (G,w,N,)(G,w,N,{\cal F}) we define a measure:

μk(G,w,N,)=400k2log2(N)(N+|V(G)|)+i(|L(,i)|NΔi1)+16kNlog(N)(10klog(N)||)\begin{split}\mu_{k}(G,w,N,{\cal F})&=400k^{2}\cdot\log^{2}(N)\cdot(N+|V(G)|)+\sum_{i}\left(|L({\cal F},i)|\cdot\frac{N}{\Delta_{i-1}}\right)\\ &\quad+16k\cdot N\cdot\log(N)\cdot(10k\cdot\log(N)-|{\cal F}|)\\ \end{split}

If (G,w,N,)(G,w,N,{\cal F}) is not a kk-fair instance, then μk(G,w,N,)\mu_{k}(G,w,N,{\cal F}) is undefined. Note that μk(G,w,N,)\mu_{k}(G,w,N,{\cal F}) must always be an integer, and that it is independent of the weight function ww. We will say that two instances (G,w,N,)(G,w,N,{\cal F}) and (G,w,N,)(G^{\prime},w^{\prime},N^{\prime},{\cal F}^{\prime}) are essentially different if GGG^{\prime}\neq G, NNN^{\prime}\neq N or {\cal F}^{\prime}\neq{\cal F}.

Lemma 6.

For every positive integer μ\mu, the number of essentially different kk-fair instances (G,w,N,)(G,w,N,{\cal F}) such that μk(G,w,N,)\mu_{k}(G,w,N,{\cal F}) = μ\mu is finite. In addition, for every kk-fair instance it holds that μk(G,w,N,)0\mu_{k}(G,w,N,{\cal F})\geq 0.

Proof.

Consider a kk-fair instance (G,w,N,)(G,w,N,{\cal F}) with μk(G,w,N,)\mu_{k}(G,w,N,{\cal F}) = μ\mu. Clearly, there are only a finite number of such instances with N=1N=1. We will show that if N2N\geq 2 then |V(G)|μ|V(G)|\leq\mu. If |V(G)|μ|V(G)|\leq\mu then |G||G|, |N||N|, and |||{\cal F}| are all bounded in terms of μ\mu, and the first part of the lemma follows.

By Lemma 5 we have that |||{\cal F}| is at most 10klog(N)k\cdot\log(N). It follows that the terms 400k2log2(N)(N+|V(G)|)400k^{2}\cdot\log^{2}(N)\cdot(N+|V(G)|), Σi(|L(,i)|NΔi1)\Sigma_{i}(|L({\cal F},i)|\cdot\frac{N}{\Delta_{i-1}}), and 16kNlog(N)(10klog(N)||)16k\cdot N\cdot\log(N)\cdot(10k\cdot\log(N)-|{\cal F}|) are all non negative. Hence μk(G,w,N,)\mu_{k}(G,w,N,{\cal F}) \geq |V(G)||V(G)|. This also proves that μk(G,w,N,)\mu_{k}(G,w,N,{\cal F}) \geq 0. ∎

Lemma 7.

For every kk-fair instance (G,w,N,)(G,w,N,{\cal F}) it holds that μk(G,w,N,)1050k2Nlog2(N)\mu_{k}(G,w,N,{\cal F})\leq 1050k^{2}\cdot N\cdot\log^{2}(N)

Proof.

Consider a kk-fair instance (G,w,N,)(G,w,N,{\cal F}). By Observation 3 and Lemma 5, we have that |L(,i)|NΔi1<8kN||<80k2Nlog(N)|L({\cal F},i)|\cdot\frac{N}{\Delta_{i-1}}<8k\cdot N\cdot|{\cal F}|<80k^{2}\cdot N\cdot\log(N). Therefore, Σi(|L(,i)|NΔi1)\Sigma_{i}(|L({\cal F},i)|\cdot\frac{N}{\Delta_{i-1}}) <80k2Nlog2(N)<80k^{2}\cdot N\cdot\log^{2}(N). Also, since N|V(G)|N\geq|V(G)|, we can see that

μk(G,w,N,)=400k2log2(N)(N+|V(G)|)+Σi(|L(,i)|NΔi1)+16kNlog(N)(10klog(N)||)<800k2Nlog2(N)+80k2Nlog2(N)+160k2Nlog2(N)<1050k2Nlog2(N)\begin{split}\mu_{k}(G,w,N,{\cal F})&=400k^{2}\cdot\log^{2}(N)\cdot(N+|V(G)|)+\Sigma_{i}(|L({\cal F},i)|\cdot\frac{N}{\Delta_{i-1}})\\ &\quad+16k\cdot N\cdot\log(N)\cdot(10k\cdot\log(N)-|{\cal F}|)\\ &<800k^{2}\cdot N\cdot\log^{2}(N)+80k^{2}\cdot N\cdot\log^{2}(N)+160k^{2}\cdot N\cdot\log^{2}(N)\\ &<1050k^{2}\cdot N\cdot\log^{2}(N)\end{split}

We define Tk(G,w,N,)T_{k}(G,w,N,{\cal F}) to be the running time of a kk-fair run of ALG1 starting with the inputs (G,w,N,)(G,w,N,{\cal F}). We also define

Tk(μ)=maxG,N,:μk(G,w,N,)μTk(G,w,N,).T_{k}(\mu)=max_{G,N,{\cal F}~{}:~{}\mu_{k}(G,w,N,{\cal F})\leq\mu}\mbox{T}_{k}(G,w,N,{\cal F}).

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 ALG1ALG_{1} and the measure of an instance (G,w,N,)(G,w,N,{\cal F}) are independent of the weight function ww. Thus, by Lemma 6, Tk(μ)T_{k}(\mu) is well defined.

Lemma 8.

Tk(μ)T_{k}(\mu) satisfies the following recurrence:

Tk(μ)μO(1)+max{μTk(.95μ)Tk(μ1)+Tk(μ[11/(2100k2log2(μ))])Tk(μ[11/(200klog(μ))])T_{k}(\mu)\leq\mu^{O(1)}+max\begin{cases}\mu T_{k}(.95\mu)\\ T_{k}(\mu-1)+T_{k}(\mu[1-1/(2100k^{2}\cdot\log^{2}(\mu))])\\ T_{k}(\mu[1-1/(200k\cdot\log(\mu))])\\ \end{cases}
Proof.

Let (G,w,N,)(G,w,N,{\cal F}) be a kk-fair instance such that μk(G,w,N,)=μ\mu_{k}(G,w,N,\emptyset)=\mu and Tk(μ)T_{k}(\mu) is the run time of ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}). If the call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) recurses on connected components, then it makes at most |V(G)||V(G)| recursive calls on instances of the form (G,w,N,)(G^{\prime},w,N^{\prime},\emptyset), where |V(G)||V(G)||V(G^{\prime})|\leq|V(G)| and NN2N^{\prime}\leq\frac{N}{2}. It follows that for each of these recursive calls we have

μk(G,w,N,)\displaystyle\mu_{k}(G^{\prime},w,N^{\prime},\emptyset) =400k2log2(N)(N+|V(G)|)+160k2Nlog2(N)\displaystyle=400k^{2}\cdot\log^{2}(N^{\prime})\cdot(N^{\prime}+|V(G^{\prime})|)+160k^{2}\cdot N^{\prime}\cdot\log^{2}(N^{\prime})
400k2log2(N)(N2+|V(G)|)+80k2Nlog2(N)\displaystyle\leq 400k^{2}\cdot\log^{2}(N)\cdot(\frac{N}{2}+|V(G)|)+80k^{2}\cdot N\cdot\log^{2}(N)
400k2log2(N)(N+|V(G)|)100k2Nlog2(N)\displaystyle\leq 400k^{2}\cdot\log^{2}(N)\cdot(N+|V(G)|)-100k^{2}\cdot N\cdot\log^{2}(N)
μ100k2Nlog2(N)\displaystyle\leq\mu-100k^{2}\cdot N\cdot\log^{2}(N)
.95μ (by Lemma 7)\displaystyle\leq.95\mu\mbox{~{}~{}~{}~{}~{}(by\ Lemma~{}\ref{max measure size})}

Therefore, if the instance ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) recurses on connected components, we must have that Tk(μ)|V(G)|Tk(.95μ)μTk(.95μ)T_{k}(\mu)\leq|V(G)|\cdot T_{k}(.95\mu)\leq\mu\cdot T_{k}(.95\mu).

If the call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) branches on a branchable vertex, vv, then it makes two recursive calls, one execution ALG(G{v},w,N,{v})1{}_{1}(G-\{v\},w,N,{\cal F}-\{v\}), where the instance (G{v},w,N,{v})(G-\{v\},w,N,{\cal F}-\{v\}) has measure μk(G{v},w,N,{v})μ1\mu_{k}(G-\{v\},w,N,{\cal F}-\{v\})\leq\mu-1, and the other execution is ALG(GN[v],w,N,N[v])1{}_{1}(G-N[v],w,N,{\cal F}-N[v]). Note that for a branchable vertex, vv, we have that

i(|L(N[v],i)|NΔi1i(|L(,i)|NΔi1)N2,\sum_{i}(|L({\cal F}-N[v],i)|\cdot\frac{N}{\Delta_{i-1}}\leq\sum_{i}(|L({\cal F},i)|\cdot\frac{N}{\Delta_{i-1}})-\frac{N}{2},

since for at least one level ii we have that |N[v]L(,i)|Δi|N[v]\cap L({\cal F},i)|\geq\Delta_{i} and ΔiΔi1\frac{\Delta_{i}}{\Delta_{i-1}} = 1/2. It follows that

μk(GN[v],w,N,N[v])=400k2log2(N)(N+|V(G)N[V]|)+i(|L(N[v],i)|NΔi1)+16kNlog(N)(10klog(N)||)400k2log2(N)(N+|V(G)|)+i(|L(,i)|NΔi1)+16kNlog(N)(10klog(N)||)N2μN2μ(112100k2log2(N)) (by Lemma 7)μ(112100k2log2(μ))\displaystyle\begin{split}\mu_{k}(G-N[v],w,N,{\cal F}-N[v])&=400k^{2}\cdot\log^{2}(N)\cdot(N+|V(G)-N[V]|)+\sum_{i}\left(|L({\cal F}-N[v],i)|\cdot\frac{N}{\Delta_{i-1}}\right)\\ &\quad+16k\cdot N\cdot\log(N)\cdot(10k\cdot\log(N)-|{\cal F}|)\\ &\leq 400k^{2}\log^{2}(N)\cdot(N+|V(G)|)+\sum_{i}\left(|L({\cal F},i)|\cdot\frac{N}{\Delta_{i-1}}\right)\\ &\quad+16k\cdot N\cdot\log(N)\cdot(10k\cdot\log(N)-|{\cal F}|)-\frac{N}{2}\\ &\leq\mu-\frac{N}{2}\\ &\leq\mu\left(1-\frac{1}{2100k^{2}\cdot\log^{2}(N)}\right)\mbox{~{}~{}~{}~{}~{}(by\ Lemma\ \ref{max measure size})}\\ &\leq\mu\left(1-\frac{1}{2100k^{2}\cdot\log^{2}(\mu)}\right)\end{split}

Therefore, if the call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) branches on a branchable vertex, then we have that Tk(μ)T_{k}(\mu) \leq Tk(μ1)+Tk(μ[112100k2log2(μ)])T_{k}(\mu-1)+T_{k}(\mu[1-\frac{1}{2100k^{2}\cdot\log^{2}(\mu)}]).

Finally, if the call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) adds a balanced separator, XX, then it makes a single recursive call ALG(G,w,N,X)1{}_{1}(G,w,N,{\cal F}\cup X). By Observation 3 and Lemma 7 we obtain the following.

μk(G,w,N,X)<μ+8kNlog(n)16kNlog(N)<μ([11200klog(μ)])\mu_{k}(G,w,N,{\cal F}\cup X)<\mu+8k\cdot N\cdot\log(n)-16k\cdot N\cdot\log(N)<\mu\left([1-\frac{1}{200k\cdot\log(\mu)}]\right)

Therefore, if the call ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) adds a balanced separator, then Tk(μ)T_{k}(\mu) \leq Tk(μ[11200klog(μ)])T_{k}(\mu[1-\frac{1}{200k\cdot\log(\mu)}]).

The result now follows from the observation that ALG(G,w,N,)1{}_{1}(G,w,N,{\cal F}) only does |V(G)|O(1)|V(G)|^{O(1)} = μO(1)\mu^{O(1)} 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 Tk(μ)T_{k}(\mu) is a non negative, non decreasing function, by adding the three possibilities in the max\max of Lemma 8 we immediately obtain the following simplified recurrence.

Corollary 1.

Tk(μ)μO(1)+μTk(.95μ)+Tk(μ1)+Tk(μ[112100k2log2(μ)])+Tk(μ[11200klog(μ)])<Tk(μ1)+μO(1)+3μTk(μ[112100k2log2(μ)])T_{k}(\mu)\leq\mu^{O(1)}+\mu T_{k}(.95\mu)+T_{k}(\mu-1)+T_{k}(\mu[1-\frac{1}{2100k^{2}\cdot\log^{2}(\mu)}])+T_{k}(\mu[1-\frac{1}{200k\cdot\log(\mu)}])<T_{k}(\mu-1)+\mu^{O(1)}+3\mu\cdot T_{k}(\mu[1-\frac{1}{2100k^{2}\cdot\log^{2}(\mu)}])

Lemma 9.

Tk(μ)=μO(k2log3(μ))T_{k}(\mu)=\mu^{O(k^{2}\cdot\log^{3}(\mu))}

Proof.

The proof is by induction on μ\mu. The base case is established by Lemma 6. By Corollary 1 we have the inequality Tk(μ)Tk(μ1)+μO(1)+3μTk(μ[112100k2log2(μ)])T_{k}(\mu)\leq T_{k}(\mu-1)+\mu^{O(1)}+3\mu T_{k}(\mu[1-\frac{1}{2100k^{2}\cdot\log^{2}(\mu)}]) and repeatedly applying the inequality to the first term on the right hand side, gives Tk(μ)μO(1)+3μ2Tk(μ[112100k2log2(μ)])T_{k}(\mu)\leq\mu^{O(1)}+3\mu^{2}\cdot T_{k}(\mu[1-\frac{1}{2100k^{2}\cdot\log^{2}(\mu)}]). By the inductive hypothesis then, there is some cc such that

Tk(μ)μO(1)+3μ2(μ[112100k2log2(μ)])ck2log3(μ)=μO(1)+3μ2μck2log3(μ)[112100k2log2(μ)]ck2log3(μ)μO(1)+3μ2μck2log3(μ)eck2log3(μ)2100k2log2(μ) ( since 1xex )μO(1)+3μ2μck2log3(μ)eclog(μ)2100μck2log3(μ) ( for sufficiently large c )\begin{split}T_{k}(\mu)&\leq\mu^{O(1)}+3\mu^{2}\cdot(\mu[1-\frac{1}{2100k^{2}\cdot\log^{2}(\mu)}])^{ck^{2}\cdot\log^{3}(\mu)}\\ &=\mu^{O(1)}+3\mu^{2}\cdot\mu^{ck^{2}\cdot\log^{3}(\mu)}\cdot[1-\frac{1}{2100k^{2}\cdot\log^{2}(\mu)}]^{ck^{2}\cdot\log^{3}(\mu)}\\ &\leq\mu^{O(1)}+3\mu^{2}\cdot\mu^{ck^{2}\cdot\log^{3}(\mu)}\cdot e^{-\frac{ck^{2}\cdot\log^{3}(\mu)}{2100k^{2}\cdot\log^{2}(\mu)}}\mbox{~{}~{}~{}~{} (~{}since~{}}1-x\leq e^{-x}\mbox{~{})}\\ &\leq\mu^{O(1)}+3\mu^{2}\cdot\mu^{ck^{2}\cdot\log^{3}(\mu)}\cdot e^{-\frac{c\log(\mu)}{2100}}\\ &\leq\mu^{ck^{2}\cdot\log^{3}(\mu)}\mbox{~{}~{}~{}~{}~{}~{}( for sufficiently large $c$ )}\\ \end{split}

We are now ready to prove Theorem 1.

Proof of Theorem 1.

The algorithm returns the answer of ALG(G,|V(G)|,w,)1{}_{1}(G,|V(G)|,w,\emptyset). By Lemma 3 ALG1 terminates, by Lemma 4 ALG1 returns return the weight of a maximum weighted independent set. For the running time, observe that (G,w,N,)(G,w,N,\emptyset) is a kk-fair instance and let μ=μk(G,w,N,)\mu=\mu_{k}(G,w,N,\emptyset). By Lemma 7 we have that μ<1050k2Nlog2(N)=nO(1)\mu<1050k^{2}\cdot N\cdot\log^{2}(N)=n^{O(1)}. Hence, by Lemma 9 it follows that T(G,w,N,)T(μ)=μO(k2log3(μ))=nO(k2log3(n))T(G,w,N,\emptyset)\leq T(\mu)=\mu^{O(k^{2}\cdot\log^{3}(\mu))}=n^{O(k^{2}\cdot\log^{3}(n))}. ∎

4 Disconnected Forbidden Induced Subgraphs

Let HH be a graph. We denote by OH an oracle that takes an HH-free graph GG as input and outputs the weight of a maximum weight independent set in GG. In this section we present a quasi-polynomial time algorithm for Maximum Weight Independent Set in HH-free graphs, assuming we have access to the oracles OC for all C𝒞𝒞(H)C\in{\cal CC}(H). Specifically we will prove Theorem 2.

In the following, HH = H0H_{0} + H1H_{1} +…+ Hc1H_{c-1} is a graph, GG is a graph, ww is a weight function on the vertices of GG, NN is a positive integer, and {\cal F} is a vertex multi-family of subsets of V(G)V(G). We now present the algorithm ALG2\mbox{ALG}_{2} of Theorem 2. The algorithm is very similar to the algorithm ALG1\mbox{ALG}_{1} for PkP_{k} free graphs, the main difference is that instead of packing balanced separators in the family {\cal F}, the algorithm “packs” (neighborhoods of) copies of induced HiH_{i}’s.

ALG2

1:  input: H,G,w,N,H,G,w,N,{\cal F}.
2:  output: mwis(G)(G).
3:  i=||modci=|{\cal F}|\mod c
4:  if exists branchable vertex vv then
5:     return  max(ALG2(H,Gv,w,N,{v}),ALG2(H,GN[v],w,N,N[v])+w(v))\max\left(\mbox{ALG}_{2}(H,G-v,w,N,{\cal F}-\{v\}),\mbox{ALG}_{2}(H,G-N[v],w,N,{\cal F}-N[v])+w(v)\right)
6:  else if exists induced HiH_{i} then
7:     obtain XX\leftarrow induced HiH_{i} in GG
8:     return  ALG(H,G,w,N,{N[X]})2{}_{2}(H,G,w,N,{\cal F}\cup\{N[X]\})
9:  return  OHi(G)O_{H_{i}}(G)

The proof of correctness and running time analysis for ALG2\mbox{ALG}_{2} closely follows that of ALG1\mbox{ALG}_{1}. The main difference is in the proof of why the family {\cal F} can not grow beyond size logN\log N (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 ALG1\mbox{ALG}_{1}. Just as for ALG1\mbox{ALG}_{1}, a run of ALG2(H,G,w,N,)\mbox{ALG}_{2}(H,G,w,N,{\cal F}) is called a fairfair runrun if GG is an HH-free graph, N=|V(G)|N=|V(G)|, ={\cal F}=\emptyset, and ww is a weight function. A call ALG2(H,G,w,N,)\mbox{ALG}_{2}(H,G,w,N,{\cal F}) is called a fairfair callcall if it is executed during the course of a fair run. An instance (H,G,w,N,)(H,G,w,N,{\cal F}) is a fair instance if ALG2(H,G,w,N,)\mbox{ALG}_{2}(H,G,w,N,{\cal F}) is a fair call.

Lemma 10.

ALG2(H,G,w,N,)ALG_{2}(H,G,w,N,{\cal F}) terminates on every input.

Proof.

Consider a run of ALG2 with initial input H,G,w,N,H,G,w,N, and {\cal F}. Whenever the algorithm makes a recursive call it does so with a call ALG(H,G,w,N,)2{}_{2}(H,G^{\prime},w,N,{\cal F}^{\prime}) where |V(G)||V(G)||V(G^{\prime})|\leq|V(G)|. Furthermore, whenever the algorithm branches on a branchable vertex, then it recurses with a call ALG(H,G,w,N,)2{}_{2}(H,G^{\prime},w,N,{\cal F}) where |V(G)|<|V(G)||V(G^{\prime})|<|V(G)|. Furthermore ALG2 can not add a neighborhood in over |V(G)|log(N)|V(G)|\cdot\log(N) successive recursive calls. Suppose it does, then a call ALG(H,G,w,N,′′)2{}_{2}(H,G,w,N,{\cal F}^{\prime\prime}) with ′′=|V(G)|log(N){\cal F^{\prime\prime}}=|V(G)|\cdot\log(N) adds a neighborhood, but L(′′,log(N))L({\cal F^{\prime\prime}},\log(N))\neq\emptyset and thus there exists a branchable vertex, contradicting that ALG(H,G,w,N,′′)2{}_{2}(H,G,w,N,{\cal F}^{\prime\prime}) with ′′=|V(G)|log(N){\cal F^{\prime\prime}}=|V(G)|\cdot\log(N) adds a neighborhood. It follows by induction on |V(G)||V(G)| that ALG2 always terminates. ∎

Lemma 11.

A run ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}) returns the weight of a maximum weight independent set of GG.

Proof.

Consider an run of ALG2 with initial input (H,G,w,N,)(H,G,w,N,{\cal F}). It is clear from the algorithm that if each run ALG2(H,G,w,N,H,G^{\prime},w,N,{\cal F}^{\prime}) that is executed by the call ALG2(H,G,w,N,H,G,w,N,{\cal F}) returns the weight of a maximum weight independent set of GG^{\prime} under the weight function ww, then so would the run ALG(H,G,w,N,2{}_{2}(H,G,w,N,{\cal F}). By Lemma 10 the height of the recursion tree is bounded, and the result is trivially true for the base case of |V(G)|1|V(G)|\leq 1 so the result follows by induction on the depth of the recursion tree. ∎

Observation 4.

For ever fair instance (H,G,w,N,)(H,G,w,N,{\cal F}), we have that L(,log(N)+1)=L({\cal F},\log(N)+1)=\emptyset.

Proof.

Consider a fair call ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}). We will prove the result by induction on the depth of the call ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}) in the recursion tree of a run ALG(H,G,w,|V(G)|,)2{}_{2}(H,G^{*},w,|V(G^{*})|,\emptyset) which executes ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}).

If ={\cal F}=\emptyset then the result is trivially true. Suppose {\cal F}\neq\emptyset, it follows that ALG2 executes ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}) during a fair call ALG(H,G,w,N,)2{}_{2}(H,G^{\prime},w,N,{\cal F^{\prime}}) by branching on a branchable vertex or by adding a neighborhood, N[X]N[X]. In the first case, it is clear that since {\cal F} = S{\cal F^{\prime}}-S for some vertex set SS, if L(,log(N)+1)=L({\cal F^{\prime}},\log(N)+1)=\emptyset, then L(,log(N)+1)=L({\cal F},\log(N)+1)=\emptyset in ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}). In the second case, since the instance ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F^{\prime}}) does not branch on a branchable vertex, we have that L(,log(N))=L({\cal F^{\prime}},\log(N))=\emptyset since every vertex in L(,log(N))L({\cal F^{\prime}},\log(N)) is branchable. It follows that L(,log(N)+1)=L({N[X]},log(N)+1)=L({\cal F},\log(N)+1)=L({\cal F^{\prime}}\cup\{N[X]\},\log(N)+1)=\emptyset. ∎

Lemma 12.

Let GG be a graph, NN an integer greater than 1, and let H=H0+H1++Hc1H=H_{0}+H_{1}+...+H_{c-1} be a graph. If there exists a sequence of subsets of V(G)V(G), {Xm}\{X_{m}\} = X0,X1,,Xc|H|log(N)1X_{0},X_{1},...,X_{c\cdot|H|\cdot\log(N)-1} such that for all ii, XiV(G)X_{i}\subset V(G), the subgraph induced by XiX_{i} is isomorphic to Hi(modc)H_{i\ (mod\ c)}, and for all vXiv\in X_{i} we have that {v}N[Xj]\{v\}\cap N[X_{j}]\neq\emptyset for at most log(N)\log(N) XjX_{j}’s where j<ij<i, then there exists a subset I{0,1,2,,c|H|log(N)1}I\subseteq\{0,1,2,\ldots,c\cdot|H|\cdot\log(N)-1\} such that XI=iIXiX_{I}=\bigcup_{i\in I}X_{i} forms an induced HH in GG.

Proof.

Let GG and HH be graphs, NN an integer greater than 1, and X0,X1,,Xc|H|log(N)1X_{0},X_{1},...,X_{c\cdot|H|\cdot\log(N)-1} a sequence of sets of vertices with the properties given in the statement of the lemma. Given an XjX_{j}, set ii = j(jj-(j (mod(mod c)c). We will refer to the segment XiX_{i}, Xi+1X_{i+1},…, Xi+c1X_{i+c-1} as XjX_{j}’s block.

The proof is by induction on cc. If c=1c=1 then the statement is trivially true. Assume now that c>1c>1 and that the statement is true for all smaller values. There are at most |Hc1|log(N)|H_{c-1}|\cdot\log(N) XjX_{j}’s such that some vertex of Xc|H|log(N)1X_{c\cdot|H|\cdot\log(N)-1} belongs to XjX_{j}, jc|H|log(N)1j\neq c\cdot|H|\cdot\log(N)-1. Remove from the sequence each such XjX_{j} along with all other vertex sets in XjX_{j}’s block, as well as all XtX_{t}’s such that c1t(modc)c-1\equiv t\ (mod\ c). After these deletions, re-name the sets XjX_{j} in the updated sequence so that the index jj of each set XjX_{j} is equal to the position of XjX_{j} in the sequence (starting with X0X_{0}).

Let H=HHc1H^{\prime}=H-H_{c-1}. There are at least log(N)(c|H|c|Hc1||H|+|Hc1|)1\log(N)\cdot(c\cdot|H|-c\cdot|H_{c-1}|-|H|+|H_{c-1}|)-1 = log(N)(c1)|H|1\log(N)\cdot(c-1)\cdot|H^{\prime}|-1 remaining vertex sets in the updated sequence, and this new sequence along with HH^{\prime} and GG satisfies the condition of the inductive hypothesis. It follows that there exists a set XIX_{I}^{\prime} such that G[XI]=HG[X_{I}^{\prime}]=H^{\prime} and XIX_{I}^{\prime} is the union of sets in the (updated) sequence. Since Xc|H|log(N)1X_{c\cdot|H|\cdot\log(N)-1} does not belong to the neighborhood of any of the vertex sets in the new sequence, Xc|H|log(N)1X_{c\cdot|H|\cdot\log(N)-1} is disjoint from N[XI]N[X_{I}^{\prime}], and hence XI=XIXc|H|log(N)1X_{I}=X_{I}^{\prime}\cup X_{c\cdot|H|\cdot\log(N)-1} induces HH in GG, completing the proof. ∎

Lemma 13.

For every fair instance (H,G,w,N,)(H,G,w,N,{\cal F}) with H=H0+H1++Hc1H=H_{0}+H_{1}+...+H_{c-1}, it holds that ||<c|H|log(N)|{\cal F}|<c\cdot|H|\cdot\log(N)

Proof.

Let the fair instance (H,G,w,N,)(H,G,w,N,{\cal F}) be as in the statement of the lemma, furthermore let GG^{\prime} be the graph used in the initial input of ALG2 of the fair run that produces the instance (H,G,w,N,)(H,G,w,N,{\cal F}). Assume to the contrary, that ||c|H|log(N)|{\cal F}|\geq c\cdot|H|\cdot\log(N). In the fair run that executes the call ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}), consider the sequence of recursive calls (ordered by when the call occurs) that lead to the call ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}). In particular, consider the subsequence

ALG20(H,G0,w,N,0),ALG21(H,G1,w,N,1),,ALG2c|H|log(N)1(H,Gc|H|log(N)1,w,N,c|H|log(N)1)\mbox{ALG}^{0}_{2}(H,G^{0},w,N,{\cal F}^{0}),\mbox{ALG}^{1}_{2}(H,G^{1},w,N,{\cal F}^{1}),...,\mbox{ALG}^{c\cdot|H|\cdot\log(N)-1}_{2}(H,G^{c\cdot|H|\cdot\log(N)-1},w,N,{\cal F}^{c\cdot|H|\cdot\log(N)-1})

such that the call ALG(H,Gi,w,N,i)2i{}^{i}_{2}(H,G^{i},w,N,{\cal F}^{i}) is the (i+1)th(i+1)^{th} call to add a neighborhood N[Xi]N[X_{i}]. By Observation 4, we can see that for all XiX_{i}, and for all vertices vXiv\in X_{i}, {v}N[Xj]\{v\}\cap N[X_{j}]\neq\emptyset for at most log(N)Xj\log(N)\ X_{j}’s with j<ij<i. The result follows now by observing that GG^{\prime}, HH, NN, and the sequence X0,X1,,Xc|H|log(N)1X_{0},X_{1},...,X_{c\cdot|H|\cdot\log(N)-1} satisfy the hypothesis of Lemma 12, contradicting that GG^{\prime} is HH-free.

Observation 5.

For every fair call ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}) that recurses by adding a neighborhood N[X]N[X] and for every i,

|L(N[X],i)|Δi1|H|+|L(,i)||L({\cal F}\cup N[X],i)|\leq\Delta_{i-1}\cdot|H|+|L({\cal F},i)|

Furthermore, for every fair instance (H,G,w,N,)(H,G^{\prime},w,N^{\prime},{\cal F}^{\prime}),

|L(,i)|Δi1|H||||L({\cal F}^{\prime},i)|\leq\Delta_{i-1}\cdot|H|\cdot|{\cal F}^{\prime}|
Proof.

Consider a fair call ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}) that recurses by adding a neighborhood N[X]N[X]. Let XjX_{j} denote the set of vertices in L(,j)N[X]L({\cal F},j)\cap N[X], then we can see that |L({N[X]},j)|L(,j)+|Xj1|.|L({\cal F}\cup\{N[X]\},j)|\leq L({\cal F},j)+|X_{j-1}|. Since the call ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}) adds a neighborhood, N[X]N[X], there are no branchable vertices. So, we have that for all vGv\in G, |N[v]L(,j)|<Δj|N[v]\cap L({\cal F},j)|<\Delta_{j}. Hence |Xj1||X_{j-1}| << Δj1|H|\Delta_{j-1}\cdot|H| and the result |L({N[X]},i)|Δi1|H|+|L(,i)||L({\cal F}\cup\{N[X]\},i)|\leq\Delta_{i-1}\cdot|H|+|L({\cal F},i)| follows.

The second inequality follows by combining induction, the first part the observation, and the fact that if the call ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}) executes ALG(H,G,w,N,)2{}_{2}(H,G^{\prime},w,N^{\prime},{\cal F}^{\prime}), then ||<|||{\cal F}|<|{\cal F}^{\prime}| if and only if the call ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}) makes the call ALG(H,G,w,N,)2{}_{2}(H,G^{\prime},w,N^{\prime},{\cal F}^{\prime}) by adding a neighborhood. ∎

For fair instances (H,G,w,N,)(H,G,w,N,{\cal F}) we define the measure

μH(H,G,w,N,)=|V(G)|+i(|L(,i)|NΔi1)+2|H|Nlog(N)(|H||𝒞𝒞(H)|log(N)||)\begin{split}\mu_{H}(H,G,w,N,{\cal F})&=|V(G)|+\sum_{i}\left(|L({\cal F},i)|\cdot\frac{N}{\Delta_{i-1}}\right)\\ &\quad+2|H|\cdot N\cdot\log(N)\cdot(|H|\cdot|{\cal CC}(H)|\cdot\log(N)-|{\cal F}|)\\ \end{split}

If (H,G,w,N,)(H,G,w,N,{\cal F}) is not a fair instance, then μH(H,G,w,N,)\mu_{H}(H,G,w,N,{\cal F}) is undefined. Note that μH(H,G,w,N,)\mu_{H}(H,G,w,N,{\cal F}) must always be an integer and that it is independent of the weight function ww. We will say that two instances (H,G,w,N,)(H,G,w,N,{\cal F}) and (H,G,w,N,)(H,G^{\prime},w^{\prime},N^{\prime},{\cal F}^{\prime}) are essentially different if GGG^{\prime}\neq G, NNN^{\prime}\neq N or {\cal F}^{\prime}\neq{\cal F}.

If N=1N=1 then a fair run ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}) clearly terminates after a constant number of steps (since in a fair run, |V(G)|N|V(G)|\leq N) regardless of the other inputs, so from now on we will assume N>1N>1.

Lemma 14.

For every positive integer μ\mu, the number of essentially different fair instances (H,G,w,N,)(H,G,w,N,{\cal F}) such that μH(H,G,w,N,)\mu_{H}(H,G,w,N,{\cal F}) = μ\mu is finite. In addition, for every fair instance μ(H,G,w,N,)\mu(H,G,w,N,{\cal F}) \geq 0.

Proof.

Consider a fair instance (H,G,w,N,)(H,G,w,N,{\cal F}). We will show that if μH(H,G,w,N,)\mu_{H}(H,G,w,N,{\cal F}) = μ\mu, then |V(G)|μ|V(G)|\leq\mu. If |V(G)|μ|V(G)|\leq\mu then the range of inputs for GG, NN, and {\cal F} are bounded in terms of μ\mu and the first part of the Lemma follows.

By Lemma 13 we have that |||{\cal F}| is less than |H||𝒞𝒞(H)|log(N)|H|\cdot|{\cal CC}(H)|\cdot\log(N). It follows that the terms |V(G)||V(G)|, Σi(|L(,i)|NΔi1)\Sigma_{i}(|L({\cal F},i)|\cdot\frac{N}{\Delta_{i-1}}), and 2|H|Nlog(N)(|H||𝒞𝒞(H)|log(N)||)2|H|\cdot N\cdot\log(N)\cdot(|H|\cdot|{\cal CC}(H)|\cdot\log(N)-|{\cal F}|) are all non negative. Hence μ(H,G,w,N,)\mu(H,G,w,N,{\cal F}) \geq |V(G)||V(G)|. This also proves that μH(H,G,w,N,)\mu_{H}(H,G,w,N,{\cal F}) \geq 0. ∎

Lemma 15.

μH(H,G,w,N,)\mu_{H}(H,G,w,N,{\cal F}) \leq 4|H|2|𝒞𝒞(H)|Nlog2(N)4|H|^{2}\cdot|{\cal CC}(H)|\cdot N\cdot\log^{2}(N) for every fair instance (H,G,w,N,)(H,G,w,N,{\cal F}).

Proof.

Consider a fair instance (H,G,w,N,)(H,G,w,N,{\cal F}). By Observation 5 and Lemma 13, we have that

|L(,i)|NΔi1<|H|N|𝒞𝒞(H)|<|H|2|𝒞𝒞(H)|Nlog(N)|L({\cal F},i)|\cdot\frac{N}{\Delta_{i-1}}<|H|\cdot N\cdot|{\cal CC}(H)|<|H|^{2}\cdot|{\cal CC}(H)|\cdot N\cdot\log(N)

It follows that

i(|L(,i)|NΔi1)<|H|2|𝒞𝒞(H)|Nlog2(N)\sum_{i}\left(|L({\cal F},i)|\cdot\frac{N}{\Delta_{i-1}}\right)<|H|^{2}\cdot|{\cal CC}(H)|\cdot N\cdot\log^{2}(N)

Also, since N|V(G)|N\geq|V(G)|, we have the following.

μH(H,G,w,N,)=|V(G)|+Σi(|L(,i)|NΔi1)+2|H|Nlog(N)(|H||𝒞𝒞(H)|log(N)||)<|V(G)|+|H|2|𝒞𝒞(H)|Nlog2(N)+2|H|2|𝒞𝒞(H)|Nlog2(N)=4|H|2|𝒞𝒞(H)|Nlog2(N)\begin{split}\mu_{H}(H,G,w,N,{\cal F})&=|V(G)|+\Sigma_{i}(|L({\cal F},i)|\cdot\frac{N}{\Delta_{i-1}})\\ &\quad+2|H|\cdot N\cdot\log(N)\cdot(|H|\cdot|{\cal CC}(H)|\cdot\log(N)-|{\cal F}|)\\ &<|V(G)|+|H|^{2}\cdot|{\cal CC}(H)|\cdot N\cdot\log^{2}(N)+2|H|^{2}\cdot|{\cal CC}(H)|\cdot N\cdot\log^{2}(N)\\ &=4|H|^{2}\cdot|{\cal CC}(H)|\cdot N\cdot\log^{2}(N)\end{split}

We define TH(H,G,w,N,)T_{H}(H,G,w,N,{\cal F}) to be the running time (including the number of oracle calls) of ALG2 starting with the inputs (H,G,w,N,)(H,G,w,N,{\cal F}). We also define

TH(μ)=maxG,N, s.t.μH(H,G,w,N,)μTH(H,G,w,N,)T_{H}(\mu)=\max_{\begin{subarray}{c}G,N,{\cal F}\mbox{ s.t.}\\ \mu_{H}(H,G,w,N,{\cal F})\leq\mu\end{subarray}}\mbox{T}_{H}(H,G,w,N,{\cal F})

Just as for ALG1\mbox{ALG}_{1}, when we analyze run time we assume that arithmetic on weights takes constant time. Thus, both the running time of ALG2ALG_{2} and the measure of an instance (H,G,w,N,)(H,G,w,N,{\cal F}) are independent of the weight function ww, and so by Lemma 14, TH(μ)T_{H}(\mu) is well defined.

Lemma 16.

TH(μ)T_{H}(\mu) satisfies the following recurrence:

TH(μ)μO(1)+max{TH(μ1)+TH(μ[118|H|2|𝒞𝒞(H)|log2(μ)])TH(μ[114|H|log(μ)])T_{H}(\mu)\leq\mu^{O(1)}+max\begin{cases}T_{H}(\mu-1)+T_{H}(\mu[1-\frac{1}{8|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{2}(\mu)}])\\ T_{H}(\mu[1-\frac{1}{4|H|\cdot\log(\mu)}])\\ \end{cases}
Proof.

Let (H,G,w,N,)(H,G,w,N,{\cal F}) be a fair instance such that μH(H,G,w,N,))\mu_{H}(H,G,w,N,{\cal F})) = μ\mu and TH(μ)T_{H}(\mu) is the run time of ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}). If the call ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}) branches on a branchable vertex, vv, then it makes two recursive calls, one execution on (H,G{v},w,N,{v})(H,G-\{v\},w,N,{\cal F}-\{v\}), which has measure at most μ1\mu-1. The other execution is on the instance (H,GN[v],w,N,N[v])(H,G-N[v],w,N,{\cal F}-N[v]). Note that for a branchable vertex, vv, we have that

i(|L(N[v],i)|NΔi1)i(|L(,i)|NΔi1)N2\sum_{i}\left(|L({\cal F}-N[v],i)|\cdot\frac{N}{\Delta_{i-1}}\right)\leq\sum_{i}\left(|L({\cal F},i)|\cdot\frac{N}{\Delta_{i-1}}\right)-\frac{N}{2}

since for at least one level ii we have that |N[v]L(,i)|Δi|N[v]\cap L({\cal F},i)|\geq\Delta_{i} and ΔiΔi1\frac{\Delta_{i}}{\Delta_{i-1}} = 1/2.

Hence,

μH(H,GN[v],w,N,N[v])=|V(G)N[v]|+Σi(|L(N[v],i)|NΔi1)+2|H|Nlog(N)(|H||𝒞𝒞(H)|log(N)|N[v]|)|V(G)|+i(|L(,i)|NΔi1)+2|H|Nlog(N)(|H||𝒞𝒞(H)|log(N)||)N2=μN2μ(118|H|2|𝒞𝒞(H)|log2(N)) ( by Lemma 15 )μ(118|H|2|𝒞𝒞(H)|log2(μ))\begin{split}\mu_{H}(H,G-N[v],w,N,{\cal F}-N[v])&=|V(G)-N[v]|+\Sigma_{i}(|L({\cal F}-N[v],i)|\cdot\frac{N}{\Delta_{i-1}})\\ &\quad+2|H|\cdot N\cdot\log(N)\cdot(|H|\cdot|{\cal CC}(H)|\cdot\log(N)-|{\cal F}-N[v]|)\\ &\leq|V(G)|+\sum_{i}\left(|L({\cal F},i)|\cdot\frac{N}{\Delta_{i-1}}\right)\\ &\quad+2|H|\cdot N\cdot\log(N)\cdot(|H|\cdot|{\cal CC}(H)|\cdot\log(N)-|{\cal F}|)-\frac{N}{2}\\ &=\mu-\frac{N}{2}\\ &\leq\mu\left(1-\frac{1}{8|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{2}(N)}\right)\mbox{~{}~{}~{}~{}~{}~{}( by\ Lemma\ \ref{max measure size 2} )}\\ &\leq\mu\left(1-\frac{1}{8|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{2}(\mu)}\right)\end{split}

Thus, if the call ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}) branches on a branchable vertex, then we have that

TH(μ)TH(μ1)+TH(μ[118|H|2|𝒞𝒞(H)|log2(μ)])T_{H}(\mu)\leq T_{H}(\mu-1)+T_{H}\left(\mu[1-\frac{1}{8|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{2}(\mu)}]\right)

If ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}) adds a neighborhood, N[X]N[X], it makes a single call ALG(H,G,w,N,{N[X]})2{}_{2}(H,G,w,N,{\cal F}\cup\{N[X]\}). By Observation 5 and Lemma 15 we get the following.

μ(H,G,w,N,{N[X]})<μ+|H|Nlog(n)2|H|Nlog(N)<μ([114|H||𝒞𝒞(H)|log(μ)])\mu(H,G,w,N,{\cal F}\cup\{N[X]\})<\mu+|H|\cdot N\cdot\log(n)-2|H|\cdot N\cdot\log(N)<\mu\left([1-\frac{1}{4|H|\cdot|{\cal CC}(H)|\cdot\log(\mu)}]\right)

Thus, if the call ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}) adds a neighborhood, then TH(μ)T_{H}(\mu) \leq TH(μ([114|H||𝒞𝒞(H)|log(μ)])T_{H}(\mu([1-\frac{1}{4|H|\cdot|{\cal CC}(H)|\cdot\log(\mu)}]). The result now follows from the observation that ALG(H,G,w,N,)2{}_{2}(H,G,w,N,{\cal F}) only does |V(G)|O(1)|V(G)|^{O(1)} = μO(1)\mu^{O(1)} 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 TH(μ)T_{H}(\mu) is a non negative, non decreasing function, by adding the two possibilities in the max\max of Lemma 16 we immediately obtain the following simplified recurrence.

Corollary 2.

TH(μ)μO(1)+TH(μ[114|H|log(μ)])+TH(μ1)+TH(μ[118|H|2|𝒞𝒞(H)|log2(μ)])T_{H}(\mu)\leq\mu^{O(1)}+T_{H}(\mu[1-\frac{1}{4|H|\cdot\log(\mu)}])+T_{H}(\mu-1)+T_{H}(\mu[1-\frac{1}{8|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{2}(\mu)}]) << TH(μ1)+μO(1)+2TH(μ[118|H|2|𝒞𝒞(H)|log2(μ)])T_{H}(\mu-1)+\mu^{O(1)}+2T_{H}(\mu[1-\frac{1}{8|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{2}(\mu)}])

Lemma 17.

TH(μ)=μO(|H|2|𝒞𝒞(H)|log3(μ))T_{H}(\mu)=\mu^{O(|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{3}(\mu))}

Proof.

The proof is by induction on μ\mu. The base case is established by Lemma 14. By Corollary 2 we have the inequality TH(μ)TH(μ1)+μO(1)+2TH(μ[118|H|2|𝒞𝒞(H)|log2(μ)])T_{H}(\mu)\leq T_{H}(\mu-1)+\mu^{O(1)}+2T_{H}(\mu[1-\frac{1}{8|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{2}(\mu)}]) and repeatedly applying the inequality to the first term on the right hand side, gives T(μ)μO(1)+2μTH(μ[118|H|2|𝒞𝒞(H)|log2(μ)])T(\mu)\leq\mu^{O(1)}+2\mu T_{H}(\mu[1-\frac{1}{8|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{2}(\mu)}]). By the inductive hypothesis then, there is some constant cc such that TH(μ)T_{H}(\mu)

μO(1)+2μ(μ[118|H|2|𝒞𝒞(H)|log2(μ)])c|H|2|𝒞𝒞(H)|log3(μ)=μO(1)+2μμc|H|2|𝒞𝒞(H)|log3(μ)(118|H|2|𝒞𝒞(H)|log2(μ))c|H|2|𝒞𝒞(H)|log3(μ)μO(1)+2μμc|H|2|𝒞𝒞(H)|log3(μ)ec|H|2|𝒞𝒞(H)|log3(μ)8|H|2|𝒞𝒞(H)|log2(μ) ( since (1x)ex )μO(1)+2μμc|H|2|𝒞𝒞(H)|log3(μ)eclog(μ)8μc|H|2|𝒞𝒞(H)|log3(μ) ( for sufficiently large c )\begin{split}&\leq\mu^{O(1)}+2\mu(\mu[1-\frac{1}{8|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{2}(\mu)}])^{c|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{3}(\mu)}\\ &=\mu^{O(1)}+2\mu\mu^{c|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{3}(\mu)}\left(1-\frac{1}{8|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{2}(\mu)}\right)^{c|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{3}(\mu)}\\ &\leq\mu^{O(1)}+2\mu\mu^{c|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{3}(\mu)}\cdot e^{-\frac{c|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{3}(\mu)}{8|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{2}(\mu)}}\mbox{~{}~{}~{}~{}~{}~{}( since $(1-x)\leq e^{-x}$ )}\\ &\leq\mu^{O(1)}+2\mu\mu^{c|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{3}(\mu)}\cdot e^{-\frac{c\log(\mu)}{8}}\\ &\leq\mu^{c|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{3}(\mu)}\mbox{~{}~{}~{}~{}~{}~{}( for sufficiently large $c$ )}\\ \end{split}

We are now ready to prove Theorem 2.

Proof of Theorem 2.

The algorithm returns the answer of ALG(H,G,w,|V(G)|,)2{}_{2}(H,G,w,|V(G)|,\emptyset). By Lemmata 10 and 11, ALG2 will always terminate and return the weight of a maximum weight independent set in GG. For the running time analysis, observe that (H,G,w,|V(G)|,)(H,G,w,|V(G)|,\emptyset) is a fair instance and let μ=μH(H,G,w,N,)\mu=\mu_{H}(H,G,w,N,{\cal F}). We assume that |H|N|H|\leq N, since the run time bound follows trivially if |H|>N|H|>N. By Lemma 15 we have that μ<4|H|2|𝒞𝒞(H)|Nlog2(N)\mu<4|H|^{2}\cdot|{\cal CC}(H)|\cdot N\cdot\log^{2}(N). Let n=N=|V(G)|n=N=|V(G)|, then it follows that

TH(H,G,w,N,)TH(μ)=μO(|H|2|𝒞𝒞(H)|log3(μ))=nO(|H|2|𝒞𝒞(H)|log3(n))T_{H}(H,G,w,N,{\cal F})\leq T_{H}(\mu)=\mu^{O(|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{3}(\mu))}=n^{O(|H|^{2}\cdot|{\cal CC}(H)|\cdot\log^{3}(n))}

This completes the proof. ∎

Theorem 2 sligthly increases the current reach of Theorem 1. In particular, let TkT_{k} be the graph with kk connected components the first of which is a path PkP_{k} on kk vertices and the remaining k1k-1 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 TkT_{k} free graphs can be solved by making nO(k3log3(n))n^{O(k^{3}\log^{3}(n))} 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 TkT_{k}-free graph GG and weight function w:V(G)w:V(G)\rightarrow\mathbb{N}, runs in nO(k3log3n)n^{O(k^{3}\log^{3}n)} time, and outputs the weight of a maximum weight independent set of GG.

5 Conclusion

In this paper we gave a quasipolynomial time algorithm for Weighted Independent Set on PkP_{k}-free graphs for all integers kk. The dependence on kk in the exponent is O(k2)O(k^{2}) and so our algorithm is quasi-polynomial even for k=logO(1)nk=\log^{O(1)}n and sub-exponential for k=n12ϵk=n^{\frac{1}{2}-\epsilon} for ϵ>0\epsilon>0. In light of our algorithm it is tempting to conjecture that (Weighted) Independent Set on PkP_{k}-free graphs can be solved in polynomial time for every kk. 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 PkP_{k}-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 HH-free graphs for every subdivided claw HH then there exists a quasi-polynomial time algorithm for every finite family {\cal H} such that NP-completeness of Independent Set on {\cal H}-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 {\cal H}-free graphs for every finite family HH: 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 P5{P}_{5}-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 P5{P}_{5}- 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 pt{}_{\mbox{t}}-free graphs. CoRR, abs/2003.12345, 2020.
  • [GL03] Michael U. Gerber and Vadim V. Lozin. On the stable set problem in special P5{P}_{5}-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 2k22k_{2}-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 P6{}_{\mbox{6}}-free graphs. ACM Trans. Algorithms, 14(1):3:1–3:30, 2018.
  • [LVV14] Daniel Lokshantov, Martin Vatshelle, and Yngve Villanger. Independent set in P5{}_{\mbox{5}}-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 P5{P}_{5}-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 P5{P}_{5}-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.