Partitionability to two trees is NP-complete

Reading time: 6 minute
...

📝 Original Info

  • Title: Partitionability to two trees is NP-complete
  • ArXiv ID: 1002.3937
  • Date: 2010-02-20
  • Authors: Domotor Palvolgyi

📝 Abstract

We show that P2T - the problem of deciding whether the edge set of a simple graph can be partitioned into two trees or not - is NP-complete.

💡 Deep Analysis

Deep Dive into Partitionability to two trees is NP-complete.

We show that P2T - the problem of deciding whether the edge set of a simple graph can be partitioned into two trees or not - is NP-complete.

📄 Full Content

It is a well known that deciding whether the edge set of a graph can be partitioned into k spanning trees or not is in P [1]. Recently András Frank asked what we know about partitioning the edge set of a graph into k (not necessarily spanning) trees. One can easily see that whether a simple graph is a tree or not is in P. It was shown by Király that the problem of deciding if the edge set of a simple graph is the disjoint union of three trees is NPcomplete by reducing the 3-colorability problem to it [3]. Now we prove that for two trees the problem is also NP-complete. First we define the problem precisely.

Definition. The input of the decision problem P2T is a graph G = (V, E) and the goal is to decide whether there is an E = E 1 ∪E 2 partitioning of the edge set such that both E 1 and E 2 form a tree.

It is obvious that P2T belongs to NP. To prove its completeness, we will show that the NAE-SAT (Not-All-Equal SAT problem) is reducible to P2T.

The NAE-SAT problem is the following. We are given polynomially many clauses over the variables x 1 , . . . , x n and we have to decide whether there is an evaluation of the variables such that each clause contains both a true and a false literal. This is called a good evaluation. Eg., if the formula contains at least one clause of size one (like x 1 ), it does not have a good evaluation. This problem is well known to be NP-complete [2]. Now we will construct a graph G from a given clause set C. We denote its variables by x 1 , . . . , x n . The graph G will consist of two main parts, L i and C j type subgraphs. A subgraph L i corresponds to each variable, while a subgraph C j corresponds to each clause from C. Beside the L i ’s corresponding to the variables, we also have two extra subgraphs of this type, L 0 and L n+1 . The vertex sets corresponding to the clauses and variables are all disjoint, except for

, what is a single vertex denoted by t i .

A subgraph L i corresponding to the variable x i consists of four vertices that form a cycle in the following order: t i-1 , v i , t i and v i . We would like to achieve that one of the trees contains the edges from t i-1 through v i to t i , while the other from t i-1 through v i to t i . For simplicity, we denote t -1 by α and t n+1 by ω. Both trees will have to contain a path from t 0 to t n . The idea is that we want to force one of the trees to go through exactly those v i ’s for which x i is true.

Before we start the construction of the subgraphs corresponding to the clauses, we introduce a notation. We say that two vertices u and w are linked with a purple edge if (1) There is no edge between u and w. that is connected to u and w. (See Figure 1.) This is a very useful structure because if E(G) is the union of two trees, then they both have to enter this purple subgraph since a tree cannot contain a cycle. So if the vertices are linked with a purple edge and E(G) = E(T ) ∪E(F ) (where T and F denote the two trees), then it means that uv uw 1 ∈ E(T ) and

A subgraph C j corresponding to the jth clause consists of 3k vertices where k is the size of the jth clause whose literals are denoted by l j 1 , . . . , l j k . A cycle of length 2k is formed by the following vertices in this order: p j 1 , q j 1 , p j 2 , q j 2 , . . . , p j k , q j k . The other k vertices are denoted by r j 1 , . . . , r j k . The vertex r j i is always connected to p j i and it is also connected to v m if l j i is x m or to v m if l j i is x m . Furthermore, there is a purple edge between r j i and q j i . This will ensure that a tree “entering” the clause subgraph through an r j i , cannot “leave” this subgraph. (See Figure 2. for a graph with one clause. The dashed edges mean purple edges.)

The graph for the single clause

The construction is finished, now we have to prove it’s correctness. The easier part is to show that if our NAE-SAT problem has a good evaluation, then we can partition the edges into two trees, T and F . First let us fix a good evaluation. Let the tree T contain the path from α to ω through the v i ’s for true x i ’s and through the v i ’s for false x i ’s (consider the non-existing x 0 and x n+1 true). Similarly F trails from α to ω through the v i ’s for true x i ’s and through the v i ’s for false x i ’s. So each v i and each v i belongs to exactly one of the trees. If a tree contains v i (or v i ), let it also contain the v i r j m (or v i r j m ) and r j m p j m edges if x i (or x i ) is in the jth clause. This way both trees enter each clause subgraph since the evaluation satisfied our NAE-SAT problem. Let the edges p j i q j i and q j i p j i+1 belong to the tree that does not contain r j i . This guarantees that we can enter the purple subgraph belonging to r j i and q j i by both trees. It can be also easily seen that the edges of T (and of F ) form a tree and every edge is assigned to one of them. So we are done with this part.

To prove the other part, let us suppose that E(G) = T ∪F for two trees T an

…(Full text truncated)…

📸 Image Gallery

cover.png page_2.webp page_3.webp

Reference

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut