CHAPTER 3. GRAPH TRIANGULATIONS AND THE COMPATIBIL-
3.5 Edge Contraction and Tree Removal Problems
Given a profile P of unrooted trees, the edge contraction problem asks, if P can be made compatible by contraction of at most p internal edges from the input trees. Similarly, given a profile P of phylogenetic trees, the tree removal problem asks if P can be made compatible by removal of at most p trees from P. By setting p = 0, there is a reduction from the quartet compatibility problem [Steel(1992)] to the edge contraction and tree removal problems. Hence, the edge contraction and tree removal problems are NP-Hard.
The above two problems are similar to the character removal problem. Given a collection C of characters, the character removal problem asks if C can be made compatible by removal of at most p characters. A characterization for finding the minimum number of characters to be removed to make C compatible was given byBordewich et al.(2005). A character is broken
with respect to a specific triangulation of Int(C) if there is fill-in edge between the states of the same character. Bordewich’s characterization requires finding the triangulation of Int(C) with minimum number of broken characters.
Bordewich’s characterization can be used to solve the edge contraction and tree removal problems as follows. Profile P is compatible if and only if collection CP is compatible. Consider
any triangulation H of Int(CP). Deleting a broken character from CPcorresponds to contracting
the internal edge which induced it. Profile P can be made compatible by contraction of at most p edges if and only if there exists a triangulation of Int(CP) with at most p broken characters. A
similar characterization can be used to solve the tree removal problem. We provide a different characterization of edge contraction and tree removal problems using the modified display graphs. The size of G(P), in terms of number of vertices and edges, is smaller than the size of the Int(CP). Also, the characterization we give in terms of triangulation of the modified
display graphs for the edge contraction problem, allows us to bound the size of the treewidth of the modified display graphs.
Let P = {T1, T2, . . . , Tk} be a profile of unrooted trees. A triangulation H of G(P) is
coherent, if for every clique C in H, and for every T ∈ P, V (T ) ∩ V (C) induces a subtree in T . Note that, every legal triangulation is coherent. Consider any coherent triangulation H of G(P). Let Q ⊆ ˆE(G(P)) be a set of tree edges where, for every C ∈ M C(H), E(C) \ Q has at most one tree edge. We call the edges in Q, blocking edges of H. We denote the profile {T1/(Q ∩ E(T1)), . . . , Tk/(Q ∩ E(Tk))} by P/Q.
Consider the set P ⊆ P of trees where T ∈ P if and only if for every clique C ∈ M C(H) there is at most one edge of T in C. Let Y1 ⊆ P be a set a trees where, for every clique
C ∈ M C(H), there is at most one tree which is not in Y1 and has exactly one tree edge in C.
Consider the set Y2 ⊆ P where, T ∈ Y2 if and only if there exists a clique in M C(H) with more
than one edge from T . Let Y = Y1∪ Y2. We call the trees in Y , the blocking trees of H.
We then have the following theorems.
Theorem 8. A profile P of unrooted trees can be made compatible by contraction of at most p internal edges, if and only if there exists a coherent triangulation of G(P) with at most p blocking edges.
Corollary 3. If a profile P of unrooted trees can be made compatible by contraction of at most p internal edges, then tw(G(P)) ≤ k + p.
Theorem 9. A profile P of unrooted trees can be made compatible by removal of at most p input trees, if and only if there exists a coherent triangulation of G(P), with at most p blocking trees.
From Theorem 8, the answer to the edge contraction problem is ”yes” if and only if there exists a coherent triangulation of G(P) with at most p blocking edges. Similarly, by Theo- rem 9, the answer to the tree removal problem is ”yes” if and only if there exists a coherent triangulation of G(P) with at most p blocking trees.
For rest of the section we give the proofs of Theorems 8and 9. Proof of Theorem8 follows from Lemmas18 and 19. Similarly, proof of Theorem 9 follows from Lemmas20 and 21. We first give few definitions.
Let G = (V, E) be a graph and let F be a subset of edges in G. Let V0 = S
e∈F e. Let
h1, h2, . . . , hz represent the connected components of the graph H = (V0, F ). Then, for every
i ∈ [z] there exists a vertex vi in V (G/F ) \ V (G) satisfying the following condition. There
exists an edge {vi, v} ∈ E(G/F ) if and only if,
(1) v ∈ {NG(V (hi)) \ V0} or
(2) v = vj for some j ∈ [z] where i 6= j and there exists a v0 ∈ {V0∩NG(V (hi))} with v0∈ V (hj)
We define a surjective function σ from V (G) to V (G/F ) as follows:
1. For every v ∈ {V (G) \ V0}, σ(v) = v
2. For every v ∈ V0 where v ∈ V (hi) for some i ∈ [z], σ(v) = vi
We call σ the vertex mapping function.
Lemma 18. Let H be a coherent triangulation of G(P) and let Q be the blocking edges of H. Profile P/Q is compatible.
Proof. For every i ∈ [k], let Ti0 = Ti/(E(Ti) ∩ Q) and let σi represent the vertex mapping
function from Ti to Ti0. Consider a clique tree (T, B) of H. We do the following transformation
on (T, B) for every input tree Ti where i ∈ [k]. For every x ∈ V (T ) and v ∈ B(x) where
v ∈ V (Ti), replace v in B(x) with σi(v). Let (T, B0) represent the resulting pair.
We now show that (T, B0) is a valid tree decomposition of G(P/Q). For every vertex v ∈ I(Ti0), consider any vertex v0 ∈ σi−1(v). There should exist an x ∈ V (T ) where v0 ∈ B(x) and so, B0(x) will contain v. Thus (T, B0) satisfies the vertex coverage property. Consider any edge {u, v} ∈ ˆE(G(P/Q)) where {u, v} ⊆ V (Ti0) for some i ∈ [k]. There exists, a vertex u0∈ σi−1(u) and a vertex v0 ∈ σ−1i (v) where, {u0, v0} ∈ E(Ti). There must exist a vertex x ∈ V (T ) where
{u0, v0} ⊆ B(x) and so, {u, v} ⊆ B0(x). Consider any added edge {u, v} ∈ E(G(P/Q)) where, u ∈ V (Ti0) and v ∈ V (Tj0), 1 ≤ i 6= j ≤ k. There exists, a vertex u0 ∈ σ−1i (u) and a vertex v0 ∈ σj−1(v) where, {u0, v0} ∈ E(G(P)). There exists an x ∈ V (T ) where {u0, v0} ⊆ B(x) and so, {u, v} ⊆ B0(x). Thus, (T, B0) satisfies the edge coverage property. Consider any vertex v ∈ {V (G(P)) ∩ V (G(P/Q))}. Since the vertex set {x : v ∈ B(x)} induces a subtree in T , the vertex set {x : v ∈ B0(x)} also induces a subtree in T . Now, consider any vertex v ∈ {V (G(P/Q)) \ V (G(P))}. Let v ∈ V (Ti0) for some i ∈ [k] and let h be the subtree induced by vertices of σi−1(v) in Ti. The vertex set {x : {V (h) ∩ B(x)} 6= ∅} induces a subtree in
T . Thus, the vertex set {x : v ∈ B0(x)} also induces a subtree in T satisfying the coherence property. The pair (T, B0) is hence a valid tree decomposition of G(P/Q).
We now prove that the triangulation H0 of G(P/Q) corresponding to (T, B0) is legal. By way of contradiction, assume that there exists a clique in H0 which contains two tree edges, {p, q} ∈ ˆE(Ti0) and {r, s} ∈ ˆE(Tj0) for some i ∈ [k] and j ∈ [k]. Then, there exists an x ∈ V (T ) where, {p, q, r, s} ⊆ B0(x). There will exist, p0 ∈ σ−1i (p), q0 ∈ σi−1(q), r0 ∈ σj−1(r), s0 ∈ σ−1j (s) where {p0, q0} ∈ E(Ti), {r0, s0} ∈ E(Tj) and a clique C in H which contains {p0, q0, r0, s0} . The set E(C) \ Q will then have at least two tree edges which is a contradiction. Thus, H0 is a legal triangulation of G(P/Q) and the profile P/Q is compatible.
Lemma 19. If P/Q is compatible for some Q ⊆ ˆE(G(P)), then there exists a coherent trian- gulation H of G(P) where, the edges of Q are the blocking edges of H.
Proof. For every i ∈ [k], let Ti0 = Ti/Q and let σi represent the vertex mapping function from
V (Ti) to V (Ti0). Let H0 be a legal triangulation of G(P/Q). Consider a clique tree (T, B) of
H0. We do the following transformation on (T, B) for every i ∈ [k]. For every x ∈ V (T ) and v ∈ B(x) where v ∈ V (Ti), replace v in B(x) with σ−1i (v). Let (T, B0) be the resulting pair.
We now show that (T, B0) is a tree decomposition of G(P).
For every, v ∈ Tiand i ∈ [k], there exists a vertex x ∈ V (T ) such that σi(v) ∈ B(x) and thus,
v ∈ B0(x). Hence, the pair (T, B0) satisfies the vertex coverage property. Consider any tree edge {u, v} ∈ E(Ti) of G(P). There exists a vertex x ∈ V (T ) where {σi(u), σi(v)} ⊆ B(x) and
thus, {u, v} ⊆ B0(x). Consider any added edge {u, v} ∈ E(G(P)) where u ∈ V (Ti), v ∈ V (Tj)
for some 1 ≤ i 6= j ≤ k. There exists a vertex x ∈ V (T ) where {σi(u), σj(v)} ⊆ B(x). Thus,
{u, v} ⊆ B0(x) satisfying the edge coverage property. Consider any vertex v ∈ V (T
i) for some
i ∈ [k]. The set {x : σi(v) ∈ B(x)} induces a subtree in T . Thus the set {x : σi−1(σi(v)) ⊆
B0(x)} also induces a subtree in T , satisfying the coherence property. The pair (T, B0) is thus a tree decomposition of G(P). Let H be the triangulation of G(P) corresponding to tree decomposition (T, B0).
We will now prove that H is a coherent triangulation. By way of contradiction, assume that there exists a maximal clique C in H and i ∈ [k] where the the vertices of Ti in C
induce two non-adjacent subtrees h and h0 in Ti such that V (h) ∩ V (h0) = ∅. Consider any
two vertices u ∈ V (h) and v ∈ V (h0). There exists a vertex x ∈ V (T ) where {u, v} ⊆ B0(x). Since, V (h) ∩ V (h0) = ∅, vertices σi(u), σi(v) are different and non adjacent in Ti0. The clique
induced by vertices of B(x) in H0 contains two non-adjacent vertices from tree Ti0 and hence the triangulation H0 is illegal, which is a contradiction. Thus, H is a coherent triangulation of G(P).
We now prove that the edges in Q are the blocking edges of H. By way of contradiction, assume that there exists a clique C in H where E(C) \ Q has more than one tree edge. Let e, e0 be the tree edges in E(C) \ Q. We have the following two cases.
1. Edges e and e0 share an endpoint. Let e = {p, q} and e0 = {q, r}. Since e and e0 share an endpoint and are tree edges, both the edges belong to same tree Tjfor some j ∈ [k]. There
exists a vertex x ∈ V (T ) where {p, q, r} ⊆ B0(x) and thus, {σj(p), σj(q), σj(r)} ⊆ B(x).
Since, {e, e0} 6⊆ Q, σj(p) 6= σj(q) 6= σj(r). The clique induced by the vertices of B(x)
in H0 contains the tree edges {σj(p), σj(q)}, {σj(q), σj(r)}. The triangulation H0 is thus
illegal which is a contradiction.
2. Edges e and e0 do not share an endpoint. Let e = {p, q}, e0 = {r, s} where e ∈ ˆE(Ti)
and e0 ∈ ˆE(Tj) for some i ∈ [k] and j ∈ [k]. There exists a vertex x ∈ V (T ) where
{p, q, r, s} ⊆ B0(x) and thus, {σx(p), σx(q), σy(r), σy(s)} ⊆ B(x). Since {e, e0} 6⊆ Q,
σi(p) 6= σi(q) 6= σj(r) 6= σj(s). The clique induced by vertices of B(x) in H0 contains
tree edges {σi(p), σi(q)}, {σj(r), σj(s)}. The triangulation H0 is thus illegal which is a
contradiction.
Lemma 20. Let Y be the blocking trees of a coherent triangulation H of G(P). The profile P \ Y is compatible.
Proof. Delete the vertices of trees in Y from H. Let H0 be the resulting graph. Any induced subgraph of a triangulated graph is also triangulated. So, H0 is triangulated. Every edge present in G(P \ Y ) is also present in H0. Hence, H0 is a triangulation of G(P \ Y ). To see that H0 is a legal triangulation of G(P \ Y ), by way of contradiction, assume that there is a clique C in H0 which contains two tree edges e and e0. Since, H0 is an induced subgraph of H, there exists a clique C0 in H which contains both e and e0. Edges e and e0 cannot be from the same tree, since any tree which contains more than one edge in a clique is contained in Y . Since e and e0 are from different trees, the clique C0 in H contains at least an edge each from two different trees, both of which are not in Y , a contradiction. Thus, H0 is a legal triangulation of G(P \ Y ).
Lemma 21. Let Y ⊆ P be a set of unrooted trees where, the profile P \ Y is compatible. Then, there exists a coherent triangulation H of G(P) where, the trees of Y are the blocking trees of H.
Proof. Let H0 be a legal triangulation of G(P \ Y ). Let V0= {v : v ∈ ˆE(T ), T ∈ Y }. Add V0 to graph H0 and make V0 a clique. For every clique C ∈ M C(H0), make V0∪ V (C) a clique. Let H be the resulting graph. Since, H0 is a legal triangulation of G(P \ Y ), graph H is a coherent triangulation of G(P). There exists a clique C ∈ M C(H) if and only if C \ V0 is a clique in M C(H0). It can be seen easily that the trees in Y are the blocking trees of triangulation H.