Determining what sets of trees can be the clique trees of a chordal graph

Chordal graphs have characteristic tree representations, the clique trees. The problems of finding one or enumerating them have already been solved in a satisfactory way. In this paper, the following related problem is studied: given a family of trees, all having the same vertex set V, determine whether there exists a chordal graph whose set of clique trees equals . For that purpose, we undertake a study of the structural properties, some already known and some new, of the clique trees of a chordal graph and the characteristics of the sets that induce subtrees of every clique tree. Some necessary and sufficient conditions and examples of how they can be applied are found, eventually establishing that a positive or negative answer to the problem can be obtained in polynomial time. If affirmative, a graph whose set of clique trees equals is also obtained. Finally, all the chordal graphs with set of clique trees equal to are characterized.


Definitions
For a graph G, V (G) and E(G) denote the sets of its vertices and edges, respectively. A subset of V (G) is complete if its elements are pairwise adjacent in G. A clique is a maximal complete subset. The family of cliques of G is denoted by C (G).
The subgraph induced by A ⊆ V (G), G [A], has A as vertex set, and two vertices are adjacent in G [A] if and only if they are adjacent in G.
Given two vertices u and v in the same connected component of G, a uv-separator is a set S ⊆ V (G) such that u and v are in different connected components of G − S := G[V (G) − S]. It is minimal if no proper subset of S has the same property. We will just say minimal vertex separator to refer to a minimal set separating some pair of nonadjacent vertices. The family of minimal vertex separators of G will be denoted by S (G).
Let F be a family of nonempty sets. F is intersecting if every pair of members of F has a nonempty intersection. F is Helly if the intersection of all the members of each intersecting subfamily of F is not empty. F is separating if, for every v ∈ S F ∈F F , the intersection of all the members of F containing v equals {v}. The intersection graph of F , L(F ), has the members of F as vertices and all the pairs of members of F with nonempty intersection as edges. The intersection graph of C (G), denoted by K(G), is called the clique graph of G.
Let T be a tree, and v, w ∈ V (T ). T [v, w] is the set of vertices in the path of T from v to w. If the edge vw is not in T and v 0 w 0 ∈ E(T ) is such that v 0 , w 0 ∈ T [v, w], the tree obtained by removing v 0 w 0 from T and adding vw to it is denoted by T − v 0 w 0 + vw.
Given a family T of trees with common set of vertices V , E(T ) denotes the set of edges each of which is in at least one tree of T .

Notions on chordal graphs and clique trees
Given a cycle C, a chord is defined as an edge joining two nonconsecutive vertices of C. Chordal graphs are mostly defined as those for which every cycle of length greater than or equal to four has a chord. Chordal graphs have been widely studied, partially due to the fact that they arise in the solution of many practical problems. Many characterizations have been found for chordal graphs. One of them says that a graph is chordal if and only if each minimal vertex separator of the graph is complete [2]. Now we proceed to discuss the characterization most related to the subject of this paper.
Given a graph G and v ∈ V (G), C v denotes the set of cliques of G containing v. The collection of the sets C v , v ∈ V (G), receives the name of dual clique family of G. More generally, given and, for every v ∈ V (G), C v induces a subtree of T . It is not difficult to see that clique trees can also be defined as those for which, for every triple C 1 , C 2 , C 3 of cliques of G, Clique trees are characteristic to chordal graphs, i.e., a graph is chordal if and only it has at least one clique tree [10]. The family of clique trees of G will be denoted by τ (G).
It is our interest to mention some of the basic structural properties of clique trees, as they will be necessary for the remainder of the paper. First, we note that clique trees can be characterized as maximum weight spanning trees: Theorem 1 [9] Let G be a chordal graph, and let K(G) w be the graph obtained from K(G) by assigning each edge CC 0 the weight |C ∩ C 0 |. Then, T is a is a clique tree of G if and only if it is a maximum-weight spanning tree of K(G) w .
Proof It is known from the definition of clique trees that It is also useful to know what edges can be found in the clique trees of the graph. Two cliques C 1 and C 2 are a separating pair if C 1 ∩ C 2 separates each pair of vertices such that one is in C 1 − C 2 and the other is in C 2 − C 1 . As cliques are complete subsets of vertices, this definition implies that C 1 ∩ C 2 is a minimal vertex separator. These and other properties appearing in [3] were fundamental to show the important role minimal vertex separators play in analyzing clique trees. They were particularly useful for us in the development of the work [1], focusing, among other things, on the subsets that induce subtrees in clique trees. This paper can be viewed as a sequel of it, with several of its concepts and ideas being used below.

The problem to be studied
There are some efficient algorithms for computing maximum/minimum-weight spanning trees of a given graph [8]. Thus, Theorem 1 makes it possible to find a clique tree of a chordal graph in a very efficient way. The problem of generating all the clique trees of a chordal graph has also been considered [5]. Since the number of trees with a given set of vertices is exponential, so could be the case for the clique trees of a chordal graph. However, there are polynomial algorithms to count all the clique trees of a chordal graph [11].
To our knowledge, the reverse problem has not been studied and is of theoretical importance to us. More clearly, take a family T of trees on the same vertex set V , the problem being to find a chordal graph G such that τ (G) = T , when possible. Our goal is to show that this can be done in polynomial time with respect to |T | and |V | by exploiting the structural properties of clique trees and the sets that induce subtrees in them.
In Sect. 2, we find several necessary conditions which are very effective in detecting many negative instances of the problem. They are derived from several interesting properties of clique trees and its edges, which are listed and proved.
In Sect. 3, necessary and sufficient conditions on which the exact solution of the problem is based are found, and the structure of the graphs with given set of clique trees is discussed. This requires, among others, two results that we consider important in themselves. Namely, we find a new way to characterize clique trees (see Theorems 7 and 3), and we give a necessary and sufficient condition for two graphs to have the same clique trees (Theorem 6).

Necessary conditions
T will be a fixed tree family throughout this section. Several properties about the clique trees of a chordal graph will be listed and proved, and the necessary conditions for T to be the family of clique trees of a chordal graph inferred from them will appear below.
Recall that τ (G) is used to denote the family of clique trees of a chordal graph G. The following result can be proved as a consequence of Theorem 1.

Necessary condition number 1 H T is connected.
For example, according to the first necessary condition, the trees of Fig. 2 cannot be all the clique trees of a chordal graph. For this family, the graph H T consists of two vertices that are not adjacent, since we cannot get one tree from the other by removing an edge and adding another.
We have already seen a necessary and sufficient condition for an edge to be in the set E(τ (G)) of edges each being in at least one clique tree of G (see Theorem 2). Now we write another statement:  [7] Let G be a chordal graph, and T a clique tree of G. Then, The consequent necessary condition is the following:

Necessary condition number 2 For all T ∈ T and e
The trees of Fig. 2 do not satisfy this condition either. In fact, if they satisfied the condition, the first condition would have been satisfied too. Now we proceed to characterize the graph H * τ (G) : respectively. Also, let B be the set with the vertices of the other connected components, if any. Then, by Theorem 2, A 1 6 = A 2 and A 3 6 = A 4 . We consider three cases: (2) Two of the sets are equal. Suppose without loss of generality that Then, T is a clique tree of G, and so is There are two couples of equal sets. Suppose without loss of generality that Then, T is a clique tree of G, and so is In combination with Theorem 2, we have the following:

Corollary 2 Let G be a chordal graph. Then, the number of connected components of H * τ (G) equals |S (G)|, and each of them is a complete subgraph.
The necessary condition can be expressed in very similar terms: Necessary condition number 3 The connected components of H * T are complete subgraphs.
For example, we can clearly see that the family of trees in Fig. 1 satisfies this condition.
In the first case, Recall that, for a set A of vertices of a graph, the set C A consists of all the cliques of the graph containing A. Then we have: Then, by Proposition 3 and Corollary 2, C ∩ C 0 = C 1 ∩ C 2 = S, and hence C ∈ C S . Therefore, P (H 0 ) ⊆ C S .
Conversely, let C ∈ C S . If C = C 1 or C = C 2 , then clearly C ∈ P (H 0 ). Otherwise, by Proposition 4, In either case, we conclude that C ∈ P (H 0 ). It follows that C S ⊆ P (H 0 ). Therefore, P (H 0 ) = C S . ¤  Proof We only prove that both statements are equivalent.
Suppose that the first one is true, and let H 0 be a connected component of H * T , and u, v ∈ P (H 0 ) be such that uv 6 ∈ V (H 0 ). Suppose that w ∈ P (H 0 ) is such that uw ∈ V (H 0 ). Then, by the hypothesis, uv ∈ V (H 0 ) or vw ∈ V (H 0 ). Since the first possibility is not true, vw ∈ V (H 0 ). We conclude from this reasoning that Therefore, the equality holds. Now suppose that the second statement is true, and let H 0 be a connected component of H * T , uv ∈ V (H 0 ), and w ∈ P (H 0 ). If uw ∈ V (H 0 ), nothing else is necessary to conclude that the first statement is true. Otherwise, by the hy- Since v is in the first of these sets, it is also in the second. Therefore, vw ∈ V (H 0 ). ¤ On the other hand, if G is a chordal graph and S is a minimal vertex separator of G, then C S = T v∈S C v . Therefore, C S induces a subtree of every clique tree of G. In combination with Proposition 5, we get one more necessary condition.

Necessary condition number 5 For all T ∈ T and every connected component
As an example, consider the trees of Fig. 3. It is not difficult to check that this family satisfies the first four necessary conditions. However, the connected component H 0 of H * T containing 25 has only one more vertex, namely, 45. Then, P (H 0 ) = {2, 4, 5}. This set does not induce a subtree in any of the trees. Therefore, there is no chordal graph whose clique trees are just these two.
Proposition 5 tells us that there is a way to find the sets C S by only looking at the clique trees of the graph. Now we find another way also based on the clique trees: Proof Let C be any element of T G [C 1 , C 2 ], and T ∈τ (G) be such that C ∈ T [C 1 , C 2 ]. Since T is a clique tree, C 1 ∩ C 2 ⊆ C, and hence C ∈ C S . Therefore, T G [C 1 , C 2 ] ⊆ C S . Now suppose that C ∈ C S . If C = C 1 or C = C 2 , it is clear that C ∈ T G [C 1 , C 2 ]. Otherwise, by Proposition 4, C 1 C 2 is adjacent to CC 1 in H * τ (G) , or C 1 C 2 is adjacent to CC 2 in H * τ (G) . Suppose without loss of generality that the first is true. Let T be a clique tree of G such that T − CC 1 + C 1 C 2 is also a clique tree of G. Then, C ∈ T [C 1 , C 2 ], and thus C ∈ T G [C 1 , C 2 ]. Therefore, C S ⊆ T G [C 1 , C 2 ], and the equality follows. Consider again the trees in Fig. 3. We see easily that T [2, 5] = {2, 3, 4, 5}. Therefore, the trees of Fig. 3 satisfy the sixth necessary condition, but they do not satisfy the seventh necessary condition.

Main results
The goal of this section is to find some necessary and sufficient conditions for a family T to be equal to the family of clique trees of a chordal graph, in the hope of deriving a procedure, running in polynomial time with respect to the number of members of T and the number of vertices the trees in T have, to solve the decision problem.
Clique trees were defined by the fact that each set C v induces a subtree. But these are not necessarily the only sets that induce subtrees in every clique tree of the chordal graph. We define S C (G) as the family of subsets of C (G) inducing a subtree in every clique tree of G. The symbol to denote this family is derived from the initial letters of the words subtree and chordal and should not be confused with a mixture between S (G) and C (G). Since any family of subtrees of a tree is Helly [6], it can be deduced that S C (G) is a Helly family. It is not difficult to see that the intersection of members of S C (G) is in S C (G) and that, if F 1 , F 2 , . . . , F n ∈ S C (G) satisfy that for all 1 < i ≤ n, there exists j < i such that F i ∩ F j 6 = ∅, then S n i=1 F i ∈ S C (G). Such unions are called connected. A subfamily B of S C (G) is called generating if, for each F ∈ S C (G) such that |F | ≥ 2, F can be expressed as the connected union of some members of B.
The first result about generating subfamilies is as follows: Proof (a) Let T be a clique tree of G. Then, since B ⊆ S C (G), each member of B induces a subtree of T . Conversely, suppose that T is a tree with vertex set C (G) such that every member of B induces a subtree of T . For every v ∈ V (G), either C v is a unit set, or it can be expressed as the connected union of members of B. Thus, for every v ∈ V (G), C v induces a subtree of T . Therefore, T is a clique tree.
(b) Set G 0 = L(F ). L(F ) can be represented as the intersection graph of subtrees of any clique tree of G, and so it is a chordal graph [4]. Now we find the cliques of L(F ). Let F 0 be a clique of L(F ). Then, F 0 is an intersecting subfamily of F . Since F can be represented as a family of subtrees of a tree and hence is Helly [6], we can conclude that there ex- Conversely, as F is separating, it is possible to prove that, for each C ∈ C (G), D C is a clique of L(F ). Therefore, the family of cliques of L(F ) consists of all the sets D C , By the construction of F , it is a consequence of part (a) that T is a clique tree of G if and only if each member of F induces a subtree of T , that is, T is a clique tree of G 0 . Therefore, G and G 0 have the same clique trees. ¤ In our context, Proposition 7 means that if someone found a chordal graph making the answer to our decision problem affirmative, not revealing what the graph is but revealing one family generating all the subtree-inducing subsets of the clique trees of the graph, we would be able to verify it ourselves by constructing another graph. Consequently, knowing the generating family is almost as important as knowing the chordal graph itself. This also suggests that, given T , trying to derive from it a generating family for a potential chordal graph with family of clique trees equal to T might be a very useful approach. Our next steps go in that direction.

Theorem 3 Let G be a chordal graph. Then, {C S : S ∈ S (G)} is a generating subfamily of S C (G).
Proof It is clear that, for each S ∈ S (G), C S ∈ S C (G).
Let A ∈ S C (G) with |A| ≥ 2. In order to prove that A is the connected union of sets of the form C S , we take T 1 ∈ τ (G). Let C 1 C 2 be an edge of T 1 [A]. Since C 1 , C 2 ∈ A and A ∈ S C (G), T [C 1 , C 2 ] ⊆ A for all T ∈ τ (G). Consequently, we can apply the statement and terminology of Proposition 6 to get that C C 1 ∩C 2 = T G [C 1 , C 2 ] ⊆ A. As is a subtree also makes the union be connected. Therefore, {C S : S ∈ S (G)} is a generating subfamily of S C (G). ¤ In view of Propositions 5 and 6, there is at least a couple of procedures based on looking at all the clique trees of the graph for obtaining this generating subfamily, such as finding the sets T G [u, v] or P (H 0 ). As a consequence, if we followed the same procedures on a family T of trees, a potential graph having T as its family of clique trees could be obtained.
The converse is clearly true. We just need to set G = L(F 0 ). ¤ In view of Theorem 4, the answer to our problem solely depends on whether L(F 0 ) is a solution or not. In order to be a solution, two natural conditions arise, namely, all the members of T must be clique trees of L(F 0 ), and no other tree can be a clique tree of L(F 0 ).
If L(F 0 ) is a solution to the problem and we want to apply to L(F 0 ) the procedure described in Theorem 1 to find clique trees, we need to know what the family of cliques of L(F 0 ) is. Reasoning as in the proof of Proposition 7, part (b), the family of cliques of L(F 0 ) consists of all the sets In order to give weights to the edges of the clique graph, we note that |D u ∩ D v | = |{F ∈ F : {u, v} ⊆ F }|. Consequently, if T and T 0 are two trees in T such that T 0 = T − wx + uv, we must have that D u ∩ D v = D w ∩ D x . This motivates the following result:  Let T be any tree in T and suppose that w, x are two vertices in T [u, v] such that D uv = D wx . Then, by Theorem 1 and the remark previous to this theorem, Conversely, suppose that conditions 1 and 2 hold. Then, by condition 1, L(F 0 ) is a chordal graph such that T ⊆ τ (L(F 0 )). Now, let T ∈ T , and let T 0 be adjacent to T in H τ (L(F 0 )) . Take the edges uv and wx such that T 0 = T − wx + uv. Then, D uv = D wx and, by condition 2, T 0 ∈ T . From this reasoning and the fact that, by It is clear that F and the sets D uv can be found in polynomial time with respect to |T | and |V |. Condition 1 can also be tested in polynomial time. Moreover, for each pair of different vertices u, v and T ∈ T , the number of edges wx in T such that D uv = D wx cannot be larger than |V | − 1. Therefore, the number of operations necessary to test condition 2 is polynomial. As a conclusion, the whole problem can be solved polynomially. However, developing an algorithm that could reduce the complexity of the solution is outside the scope of this paper.  We end the paper by finding an expression for all the graphs that can solve the general problem.
As a first step, given a chordal graph G, we characterize the graphs with the same clique trees as G. Every graph can be determined by its dual clique family, since its intersection graph is the graph itself. For the case of G, the sets C S , with S minimal vertex separator, can be expressed as intersection of members of the dual clique family. If G 0 is another chordal graph with the same clique trees as G, then the sets of the form C S are the same as in G because, as we saw by Proposition 6, there is an expression for them in terms of the clique trees and again can be expressed as the intersection of members of the dual clique family of G 0 . These ideas and some others lead to the following theorem: Theorem 6 Let G and G 0 be two chordal graphs. Then, G and G 0 have the same clique trees if and only if G 0 = L(F ), where F is a separating subfamily of S C (G) such that, for each S ∈ S (G), Proof Suppose that G 0 = L(F ), where F satisfies the statement of the theorem. If we repeat the reasoning of Proposition 7, part (b), then we also get that {C v } v∈V (G 0 ) ∼ = F . Therefore, since F ⊆ S C (G), every clique tree of G is a clique tree of G 0 . Now, let T be a clique tree of G 0 . Then, each member of F induces a subtree of T . The condition that, for each S ∈ S (G), T F ∈F ,C S ⊆F F = C S implies that C S induces a subtree of T . Therefore, by Proposition 7 and Theorem 3, T is a clique tree of G. It follows that G and G 0 have the same clique trees. Conversely, suppose that G and G 0 are two graphs with the same clique trees. Then, S C (G) = S C (G 0 ). Set F = {C v } v∈V (G 0 ) . Thus, G 0 ∼ = L(F ), and, by the previous statement, F ⊆ S C (G). Now, let S ∈ S (G) and C 1 C 2 ∈ E(τ (G)) be such that C 1 ∩ C 2 = S. The equality of clique trees for both graphs implies that On the other hand, also by Proposition 6, T G 0 [C 1 , C 2 ] can be expressed as an intersection of members of the dual clique family of G 0 , that is, as an intersection of members of F . The equality T F ∈F ,C S ⊆F F = C S immediately follows. ¤ We know that when, given T , the question whether there is a chordal graph whose family of clique trees equals T has an affirmative answer, we can use Theorem 4 to construct a graph with the required clique trees. Combining this with Theorem 6, we will be able to characterize all the chordal graphs with the family of clique trees equal to T .
Let T , T 1 , F , and F 0 be the same as in Theorem 4, i.e., T a family of trees on the same set V of vertices, T 1 ∈ T , F = {T [u, v] : uv ∈ E(T 1 )}, and F 0 = F ∪ {{v} : v ∈ V }. Define the span of F , Sp(F ), as the family of unit sets contained in V plus all the sets that can be obtained as connected unions of members of F . Then we have:  The members of F 00 that contain {3, 4} are {1, 3, 4} and {2, 3, 4, 5}. Their intersection equals T [3,4].
Therefore, we see that this example is in agreement with Theorem 7.