3.4 Preprocessing and Default Assumptions
3.4.3 Biconnectivity
Finally, consider the case that G= (V, A) is strongly connected, but not biconnected. The following fact is commonly known (cf. [Sta90]):
Proposition 3.1
A set of arcs B ⊆ A is a feedback arc set for a graph G = (V, A) if and only if B =⋃
iBi such that Bi is a feedback arc set of βi, for every block βiof G.
As this may not be entirely obvious at first glance, we provide a short proof here. Proof. Let β0, . . . , βkdenote the blocks of G and let T be the block-cut tree of G. Consider two vertices u, v ∈ V that are not cut vertices and contained in blocks βu and βv, respectively, such that βu ̸= βv. As G is strongly connected, there must be paths P= u ⇝ v and P′= v ⇝ u in G. Both paths contain all cut vertices X on the path from
βuto βv in T . Let C denote the cycle consisting of P and P′. In this case, C contains all vertices in X at least twice, i. e. , C is not simple. Instead, C consists of a set of simple cycles formed by the subpaths between two cut vertices. The vertices of every such simple cycle are subsequently contained in a common block of G. Furthermore, C is
3.4 Preprocessing and Default Assumptions 51 covered by a feedback arc set if and only if every cycle of this set of simple cycles is covered.
Hence, it suffices to solve the LINEARORDERINGseparately on each block and com-
bine the result afterwards, which allows us assume:
Assumption 3.3
The input graph is biconnected.
Let β0, . . . , βkagain denote the blocks of G and let π0, . . . , πkbe their respective linear orderings. A linear ordering π of the graph G can be obtained by sorting the acyclic subgraph G⏐
⏐F that results from removing all arcs that have been classified as backward
by one of π0, . . . , πktopologically, asProposition 3.1immediately suggests. Alternatively,
πcan be constructed directly from the π0, . . . , πkas follows: Traverse the block-cut tree T of G by a depth-first search to obtain a preordering of the blocks and sort the linear orderings of the blocks according to this preorder. For simplicity, assume that π0, . . . , πk is already such an ordering. We incrementally construct a combined linear ordering: Let π(0) = π0. For 0 < i ≤ k, let vi denote the only common vertex of πi and π(i−1). This vertex must be a cut vertex, as it is part of at least two blocks, and, as T is a tree, there can only be one such vertex. Construct π(i) from π(i−1) by replacing viin π(i−1) with the linear ordering πi. More formally, for two distinct vertices u ̸= w contained in one of the blocks β0, . . . , βi, π(i)(u) < π(i)(w) if and only if either both are contained in βiand πi(u) < πi(w), or both are not contained in βi and π(i−1)(u) < π(i−1)(w), or u is contained in βi, w is not contained in βi, and π(i−1)(vi) < π(i−1)(w), or u is not contained in βi, w is contained in βi, and π(i−1)(u) < π(i−1)(vi). Then, π = π(k)is a linear ordering of G that conforms with every linear ordering πi,0 ≤ i ≤ k.
With respect to the aim of using all assumptions concurrently, let us briefly address the question of whether a block of a strongly connected graph is again strongly connected.
Proposition 3.2
Every block β of a strongly connected graph G is itself strongly connected.
Proof. Let T be the block-cut tree of G and let u, v be two vertices of the same block β of T . As G is strongly connected, there is a path P = u ⇝ v in G. If P contains only vertices of β, P is also a path in β. Suppose P contains a vertex that does not belong to β. In this case, P must also pass through at least one cut vertex. Let w be the first cut vertex
v8 v9 v10 v11 β0 v8 v9 v10 v11 (a) (b)
Figure 3.11:The block β0of σ5along with an (optimal) linear ordering.
v10 v12 v13 β1 v12 v10 v13 (a) (b)
Figure 3.12:The block β1of σ5along with an (optimal) linear ordering.
encountered on a traversal of P. Then, w is contained in β and P leaves β at w. However, Pmust end at v, which is also contained in β and, as T is a tree and w is a cut vertex, P must enter β again at w. Subsequently, β contains a path u ⇝ w as well as a path w ⇝ v. Hence, β contains a path u ⇝ v for every pair of vertices u, v, which implies that β is strongly connected.
We can thus continue the preprocessing of the input graph after the removal of loops and pairs of anti-parallel arcs as well as the partition into strongly connected components by simply splitting these SCCs up into blocks.
The strongly connected components of the example graph, as visualized inFigure 3.10
are all biconnected except for σ5, which has a cut vertex v10. Figure 3.11andFigure 3.12
show the two blocks of σ5 along with an optimal linear ordering for each block. The block-cut tree of σ5 is depicted inFigure 3.13(a). The linear ordering for σ5 obtained using the procedure described above is given inFigure 3.13(b).
v10
β0 β1
v8 v9 v12 v10 v13 v11
(a) (b)
Figure 3.13:The block-cut tree of σ5and the linear ordering constructed from those of β0
3.4 Preprocessing and Default Assumptions 53
σ1 σ0 σ5 σ2 σ3 σ4 σ6
Figure 3.14:A topological sorting of the SCCs depicted inFigure 3.10.
v2 v0 v1 v3 v8 v9 v12 v10 v13 v11 v4 v6 v7 v5
Figure 3.15:An (optimal) linear ordering of the graph depicted inFigure 3.10, obtained
by concatenating the linear orderings of the SCCs in the order of the topological sorting as shown inFigure 3.14.
v2 v0 v1 v3 v8 v9 v12 v10 v13 v11 v4 v6 v7 v5
Figure 3.16: An optimal linear ordering of the example graph after the reinsertion of
loops and pairs of anti-parallel arcs. The linear ordering corresponds to that depicted inFigure 3.15.
In order to finish the example, we next obtain a topological sorting of the condensation of the graph shown inFigure 3.10, which is depicted inFigure 3.14. Afterwards, the sep- arately computed, here even optimal, linear orderings of the SCCs can be “concatenated” in the order of the topological sorting (cf.Figure 3.15).
Finally, the loops and anti-parallel arcs are reinserted into the graph, thus leading to a linear ordering of the original input graph. Figure 3.16provides the optimal linear ordering of the example graph that has arisen from these steps.
4
Properties of Optimal Linear
Orderings: A Microscopic View
Finding the absolutely best solution to a problem is often time consuming, and, if the instance is big enough, at times even impossible. In this chapter, we specifically study optimal solutions to the LINEAR ORDERINGproblem to gain more insight intotheir structure. In doing so, we apply a kind of microscopic view with the emphasis being placed primarily on single arcs and vertices, thus opposing more “macroscopic” approaches that operate on higher abstraction levels. Whereas this limitation might appear disadvantageous at first sight, it turns out to be powerful in sum due to synergy effects.
We benefit algorithmically in two respects: First, approximation algorithms and heuristics can be improved to yield better solutions while still running in polynomial time. In the course of this chapter, algorithms are developed that monotonically improve a given linear ordering. Second, exact algorithms can take advantage of these findings and be sped up. A third aspect consists in the ability to prove new bounds on the cardinality of an optimal solution for different kinds of graphs.
As a consequence, the contents provided here form the basis for all subsequent chapters.
4.1 General Framework
A solution to a problem is optimal if and only if it is at least as good as every other solution. This is the common definition for optimality. As LINEAR ORDERING is a
minimization problem, the part “is as good as” translates to “induces at most as many backward arcs as” here. In order to obtain a more formal definition, we introduce a predicate Opt which expresses whether a linear ordering π is optimal, i. e. , Opt(π) =
true, or not, i. e. , Opt(π) = false or ¬Opt(π) = true. Then, we can express optimality as follows: Opt(π) ⇔ ∀π′ : |π| ≤⏐ ⏐π′ ⏐ ⏐
As mentioned at the beginning, finding such a solution for N P-hard optimization problems such as LO and FAS is in any case resource consuming and sometimes im- possible in practice. Instead, one tries to find good solutions, where “good” may be interpreted in different ways. A “good” solution may, e. g. , be one that is provably close to the optimum, with the downside that something about the optimal solution must be known. A different approach consists in optimizing a given solution as far as possible. Optimality is unquestionably a very ambitious property for a linear ordering to achieve. In the following sections, we therefore establish a more accessible set of prop- erties with the characteristic that if a linear ordering disrespects one of them, it is not optimal and can be improved in a prespecified way. A special class of such properties consists in those who require a coupling with another property such that the compli- ance of a linear ordering depends on the choice of the partner. We call such properties meta-propertiesand address a selection of them in the last section of this chapter.
Just as Opt indicates whether or not a linear ordering is optimal, we define a predicate for every introduced property that can be established efficiently and that is not a meta- property. Furthermore, we define a setΨ that encompasses all these predicates. The “superpredicate”Ψoptthen expresses that a linear ordering has all properties defined by
the predicates inΨ:
Ψopt(π) ⇔ ∀ψ ∈ Ψ : ψ(π)
We call a linear ordering πΨ-optimal if and only if Ψopt(π) = true. As a reminder, we point out that π∗always denotes an optimal linear ordering, i. e. , Opt(π∗) is always true (cf.Section 3.3).
In this chapter, we prove the following two theorems:
Theorem 4.1
For every linear ordering π holds: Opt(π) ⇒ Ψopt(π).
A characteristic of the properties inΨ is that all can be established concurrently and in polynomial time, which allows us to implement aΨopt-algorithm for LINEARORDERING.
4.1 General Framework 57
Theorem 4.2
There is an O(n · m2· min{n23, m12})-time algorithm that constructs a Ψ-optimal linear ordering π.
In the individual sections of the chapter, we will introduce each property separately, prove its validity for optimal linear orderings, and, where applicable, provide a property- establishing algorithm. A common feature of these algorithms is that they can be conveniently formulated by means of the routine Iterate (cf.Algorithm 4.1): Let E(G, π) be an algorithm that takes a graph G and a linear ordering π as input and returns π if it respects the respective property. Otherwise, it applies an improvement to π and returns this new linear ordering. Then, Iterate(G, π, E) establishes the property by calling E(G, π) until no further improvement is possible, i. e. , E’s return value equals its argument π. Algorithm 4.1Iterate
Require: graph G, linear ordering π, property-enforcing routine E(G, π)
Return: a linear ordering obtained from π that respects the property enforced by E(G, π)
1: procedureIterate(G, π, E) 2: π′← π 3: repeat 4: π ← π′ 5: π′ ← E(G, π) 6: until π= π′ 7: return π
A crucial characteristic of every property-enforcing routine E(G, π) is that it never returns a linear ordering π′ such that |π′
| > |π|. This monotonicity in combination with the wrapper algorithm Iterate yields a local search heuristic for every routine E which employs a technique that is also known as hill climbing. In contrast to simulated annealing or tabu search, no worsening of the solution, even if only temporarily, can occur.
The local search terminates as soon as E no longer modifies the linear ordering, i. e. ,
π = π′in the pseudocode. Prior to this, the linear ordering must have been improved in
iteration. As1 ≤ |π| ≤ m, this enables us to bound the running time of Iterate(G, π, E) depending on E as follows1:
Proposition 4.1
Iterate(G, π, E) runs in O(m) times the running time of E(G, π).