1 Introduction

In a graph, an independent set is a subset of pairwise non-adjacent vertices. For an input graph G, the maximum independent set (MIS) problem asks to find the maximum cardinality (denoted \(\alpha (G)\)) of an independent set in G. This is one of the central problems of combinatorial optimization with numerous applications and various connections to other problems in the area.

Like many important computational problems, maximum independent set is NP-hard in general. However, for graphs with some special properties, the problem can be solved in polynomial time. This is the case, for instance, for the class of line graphs. The line graph of a graph G is the graph whose vertices represent the edges of G with two vertices being adjacent if and only if the respective edges of G share a vertex. Therefore, finding a maximum independent set in the line graph of G is equivalent to finding a maximum matching in G, i.e. a maximum subset of edges no two of which share a vertex. The latter problem, unlike maximum independent set, can be solved in polynomial time and the first polynomial-time algorithm to find a maximum matching in a graph was proposed by Edmonds [4] in 1965. Lovász and Plummer observed in their book “Matching Theory” [8] that Edmonds’ solution is “among the most involved of combinatorial algorithms.”

In his solution to the maximum matching problem Edmonds implemented the idea of augmenting chains proposed by Berge [2]. Later, in 1980, the same idea was used by Minty [11] and Sbihi [14], independently, in order to extend the solution of Edmonds from line graphs to claw-free graphs. After that, for nearly two decades, the idea of augmenting chains did not see any further development and the result for claw-free graphs remained unimproved.

In 1999, Alekseev [1] obtained a breakthrough result extending polynomial-time solvability of MIS from claw-free to fork-free graphs. The crucial importance of this result is not only due to the fact that it extends the area of polynomial-time solvability of the problem. It also extends the technique. It shows that in addition to augmenting chains there are other types of augmenting graphs and develops algorithms for detecting these graphs. In the same year, Mosca [12] discovered one more type of augmenting graphs (simple augmenting trees) and applied it to solve the problem in the class of \((P_6,C_4)\)-free graphs. Since then it has been understood that the idea of augmenting chains is just a (very) special case of a general approach to solve the maximum independent set problem, now known as the augmenting graph technique.

In the last 15 years, the augmenting graph approach was frequently applied to various graph classes to design polynomial-time algorithms for the maximum independent set problem and many new types of augmenting graphs have been discovered in the literature (see [6] for a survey). However, our knowledge in this area is still very limited. We do not even know what the minimal infinite classes of augmenting graphs are (note that finding augmenting graphs from a finite collection is computationally a trivial task). In the present paper, we answer this question. Our result allows us to identify new classes of graphs with polynomial-time solvable maximum independent set problem that extend some of the previously known results, such as algorithms for claw-free graphs and \((P_k,K_{1,t})\)-free graphs.

The organization of the paper is as follows. In the rest of this section, we introduce basic terminology and notation. In Sect. 2, we briefly review the idea of augmenting graphs. Then, in Sect. 3, we present our Ramsey-type result about minimal infinite classes of augmenting graphs. In Sect. 4, we use this result to develop a polynomial-time solution in the class of \((S_{1,1,3},K_{p,p})\)-free graphs that extends the class of claw-free graphs for any \(p\ge 3\). Finally, in Sect. 5, we conclude the paper with a number of open problems.

Given a graph G, we let V(G) and E(G) denote the vertex set and the edge set of G, respectively. For a vertex \(v\in V(G)\), we let N(v) denote the neighbourhood of v, i.e. the set of vertices adjacent to v and for a set \(U\subseteq V(G)\) we define \(N(U) = \bigcup _{u \in U}N(u){\setminus } U\). If \(X\subseteq V(G)\), then \(N_X(v)=N(v) \cap X\) is the neighbourhood of v restricted to the set X and similarly \(N_X(U) = \bigcup _{u \in U}N_X(u) {\setminus } U\). The graph G[X] is the subgraph of G induced by X, i.e. the graph obtained from G by deleting every vertex not in X. As usual, \(P_k\) denotes the chordless path on k vertices and \(K_{n,m}\) denotes the complete bipartite graph with parts of size n and m. Also, \(S_{i,j,k}\) denotes the tree with exactly three vertices of degree 1, which are at distance ijk from the only vertex of degree 3. The graph \(S_{1,1,1}=K_{1,3}\) is frequently referred to as the claw and \(S_{1,1,2}\) as the fork.

A class of graphs is said to be hereditary if for every graph G in the class, every induced subgraph of G is also in the class. It is well known that a class of graphs is hereditary if and only if it can be characterized in terms of forbidden induced subgraphs. More precisely, for a set M of graphs, let Free(M) denote the class of graphs containing no induced subgraphs from M. A class X is hereditary if and only if \(X=Free(M)\) for some set M. If \(G\in Free(M)\), we say that G is M-free.

A bipartite graph is a graph whose vertex set can be partitioned into two independent sets. We denote such a graph by (WBE), where W and B are the respective independent sets and E is the set of edges.

2 Augmenting Graphs

Let G be a graph, S be an independent set in G and \(R=V(G){\setminus } S\). We say that the vertices in S are white and the vertices in R are black. Consider two subsets \(W \subseteq S\) and \(B \subseteq R\). Note that W is an independent set. If B also is an independent set, \(|B|>|W|\) and \(N(B)\cap S \subseteq W\), we say that the bipartite graph \(H=G[W\cup B]\) is augmenting for the set S.

Clearly, if G contains an augmenting graph \(H=G[W\cup B]\) for S, then S is not maximum, because \(T:=(S {\setminus } W)\cup B\) is an independent set larger than S, in which case we say that T is obtained from S by H-augmentation. On the other hand, if S is not maximum and T is a larger independent set, then the bipartite subgraph of G induced by \((T{\setminus } S)\cap (S {\setminus } T)\) is augmenting for S. Thus we obtain the following well-known result.

Theorem 1

(Augmenting Graph Theorem) An independent set S in a graph G is maximum if and only if there are no augmenting graphs for S.

This theorem suggests the following general approach to find a maximum independent set in a graph G: begin with any independent set S in G and as long as S admits an augmenting graph H, apply H-augmentations to S. Clearly the problem of finding augmenting graphs is NP-hard in general, as the maximum independent set problem is NP-hard. However, for graphs in some special classes this approach can lead to polynomial-time algorithms, which is the case for line graphs (the maximum matching problem), claw-free graphs [11, 14], fork-free graphs [1] and many other classes (see [6] for a survey).

To effectively apply this approach to a particular class of graphs, we first have to characterize the augmenting graphs in the class and then develop polynomial-time algorithms for detecting these graphs.

Obviously, if the list of augmenting graphs is finite, then all of them can be detected in polynomial time. Therefore, only infinite families of augmenting graphs are of interest. In Sect. 3, we show that, with the restriction to hereditary classes, there are exactly three minimal infinite families of augmenting graphs.

3 Minimal Infinite Classes of Augmenting Graphs

According to Ramsey’s theorem, every graph with sufficiently many vertices contains either a “large” independent set or a “large” clique. This result can also be interpreted as follows: in the family of hereditary classes there are precisely two minimal infinite classes of graphs, the class of edgeless graphs and the class of complete graphs. Indeed, each of these two classes is infinite and any hereditary class excluding at least one edgeless graph and one complete graph is finite (since the number of vertices in graphs in this class is bounded by a Ramsey number). In the present section, we prove a result of the same flavour. To formally state the result, we need to update some terminology related to augmenting graphs.

If H is an augmenting graph for an independent set S, then it may happen that a proper induced subgraph of H is also augmenting for the same set. For instance, if a star \(K_{1,p}\) with \(p>2\) is augmenting for S, then any induced \(K_{1,2}\) of this star is also augmenting for S. This observation motivates the notion of a minimal augmenting graph for S, i.e. an augmenting graph containing no proper induced subgraph which is also augmenting for S. In [9], it was proved that an augmenting graph \(H=(W,B,E)\) is minimal for an independent set S if and only if it possesses each of the following three properties:

  1. (a)

    \(|W| = |B| - 1\);

  2. (b)

    for every nonempty subset \(A \subseteq W, |A| < |N(A)\cap B|\);

  3. (c)

    H is connected.

In what follows, we will call any bipartite graph \(H=(W,B,E)\) satisfying Properties (a), (b) and (c) an irreducible graph, without any reference to a specific independent set. Clearly, if an independent set S admits an augmenting graph, then it also admits an augmenting graph which is irreducible. Therefore, the universe of augmenting graphs can be restricted, without loss of generality, to irreducible ones.

For an arbitrary set \({\mathscr {C}}\) of graphs, let \({{\mathscr {C}}}^i\) denote the set of irreducible graphs in \({\mathscr {C}}\), in which case we say that the set \({{\mathscr {C}}}^i\) is generated by \({\mathscr {C}}\). Our goal is to identify minimal infinite sets of irreducible graphs generated by hereditary classes. One such set is

  • the set \({\mathscr {P}}\) of chordless paths of even length.

Clearly, each graph in this set is irreducible. Moreover, \({\mathscr {P}}\) coincides with the set of irreducible graphs in the class of claw-free graphs. Indeed, by definition, every irreducible graph is bipartite, and any bipartite claw-free graph has maximum vertex degree at most 2 (otherwise a claw arises). In other words, a connected bipartite claw-free graph is either a path or an even cycle. Neither paths of odd length nor even cycles are augmenting (as they have equally many black and white vertices). Therefore, the set of irreducible claw-free graphs coincides with \({\mathscr {P}}\). Clearly, the set \({\mathscr {P}}\) is infinite. Moreover, it is a minimal infinite class generated by a hereditary class. Indeed, let \(X=Free(M)\) be a hereditary class defined by a set M of forbidden induced subgraphs. If M does not contain any graph whose every connected component is a path, then X contains all graphs from \({\mathscr {P}}\). Otherwise, X contains only finitely many graphs from \({\mathscr {P}}\).

Similarly, it is easy to check that

  • the set \({\mathscr {K}}\) of complete bipartite graphs \(K_{k,k+1}\) and

  • the set \({\mathscr {T}}\) of simple trees \(T_k\), i.e. graphs formed from a star \(K_{1,k}\) by subdividing each edge exactly once (see Fig. 1 for an example)

are minimal infinite sets of irreducible graphs generated by hereditary classes. Below we show that \({\mathscr {P}}, K, T\) are the only sets of irreducible graphs with this property. To prove our result, we need the following lemma.

Fig. 1
figure 1

The three special families of augmenting graphs

Lemma 2

[3] For any natural numbers t and p, there is a number N(tp) such that every bipartite graph with a matching of size at least N(tp) contains either a bi-clique \(K_{t,t}\) or an induced matching on p edges.

Theorem 3

Let \({{\mathscr {C}}}\) be a hereditary class of graphs and let \({{\mathscr {C}}}^i\) be the set of irreducible graphs generated by \({{\mathscr {C}}}\). If \({{\mathscr {C}}}^i\) is infinite, then it contains at least one of \({\mathscr {P}}\), \({\mathscr {K}}\) or \({\mathscr {T}}\).

Proof

Suppose the theorem is false, i.e. \({{\mathscr {C}}}^i\) is infinite, but there is a t such that \({{\mathscr {C}}}^i\) does not contain any \(P_t\), \(K_{t-1,t}\) or \(T_t\). The graphs in \({{\mathscr {C}}}^i\) are connected, but are \(P_t\)-free, so there must be graphs in \({{\mathscr {C}}}^i\) with vertices of arbitrarily large degree, in particular, of degree at least \(N(t,t)+2\).

Consider a graph \(G = (W,B,E)\) in \({{\mathscr {C}}}^i\). By Property (b) of irreducible graphs, for any subset \(W'\) of W, we must have \(|W'| \le |N_B(W') \cap B|\) and therefore, by Hall’s Marriage Theorem, there must be a matching M from W to B (one vertex of B remains unmatched to any vertex of W since \(|B|=|W|+1\)).

Now let \(G = (W,B,E)\) be any graph in \({{\mathscr {C}}}^i\) containing a vertex x of degree at least \(N(t,t)+2\). Let X be the set of vertices in the neighbourhood of x which form part of the matching M, but are not matched with x. X must contain at least N(tt) vertices. Let Y be the set of vertices which M matches to the vertices of X. Then \(G[X\cup Y]\) contains a matching of size N(tt), but it is \(K_{t-1,t}\)-free and therefore \(K_{t,t}\)-free. This implies, by Lemma 2, that it must contain an induced matching on t edges. Let Z be the set of vertices that occur in this induced matching. Then \(G[Z\cup \{x\}]\) forms a \(T_t\), so \(T_t \in {{\mathscr {C}}}\) and therefore \(T_t \in {{\mathscr {C}}}^i\). This contradiction completes the proof.\(\square \)

This theorem implies that for any t the class of \((P_t,K_{t,t},T_t)\)-free graphs contains only finitely many irreducible graphs. Therefore:

Corollary 4

For positive integers ijk, the maximum independent set problem can be solved in the class of \((P_i,K_{j,j},T_k)\)-free graphs in polynomial time.

This result generalizes the polynomial-time solvability of the problem in the class of \((P_k,K_{1,t})\)-free graphs proved in [10]. Also, it was recently shown in [7] that the problem can be solved in polynomial time in a subclass of \((P_i,K_{j,j},T_k)\)-free graphs defined by two additional forbidden induced subgraphs. Corollary 4 also generalizes this result.

4 Independent Sets in \((S_{1,1,3},K_{p,p})\)-Free Graphs

In this section, we solve the maximum independent set problem in polynomial time for \((S_{1,1,3},K_{p,p})\)-free graphs. Observe that for \(p>2\) this class contains all claw-free graphs. Therefore, our result generalizes the solution for claw-free graphs and hence the solution of the maximum matching problem.

We first describe the structure of irreducible graphs in our class (Sect. 4.1) and then show how to find these graphs in polynomial time (Sect. 4.2).

4.1 The Structure of Augmenting \((S_{1,1,3},K_{p,p})\)-Free Graphs

According to Theorem 3, there are only finitely many \((S_{1,1,3},K_{p,p})\)-free graphs that are irreducible and contain neither long induced paths nor large induced simple trees. Therefore, in this section we restrict ourselves to describing the irreducible graphs containing either a long induced path (Lemma 5) or a large induced simple tree (Lemma 8). We start with the structure of \(S_{1,1,3}\)-free bipartite graphs containing a long induced path.

Lemma 5

Let \(H=(W,B,E)\) be a connected \(S_{1,1,3}\)-free bipartite graph containing a \(P_8\) as an induced subgraph. Then H is either a chordless path or a chordless cycle.

Proof

Assume that H is not a chordless path. We will show that H is a chordless cycle.

Let P be an induced path of maximum length in H. Since P has at least eight vertices, each of the parts of H contains at least three internal vertices of P, i.e. vertices different from the endpoints of P. Let x denote a vertex of H outside P, which has a neighbour in P. Assume without loss of generality that x belongs to W. We claim that x has no neighbours among the internal vertices of P. Suppose for a contradiction that x is adjacent to an internal vertex of P. Then at least one of the following two cases takes place:

  1. 1.

    There are two consecutive internal vertices \(b_1,b_2 \in B\) of P such that \((x,b_1) \notin E\) and \((x,b_2) \in E\). Then \(x,b_1,b_2\) and the three vertices of P adjacent to \(b_1\) or to \(b_2\) induce an \(S_{1,1,3}\).

    figure a
  2. 2.

    There are three consecutive internal vertices \(b_1,b_2,b_3 \in B\) of P such that x is adjacent to all of them. Then \(x,b_1,b_3\), the two neighbours of \(b_1\) in P and any neighbour of \(b_3\) in P induce an \(S_{1,1,3}\).

    figure b

This contradiction and the maximality of P imply that x has exactly two neighbours in P, namely the first and the last vertex of the path. In this situation P, together with x induces a chordless cycle. Finally, the graph H does not contain any other vertices, since otherwise H would contain a vertex y outside of P distinct from x such that:

  • either y is not adjacent to x and has exactly two neighbours in P, which are the end-vertices of the path,

  • or y is adjacent to x and has no neighbours in P.

It is easy to see that in both cases an induced \(S_{1,1,3}\) would arise. We conclude that H is a chordless cycle.\(\square \)

Next, we describe the structure of \(S_{1,1,3}\)-free bipartite graphs containing a large induced simple tree, i.e. a graph of the form \(T_k\) (see Fig. 1). Suppose that a bipartite \(S_{1,1,3}\)-free graph contains an induced copy of \(T_k\) with \(k\ge 3\) and let T be such a copy which is maximal with respect to inclusion. We define the following (see also Fig. 2).

  • u: the central vertex of T,

  • \(A_0 = \{a_1, \ldots , a_k\}\): the set of neighbours of u in T,

  • \(B_0 = \{b_1, \ldots , b_k\}\): the set of leaves of T with \(a_ib_i \in E\) for \(i=1,\ldots ,k\),

  • \(B_1 = N(B_0) {\setminus } A_0\),

  • \(B_1' \subseteq B_1\): the set of vertices not in \(A_0\) with exactly one neighbour in \(B_0\),

  • \(B_1'' \subseteq B_1\): the set of vertices which are adjacent to all the vertices of \(B_0\),

  • \(A_1=N(A_0) {\setminus } (\{u\} \cup B_0)\),

  • \(C = N(u) {\setminus } (A_0 \cup B_1)\),

  • \(D_1=N(A_1) {\setminus } (C \cup A_0 \cup B_1)\),

  • \(D_2=N(B_1) {\setminus } (\{u\} \cup B_0 \cup A_1)\).

Lemma 6

If T is an inclusionwise maximal induced copy of \(T_k\) with \(k\ge 3\) in a bipartite \(S_{1,1,3}\)-free graph, then the following statements hold:

  1. (i)

    Every vertex of \(B_1\) is adjacent to u.

  2. (ii)

    Every vertex of \(A_1\) is adjacent to every vertex of \(A_0\).

  3. (iii)

    No vertex of C has a neighbour outside of \(\{u\} \cup A_1\).

  4. (iv)

    No vertex of \(D_1\) has a neighbour outside of \(A_1\).

  5. (v)

    \(B_1=B_1'\cup B_1''\).

  6. (vi)

    \(B_1'=\emptyset \) or \(B_1''=\emptyset \).

  7. (vii)

    No vertex of \(B_1'\) has a neighbour outside of \(\{u\} \cup B_0 \cup A_1\).

  8. (viii)

    No vertex of \(D_2\) has a neighbour outside of \(B_1\).

Proof

To prove Statement (i), suppose a vertex \(y\in B_1\) is non-adjacent to u. Let \(b_k\) be a neighbour of y in \(B_0\), and \(a_i, a_j, a_k\) be three distinct vertices from \(A_0\). Then the vertex set \(\{u, a_i, a_j, a_k, b_k, y \}\) induces an \(S_{1,1,3}\).

Fig. 2
figure 2

A bipartite graph containing an induced copy of \(T_k\) centred at vertex u

To prove Statement (ii), suppose that \(x \in A_1\) has a non-neighbour in \(A_0\), say \(a_i\). By definition, x has a neighbour in \(A_0\), say \(a_j\). But then the vertex set \(\{ a_j, b_j, x, u, a_i, b_i \}\) induces an \(S_{1,1,3}\).

To prove Statement (iii), suppose a vertex \(x \in C\) has a neighbour \(y \notin \{u\} \cup A_1\). Then the set \(\{u,x,y\} \cup A_0 \cup B_0\) induces a copy of a simple tree which properly contains T, contradicting the maximality of T.

To prove Statement (iv), suppose a vertex \(y \in D_1\) has a neighbour \(z \notin A_1\) and let x be a neighbour of y in \(A_1\). Observe that y is not adjacent to u, since otherwise y would belong to C. But then by Statement (ii), the vertex set \(\{ a_1, b_1, u, x, y, z \}\) induces an \(S_{1,1,3}\).

To prove Statement (v), suppose a vertex x in \(B_1\) has at least two neighbours, say \(b_i\) and \(b_j\), and at least one non-neighbour, say \(b_k\), in \(B_0\). Then by Statement (i), the vertex set \(\{ x, b_i, b_j, u, a_k, b_k \}\) induces an \(S_{1,1,3}\).

To prove Statement (vi), suppose that each of \(B_1'\) and \(B_1''\) contains at least one vertex, say \(x \in B_1'\) and \(y \in B_1''\). Then the vertex set \(\{ b_i, a_i, x, y, b_j, a_j \}\) induces an \(S_{1,1,3}\), where \(b_i\) is the neighbour of x in \(B_0\) and \(b_j\) is any vertex of \(B_0\) different from \(b_i\).

To prove Statement (vii), suppose a vertex \(x \in B_1'\) has a neighbour \(y \,{\notin }\, \{u\} \,{\cup }\, B_0 \,{\cup }\, A_1\). Then by Statement (i), the vertex set \(\{ x, b_i, y, u, a_j, b_j\}\) induces an \(S_{1,1,3}\), where \(b_i \,{\in }\, B_0\) is a neighbour and \(b_j\,{\in }\, B_0\) is a non-neighbour of x, respectively.

To prove Statement (viii), suppose a vertex \(y \in D_2\) has a neighbour \(z \notin B_1\). Then by Statements (i) and (iii), the vertex set \(\{ u, a_1, a_2, x, y, z \}\) induces an \(S_{1,1,3}\), where \(x \in B_1\) is a neighbour of y.\(\square \)

Note that if the graph in the above lemma is connected, it follows that every vertex of the graph belongs to \(\{u\} \cup A_0 \cup A_1 \cup B_0 \cup B_1 \cup C \cup D_1 \cup D_2\).

From now on, we deal with bipartite graphs that are irreducible, i.e. we assume that their vertices are coloured black and white and that they satisfy Properties (a), (b) and (c) of irreducible graphs. Our goal is to prove that if \(H=(W,B,E)\) is an irreducible \((S_{1,1,3},K_{p,p})\)-free graph containing an induced copy of \(T_k\) with \(k\ge p+2\), then H differs from a simple tree only by finitely many vertices. To prove this result, we first show in the next lemma that we can always assume that an induced copy of \(T_k\) with \(k\ge p+2\) appears in H with its central vertex being black.

Lemma 7

Let \(p \in \mathbb {N}\) and \(H=(W,B,E)\) be an irreducible \((S_{1,1,3},K_{p,p})\)-free graph. If H contains an induced copy of the graph \(T_{p+2}\), then it contains an induced copy of \(T_{p+2}\) in which the central vertex is black.

Proof

Let T be an inclusionwise maximal induced copy of \(T_k\) with \(k\ge p+2\). If the centre u of T is black, then we are done. So assume that u, as well as the centre of any other induced \(T_{p+2}\), is white. This assumption implies, by the definition of \(B_1''\), that \(B_1''\) is empty, since otherwise any vertex of \(B_1''\) is a black centre of an induced \(T_{p+2}\). Now from Statements (iii), (iv), (v) and (vii) of Lemma 6 we conclude that \(W = \{u\} \cup B_0 \cup A_1\) and \(B = C \cup A_0 \cup B_1' \cup D_1\). Therefore, by Property (a) of irreducible graphs

$$\begin{aligned} |A_1| = |C| + |B_1'| + |D_1| - 2 \ge |B_1'| - 2. \end{aligned}$$
(1)

From the definition of \(B_1'\) and Property (b) of irreducible graphs it follows that \(|B_1'| \ge p+2\). This together with Eq. (1) and Statement (ii) of Lemma 6 implies that \(A_0 \cup A_1\) induces a subgraph containing \(K_{p,p}\). This is a contradiction. Therefore H contains an induced copy of \(T_{p+2}\) in which the central vertex is black.\(\square \)

We will now show that the structure of every irreducible \((S_{1,1,3},K_{p,p})\)-free graph containing a large induced copy of \(T_{k}\) is very close to the structure of a simple tree. More formally, we will say that a graph H is an s-extension of a simple tree if it can be reduced to a simple tree by deleting at most s vertices.

Lemma 8

Let \(p \in \mathbb {N}\) and \(H=(W,B,E)\) be an irreducible \((S_{1,1,3},K_{p,p})\)-free graph containing \(T_{p+2}\) as an induced subgraph. Then H is a 4p-extension of a simple tree \(T_k\) with \(k\ge p+2\) and in which the central vertex is black.

Proof

As before, let T denote an inclusionwise maximal induced copy of \(T_k\) with \(k\ge p+2\) and assume by Lemma 7 that the centre u of T is black. The fact that H is \(K_{p,p}\)-free together with Statement (ii) of Lemma 6 implies that

$$\begin{aligned} |A_1| < p. \end{aligned}$$
(2)

Similarly, the fact that H is \(K_{p,p}\)-free together with the definition of \(B_1''\) implies that

$$\begin{aligned} |B_1''| < p. \end{aligned}$$
(3)

Statements (iii) and (iv) of Lemma 6 together with Property (b) of irreducible graphs and inequality (2) imply that

$$\begin{aligned} |C| + |D_1| < |A_1| + 1 \le p. \end{aligned}$$
(4)

Statements (iii), (iv), (v), (vii) and (viii) of Lemma 6 imply that \(W = C \cup A_0 \cup B_1' \cup B_1'' \cup D_1\) and \(B = \{u\} \cup B_0 \cup A_1 \cup D_2\). Therefore, by Property (a) of irreducible graphs

$$\begin{aligned} |C| + |B_1'| + |B_1''| + |D_1| = |A_1| + |D_2|. \end{aligned}$$

According to Statement (vi) of Lemma 6 there are two cases:

  1. 1.

    \(B_1' = \emptyset \). This together with inequalities (3) and (4) implies that

    $$\begin{aligned} |A_1| + |D_2| = |C| + |B_1''| + |D_1| < 2p, \end{aligned}$$

    i.e. the graph H contains less than 4p vertices besides the \(2k+1\) vertices of \(T_k\).

  2. 2.

    \(B_1'' = \emptyset \). In this case, Statement (vii) of Lemma 6 implies that \(D_2\) is also empty and taking into account inequality (2) we have

    $$\begin{aligned} |C| + |B_1'| + |D_1| = |A_1| < p, \end{aligned}$$

    i.e. the graph H contains less than 2p vertices besides the \(2k+1\) vertices of \(T_k\). \(\square \)

Theorem 9

Let \(p \in \mathbb {N}\) and let \(H=(W,B,E)\) be an irreducible \((S_{1,1,3},K_{p,p})\)-free graph. Then H is either

  • an induced path of even length or

  • a 4p-extension of a simple tree \(T_k\) with \(k\ge p+2\) or

  • a member of the finite set of \((P_8,T_{p+2},K_{p,p})\)-free irreducible graphs.

Proof

If H contains an induced \(P_8\), then by Lemma 5 the graph H is an induced path of even length. If H contains an induced copy of \(T_{p+2}\), then by Lemma 8 the graph H is a 4p-extension of a simple tree \(T_k\) with \(k\ge p+2\). If H contains neither \(P_8\) nor \(T_{p+2}\), then it belongs to a finite collection of irreducible graphs by Theorem 3.\(\square \)

4.2 Finding Augmenting \((S_{1,1,3},K_{p,p})\)-Free Graphs

In this section we deal with the problem of finding augmenting graphs in \((S_{1,1,3},K_{p,p})\)-free graphs. According to Theorem 9, this problem consists of two main subproblems: finding augmenting paths and finding extensions of simple trees. The first of these was solved in [5] even for more general graphs, namely for \(S_{1,2,3}\)-free graphs. In Lemma 10 we solve the second subproblem. Then in Theorem 11 we summarize our arguments and present a polynomial-time solution to the maximum independent set problem in the class of \((S_{1,1,3},K_{p,p})\)-free graphs.

Lemma 10

Let \(p \ge 2\), \(G=(V,E)\) be an \((S_{1,1,3}, K_{p,p})\)-free graph and \(S \subseteq V\) be an independent set in G. Then in polynomial time one can determine whether G contains an irreducible augmenting graph for S which is a 4p-extension of a simple tree \(T_k\) with \(k\ge p+2\).

Proof

Suppose that G contains an irreducible augmenting graph \(H=(W,B,E')\) for S which is a 4p-extension of a simple tree \(T_k\) with \(k\ge p+2\). As before, we denote the centre of \(T_k\) by u and by Lemma 8 we may assume it is black. Also, let \(A_0\) and \(B_0\) denote the sets of white and black non-centre vertices of \(T_k\), respectively. Finally, let \(Q_1\) denote the set of additional white vertices of H and let \(Q_2\) denote the set of additional black vertices of H. Since H is irreducible, it follows that \(|Q_1|=|Q_2|\).

figure c

In order to determine whether G contains an augmenting graph H satisfying the above properties, we successively consider all triples \((Q_1,Q_2,u)\) such that

  • \(Q_1 \subseteq S\),

  • \(Q_2 \subseteq R = V {\setminus } S\),

  • \(|Q_1| = |Q_2| \le 2p\),

  • \(Q_2\) is an independent set and

  • u is a vertex in \(R {\setminus } Q_2\) with \(N(u) \cap Q_2 = \emptyset \).

For each such triple, we try to build a copy of \(T_k\) centred at u. Note that the choice of u and \(Q_1\) uniquely defines the white part of \(T_k\). Namely, \(A_0 = N_S(u) {\setminus } Q_1 = \{ a_1, a_2, \ldots , a_k \}\). If \(k<p+2\) or \(N_S(Q_2) \not \subseteq A_0 \cup Q_1\), then clearly the triple \((Q_1,Q_2,u)\) does not belong to any augmenting graph H satisfying all the properties stated at the beginning of the proof, in which case we eliminate this triple from further consideration and move to the next one. Otherwise, we check whether there is a set of black vertices \(B_0 = \{ b_1, b_2, \ldots , b_k \}\) such that:

  • \(\{u\} \cup B_0 \cup Q_2\) is an independent set;

  • for \(i=1, \ldots , k\), the only white neighbour of \(b_i\) in \(S {\setminus } Q_1\) is \(a_i\).

To this end, we consider the following sets for \(i=1,\ldots ,k\):

$$\begin{aligned} L_i = \{ v \in R {\setminus } (Q_2 \cup \{u\}) \ |\ N_{S {\setminus } Q_1} (v) = \{a_i\} {\text { and }} v {\text { has no neighbours in }} \{u\} \cup Q_2 \}. \end{aligned}$$

If at least one of these sets is empty, then again the triple \((Q_1,Q_2,u)\) is not part of any augmenting graph H of the type we are looking for, and hence we eliminate this triple. Otherwise, for each \(i = 1, \ldots , k\) we select any vertex from \(L_i\) as \(b_i\) and return the graph \(G[Q_1 \cup Q_2 \cup \{u\} \cup A_0 \cup B_0]\). It remains to show that \(B_0\) is an independent set. Assume for a contradiction that \(b_i\) is adjacent to \(b_j\) for two distinct indices \(i,j \in \{1, \ldots , k\}\) and let \(l,m \in \{1, \ldots , k\}\) be two distinct indices different from ij. Then the set \(\{ u,a_l, a_m, a_i, b_i, b_j \}\) induces an \(S_{1,1,3}\). This contradiction shows that \(B_0\) is an independent set and hence \(\{u\}\cup A_0\cup B_0 \cup Q_1\cup Q_2\) induces an augmenting graph H for S which is a 4p-extension of a simple tree \(T_k\) with \(k\ge p+2\). If all triples have been examined and eliminated, then no such H exists.

In order to show that the above procedure is polynomial in \(n=|V(G)|\), we observe that there are \(O(n^{4p+1})\) triples \((Q_1,Q_2,u)\) such that \(|Q_1|=|Q_2|\le 2p\). Also, it is obvious that for each triple the sets \(A_0, L_i\) \((i=1,\ldots ,k)\) can be constructed in polynomial time. Therefore, for a fixed p, the above procedure for detecting 4p-extensions of simple trees takes polynomial time.\(\square \)

Theorem 11

For any \(p \in \mathbb {N}\), the maximum independent set problem can be solved for \((S_{1,1,3},K_{p,p})\)-free graphs in polynomial time.

Proof

Let G be an \((S_{1,1,3},K_{p,p})\)-free graph and S an arbitrary independent set in G. If G contains an augmenting path for S, such a path can be found by an algorithm proposed in [5], which works in polynomial time for any graph containing no induced \(S_{1,2,3}\).

If G contains a 4p-extension of a simple tree, such an extension can be found in polynomial time by Lemma 10.

If G contains neither an augmenting path nor an extension of a simple tree for S, then by Theorem 9, the set S is not maximum if and only if it admits an augmenting graph which is \((P_8,T_{p+2},K_{p,p})\)-free. By Theorem 3, there are only finitely many irreducible graphs in this set and hence detecting such graphs can be done in polynomial time.

Thus, in polynomial time, one can determine whether G contains an augmenting graph for S. Since an augmentation can be applied at most |V(G)| times, we conclude that the overall time complexity of finding a maximum independent set in G is polynomial.\(\square \)

5 Conclusion

In this paper, we proved two main results. First, we identified three minimal infinite classes of augmenting graphs, and second, we showed that the maximum independent set problem restricted to the class of \((S_{1,1,3},K_{p,p})\)-free graphs can be solved in polynomial time. We purposely avoided providing any specific time bound for our solution, because the most expensive part of our algorithm deals with finding augmenting graphs from a finite collection of \((P_8,T_{p+2},K_{p,p})\)-free graphs. Estimating the size of a largest graph in this collection involves Ramsey numbers and hence any time bound based on this estimation is of only theoretical interest. Finding stronger bounds leading to more efficient algorithms for \((S_{1,1,3},K_{p,p})\)-free graphs is an interesting open problem.

To state one more open problem, let us observe that our result for \((S_{1,1,3},K_{p,p})\)-free graphs generalizes the polynomial-time solution to the problem in the class of claw-free graphs (for each \(p\ge 3\)). This observation and the fact that the problem can be solved for weighted claw-free graphs [13] raises the following question: is it possible to extend polynomial-time solvability of the problem to weighted \((S_{1,1,3},K_{p,p})\)-free graphs? We leave this question as an open problem for future research.