At this point, with the dependency graph and the relational structure in agreement, we can define a cost relationship betweenρandη. Now, here is a key insight
Theorem 5.4
Let π be an ordering for Gπ and Rπ such that vi = β(xi). Then the computational complexity of
a relaxation process Rπ isO(
1≤i<nm|Nvi|+1), when it follows the vertex elimination process Gπ.
Proof: As stated in section 4.1.1 the computation cost to performρxfor somex∈Xism|Dx|+1.
From corollary 5.6 we havem|Dxi|+1=m|Nvi|+1, where v
i=β(xi). G0= (V, E) ηv−→1(G0) G1= (V − {v1}, E∪A−B) ηv−→2(G1) · · · ηvn−−→1(Gn−1) Gn R0= (X, F, φ) φ−→(ρx1) R1= (X− {x1}, F∪ρx, φ(x=ρx1)) φ(ρx2) −→ · · · φ(ρxn−1) −→ Rn (5.14)
The value of the above theorem is that it allows us to express the computational complexity of the solution to our optimization problem purely in terms of neighbors in the corresponding dependency graph. The equation 5.14 shows the relationship between the optimization problem and its dependency graph lockstep transformation. Now, if we find a way to order the vertices to produce a small degree polynomial for the sum of complexities,O(1≤i<nm|Nvi|+1), in terms of neighbors,
performing the relaxation process in same order would give us a low degree polynomial solution for the optimization problem.
To find good vertex orderings we propose two heuristics, one based on graph decomposition techniques and the other based on local properties of the dependency graph.
Chapter 6
Relaxation Order
In the previous chapter we showed a method for finding an exact optimal solution to any instance of ARA using the relaxation operation. However, the computational performance of the method depends on the order in which the relaxations are carried out. In this chapter we propose two methods for finding relaxation orders which seem to produce good results in practice.
The relationship between the relaxation operation and vertex elimination in graphs established in theorem 5.4 allows us to look for a relaxation order in the structure of the dependency graphs. We propose two approaches: a recursive graph decomposition via separators and a greedy search based on vertex degrees.
6.1
Graph Decomposition
Recent advances in graph complexity theory provide a set of tools to analyze graphs through tree decomposition. We first show the properties of tree decompositions and then refer to two of several known algorithms, one based on clique separators and originally due to Tarjan[35] with improvements by Leimer [22], and another based on minimal separators which can be identified with techniques by [4] and [23]. We then show how to use the decompositions produced with these techniques to extract good relaxation orders.
6.1.1
Notation
LetG= (V, E) be an undirected, simple graph. LetU ⊆V, thenG(U)(U, E(U)) is thesubgraph
ofGinduced byU, whereE(U){{v, w} ∈E:v, w∈U}. A path betweenvandvinGis denoted byvGv and ifv is a vertex on the this path, thenv∈vGv. C(U) denotes the set of connected components ofG(V\U).
G(U) is aclique, if∀v, w∈U :∃{v, w} ∈E. Also, the empty set∅is a clique. A graph is a clique if its vertex set is a clique. U ⊆V is a separator forA, B ⊆V −U, if every path between a∈A andb∈B contains a vertex inU. U is a separator forGif there are non-empty setsA, B∈V −U
such that U is a separator forA andB. A graphGthat has a clique separator is called reducible, otherwise it isprime.
6.1.2
Tree-decomposition properties
Definition 6.1 (Decomposition Tree)
A decomposition treeof a graphG is a pairD= (T,V), whereT is a tree andV ={Vt}t∈T is a family of vertex sets Vt⊆V(G), indexed by the vertices t∈T that satisfy the following:
(T1) V(G) = t∈TVt (T2) ∀(v, w)∈E(G) :∃t∈T :v∈Vt∧w∈Vt (T3) ∀t1, t2, t3∈T :t2∈t1T t3⇐⇒Vt1∩Vt3⊆Vt2 (6.1) Vt6 Vt7 Vt8 V t9 V t5 V t1 Vt4 Vt2 Vt3 t8 t7 t9 t6 t5 t4 t1 t2 t3
Figure 6.1: Tree Decomposition of a Graph
Definition 6.2 (Tree-Width)
Awidth of a tree decomposition(T,V)is
max{|V(t)| −1 :t∈T} (6.2)
and the tree-width of G, denoted by tw(G), is the least integer w such that G admits a tree- decomposition of width w. Graphs of tree-width≤kare called k-decomposable.
Remark 6.1
For example, tw(G)≤1 if and only if G is a forest; tw(G)≤2 if and only if it is series parallel; and the complete graphKn has tw(G) =n−1.
Some of what is known about tree decompositions is summarized in [23] as follows: 1) many NP-hard graph problems can be solved in polynomial time when a tree decomposition is given 2) if twis part of input, the decision problem “istw(G)≤w?” is NP-complete [1]. 3) For every fixedw there exists an O(|V(G)|2) algorithm for deciding whethertw(G)≤w, though the proof is merely existential. 4) There are linear algorithms to determine whether tw(G) ≤ w, where w = 1,2,3
Class Treewidth Bounded degree N[8] Trees/Forests C Series-parallel graphs C Outerplanar graphs C Halin graphs C[36] k-Outerplanar graphs C[7] Planar graphs O Chordal graphs P(1)
Starlike chordal graphs P(1) k-Starlike chordal graphs P(1)
Co-chordal graphs P[8]
Split graphs P(1)
Bipartite graphs N
Permutation graphs P[5] Circular permutation graphs P[5] Cocomparability graphs N[2],[17]
Cographs P[6]
Chordal bipartite graphs P[20]
Interval graphs P(2)
Circular arc graphs P[34]
Circle graphs P[19]
P = polynomial time solvable. C = constant (linear time solvable). N = NP-complete. O = Open Problem. (1) The treewidth of a chordal graph equals its maximum clique size minus one. (2) The treewidth of an interval graph equals its its maximum clique size minus one.
Table 6.1: Classes of graphs with known treewidth computation time, from Bodlaender[8]
and when the result is positive to construct the tree. Finally, there is a variety of approximate decomposition algorithms as well as some that find less than optimal decompositions, such as one returning at most 4∗tw [28]. Bodlaender in [8] provides a summary of classes of graphs for which there are known treewidth results (see Table 6.1).
Definition 6.3 (Minimal Separators)
U ⊆ V is called an ab-separator if there exist vertices a ∈ V and b ∈ V that are in different connected components of C(U). The set U is aminimal ab-separatorif no proper subset ofU is an ab-separator. Finally,U is a minimal separatorif there is some paira, b∈V for whichU is a minimal ab-separator. Separators that are cliques are calledclique separators. The nodes of the decomposition tree derived via clique separators are called simplical summands.
6.1.3
Decomposition Process
A decomposition of a simple connected graphG= (V, E) works by finding a minimal separatorU that breaksG into two or more connected componentsC(U). Then each component is augmented with the subgraph induced by the separator. We repeat the decomposition process on each component recursively until no longer possible. Namely, until all the resulting components are prime.
In general the decompositions are not unique, since often a graph can be split along several dif- ferent separators. This yields different decomposition trees of different widths. If the separators are chosen to be minimal clique separators, then any decomposition gives the same prime components, though not necessarily of optimal width. Developing methods for choosing the separators to yield the lowest width decompositions is currently of primary interest for our algorithm to work efficiently, as well as for many other applications.
Tarjan[35] proposed a polynomial-time algorithm that decomposes a graph by systematically choosing minimal clique separators. Berry[4] showed a way to identify all the minimal separators of a graph at the cost ofO(n3) per separator, any of which could be chosen for decomposition. We simulated a number of graphs choosing minimal separators at random and this approach has shown to give low width decompositions for many practical problem instances.
Example 6.1 (Graph Decomposition)
Figure 6.2 is an application of a clique decomposition of our example problem 4.1 with minimal separators. v1 v6 v2 v4 v3 v5 v1 v2 v4 v3 v5 v2 v4 v3 v5 Simplical Summands: {v1,v2,v6},{v1,v2,v3}, {v2,v3,v4},{v3,v4,v5}
Figure 6.2: Example Problem Dependency Graph
In Figure 6.2, the first clique is {v1, v2} which separates the graph into a prime subgraph {v1, v2, v6} and the remaining part {v1, v2, v3, v4, v5}. The next clique separator is {v2, v3} and so on. In this way, the decomposition produces the irreducible subgraphs indicated in the figure.
6.2
Relaxation Order
Now, the final step is to extract a good vertex elimination ordering from the prime subgraphs produced by a graph decomposition. We propose the following 2-step algorithm:
Algorithm 6.1 Input: Let (T,V) be a tree decomposition ofG. Then,
1) Find a vertexv that appears in exactly one prime subgraph Vt and label it as next (starting at 1).
2) RemovevfromVt;Vt:=Vt− {v}and ifVt− {v}is the separator ofVtin the tree decomposition then remove the leafVt fromV.
3) IfV is not empty, repeat step 1.
Output: a vertex orderingπ.
Lemma 6.2
In step 1 of algorithm 6.1 av∈V that appears in exactly one prime subgraph always exists.
Proof: Suppose not. Then we have a tree where every vertex of G appears in at least two leaves, namely∀v∈V :∃Vt, Vt ∈ V:v ∈Vt∧v∈Vt. This is only possible whenv∈C andC is a separator forVtandVt. Thus, all the vertices must be in some separators. Impossible, since initially a) by definition a separatorC divides a graph into subgraphsAand B, both non-empty, such that A∩B=∅and b) step 2 removes theVtwhen all the separated vertices have been removed.
Lemma 6.3
The algorithm 6.1 enumerates all the vertices inG.
Proof: Clearly all the non-separator vertices are enumerated, since they satisfy the condition in step 1 directly. So, we only need to show this for all the vertices in the separators. Now letv∈V be such that there exists a separatorCwherev∈C. Then there exists some set of prime subgraphs Vt1, ..., Vk
t wherev∈Vti for 1≤i≤k. From step 2 we know that a prime subgraph is removed from
V when all its vertices but those in its separator have been removed. These subgraphs are going to be removed in some order, and since vertices are never added to any subgraphs, there will eventually be a the last one, sayVtj, that is the only one containingv. But this would satisfy the condition in step 1 andv will then be enumerated.
6.3
Main Result
The following theorem completes the relationship between the optimization problems and their dependency graphs. It ties the complexity in terms of neighbors in Theorem 5.4 with a standard graph complexity metric of tree-width.
Theorem 6.1
Let D be a tree-decomposition of the dependency graph Gfor problem R of width w, producing an orderingπ. Then, the computational complexity to find an optimal solution toR via the relaxation process in the orderπis O(φc∗n∗mw+1).
Proof: From theorem 5.4 we have that for any orderingπ, performing the relaxation processRπ
has a computational complexity of O(1≤i<nm|Nvi|+1), whereNv
i is the set of neighbors ofvi in
Gi of the corresponding vertex elimination process Gπ. To show the bound in terms of tree width w, we only need to show that each vertexvi being eliminated has|Nvi| ≤win Gi.
Now, a tree decompositionDofGof width whas the property that for each leaft∈T,|V(t)| ≤w. Its other property (from definition T2 in 6.1) is that∀v ∈ V(t)−C(t) :∀v ∈Nv :v ∈ V(t), where C(t) is the separator fort. Namely, all the neighbors of anyv in V(t)−C(t) belong to the same prime subgraphV(t). Therefore, the cost to eliminate any vertexv in V(t)−C(t) isO(mw+1).
Now, the orderingπ produced by algorithm 6.1 is such that when any vertexvis removed, it is not a separator, i.e. it appears in only one leaf. Thus, in the worst case, the total cost to eliminate all the vertices in the orderπ isO(1≤i<nmw+1) =O(n∗mw+1) and, the relaxation process Rπ
has the same computational complexity. QED.