Algorithms for deletion problems on split graphs

06/24/2019 ∙ by Dekel Tsur, et al. ∙ Ben-Gurion University of the Negev 0

In the Split to Block Vertex Deletion and Split to Threshold Vertex Deletion problems the input is a split graph G and an integer k, and the goal is to decide whether there is a set S of at most k vertices such that G-S is a block graph and G-S is a threshold graph, respectively. In this paper we give algorithms for these problems whose running times are O^*(2.076^k) and O^*(2.733^k), respectively.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

A graph is called a split graph if its vertex set can be partitioned into two disjoint sets and such that is a clique and is an independent set. A graph is a block graph if every biconnected component of is a clique. A graph is a threshold graph if there is a and a function such that for every , is an edge in if and only if .

In the Split to Block Vertex Deletion (SBVD) problem the input is a split graph and an integer , and the goal is to decide whether there is a set of at most vertices such that is a block graph. Similarly, in the Split to Threshold Vertex Deletion (STVD) problem the input is a split graph and an integer , and the goal is to decide whether there is a set of at most vertices such that is a threshold graph. The SBVD and STVD problems were shown to be NP-hard by Cao et al. [1]. A split graph is a block graph if and only if does not contain an induced diamond, where a diamond is a graph with vertices and edges. Additionally, a split graph is threshold graph if and only if does not contain an induced path with 4 vertices. Therefore, SBVD and STVD are special cases of the 4-Hitting Set problem. Using the fastest known parameterized algorithm for 4-Hitting Set, due to Fomin et al. [4], the SBVD and STVD problems can be solved in time. Choudhary et al. [2] gave faster algorithms for SBVD and STVD whose running times are and , respectively. In this paper we give algorithms for SBVD and STVD whose running times are and , respectively.

2 Preliminaries

For a graph and a vertex , is the set of vertices that are adjacent to . For a set of vertices, is the graph obtained from by deleting the vertices of (and incident edges). Let denote a graph that is a path on 4 vertices.

In the 3-Hitting Set problem the input is a family of subsets of size at most 3 of a set and an integer , and the goal is to decide whether there is a set of size at most such that for every .

For two families of sets and , .

2.1 Branching algorithm

A branching algorithm (cf. [3]) for a parameterized problem is a recursive algorithm that uses rules. Given an instance to the problem, the algorithm applies some rule. In each rule, the algorithm either computes the answer to the instance , or performs recursive calls on instances , where . The algorithm returns ‘yes’ if and only if at least one recursive call returned ‘yes’. The rule is called a reduction rule if , and a branching rule if . To analyze the time complexity of the algorithm, define to be the maximum number of leaves in the recursion tree of the algorithm when the algorithm is run on an instance with parameter . Each branching rule corresponds to a recurrence on :

The largest real root of is called the branching number

of the rule. The vector

is called the branching vector of the rule.

Let be the maximum branching number over all branching rules. Assuming that the application of a rule takes time, the time complexity of the algorithm is .

3 Algorithm for SBVD

Lemma 1.

Let be a split graph with a partition of its vertices. is a block graph if and only if (1) A vertex in with degree at least is adjacent to all vertices in , and (2) There is at most one vertex in with degree at least 2.

Proof.

Suppose that is a block graph. If a vertex has degree at least 2, let be two neighbors of . For every , we have that is adjacent o , otherwise induces a diamond, contradicting the assumption that is a block graph.

Now, suppose conversely that there are with degree at least 2. Let be two vertices in . From the paragraph above, are neighbors of and of . Therefore, induces a diamond, contradicting the assumption that is a block graph.

To prove the opposite direction, suppose that satisfied (1) and (2). Suppose conversely that is not a block graph. Then there is a set of vertices that induces a diamond. Since is a clique and is an independent set, is equal to either 1 or 2. If then does not satisfy (1), and if then does not satisfy (2), a contradiction. Therefore is a block graph. ∎

IF is a yes instance, let be a solution for . By Lemma 1, there is at most one vertex in with degree at least 2 in . Denote this vertex, if it exists, by . For every we have that has degree at most 1 in .

The algorithm for SBVD goes over all possible choices for the vertex . Additionally, the algorithm also inspects the case in which no such vertex exist. For every choice of , the algorithm deletes from all the vertices of that are not adjacent to and decreases the value of by the number of vertices deleted. When the algorithm inspects the case when does not exists, the graph is not modified.

For every choice of , the algorithm generates an instance of 3-Hitting Set as follows: For every vertex that has at least two neighbors, and for every two neighbors of , the algorithm adds the set to . The algorithm then uses the algorithm of Wahlström [5] to solve the instance in time. If is a yes instance of 3-Hitting Set then the algorithm returns yes. If all the constructed 3-Hitting Set instances, for all choices of , are no instances, the algorithm returns no.

4 Algorithm for STVD

Let be the set of all vertices in that have minimum degree (namely, a vertex is in if for every ). We say that two vertices are twins if . Let be a set containing and all the twins of . Recall that a split graph is a threshold graph if and only if does not contain an induced . Note that an induced in must be of the form where and .

The algorithm for STVD is a branching algorithm. At each step, the algorithm applies the first applicable rule from the rules below. The reduction rules of the algorithm are as follows.

(R1)  If and is not a threshold graph, return ‘no’.

(R2)  If is an empty graph, return ‘yes’.

(R3)  If is a vertex such that there is no induced in that contains , delete .

If Rule (R4) cannot be applied we have that for every there is a vertex such that .

We now describe the branching rules of the algorithm. When we say that the algorithm branches on sets , we mean that the algorithm is called recursively on the instances .

(B1)  If there are non-twin vertices such that , branch on and .

To show the safeness of Rule (B1), denote and . If is a solution for the instance then must contain at least one vertex from the induced path . If then is also a solution (since every induced that contains also contains ). Additionally, if then is also a solution. Therefore, there is a solution such that either or . Thus, Rule (B1) is safe.

The branching vector of Rule (B1) is .

(B2)  If there is a vertex such that , let be a vertex such that . Branch on , and .

Note that the vertex exists since Rule (R4) cannot be applied. To prove the safeness of Rule (B2), note that if is a solution for the instance then either , , , or . If one of the last three cases occurs we are done. Otherwise (if ), is also a solution. It follows that Rule (B2) is safe.

Since Rule (B4) cannot be applied, . Therefore, the branching vector of Rule (B2) is at least .

Note that if Rule (B2) cannot be applied, every vertex in has degree at least 2.

(B3)  If there are vertices such that and , branch on , , , and .

If is a solution for the instance then either , , , or (If neither of the above cases hold, let and . Then, is an induced in , a contradiction). Therefore, Rule (B3) is safe.

The branching vector of Rule (B3) is at least .

Lemma 2.

If Rule (B3) cannot be applied and are two vertices such that then .

Proof.

Suppose conversely that . Then, . Therefore, Rule (B3) can be applied on , a contradiction. ∎

We now consider two cases.

Case 1

In the first case, every two vertices in are twins. The algorithm picks an arbitrary vertex and vertices . Since Rule (R4) cannot be applied, there is a vertex such that and a vertex such that . For we have that since is not a twin of . Since , it follows that . Thus, . By Lemma 2 and the fact that we obtain that and thus . In particular, and . Note that this implies that .

Lemma 3.

.

Proof.

Suppose without loss of generality that . By Lemma 2 and the fact that we have that . Therefore, . We have shown above that . ∎

(B4)  If Case 1 occurs and for every , branch on , , and .

We now prove the safeness of Rule (B4). In order to delete the paths of the form or for some , a solution must satisfy one of the following (1) (2) , or (3) contains at least one vertex from and at least one vertex from . Suppose that is a solution that satisfies (3). Due to the assumption of Rule (B4) and the fact that , we have that every vertex in is adjacent to . Therefore, every induced that contains is of the form . Thus, if then is also a solution. Similarly, if then is also a solution. Therefore, if is a yes instance, there is a solution such that either satisfies (1) or (2) above, or .

By Lemma 3, the branching vector of Rule (B4) is at least .

(B5)  If Case 1 occurs, let be a vertex such that , and without loss of generality assume that . Branch on , , and on the sets in .

We now show the safeness of Rule (B5). In order to delete the induced paths of the form or for , a solution must satisfy (1), (2), or (3) above. Suppose that (1) is not satisfied (namely, ) and that (3) is satisfied. Additionally, suppose that . Therefore, and contains at least one vertex from . In order to delete the induced paths of the form for every , either or . We have that since is not a twin of . Since , it follows that . Thus, . From the previous inequality, Lemma 3, and the fact that , it follows that the branching vector of Rule (B5) is at least .

Case 2

In the second case, there are non-twin vertices in . Suppose that are non-twin vertices, where the choice of will be given later. By Lemma 2, . Denote and . Let .

Lemma 4.

If then either (1) for every , consists of plus an additional vertex that is not in , or (2) for every , consists of , , and all the vertices of except one vertex.

Proof.

We first claim that every , is either 0 or 2. Suppose conversely that contains exactly one vertex from and without loss of generality, and . By Lemma 2 on we obtain that contains all the vertices in . Since we assumed that , we have that . From the fact that we obtain that , contradicting the assumption that is not a twin of . Therefore, is either 0 or 2.

We first assume that there is no vertex such that . From the claim above we have that . By Lemma 2 on , contains all the vertices in plus an additional vertex that is not in .

Now suppose that there is a vertex such that . Consider some . We claim that . Suppose conversely that . From the claim above, . Therefore, , contradicting Lemma 2. Thus, . From the claim above and Lemma 2 we conclude that contains and all the vertices in except one vertex. ∎

If or the first case of Lemma 4 occurs, we say that the vertices of form a sunflower. Note that if the vertices of do not form a sunflower, for every vertex there are non-twin vertices that are adjacent to .

(B6)  If there are non-twin vertices such that for every , then suppose without loss of generality that . Branch on and .

To prove the safeness of Rule (B6), suppose that is a yes instance and let be a solution. If or we are done, so suppose that that and . We can assume that (otherwise, is also a solution). Since is an induced path for every and , either or . Note that we can assume that if contains at least one vertex from then it contains all the vertices of . Define a set by taking the vertices in . Additionally, if , add to , and if , add to . We now show that is also a solution. Since , we have that . Suppose conversely that contains an induced and denote this path by . Create a path by taking and performing the following steps: (1) If is in , replace it with . (2) If is in , replace it with . (3) If contains a vertex , replace it with . (4) If contains a vertex , replace it with . Recall that for every . Additionally, for every , if the vertices of form a sunflower, and otherwise. Therefore, for every two vertices in and the corresponding vertices in , we have that is an edge if and only if is an edge. It follows that is also an induced path in . From the assumptions that and and from the definition of we have that does not contain a vertex of . This contradicts the assumption that is a solution. Therefore, is a solution. The solution contains either or , and therefore Rule (B6) is safe.

The branching vector of Rule (B6) is at least .

Now suppose that Rule (B4) cannot be applied. We choose non-twin vertices , a vertex , and a vertex that is not adjacent to as follows.

  1. If the vertices of form a sunflower, pick arbitrary non-twin vertices . Pick . Since Rule (R4) cannot be applied, there is a vertex such that . Since for every (as the vertices of form a sunflower) it follows that .

  2. Otherwise, since Rule (B4) cannot be applied, there is a vertex such that . Pick . Since the vertices of do not form a sunflower, there are non-twin vertices such that .

Since Rule (B4) cannot be applied, there is a vertex such that, without loss of generality, .

(B7)  Branch on , , and on the sets in .

The proof of the safeness of Rule (B7) is similar to the proof for Rule (B3). To bound the branching vector of Rule (B7) we use the following lemma.

Lemma 5.

.

Proof.

Since , we have that . Similarly, . By Lemma 2 and the fact that we have that .

We consider two cases. If then by Lemma 2 and the fact that we have that . Therefore, and the lemma follows since .

If then by Lemma 2 and the fact that we have that . Therefore, and the lemma follows since . ∎

By Lemma 5, the branching vector of Rule (B7) is at least .

The rule with largest branching number is Rule (B4) and its branching number is at most 2.733. Therefore, the running time of the algorithm is .

References

  • [1] Y. Cao, Y. Ke, Y. Otachi, and J. You. Vertex deletion problems on chordal graphs. Theoretical Computer Science, 745:75–86, 2018.
  • [2] P. Choudhary, P. Jain, R. Krithika, and V. Sahlot. Vertex deletion on split graphs: Beyond 4-hitting set. In International Conference on Algorithms and Complexity (CIAC), pages 161–173, 2019.
  • [3] M. Cygan, F. V. Fomin, Ł. Kowalik, D. Lokshtanov, D. Marx, M. Pilipczuk, M. Pilipczuk, and S. Saurabh. Parameterized algorithms. Springer, 2015.
  • [4] F. V. Fomin, S. Gaspers, D. Kratsch, M. Liedloff, and S. Saurabh. Iterative compression and exact algorithms. Theoretical Computer Science, 411(7-9):1045–1053, 2010.
  • [5] M. Wahlström. Algorithms, measures and upper bounds for satisfiability and related problems. PhD thesis, Department of Computer and Information Science, Linköpings universitet, 2007.