on generation of cut conjunctions, minimal k …rutcor.rutgers.edu/~kborys/thesis.pdfon generation...

119
ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND SPANNING SUBSETS AND VERTICES BY KONRAD BORYS A dissertation submitted to the Graduate School—New Brunswick Rutgers, The State University of New Jersey in partial fulfillment of the requirements for the degree of Doctor of Philosophy Graduate Program in Operations Research Written under the direction of Professor Endre Boros and approved by New Brunswick, New Jersey October, 2006

Upload: others

Post on 19-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

ON GENERATION OF CUT CONJUNCTIONS,MINIMAL K-CONNECTED SPANNING SUBGRAPHS,MINIMAL CONNECTED AND SPANNING SUBSETS

AND VERTICES

BY KONRAD BORYS

A dissertation submitted to the

Graduate School—New Brunswick

Rutgers, The State University of New Jersey

in partial fulfillment of the requirements

for the degree of

Doctor of Philosophy

Graduate Program in Operations Research

Written under the direction of

Professor Endre Boros

and approved by

New Brunswick, New Jersey

October, 2006

Page 2: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

ABSTRACT OF THE DISSERTATION

On Generation of Cut Conjunctions, Minimal

k-Connected Spanning Subgraphs, Minimal Connected

and Spanning Subsets and Vertices

by Konrad Borys

Dissertation Director: Professor Endre Boros

We consider the following problems:

• Cut conjunctions in graphs: given an undirected graph G = (V, E) and a collection

of vertex pairs B ⊆ V × V generate all minimal edge sets X ⊆ E such that every

pair (s, t) ∈ B of vertices is disconnected in (V, E r X), which is a special case of

the more general cut conjunctions problem in matroids: given a matroid M on

ground set S = E ∪B, generate all minimal subsets X ⊆ E such that no element

b ∈ B is spanned by E r X.

We give an incremental polynomial time algorithm to generate cut conjunctions

in graphs. In contrast, the generation of cut conjunctions for vectorial matroids

turns out to be NP-hard.

• k-Vertex (k-edge) connected spanning subgraphs: given an undirected graph G =

(V, E), generate all minimal edge sets X ⊆ E such that the graph (V, X) is

k-vertex (k-edge) connected.

We show that k-vertex connected spanning subgraphs can be generated in incre-

mental polynomial time for any fixed k. The running time of our algorithm is is

ii

Page 3: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

O(N3n2m2+N2n4m5+Nnkm2), where n = |V |, m = |E| and N is the number of

minimal k-vertex connected spanning subgraphs. In case of generating 2-vertex

and 3-vertex connected spanning subgraphs by applying the decomposition the-

ory of connected and 2-vertex connected graphs we obtain an algorithm whose

running time is O(N2m2logN + N2m3).

We also show that generating k-edge connected spanning subgraphs, where k

is part of the input, can be done in incremental polynomial time with running

time O(N2m2logN + N2k2nmlog nk + min{Nn8/3m2, Nn2m5/2}), where N is the

number of minimal k-edge connected spanning subgraphs.

• Minimal connected and spanning subsets: given a connected matroid M on ground

set E, generate all minimal spanning and connected subsets of E. Note that the

problem of generating 2-vertex connected spanning subgraphs of a graph G is a

special case of this problem, since 2-vertex connected subgraphs of G are exactly

the spanning and connected subsets in the cycle matroid of G.

We show that generating all minimal spanning and connected subsets of a given

matroid can be solved in incremental quasi-polynomial time.

• Vertex generation: given a polyhedron defined as an intersection of halfspaces,

generate all its vertices. We show that generating vertices of an unbounded

polyhedron is NP-hard. The question whether we can generate all vertices of

a bounded polyhedron efficiently remains open. We also show that generating

vertices of a bounded polyhedron which do not belong to an open half-space H is

NP-hard.

iii

Page 4: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

Acknowledgements

I am grateful to Profesor Leonid Khachiyan1 who guided my research. I am also grateful

to my thesis advisor Professor Endre Boros. I thank Professors Vladimir Gurvich,

Alexander Kogan, Vadim Lozin, and David Shanno for serving on my dissertation

committee.

The results of this thesis are based on joint papers with Endre Boros, Khaled El-

bassioni, Vladimir Gurvich, Leonid Khachiyan, Kazuhisa Makino and Gabor Rudolf.

1Leonid Khachiyan (1952-2005) passed away on April 29, 2005 at the age of 52.

iv

Page 5: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

Table of Contents

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii

Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1. Monotone Generation Problem . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3. Complexity of Generation Problems . . . . . . . . . . . . . . . . . . . . 3

1.3.1. Extension Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.2. NP-hardness of a Generation Problem . . . . . . . . . . . . . . . 6

1.4. Main Contributions of the Thesis . . . . . . . . . . . . . . . . . . . . . . 7

1.4.1. Cut Conjunctions in Graphs . . . . . . . . . . . . . . . . . . . . . 7

1.4.2. Cut Conjunctions in Matroids . . . . . . . . . . . . . . . . . . . . 8

1.4.3. k-Vertex (k-Edge) Connected Spanning Subgraphs . . . . . . . . 10

1.4.4. Connected Spanning Subsets in Matroids . . . . . . . . . . . . . 12

1.4.5. Vertex Generation . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.5. General Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.5.1. Supergraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.5.2. The X − e + Y method . . . . . . . . . . . . . . . . . . . . . . . 19

1.5.3. Polymatroid Inequalities . . . . . . . . . . . . . . . . . . . . . . . 23

2. Network Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.1. Proof of Theorem 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.1.1. Characterization of Minimal Cut Conjunctions in Graphs . . . . 27

2.1.2. Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.1.3. Generating Cut Conjunctions in H(X, b) . . . . . . . . . . . . . . 29

v

Page 6: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

2.2. Proof of Theorem 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.2.1. Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2.3. Proof of Theorem 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

2.3.1. Dividing a Graph Into Triconnected Components . . . . . . . . . 43

2.3.2. Structure of the Subgraph (V, X r e). . . . . . . . . . . . . . . . 45

2.3.3. Minimal Forward a-b Extensions . . . . . . . . . . . . . . . . . . 49

2.3.4. Proof of Proposition 11 . . . . . . . . . . . . . . . . . . . . . . . 50

2.3.5. Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

2.4. Proof of Theorem 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

2.4.1. (k − 1)-separators of (V, X r e) . . . . . . . . . . . . . . . . . . 61

2.4.2. The Width of L . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

2.4.3. Helly Property for a Family of Sublattices . . . . . . . . . . . . . 68

2.4.4. Generating Minimal Transversals of a δ-Conformal Hypergraph . 68

2.4.5. Proof of Proposition 14 . . . . . . . . . . . . . . . . . . . . . . . 72

2.4.6. Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

2.5. Proof of Theorem 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

2.5.1. Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

3. Vertex Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

3.1. Negative Circuits Generation Problem . . . . . . . . . . . . . . . . . . . 81

3.1.1. Proof of Theorem 10 . . . . . . . . . . . . . . . . . . . . . . . . . 82

3.1.2. Proof of Theorem 11 . . . . . . . . . . . . . . . . . . . . . . . . 83

3.2. Proof of Theorem 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

3.3. Proof of Theorem 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

4. Matroids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

4.1. Proof of Theorem 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

4.2. Proof of Theorem 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

4.3. Proof of Remark 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

4.4. Proof of Theorem 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

vi

Page 7: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

4.5. Proof of Theorem 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

5. Related Open Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Vita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

vii

Page 8: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

1

Chapter 1

Introduction

1.1 Monotone Generation Problem

Let E be a set and let π : 2E → {0, 1} be a monotone boolean function, i.e., one for

which X ⊆ Y implies π(X) ≤ π(Y ). We say that a set X ⊆ E satisfies π if π(X) = 1.

We assume that π has a representation polynomial in the size of E and for every X ⊆ E

it can be evaluated in time polynomial in the size of E.

Due to the monotonicity, π can equivalently be represented by the family of minimal

subsets X ⊆ E satisfying π, i.e., by the family

Fπ = {X | X ⊆ E is a minimal set satisfying π}.

We then define a monotone generation problem as follows:

Monotone Generation Problem

Input: A set E, a monotone Boolean function π.

Output: The list of all elements of Fπ.

This problem also occurs in the Artificial Intelligence literature as the monotone

identification problem [BI95].

Remark 1 Monotone systems come naturally in pairs. To a Boolean function π we as-

sociate its dual πd(X)def= 1−π(ErX). Clearly, we can evaluate efficiently π if and only

if we can evaluate efficiently πd. Given a hypergraph X ⊆ 2E we define its complement

X c def= {E rX | X ∈ X} and its dual X d def

= {Y | Y ⊆ E is a minimal set such that Y ∩

X 6= ∅ for every X ∈ X}. Clearly, (X c)c = X for all hypergraphs and (X d)d = X

Page 9: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

2

whenever X is Sperner, i.e., a hypergraph in which no hyperedge is contained in an-

other. For a monotone Boolean function we have Fdπ = Fπd and Fdc

π is the family of

maximal subsets X ⊆ E not satisfying π.

1.2 Applications

Monotone generations problem naturally arise in a variety of applications:

1. Maximal frequent / minimal infrequent sets: Let A be a 0-1 matrix with

m rows and n columns, and let t ∈ {0, . . . , m + 1} be a threshold. A subset of

I ⊆ {1, . . . , n} is called frequent if there are at least t rows that have a 1 entry

in each column belonging to I, and it is infrequent otherwise. Our task is to

generate all maximal frequent/minimal infrequent sets. Note that a subset of a

frequent set is also frequent and a superset of a infrequent set is also infrequent.

Frequent sets are used in the algorithmic approach to knowledge discovery and

data mining. For instance, a matrix may represent the transaction database

of a department store with columns corresponding to products and rows cor-

responding to transactions. A set of products is frequent if many transactions

involve each of these products. Frequent sets are also used for mining association

rules [AIS93,AMS+96,GKMT97,MT96,MT97], correlations [BMS97], sequential

patterns [AS95], episodes [MTV97] and emerging patterns [DL99].

2. Vertex generation: Given a polyhedron as intersection of halfspaces, generate

all vertices of this polyhedron (in Section 1.4.5 we show that vertex generation

is a monotone generation problem). Vertex generation is a fundamental prob-

lem in computational geometry and has many equivalent formulations, the most

important is facet generation.

There are two classes of applications [DP77]. The first one utilizes the represen-

tation of a polyhedron by convex combination of vertices and extreme directions

to describe the set of solutions to the inequalities, e.g., determining all optimal

strategies to a matrix game, determining all optimal or near-optimal solutions

Page 10: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

3

to a linear program. The second class uses the fact that the set of vertices may

often contain as a subset some target set of points, which are difficult to describe

explicitly.

3. Efficient (inefficient) points of discrete distributions: Given a discrete

probability distribution of a random variable ξ ∈ Zn and a threshold probability

p ∈ (0, 1), generate all minimal (maximal) vectors x ∈ Zn such that Pr[ξ ≤ x] ≥ p

(Pr[ξ ≤ x] ≤ p). This notion of efficient points arises in Stochastic Programming

[DPR00,Pre95].

4. s-t paths, minimal s-t cuts, spanning trees : Given a graph, generate all s-t

paths (minimal s-t cuts, spanning trees). Such problems arise in the reliability

theory. In the stochastic network with independent edge failure probabilities

we want to compute the probability that s and t can communicate (or that all

nodes can communicate). These probability measures are hard to compute. A

good method to compute (or even to approximate) them is to generate s-t paths,

minimal s-t cuts, spanning trees (not necessarily all) and then use an inclusion-

exclusion principle [Col87,GS97].

1.3 Complexity of Generation Problems

An output of a generation problem, i.e., a family Fπ = {F1, F2, . . . , FN}, may consist of

exponentially many sets, in terms of the input size. Thus, the efficiency of generation

algorithms is measured customarily in both the input size and the output size [Val79,

LLK80,JP88].

We can generate Fπ in polynomial total time if there is a procedure that outputs all

elements of Fπ and whose running time is polynomial in the input size |E| and N (see

Figure 1.1).

We can generate Fπ in incremental polynomial time if there is a procedure that

• outputs the first element after time polynomial in the size of input |E|,

Page 11: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

4

time

poly(|E|,N) halt

F72 F1F23 F999 F13F28

start

Figure 1.1:

• for every K = 1, . . . , N − 1, the time between outputting Kth and (K + 1)st

element is polynomial in the input size |E| and number of elements generated so

far, K,

• after outputting the last element Nth it halts in time polynomial in the input size

|E| plus the number of elements N (see Figure 1.2).

timeF72

poly(|E|,K)

K elements

start halt

F1F23 F999 F13F28

Figure 1.2:

We can generate Fπ with polynomial delay if there is a procedure that

• outputs the first element after time polynomial in the input size |E|,

• for every K = 1, . . . , N − 1, the time between outputting Kth and (K + 1)st is

polynomial in the input size |E|,

• after outputting the last element it halts in time polynomial in the input size |E|

(see Figure 1.3).

poly(|E|)start

time

halt

F72 F1F23 F999 F13F28

Figure 1.3:

Remark 2 We can define equivalently the incremental polynomial time and the poly-

nomial delay complexity as follows. We can generate Fπ in incremental polynomial

Page 12: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

5

time if for every K there is a procedure that outputs K (or all if |Fπ| < K) elements

of Fπ in time polynomial in K and |E|. We can generate Fπ with polynomial delay if

for every K there is a procedure that outputs K (or all if |Fπ| < K) elements of Fπ in

time linear in K and polynomial in |E|. To see that these definitions are equivalent we

observe that if we can generate K elements of Fπ in time φ(K, |E|) where φ(K, |E|) is

polynomial (linear) in K and |E|, then we can delay outputting of the Kth element till

time φ(K, |E|) for every K. In this case the time between two outputs is polynomial in

|E| and the number of elements generated so far (polynomial in |E|).

1.3.1 Extension Problem

First we define an extension problem as follows:

Extension Problem

Input: A set E, a monotone Boolean function π and a subfamily X ⊆ Fπ.

Output: A set X ∈ Fπ r X if X 6= Fπ or ∅, if X = Fπ.

To prove that a generation problem can be solved in incremental polynomial time it

is enough to show that the corresponding extension problem can be solved in polynomial

time, due to Proposition 1 below.

Proposition 1 A generation problem is solvable in incremental polynomial time if and

only if the corresponding extension problem is solvable in polynomial time.

Proof: n = |E| and let N = |Fπ|. Suppose that there is a procedure generating all sets

satisfying π in incremental polynomial time. Let φ(n, K) be a time between outputting

by our procedure the Kth element (start if K = 0) and the (K+1)st element of Fπ (halt

if K = N + 1) for K = 0, . . . , N . The function φ(n, K) is a nondecreasing polynomial

function of n and K.

We run our procedure until it outputs |X | + 1 elements or halts. If our procedure

outputs |X | + 1 elements then there is an element of Fπ \ X among them. If our

procedure halts after outputting elements of X then we have X = Fπ. In both cases

Page 13: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

6

the running time is φ(n, 0) + . . . + φ(n, |X |). Thus finding F ∈ Fπ \ X or determining

that X = Fπ takes |X |φ(n, |X |) time.

Conversely, suppose that a procedure GenerateNextX(X ,Fπ) generates an element

F ∈ Fπ \ X if X 6= Fπ or returns ∅ otherwise in time polynomial in the combined size

of E and X . Then the following algorithm generates all elements of Fπ in incremental

polynomial time:

X ← ∅

repeat

F ← GenerateNextX(X ,Fπ)

output F

add F to X

until F = ∅. �

1.3.2 NP-hardness of a Generation Problem

We define a decision version of the extension problem as follows:

Extension Problem - Decision Version

Input: A set E, a monotone Boolean function π and a subfamily X ⊆ Fπ.

Output: YES, if X 6= Fπ, or NO, if X = Fπ.

Due to Proposition 2 to prove NP-hardness of a generation problem we only need to

show that an arbitrary NP-hard problem is polynomially reducible to a decision version

of the extension problem.

Proposition 2 The extension problem - decision version is polynomially reducible to

the generation problem.

Proof: Let n = |E| and let N = |Fπ|. Suppose that there is a procedure that generates

all N elements of Fπ and halts after time φ(n, N), where φ is a polynomial function of

n and N . We start running our procedure and if it does not halt before φ(n, |X |) + 1

time we interrupt it. We have three cases:

Page 14: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

7

Case 1: Our procedure outputs an element not belonging to X . Then X 6= Fπ.

Case 2: Our procedure does not halt before φ(|X |) + 1 time. This implies that

there are more than |X | elements of Fπ. Hence X 6= Fπ.

Case 3: Our procedure outputs all elements of X and halts. Then X = Fπ. �

Remark 3 Note that for many monotone generation problems given an alogrithm solv-

ing the decision version of the extension problem in poly(|E|, |X |) time, we can we can

find an element of Fπ r X in poly(|E|, |X |) time if X 6= Fπ.

For instance consider the spanning trees problem generation problem. Let G be a

graph and let X ⊆ Fπ be a family of its spanning trees. Assuming that the list X is not

complete we can produce a spanning tree T ∈ Fπ r X as follows:

let T be a set of bridges of G

for every edge e of G which is not a bridge do

let X ′ be a collection of elements of X which do not contain e

call the decision problem ”does X ′ contain all spanning trees for G− e?”

if yes then add e to T

1.4 Main Contributions of the Thesis

1.4.1 Cut Conjunctions in Graphs

Let G = (V, E) be an undirected graph and let si, ti ∈ V for i = 1, . . . , k. We define a

Boolean function π as follows: for X ⊆ E let

π(X) =

1, if vertices si and ti are disconnected in (V, E r X) for all i = 1, . . . , k;

0, otherwise.

Clearly π is monotone and π is represented by the graph G and k pairs of vertices. To

evaluate π we can run k times a depth-first search in (V, ErX) to check if ti is reachable

from si. We consider the following monotone generation problem corresponding to π:

Page 15: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

8

Cut Conjunctions in Graphs

Input: An undirected graph G = (V, E), and a collection B =

{(s1, t1), . . . , (sk, tk)} of k pairs of vertices si, ti ∈ V .

Output: The list of all minimal edge sets X ⊆ E such that for all i = 1, . . . , k,

vertices si and ti are disconnected in (V, E r X).

There are two special cases of the above problem:

• k = 1. This problem is called a minimal s-t cuts generation problem and it is

solvable with polynomial delay with the running time O(Nm + m + n) and the

space complexity O(n+m) [TSOA80], where n and m are the numbers of vertices

and edges in the input graph, and N is the total number of cuts.

• B is the collection of all pairs of distinct vertices drawn from some vertex set

V ′ ⊆ V . A minimal edge set such that every vertex v of B is disconnected from all

vertices of B rv is known as a multiway cut, see e.g., [Hu63,Vaz01]. The problem

of finding a minimum weight multiway cut is NP-hard for |V ′| ≥ 3 [DJP+92]. The

cut conjunctions in graphs problem includes the generation of multiway cuts.

We show that cut conjunctions in graphs can be generated efficiently.

Theorem 1 [KBB+05] All cut conjunctions for a given set B of vertex pairs in a

graph G = (V, E) can be generated in incremental polynomial time.

The question if we can generate all cut conjunctions with polynomial delay remains

open.

1.4.2 Cut Conjunctions in Matroids

Let M be a matroid on ground set S, let B ⊆ S and let r : S → Z+ be its rank function.

We assume that we can check if a subset of S is independent in time polynomial in the

size of S. Thus the rank function can also be evaluated in time polynomial in the size

of S.

Page 16: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

9

For y ∈ S, X ⊆ S we say that X spans y, if r(X ∪ y) = r(X). We define a Boolean

function π as follows: for X ⊆ S let

π(X) =

0, if X spans no element of B;

1, otherwise.

The function π is monotone since the rank function of a matroid is nondecreasing.

Furthermore we can evaluate π efficiently since the rank function can be computed

efficiently. We consider the following monotone generation problem defined by π:

Cut Conjunctions in Matroids

Input: A matroid M on ground set S and a set B ⊆ S.

Output: The list of all maximal sets X ⊆ Adef= S r B that span no element

of B.

The cut conjunctions in graphs problem is a special case of the cut conjunctions in

matroids problem, when M is the cycle matroid of a graph G = (V, E ∪ B), where

E ∩ B = ∅. Let S = E ∪ B, and then by definition, an edge set Y ⊆ A = E spans

b = (si, ti) ∈ B if and only if Y contains an si-ti path. This means that a maximal edge

set Y ⊆ E spans no edge b ∈ B if and only if X = E r Y is a cut conjunction in the

graph (V, E).

In contrast to cut conjunctions in graphs, we can recall that generating cut con-

junctions in vectorial matroids is NP-hard:

Theorem 2 [BEG+05] Let M be a vectorial matroid defined by a collection S of n-

dimensional vectors over a field of characteristic zero or of large enough characteristic

(at least 8n), let B be a subset of S and let F be the family of all maximal subsets of

Adef= S r B that span no vector b ∈ B. Given a subfamily X ⊆ F , it is NP-hard to

decide if X 6= F .

As stated in Proposition 2, the NP-hardness result for cut conjunctions in vectorial

matroids is valid for vectorial matroids over sufficiently large fields. In particular, the

Page 17: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

10

complexity of generating cut conjunctions in binary matroids remains open. We only

show that this problem is tractable for |B| = 2:

Theorem 3 Let M be a binary matroid on ground set S and let B = {b1, b2} ⊆ S. All

maximal subsets X of Adef= S r B which span neither b1 nor b2 can be generated in

incremental polynomial time.

Finally, we show that the problem of generating cut conjunctions in binary matroids

includes, as a special case, the well-known hypergraph transversal problem [EG95,FK96],

which calls for the generation of all minimal transversals for an given hypergraph.

Remark 4 The hypergraph transversals problem is polynomially reducible to the prob-

lem of generating cut conjunctions in binary matroids.

The theoretically fastest currently available algorithm for hypergraph dualization

generates all maximal independent sets in incremental quasi-polynomial time [FK96].

1.4.3 k-Vertex (k-Edge) Connected Spanning Subgraphs

Let G = (V, E) be an undirected graph with n vertices and m edges. We define Boolean

functions πV and πE as follows: for X ⊆ E let

πV (X) =

1, if (V, X) is k-vertex connected;

0, otherwise.

πE(X) =

1, if (V, X) is k-edge connected;

0, otherwise.

Clearly both πV and πE are monotone. πV and πE are represented by a graph G. πV

can be evaluated in O(k3n2) time [CKT93] and πE can be evaluated in O(m+k2nlog nk )

time [Gab91]. We consider the following monotone generation problems defined by πV

and πE :

Page 18: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

11

Minimal k-Vertex Connected Spanning Subgraphs Problem

Input: A k-vertex connected graph G.

Output: The list of all minimal k-vertex connected spanning subgraphs of G.

Minimal k-Edge Connected Spanning Subgraphs Problem

Input: A positive integer k and a k-edge connected graph G.

Output: The list of all minimal k-edge connected spanning subgraphs of G.

The special case of the above problems when k = 1 is the well-known problem of

generating spanning trees in undirected graphs [RT75, GM78, Mat93, ASU97], solvable

with polynomial delay with the best known running time being O(Nn + m) [GM78,

Mat93], where N is the number of spanning trees.

We show that the both generation problems can be solved efficiently.

Theorem 4 For a constant k, all minimal k-vertex connected spanning subgraphs of a

given graph can be generated in incremental polynomial time. The total running time of

the algorithm is O(N3n2m2 + N2n4m5 + Nnkm2), where N is the number of minimal

k-vertex connected spanning subgraphs.

We remark that the running time of our algorithm depends exponentially on k. The

complexity of the above problem when k is also part of the input remains an open

question.

Theorem 5 All minimal k-edge connected spanning subgraphs of a given graph can be

generated in incremental polynomial time. The total running time of the algorithm is

O(N2m2logN + N2k2nmlog nk + min{Nn8/3m2, Nn2m5/2}), where N is the number of

minimal k-edge connected spanning subgraphs.

In the case k = 2 and k = 3 we developed more efficient algorithms to generate

Page 19: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

12

minimal 2 and 3-vertex connected spanning subgraphs based on the decomposition of

a graph into connected and 2-connected components.

Theorem 6 All minimal 2-vertex connected spanning subgraphs of a given graph can

be generated in incremental polynomial time. The total running time of the algorithm is

O(N2m2logN +N2m3), where N is the number of minimal 2-vertex connected spanning

subgraphs.

Theorem 7 All minimal 3-vertex connected spanning subgraphs of a given graph can

be generated in incremental polynomial time. The total running time of the algorithm is

O(N2m2logN +N2m3), where N is the number of minimal 3-vertex connected spanning

subgraphs.

This is an improvement over the O(N3n2m2 + N2n4m5) guaranteed by the general

algorithm for k = 2 or k = 3.

1.4.4 Connected Spanning Subsets in Matroids

Let M be a connected matroid on ground set S. A subset X ⊆ S is connected if for

every pair of distinct elements x, y of X there is a circuit of M within X containing x

and y. A subset X ⊆ S spans a matroid M if r(X) = r(S), where r : S → Z+ denotes

the rank function of M . We define π as follows: for X ⊆ S let

π(X) =

1, if X is connected and spanning subset in M ;

0, otherwise.

π is a monotone (see Lemma‘12). Checking if X is connected can be done efficiently

(see e.g., [BC95]). We consider the following monotone generation problem defined by

π:

Minimal Connected Spanning Subsets in Matroids

Input: A connected matroid M on ground set S

Output: The list of all minimal connected spanning subsets in M

Page 20: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

13

Note that the problem of generating 2-vertex connected spanning subgraphs is a special

case of the above problem. When M is the cycle matroid of a graph G = (V, E), X ⊆ E

is a minimal connected and spanning subset if and only if (V, X) is a minimal 2-vertex

connected subgraph of G [Wel76, Theorem 3 on page 70].

We first show that the problem of generating minimal spanning and connected

subsets of a matroid generalizes the hypergraph transversal problem:

Theorem 8 [KBB+] The problem of enumerating all minimal spanning and connected

subsets of a matroid includes, as a special case, the hypergraph transversal problem.

This theorem implies that generating minimal spanning and connected subsets of a

matroid is at least as hard as the hypergraph transversal problem, for which the most

efficient currently known algorithm is incrementally quasi-polynomial [FK96]. We then

show that minimal spanning and connected subsets in a matroid can also be generated

in incremental quasi-polynomial time.

Theorem 9 [KBB+] All minimal spanning and connected subsets in a matroid can be

generated in incremental quasi-polynomial time.

1.4.5 Vertex Generation

Let A ∈ Rm×n and let b ∈ Rm such that Ax ≥ b is an infeasible system. For X ⊆

{1, . . . , m} we denote by A(X) the matrix consisting of those rows of A whose indices

belong to X. We define a Boolean function π as follows: for X ⊆ E let

π(X) =

1, if A(X)x ≥ b is an infeasible subsystem;

0, otherwise.

Clearly π is monotone. Also, checking if a system of linear inequalities is feasible is

solvable in polynomial time [Kha79]. We consider the following monotone generation

problem defined by π:

Page 21: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

14

Minimal Infeasible Subsystems

Input: An infeasible system Ax ≥ b.

Output: The list of its minimal infeasible subsystems.

Since minimal infeasible subsystems of Ax ≥ b correspond in one-to-one way to the

vertices of {y : yT A = 0, y ≥ 0, bT y = 1} (see e.g. [GR90]) generating minimal infeasible

subsystems problem is equivalent to vertex generation:

Vertex Generation

Input: A polyhedron P defined as an intersection of halfspaces.

Output: The list of all vertices of P .

Vertex generation is a fundamental problem in computational geometry and polyhedral

combinatorics (see e.g., [DP77] for a list of applications), and has many equivalent

formulations. Most notably for bounded polyhedra vertex generation is equivalent with

facet generation, i.e., generating the facets of a polytope given by an explicit list of its

vertices (see e.g., the so called polytope-polyhedron problem in [Lov92]).

Numerous algorithmic ideas have been introduced in the literature (either for ver-

tex or for facet enumeration, see e.g., [CCH53, MRTT53, Bal61, CK70, Mat73, DP77,

Chv83,Dye83, Swa85, Sei86,AF92,Pro94,AF96,BFM98,BL98,Abd03]). Efficient algo-

rithms (typically linear in the number of vertices) were proposed for several special

cases, including simple polyhedra, i.e., in which every vertex is incident with exactly n

facets, [AF92], simplicial polyhedra, which are the dual of simple polyhedra [BFM98],

network polytopes [Pro94], polytopes with zero-one vertices [BL98], and polyhedra in

which every facet defining inequality involves at most two nonzero coefficients [Abd03].

Furthermore, for fixed dimension both vertices and rays of a polyhedron can be enumer-

ated efficiently [Cha93]. However, no method proved to be efficient (yet) for the general

case. In fact several publications [ASU97, FLM97,Bre99] analyzed the proposed gen-

eral purpose methods for vertex/facet enumeration, and showed that all of the known

Page 22: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

15

algorithms may require, in the worst case, superpolynomial time in the output size.

We show that generating vertices of an unbounded polyhedron is NP-hard.

Theorem 10 [KBB+06] Generating all vertices of a rational polyhedron, given as the

intersection of finitely many closed half-spaces, is an NP-hard.

NP-hard

In analyzing the reasons why backtracking methods are not efficient for vertex enu-

meration, in general, [FLM97] noted that such methods require solving repeatedly de-

cision problems, which turn out to be NP-hard. In particular, they showed that for a

given rational polyhedron P and an open rational half-space H = {x ∈ Rn | αT x > β},

it is NP-hard to decide if P has a vertex in H. Let us note that the same decision

problem for bounded polyhedra is much easier, since it can be decided by maximizing

αT x over P , which is a linear programming problem, known to be polynomially solvable

(see e.g. [Kha79]). We show that the enumerative version of this decision problem, i.e.,

generating vertices of a bounded polyhedron which do not belong to an open half-space

H, is hard, already for bounded polyhedra.

Theorem 11 [KBB+06] Given a rational polyhedron P and an open rational half-

space H, it is NP-hard to generate all vertices of P which belong to H, even if P is

bounded.

The question whether we can generate all vertices of a bounded polyhedron efficiently

remains open.

Page 23: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

16

open half-space H NP-hard open

1.5 General Techniques

In the remainder of this chapter we describe general algorithms of generating all ele-

ments of Fπ for a monotone Boolean function π.

1.5.1 Supergraph

This technique has been widely used in the literature, for instance to generate all mini-

mal feedback vertex and arc sets [SS02], minimal s-t cuts [TSOA80], minimal spanning

trees [ST95], minimal blockers of perfect matchings in bipartite graphs [BEG04a].

We define a directed graph G on vertex set Fπ. To generate all elements of Fπ we

will traverse the graph G and output its vertices. Our task is to define for every X ∈ Fπ

its neighborhood N(X) so that it satisfies the following conditions:

• G is strongly connected,

• there is a procedure GenerateNeighbor(i, X) which generates an ith neighbor of

X in time polynomial in the input size |E| and i.

We call G a supergraph.

We first note that, due to monotonicity of π, given a subset Z ⊆ E with π(Z) = 1,

and a linear order ρ ∈ SE , where SE denotes a symmetric group on the set E, we can

always find one element X ∈ Fπ contained in Z as follows:

Page 24: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

17

Project(Z, ρ)

X ← Z

for i = 1, . . . , |E| do

if π(X r ρ(i)) = 1 then let X ← X r ρ(i)

return X

Clearly, X = Project(Z, ρ) is a minimal element satisfying π(X) = 1. Comput-

ing Project(Z, ρ) takes at most |E| evaluations of π, where the description of π is

polynomial in |E|. Thus we can find X in time polynomial in |E|.

To traverse G we apply the breadth-first search algorithm:

Traversal(G)

let ρ be an arbitrary a linear order of E

Xo ← Project(E, ρ)

output Xo

insert Xo to the queue and mark Xo as visited

while the queue is nonempty do

take the first vertex X out of the queue

for i = 1, . . . , |N(X)| do

let X ′ ← GenerateNeighbor(i, X)

if X ′ is not yet visited then output X ′,

insert X ′ to the queue and mark X ′ as visited

output ”no unvisited vertices”

Since G is strongly connected Transversal(G) outputs all elements of Fπ.

Proposition 3 If GenerateNeighbor(i, X) generates an ith neighbor of X in time

polynomial in the input size |E| and i then Transversal(G) generates all elements of

Fπ in incremental polynomial time.

Proof: Let X ⊆ Fπ be a set of vertices already output by Traversal(G). We show that

we output another vertex or ”no unvisited vertices” in time polynomial in |E| plus |X |.

Page 25: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

18

If X = Fπ, then each vertex in X has at most |X | − 1 neighbors. We show that

the total time of generating all neighbors of |X | vertices is polynomial in |E| plus |X |.

Since i ≤ |X |− 1, the procedure GenerateNeighbor(i, X) takes time polynomial in |E|

plus |X |. We repeat the for loop at most |X | − 1 times. Hence repeating |X | times the

while loop takes time polynomial in in |E| plus |X |. Thus determining that there is

no unvisited vertices is doable in time polynomial in in |E| plus |X |.

If X 6= Fπ, then we find an unvisited vertex after generating at most |X | neighbors

for each of the |X | already visited vertices. Thus finding an unvisited neighbor takes

time polynomial in |E| and |X |. �

If |N(X)| is polynomial in |E| for every X ∈ Fπ we can improve our previous

algorithm and obtain a polynomial delay algorithm of generating Fπ.

Polynomial Delay Traversal(G)

let ρ be an arbitrary a linear order of E

Xo ← Project(E, ρ)

insert Xo to the queue and mark Xo as visited

while the queue is nonempty do

take the first vertex X out of the queue

for i = 1, . . . , |N(X)| do

let X ′ ← GenerateNeighbor(i, X)

if X ′ is not yet visited then

insert X ′ to the queue and mark X ′ as visited

output X

output ”no unvisited vertices”

Proposition 4 If for every X ∈ Fπ the size of the neighborhood N(X) is polynomial in

|E| and GenerateNeighbor(i, X) generates an ith neighbor of X in time polynomial in

the input size |E| and i, then Polynomial Delay Traversal(G) generates all elements

of Fπ with polynomial delay.

Page 26: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

19

Proof: Since |N(X)| is polynomial in |E|, executing the for loop takes time polynomial

in |E|. Thus we output each vertex with a delay polynomial in |E| and k. �

1.5.2 The X − e + Y method

In this section we present a variant of a supergraph method. Using just the monotonicity

of π we define a neighborhood for every element of Fπ which produces a strongly

connected supergraph. Our task is to generate all neighbors efficiently.

Since the defined neighborhood may be ”large”, using the X − e + Y method we

cannot guarantee to generate Fπ with polynomial delay. The main strength of this

method is that the problem of generating neighbors is usually similar to the original

problem but has a simpler structure.

First we fix a linear order ρ ∈ SE , where SE denotes a symmetric group on the set

E. Then for every X ∈ Fπ we define the neighborhood N(X) as follows:

N(X) = { Project((X r e) ∪ Y, ρ) | e ∈ X, Y ∈ YX,e},

where YX,e = {Y | Y ⊆ E r X is a minimal set satisfying π((X r e) ∪ Y ) = 1}.

Observation 1 Project((X r e) ∪ Y, ρ) = ((X r (Z ∪ e)) ∪ Y , where Z is the lexico-

graphically first subset of X r e, with respect to ρ, such that π((X r (Z ∪ e)) ∪ Y ) = 1

and π((X r (Z ∪ e ∪ f)) ∪ Y ) = 0 for every f ∈ X r (Z ∪ e).

Proof: By the minimality of Y , we have π((X r e) ∪ (Y r y)) = 0 for every y ∈ Y .

Thus Project((X r e) ∪ Y, ρ) must contain Y . �

Proposition 5 The supergraph G is strongly connected.

Proof: Let X, X ′ ∈ Fπ be two vertices of G. We show by induction on |X r X ′| that

G contains a directed path from X to X ′. If X r X ′ = ∅ then X ⊆ X ′, but since X ′ is

minimal, X = X ′ must follow.

Suppose that |X r X ′| > 0. We show that there is a neighbor X ′′ of X such that

|X ′′rX ′| is smaller than |X rX ′|. For this, we choose an arbitrary element e ∈ X rX ′.

Page 27: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

20

Since (X r e) ∪ X ′ contains X ′ and π(X ′) = 1, we have π((X r e) ∪ X ′) = 1 by the

monotonicity of π. Hence there is a minimal nonempty set Y ⊆ X ′ r X such that

π((X r e) ∪ Y ) = 1. Now let X ′′ = Project((X r e) ∪ Y, ρ) be a neighbor of X. By

Observation 1, we have X ′′ = (X r (Z ∪ e)) ∪ Y . Thus |X ′′ r X ′| ≤ |X r (X ′ ∪ e)| <

|X r X ′|. �

We assume that for every X ∈ Fπ and e ∈ X we can generate all elements of

YX,e in incremental polynomial time using a procedure GenerateNextY (i, X, e), which

generates ith element of YX,e, according to some fixed linear order, or returns ∅ if

i > |YX,e|.

Since G is strongly connected the following algorithm generates all elements of Fπ:

Traversal(G)

Find an initial vertex X0 ← Project(E, ρ), initialize a queue Q = ∅ and a

dictionary of output vertices D = ∅.

Perform a breadth-first search of G starting from Xo:

1 output X0 and insert it to Q and to D

2 while Q 6= ∅ do

3 take the first vertex X out of the queue Q

4 for every e ∈ X do

5 for every Y ∈ YX,e do

6 compute the neighbor X ′ ← Project((X r e) ∪ Y, ρ)

7 if X ′ /∈ D then

8 output X ′ and insert it to Q and to D

We show that Traversal(G) generates all elements of Fπ in incremental polynomial

time.

Page 28: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

21

Observation 2 Let X ∈ Fπ and e ∈ X. If Y and Y ′ are distinct elements of YX,e,

then they produce different neighbors of X in G in line 8.

Proof: By Observation 1 we have Project((X r e) ∪ Y, ρ) = ((X r (Z ∪ e)) ∪ Y and

Project((X r e)∪Y ′, ρ) = ((X r (Z ′ ∪ e))∪Y ′. Since Y 6= Y ′ we obtain Project((X r

e) ∪ Y, ρ) 6= Project((X r e) ∪ Y ′, ρ).

Claim 1 Let X ∈ Fπ be a vertex removed from the queue in line 3. The for loop of

lines 4-8 generates all neighbors of X in incremental polynomial time.

Proof: Let N ⊆ N(X) be the set of neighbors of X generated so far in the for loop

of lines 4-8. We show that we either produce in line 8 a neighbor X ′ ∈ N(X) rN or

exit the for loop of lines 4-8, determining that X has no other neighbors in time in the

combined size of E and N .

If N = N(X), then by Observation 2 we have |YX,e| ≤ |N | for every e ∈ X. As all

elements of YX,e can be generated in incremental polynomial time and i ≤ |YX,e| ≤ |N |,

GenerateNextY (i, X, e) returns ith element of YX,e or ∅ in time polynomial in the

combined size of E and N . Also recall that we can compute Project in time polynomial

in the size of E. Hence executing lines 7-8 takes time polynomial in the combined size

of E and N . Note that we repeat the for loop of lines 4-8 at most |X| times and

the while loop of lines 6-8 at most |N |. Consequently we can determine in time

polynomial in the combined size of E and N that X has no other neighbors.

If N 6= N(X), then we find a neighbor X ′ ∈ N(X) rN , after executing the while

loop of lines 6-8 at most |N |+ 1 times. Thus finding X ′ takes time polynomial in the

combined size of E and N . �

Proposition 6 If the sets of YX,e can be generated in incremental polynomial time

for every X ∈ Fπ and e ∈ X, then Traversal(G) generates all elements of Fπ in

incremental polynomial time.

Proof: Since Project can be computed in time polynomial in the size of E, finding the

initial vertex Xo takes time polynomial in the size of E.

Page 29: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

22

Let X ⊆ Fπ be a set of vertices already output by Traversal(G). We show that we

output another vertex or ”no unvisited vertices” in time polynomial in the combined

size of E and X .

If X = Fπ, then each vertex in X has at most |X | − 1 neighbors. By Claim 1 the

total time of generating all neighbors of |X | vertices is polynomial in the combined size

of E and X . Thus determining that there is no unvisited vertices takes time polynomial

in the combined size of E and X .

If X 6= Fπ, then we find an unvisited vertex after generating at most |X | neighbors

for each of the |X | already visited vertices. Thus finding an unvisited neighbor takes

time polynomial in the combined size of E and X . �

As an illustration for the X − e + Y method, consider the problem of generating

path conjunctions [BEG+04b]:

Path Conjunctions in Graphs

Input: An undirected graph G = (V, E), and a collection B =

{(s1, t1), . . . , (sk, tk)} of k pairs of vertices si, ti ∈ V .

Output: The list of all minimal edge sets X ⊆ E such that ti is reachable from

si in (V, X) for all i = 1, . . . , k.

We call such an edge set X a path conjunction. As shown in [BEG+04b] path conjunc-

tions can be generated in incremental polynomial time. We present a simple alternative

algorithm to generate all path conjunctions also in incremental polynomial time.

First we define a Boolean function π as follows: for a subset X ⊆ E let

π(X) =

1, every ti is reachable from si in (V, X);

0, otherwise.

Clearly π is monotone, π(∅) = 0, π(E) = 1, and π(X) can be evaluated in time

polynomial in the the number of edges. Then

Fπ = {X | X ⊆ E is a minimal set satisfying π(X) = 1}

Page 30: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

23

is a family of all minimal path conjunctions. For X ∈ Fπ and e ∈ X we define

YX,e = {Y | Y ⊆ E r X is a minimal set satisfying π((X r e) ∪ Y ) = 1}.

We then show that we can generate all elements of YX,e in incremental polynomial time.

Let X ∈ Fπ. We observe that X is a collection of trees T such that for each vertex

pair (si, ti) there is a tree containing both si and ti. Removing an edge e from X splits

a tree T ∈ T containing e into two subtrees T ′, T ′′. By the minimality of X there is at

least one pair of B with one vertex belonging to T ′ and the other to T ′′.

Let G′ be the graph obtained from G by contracting each tree of T r T and T ′, T ′′

into a vertex, and let u and v denote the vertices of G′ corresponding to T ′ and T ′′. A

minimal edge set Y restores that every ti is reachable from si in (V, (X r e)∪Y ) if and

only if Y is a path from u to v in G′.

Thus YX,e is a family of all u-v paths in G′. All paths between two vertices in a

graph can be generated via backtracking with polynomial delay [RT75]. Consequently,

by Proposition 6, the procedure Traversal(G) generates all minimal path conjunctions

in incremental polynomial time.

1.5.3 Polymatroid Inequalities

In this section we present a technique developed in [BEGK03].

Let E be a set and let f : 2E → {0, 1, . . . , r} be a a set function. The set function

f is a polymatroid function if it is

• monotone, i.e., f(X) ≥ f(Y ) whenever X ⊇ Y ,

• submodular, i.e., f(X ∪ Y ) + f(X ∩ Y ) ≤ f(X) + f(Y ) for all X, Y ⊆ E,

• f(∅) = 0.

Let t ∈ {1, . . . , r} be an integral threshold. We define a Boolean function π as follows:

for X ⊆ E let

π(X) =

1, if f(X) ≥ t;

0, otherwise.

Page 31: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

24

Then Fdcπ is a hypergraph consisting of all maximal subsets of E not satisfying π. For

X ⊆ Fdcπ the extension problem can be solved by the following algorithm:

Extend(X )

I ← ∅

repeat

find a maximal independent set X of X which do not belong to I

if π(X) = 0 then add X to I

until π(X) = 1 or I contains all maximal independent sets of X

if π(X) = 1 then find a maximal set X ′ ⊆ X not satisfying π and output X ′

else output ”X contains all maximal sets not satisfying π”

We observe that X ′ does not belong to X since X is not a superset of a set in X .

The above algorithm solves the extension problem in quasi-polynomial time in the size

of E and X since:

• finding a minimal transversal X of X which do not belong to I can be done in

quasi-polynomial time [FK96],

• a minimal set satisfying π can be obtained from X by deleting one-by-one elements

whose removal does not change the value of π in linear time in size of E,

• the loop is executed at most |X dc∩Fdcπ |+1 times, and since |X dc∩Fdc

π | ≤ quasi-

poly(|E|, |Fπ|), as shown in [BEGK03], the total running time of the loop is

quasi-poly(|E|, |Fπ|), where X dc and Fdcπ denote the sets of minimal transversals

of X and Fπ, correspondingly.

Page 32: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

25

Chapter 2

Network Reliability

In this chapter we consider the problems of generating cut conjunctions, the k-vertex

connected spanning subgraphs and the k-edge connected spanning subgraphs of a given

graph. In Section 2.1 we prove Theorem 1 and in Sections 2.2, 2.3, 2.4, 2.5 we prove

Theorems 6, 7, 4, 5, respectively.

2.1 Proof of Theorem 1

Recall that we defined the problem of generating cut conjunctions in graphs as follows:

Cut Conjunctions in Graphs: Given an undirected graph G = (V, E), and

a collection B = {(s1, t1), . . . , (sk, tk)} of k pairs of vertices si, ti ∈ V , generate

all minimal edge sets X ⊆ E such that for all i = 1, . . . , k, vertices si and ti are

disconnected in G′ = (V, E r X).

Note that for i 6= j, si and sj or si and tj or ti and tj may coincide. We call a minimal

edge set X ⊆ E a minimal B-cut if for all pairs of vertices (si, ti) ∈ B vertices si and

ti are disconnected in the subgraph G′ = (V, E r X). We denote by Fπ the family of

all minimal B-cuts. We call a minimal B-cut a cut conjunction if B is clear from the

context.

Observe that each edge set X ∈ Fπ must indeed be the union (conjunction) of some

minimal si-ti cuts for i = 1, . . . , k, justifying the naming of these edge sets. Note also

that not all conjunctions of minimal si-ti cuts for i = 1, . . . , k are minimal B-cuts.

Figure 2.1 depicts a graph with the number of minimal sk-tk cuts not polynomially

bounded by |V | and |Fπ|, showing that the generation of cut conjunctions cannot be

efficiently reduced to two-terminal cut generation.

Page 33: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

26

sk tk

s1 u1 t1

s2 u2 t2

sk−1 uk−1 tk−1

v1

v2

vk−1

vk

vk+1

v2(k−1)

v(k−2)(k−1)+1

v(k−2)(k−1)+2

v(k−1)2

Figure 2.1: Minimal B-cuts contain exactly one edge of each pair siui and uiti, fori = 1, . . . , k − 1, thus we have |Fπ| = 2k−1. Whereas the number of minimal sk-tk cuts

is more than 2(k−1)2 , so it is not polynomially bounded by |V | = k2 + k and |Fπ|.

We can assume without loss of generality that vertices si and ti are not adjacent in

G, for all i = 1, . . . , k, since edges s1t1, . . . , sktk would belong to all cut conjunctions.

We apply the X − e + Y method to the generation of all minimal cut conjunctions,

where π is defined as follows:

π(X) =

1, if si is disconnected from ti in (V, E r X) for all i = 1, . . . , k;

0, otherwise.

Then

Fπ = {X | X ⊆ E is a minimal set satisfying π(X) = 1}

is the family of all cut conjunctions of G. For X ∈ Fπ and e ∈ X we define

YX,e = {Y | Y ⊆ E r X is a minimal set satisfying π((X r e) ∪ Y ) = 1}.

To prove that all cut conjunctions of G can be generated in incremental polynomial

time, by Proposition 6 it is enough to show that all elements of YX,e can be generated

in incremental polynomial time. In Section 2.1.1 we state a characterization of cut

conjunctions in graphs, then in Section 2.1.2 we reduce the problem of generating all

elements of YX,e to the generation of all cut conjunctions in a graph having a simpler

Page 34: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

27

structure. In Section 2.1.3 we show that the latter problem can be solved efficiently

by using a variant of the supergraph approach. Thus, by Proposition 6, Traversal(G)

generates all cut conjunctions of G in incremental polynomial time.

In this section we use the following notation. Let U be a subset of vertices of G, let

F be a subset of edges of G, and let G′ = (V ′, E′) and G′′ = (V ′′, E′′) denote subgraphs

of G (i.e., V ′, V ′′ ⊆ V and E′, E′′ ⊆ E). We denote by G[U ] the subgraph of G induced

on the vertex set U .

We denote by G − Udef= G[V r U ] the graph obtained from G by deleting all

the vertices of U and their incident edges, by G − Fdef= (V, E r F ) the subgraph

obtained by deleting all the edges of F from E and G−G′ def= G− V ′. We also define

G + Udef= (V ∪ U, E), G + F

def= (V, E ∪ F ), and G′ + G′′ def

= (V ′ ∪ V ′′, E′ ∪ E′′).

2.1.1 Characterization of Minimal Cut Conjunctions in Graphs

It will be convenient to define a cut to be a set of edges E(G1, . . . , Gl) =⋃

i6=j{uv ∈ E :

u ∈ V (Gi), v ∈ V (Gj)} where G1, . . . , Gl are induced subgraphs of G such that their

vertex sets partition V , and Gi is connected for each i = 1, . . . , l.

Let B = {(s1, t1), . . . , (sk, tk)} be a set of distinct source-sink pairs of G. A B-cut is

a cut E(G1, . . . , Gl) such that, for each i, si and ti do not belong to the same Gj . The

following characterization of cut conjunctions follows directly from their definition.

s1

s2

t3

G1

t1

s4G3

s3

G4

t2t4

G2

Figure 2.2: Minimal B-cut E(G1, G2, G3, G4). The dashed lines are the edges of theB-cut.

Page 35: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

28

Proposition 7 Let E(G1, G2, . . . , Gl) be a B-cut. Then, E(G1, G2, . . . , Gl) is a min-

imal B-cut if and only if for every x, y ∈ {1, . . . , l} with x 6= y, if there is an edge of

G between Gx and Gy then there must exist a source-sink pair (si, ti) with exactly one

vertex in Gx and the other in Gy (see Figure 2.2).

2.1.2 Reduction

In this section we reduce the problem of generating all elements of YX,e to generating

all cut conjunctions in a graph of a simpler structure.

Let F be a subset of edges of G and let (si, ti) ∈ B. Suppose that si and ti are in

the same component of G− F . Then we say that (si, ti) is F -conflicting.

Let X = E(G1, G2, . . . , Gl) be a minimal B-cut of G and let b ∈ X. Then, removing

b from X reconnects two components, say Gx and Gy, of G−X, where one endpoint of

b is in Gx and the other in Gy. Thus G−(X rb) contains at least one (X rb)-conflicting

pair (see Figure 2.3). Hence generating all minimal sets Y ⊆ E r X which restore the

property that no si is connected to ti, is equivalent to generating all minimal B′-cuts

in the graph Gx + Gy + b where B′ is the set of (X r b)-conflicting pairs.

s7

t4

s1

t2Gx

t7

s4

t5

Gy

b

Figure 2.3: Graph G−(X rb) contains two (X rb)-conflicting pairs (s4, t4) and (s7, t7).

Let L = Gx and R = Gy. We can always relabel the (X r b)-conflicting pairs

to guarantee that the conflicting si’s are in L and the conflicting ti’s are in R. We

denote the resulting graph by H(X, b) (see Figure 2.4). Note that we have reduced

our generation problem to listing all cut conjunctions in H(X, b). As we discuss in the

next section, the latter problem can be efficiently solved by traversing an appropriately

Page 36: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

29

defined supergraph of cut conjunctions of H(X, b).

b

L

s1

s2

t1

t2 R

Figure 2.4: Graph H(X, b) with all sources in L and sinks in R.

2.1.3 Generating Cut Conjunctions in H(X, b)

Let H = H(X, b) = (V, E) be the graph defined at the end of Section 2.1.2, that is:

• H = L + R + b,

• b = vLvR is a bridge (note that vL can be a source and vR can be a sink, but

b 6= siti for all i),

• L contains the sources s1, . . . , sk′ , and

• R contains the sinks t1, . . . , tk′ (see Figure 2.4).

Let B = {(s1, t1), . . . , (sk′ , tk′)} and let K = E(G1, . . . , Gl) be a cut conjunction of H,

such that K 6= {b}. Without loss of generality, assume that b is in G1. Note that every

other Gj is contained either in L or in R (since Gj is connected and all paths from L to

R go through b). We denote by M = G1 the component containing b and call it the root

component of K. The other components will be called leaf components of K. Denote

the Gj ’s contained in L by L1, . . . , Lm and those in R by R1, . . . , Rn (see Figure 2.5).

The structure suggested by Figure 2.5 is justified by the following claim:

Proposition 8 All edges of K = E(M, L1, . . . , Lm, R1, . . . , Rn) lie between the root

and leaf components. Hence M uniquely determines the leaf components of K.

Proof: Suppose that there is an edge e ∈ K between two leaf components. Since there

is no edge between Li and Rj , without loss of generality suppose that e connects Li and

Page 37: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

30

vL vRb

s1

s2

t3

M

s3

L1

s4L2

t1

t2

t4

R1

Figure 2.5: Minimal B-cut E(M, L1, L2, R1). Dashed lines are the edges of the B-cut.

Lj . But Li and Lj contain only sources. Thus, by Proposition 7 , K is not minimal, a

contradiction.

Now we define a digraph H, the supergraph of cut conjunctions of H. The vertex set

of H is the family of all cut conjunctions of H other than {b}. For each cut conjunction

K = E(M, L1, . . . , Lm, R1, . . . , Rn) of H we define its out-neighborhood to consist of

all cut conjunctions which can be obtained from K by the following sequence of steps

(see example in Figure 2.11):

(q1) Choose a vertex v incident to e ∈ K such that v /∈ {vL, vR}. Depending on v we

have the following three cases.

(q2-a) Suppose v is in a leaf component of K and M +v+e does not contain a source-

sink pair (si, ti). Without loss of generality, assume that v ∈ Rj and either v is

not a sink, or v = ti and si 6∈M (see Figure 2.6).

b

ML1

L2

ve Rj

Figure 2.6: Cut conjunction K in (q2-a)

Let W1, . . . , Wp be the components of Rj−v, and let M = M+v+⋃

u∈M{uv ∈ E}.

Page 38: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

31

Then

D = E(M, L1, . . . , Lm, R1, . . . , Rj−1, W1, . . . , Wp, Rj+1, . . . , Rn)

is a B-cut. Note that we have moved v from Rj to M . Removing v from Rj splits

Rj into components W1, . . . , Wp (see Figure 2.7). We will remove non minimal

edges of D in (q3).

b

ML1

L2

v

W3

W2

W1

Figure 2.7: B-cut D in (q2-a)

(q2-b) Suppose v is in a leaf component of K and M + v + e contains a source-sink

pair (si, ti). Without loss of generality, assume that v ∈ Rj and v = ti, si ∈ M

and vL 6= si (If vL = si we do not allow to include ti to M). Let W1, . . . , Wp be

the components of Rj − ti and let U1, . . . , Ur be the components of M − si not

containing b. Denote M = (M + ti +⋃

u∈M{uti ∈ E})− (si +U1 + . . .+Ur). Then

D = E(M, L1, . . . , Lm, si, U1, . . . , Ur, R1, . . . , Rj−1, W1, . . . , Wp, Rj+1, . . . , Rn)

is a B-cut. Note that we have moved ti from Rj to M . To restore the property

that no si is connected to ti, we have removed si from M . Removing v from Rj

splits Rj into components W1, . . . , Wp, and removing si from M splits M into

components U1, . . . , Ur and M , the component containing b (see Figure 2.8). We

will remove non minimal edges of D in (q3).

(q2-c) Suppose v ∈M−{vL, vR}. Without loss of generality, assume that v is adjacent

to Lj (see Figure 2.9). Note that v 6∈ {t1, . . . , tk}.

Let U1, . . . , Ur be the components of M − v not containing b, and let M = M −

(v + U1 + . . . + Ur). Then

D = E(M, L1, . . . , Lj−1, Lj+v+⋃

u∈Lj

uv ∈ E, Lj+1, . . . , Lm, U1, . . . , Ur, R1, . . . , Rn)

Page 39: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

32

b

M

ti

L1

L2 W3

W2

W1

si

siU1

Figure 2.8: B-cut D in (q2-b)

b

M

v

Lj

R1

Figure 2.9: Cut conjunction K in (q2-c)

is a B-cut. Note that we have moved v from M to Lj splitting M into components

U1, . . . , Ur and M (see Figure 2.10).

bv

MLj + v

R1

U1 U2

Figure 2.10: B-cut D in (q2-c)

(q3) Let D = E(G1, . . . , Gl) be the B-cut obtained in one of the previous steps. Choose

the lexicographically first two sets Gx and Gy such that there is an edge e ∈ D

connecting Gx and Gy and there is no (Dre)-conflicting pair. Replace Gx and Gy

in D by Gx+Gy. Repeat until no such edge exists, thus the B-cut is minimal. Let

K ′ = E(M ′, L′1, . . . , L

′m′ , R′

1, . . . , R′n′) be the resulting cut conjunction. Then

we call K ′ a neighbor of K in H.

Proposition 9 The supergraph H is strongly connected.

To prove Proposition 9 we need two lemmas.

Page 40: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

33

HxL xR

bs1 s2s3

s4u

t1

t2

t3

t4

v

bs1 s2s3

s4

t1

t2

t3

t4M

L1

R1

R2K

add t1 to M, remove s1 and s4, u (p2-b)

Db

s1 s2s3

s4

t1

t2

t3

t4

(M + t1 + t1xR + t1v) − {s1, s4, u}

L1

W1

R2

U1

s1

merge L1, s1, U1 and (M + t1 + t1xR + t1v) − {s1, s4, u}), W1

bs1 s2s3

s4

t1

t2

t3

t4M ′L′1

R′1

K ′

Figure 2.11: Consider the graph H above and the cut conjunction K =E(M, L1, R1, R2) = E({s1, s2, s4, u, xL, xR, t3, v}, {s3}, {t1, t4}, {t2}). Then K ′ =E(M ′, L′

1, R′1) = E({s2, xL, xR, t1, t3, t4, v}, {s1, s3, s4, u}, {t2}) is a neighbor of K ob-

tained by moving t1 to M .

Page 41: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

34

Let K1, K3 be cut conjunctions and let M1, M3 be their root components. We call

the vertices of M3 blue vertices, and all other vertices green vertices . Let K be an

induced subgraph of H, whose vertices are the cut conjunctions with root components

containing all the blue vertices. Note that K has at least one vertex, K3.

Lemma 1 There exists a cut conjunction K2 ∈ K such that there is a path from K1 to

K2 in H.

Proof: Let T be an arbitrary spanning tree of M3 containing the bridge b. For a

B-cut D of H with M as its root component, we partition the edges of T into two

groups. Edges that form a contiguous part within M will be called D-solid edges, and

the remaining edges will be called D-dashed edges. More precisely, we call an edge e of

T a D-solid edge, if

• e ∈M , and

• e is reachable from b by using only edges of T that are in M .

Otherwise e is called a D-dashed edge (see Figure 2.12). Note that b is D-solid edge. We

denote the set of D-solid edges by SD and the set of D-dashed edges by DD. Clearly,

|SD|+ |DD| = |T |.

Let K1 = E(M1, L1, . . . , Lm, R1, . . . , Rn). We will show by induction on the number

of K1-solid edges |SK1 | that there is a path from K1 to K2 in H.

If |SK1 | = |T |, then M1 contains the spanning tree T of blue vertices. Hence K1 ∈ K.

If |SK1 | < |T |, then there exists a K1-dashed edge vw between two blue vertices v

and w such that v is in a leaf component of K1, w ∈M1 and w is incident to a K1-solid

edge. Without loss of generality, suppose that v ∈ Rj (see Figure 2.12). Such an edge

exists because K1-dashed and K1-solid edges form the spanning tree of blue vertices.

We now show that K ′1, a neighbor of K1, obtained by moving the blue vertex v from

the leaf to the root component, has |SK′1| ≥ |SK1 | + 1. Depending on v there are two

cases.

Case 1: v is not a sink or v = ti and si 6∈ M1. Let D be a B-cut obtained in step

(q2-a) and MD be its root component. Recall that MD = M1 + v. Thus SD contains

Page 42: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

35

b

M1

w

L1

L2

v

Rj

Figure 2.12: Cut conjunction K1. Solid lines are the K1-solid edges, dashed lines arethe K1-dashed edges.

all K1-solid edges. Since MD contains both v and w, the edge vw is a D-solid edge,

so |SD| = |SK1 | + 1. In step (q3) MD can only merge with leaf components, hence

|SK′1| ≥ |SD|. This implies that |SK′

1| ≥ |SK1 |+ 1.

Case 2: v = ti, si ∈ M . Note that ti is a blue vertex, so si must be green, since

M3 does not contain any source-sink pair, and in particular si cannot be an endpoint

of b. Let D be a B-cut obtained in step (q2-b) and MD be its root component. Recall

that MD = (M1 + ti) − (si + U1 + . . . + Ur), where U1, . . . , Ur are the components of

M − si not containing b.

Observe that in step (q2-b) we did not remove any K1-solid edge from M1. Since

si is a green vertex, all edges incident to si do not belong to T . Edges in U1, . . . , Ur

and incident to these components are also not K1-solid, because all paths from b to

U1, . . . , Ur, which use edges of T that are in M1, must go through si. Thus |SD| =

|SK1 |+ 1.

In step (q3) MD can only increase its size after merging with leaf components,

hence |SK′1| ≥ |SD|. This implies that |SK′

1| ≥ |SK1 |+ 1.

Lemma 2 For every K2 ∈ K there is a path from K2 to K3 in K.

Proof: Let W1, . . . , Wq be the leaf components of K3 and T1, . . . , Tq be arbitrary span-

ning trees of W1, . . . , Wq. Recall that vertices of W1, . . . , Wq are called green vertices.

For every leaf Wj there is at least one source-sink pair (si, ti) such that one of si

and ti belongs to Wj and the other to the root component of K3. Choose one such

source or sink for every Wj and denote this set by P = {p1, . . . , pq}.

Page 43: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

36

Let D = E(M, G1, . . . , Gl) be a B-cut of H such that all vertices of P are in the

leaf components. Let e ∈ Ti for some i ∈ {1, . . . , q}. We call e a D-solid edge if there

is j ∈ {1, . . . , l} such that e ∈ Gj , pi ∈ Gj and e is reachable from pi by using only

edges of Ti that are in Gj . Otherwise e is called a D-dashed edge (see Figure 2.13). We

denote the set of D-solid edges by SD and the set of D-dashed edges by DD. Note that

|SD|+ |DD| = |T1|+ . . . + |Tq|.

bv

M2

L1

e

w

p1

L2

L3 p2

R1

p3R2

Figure 2.13: Cut conjunction K2. The solid lines are K2-solid edges, the dashed linesare K2-dashed edges.

Let K2 = E(M2, L1, . . . , Lm, R1, . . . , Rn). Recall that M3 is the root component of

K3 and its vertices are called blue vertices. Since M3 ⊆ M2, all elements of P must

belong to leaf components of K2 and thus the notion of K2-solid edges is well defined.

We will show by induction on the number of K2-solid edges |SK2 |, that there is a path

in K from K2 to K3 (note that since this path is in K, the root components of vertices

on that path must contain all the blue vertices).

If |SK2 | = |T1|+ . . . + |Tq|, all green vertices are in leaf components, so M2 contains

only blue vertices, thus M2 = M3 and by Proposition 8, we have K2 = K3.

If |SK2 | < |T1|+ . . . + |Tq|, then there exists a K2-dashed edge e = vw between two

green vertices v and w such that w is in a leaf component, v ∈M2 and w is incident to

a K2-solid edge or w = pi. Without loss of generality, suppose that e ∈ Ti and w ∈ Lj

(see Figure 2.13). Such an edge exists because K2-dashed and K2-solid edges form a

spanning forest of green vertices.

We show that K ′2, a neighbor of K2 obtained by moving v from M2 to Lj , has

|SK′2| ≥ |SK2 |+ 1 and K ′

2 ∈ K.

Page 44: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

37

Let D = E(M, L1, . . . , Lj + v, . . . , Lm, U1, . . . , Ur, R1, . . . , Rn) be a B-cut obtained

in step (q2-c). Recall that M = M2 − (v + U1 + . . . + Ur), where U1, . . . , Ur are the

components of M2 − v not containing b. Note also that U1, . . . , Ur cannot contain any

blue vertices, since M2 contains M3, which is connected, thus removing a green vertex

v cannot disconnect any blue vertex from b. Hence M3 ⊆ M . Since in step (q3) M

can only increase its size, the root component of K ′2 contains M3.

Since Lj + v contains both v and w, e is a D-solid edge. Thus |SD| = |SK2 |+ 1. In

step (q3) only leaf components not containing vertices of P can merge with M . Since

these leaf components do not not contain any solid edges, we obtain |SK′2| ≥ |SD|. This

implies that |SK′2| ≥ |SK2 |+ 1.

Proof of Proposition 9. Let K1 and K3 be arbitrary cut conjunctions and K be the

induced subgraph of H defined above. By Lemma 1 there is a path in H from K1 to

some cut conjunction K2 in K. By Lemma 2 there is a path from any cut conjunction

of K to K3. The proposition follows (see Figure 2.14). �

H

K1

K

K2

K3

Figure 2.14: Path from K1 to K3.

Since H is strongly connected and finding an initial vertex of H is easy, by Propo-

sition 3 we can generate all cut conjunctions of H in incremental polynomial time.

2.2 Proof of Theorem 6

We apply the X − e + Y method to the generation of all minimal 2-vertex connected

spanning subgraphs of a 2-vertex connected graph G = (V, E).

Page 45: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

38

We define a Boolean function π as follows: for X ⊆ E let

π(X) =

1, if (V,X) is 2-vertex connected;

0, otherwise.

Clearly π is monotone and it can evaluated in O(|V | + |E|) time [Tar72]. Then Fπ =

{X | X ⊆ E is a minimal set satisfying π(X) = 1} is the family of edge sets of all

minimal 2-vertex connected spanning subgraphs of (V, E). For X ∈ Fπ and e ∈ X we

define

YX,e = {Y | Y ⊆ E r X is a minimal set satisfying π((X r e) ∪ Y ) = 1}.

To prove Theorem 6 we only need to show by Proposition 6 that we can generate

all elements of YX,e in incremental polynomial time. In fact, we show that we can do

it, more efficiently, with polynomial delay, i.e., in which the generation of the first k

elements can be accomplished in time polynomial in the input size and linear in k.

Recall that a maximal connected subgraph without a cutvertex is called a block.

Thus, every block of a connected graph H is either a maximal 2-vertex connected

subgraph, or a bridge (with its ends). Different blocks overlap in at most one vertex,

which is a cutvertex of H. Hence, every edge of the graph lies in a unique block.

Let A denote the set of cutvertices of H and let B denote the set of its blocks. We

then have a natural bipartite graph on vertex set A ∪ B in which two vertices B ∈ B,

a ∈ A are connected if a is a cutvertex of H belonging to B. We call such graph a block

graph of H. Observe that the block graph of a connected graph is a tree.

Proposition 10 All elements of YX,e can be generated with polynomial delay.

Proof: Let (V, X) be a minimal 2-vertex connected spanning subgraph of (V, E) (see

Figure 2.15). First we show that the block graph of (V, X r e) is a path such that

endpoints of e belong to its ends. As we observed above the block graph of (V, X r e)

is a tree. Suppose the block graph of (V, X r e) has a leaf B that does not contain an

endpoint of e. Let a be a cutvertex of (V, X r e) adjacent to B in the block graph.

Removing the vertex a from the 2-vertex connected graph (V, X) disconnects vertices

Page 46: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

39

G (V,X)

e

Figure 2.15: 2-vertex connected graph G = (V, E) and a minimal 2-connected spanningsubgraph (V, X) of G.

of B from other vertices, a contradiction with G being 2-vertex connected. Thus, the

block graph of (V, X r e) has only two leaves, each containing one endpoint of e. �

We denote by B1, . . . , Br the blocks of (V, X re) and by a1, . . . , ar−1 its cutvertices.

Without loss of generality we assume that the block graph of (V, X r e) is a path

B1a1B2 . . . ar−1Br (see Figure 2.16).

a1 a2 a3a4

B1

B2 B3B4 B5

B1 B2 B3 B4 B5a1 a2 a3 a4

Figure 2.16: (V, X r e) and its block graph

Let f = uv be an edge of E r X, such that u belongs to the block Bi and v belongs to

Bj , where i < j. We define

α(f) =

i, if v ∈ Bi r ai ;

i + 1, if v = ai,

and

β(f) =

j, if v ∈ Bj r aj−1 ;

j − 1, if v = aj−1.

Then we construct a directed multigraph D on vertex set B1, . . . , Br whose edge set is

defined as follows:

Page 47: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

40

• for each i = 1, . . . , r − 1, we add an arc Bi+1Bi,

• for each edge f ∈ E r X, such that α(f) < β(f), we add an arc Bα(f)Bβ(f) (see

Figure 2.17).

B1 B2 B3 B4 B5

Figure 2.17: Directed multigraph D.

Claim 2 The directed multigraph D has at most |V | vertices and |V |+ |E| arcs and it

can be constructed in O(|V |+ |E|).

Proof: The number r of vertices of D is equal to the number of blocks of (V, X r e),

which is at most |V |. D has exactly r−1 arcs between subsequent vertices and at most

|E| arcs corresponding to edges of E r X. Thus D has at most |V |+ |E| arcs.

We can construct D as follows:

• find all blocks of (V, X r e) in O(|V |+ |E|) time [Tar72],

• create r vertices and add r− 1 arcs between subsequent vertices and at most |E|

arcs corresponding to edges of E r X; this step also takes O(|V |+ |E|) time.

Now we show that the generation of elements of YX,e is equivalent to the generation

of minimal directed B1-Br paths in D.

For every cutvertex ak there is an edge f ∈ Y such that α(f) ≤ k < β(f). By

minimality of Y , edges of E r X whose both endpoints belong to the same block

cannot be in Y . We conclude that Y = {f1, . . . , fs} such that

1 = α(f1) < α(f2) ≤ β(f1) < α(f3) ≤ . . . < α(fs) ≤ β(fs−1) < β(fs) = r.

Page 48: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

41

f1

f2

B1 B2 B3 B4 B5

Figure 2.18: Y = {f1, f2} and corresponding directed path B1B4B3B5.

Thus Y corresponds to a directed path Bα(f1) Bβ(f1) Bβ(f1)−1 . . . Bα(f2)+1 Bα(f2) Bβ(f2)

Bβ(f2)−1 . . . Bα(f3)+1 Bα(f3)Bβ(f3) . . . Bβ(fs) (see Figure 2.18).

Since all minimal directed paths between two vertices can be generated via back-

tracking with polynomial delay [RT75], Proposition 10 follows. �

This completes the proof of Theorem 6.

2.2.1 Complexity

In this section we analyze the total running time of the procedure Traversal(G). Let

n = |V |, m = |E| and N = |Fπ|. We observe that since G is 2-vertex connected m ≥ n.

Since we can compute π in O(n + m) time [Tar72] and to find µ(E) we need to

compute π exactly m times, finding the initial vertex Xo of the supergraph takes O(m2)

time.

Outputting a vertex of the supergraph takes O(m) time and we output each vertex

only once. Thus the total time of outputting vertices is O(Nm).

Each vertex of the supergraph is inserted to the queue Q and removed from Q only

once. The operations of enqueuing and dequeuing take O(1) time, so the total time

devoted to queue operations is O(N).

We implement the dictionary D as a red-black tree. The insert and find operations

in red-black trees take time logarithmic in the size of the tree. We insert each vertex

of the supergraph to D once and we need O(m) time to compare two vertices, thus the

total time devoted to insert operations is O(Nlog(N)m).

Since a vertex is removed from Q every time we execute the while loop (lines 2-8)

Page 49: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

42

and it will never be reinserted to Q, the while loop is executed at most N times. As

a vertex of the supergraph is a subset of edges of the input graph, the for loop (lines

4-8) is executed at most m times. We now analyze the time Traversal(G) spends

performing lines of the main loop.

line 5: As we noted above we generate at most Nm families YX,e. Also note that we

always have |YX,e| ≤ N . By Claim 2 the construction of the directed multigraph

D takes O(m) time and this graph has at most n vertices and n + m arcs. Since

the generation of elements of YX,e is equivalent to the generation of directed

paths in D we obtain that for a given X and e we can compute YX,e in O(Nm)

time [RT75]. Thus the total time spent generating families YX,e is O(N2m2).

line 6: We compute µ at most N2m times. Thus the total time of computing µ is

O(N2m3).

line 7: We test if D contains X ′ at most N2m times. Since comparing two subgraphs

takes O(m) time the find operation in the red-black tree D takes O(log(N)m)

time. The total running time of the test is O(N2log(N)m2).

Thus Transversal(G) runs in O(N2log(N)m2 + N2m3) time.

2.3 Proof of Theorem 7

In this section we apply the X−e+Y method to the generation of all minimal 3-vertex

connected spanning subgraphs.

For a given 3-vertex connected graph (V, E) we define a Boolean function π as

follows: for a subset X ⊆ E let

π(X) =

1, if (V,X) is 3-vertex connected;

0, otherwise.

Clearly π is monotone, π(∅) = 0, π(E) = 1, and π(X) can be evaluated in O(|V |+ |E|)

time [HT73]. Then Fπ = {X | X ⊆ E is a minimal set satisfying π(X) = 1} is the

family of edge sets of all minimal 3-vertex connected spanning subgraphs of (V, E). For

Page 50: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

43

X ∈ Fπ and e ∈ X we define

YX,e = {Y | Y ⊆ E r X is a minimal set satisfying π((X r e) ∪ Y ) = 1}.

By Proposition 6 we only need to prove that we can generate all elements of YX,e in

incremental polynomial time:

Proposition 11 All elements of YX,e can be generated in incremental polynomial time

for every X ∈ Fπ and e ∈ X.

First in Section 2.3.1 we recall the decomposition theory for 2-vertex connected

graphs presented in [HT73]. Then in Section 2.3.2 we prove that the decomposition of

a graph (V, X re) has a special structure, when (V, X) is a minimal 3-vertex connected

subgraph. In Section 2.3.3 we introduce a minimal forward a-b extensions problem and

recall an algorithm from [BEGK04a] of solving it, then in Section 2.4.5 we prove Propo-

sition 11 by reducing the generation of elements of YX,e to solving minimal forward a-b

extensions problem. Finally in Section 2.4.6 we analyze the complexity of the procedure

Traversal.

2.3.1 Dividing a Graph Into Triconnected Components

In this section we closely follow the exposition from [HT73].

Let G = (V, E) be a 2-vertex connected multigraph. A pair of vertices {x, y} is

called a separation pair of G if there is a partition E1, E2 of the edge set E such that

• |E1| ≥ 2, |E2| ≥ 2,

• the subgraphs induced by E1, E2 are connected,

• {x, y} = V (E1)∩V (E2), where V (E1) and V (E2) denote the sets of vertices of G

incident to E1 and E2, respectively.

Note that if G has no separation pairs then G is 3-vertex connected.

For a separation pair {x, y} and a corresponding partition E1, E2, we define G1 =

(V (E1), E1 ∪ xy) and G2 = (V (E2), E2 ∪ xy). We call the multigraphs G1, G2 split

Page 51: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

44

graphs of G with respect to {x, y}. Replacing a multigraph G by two split graphs is

called splitting G. There may be many possible ways to split a multigraph, even with

respect to a fixed separation pair {x, y}. We denote a splitting operation by s(x, y, i),

where i is a label distinguishing this split operation from other splits. The new edges

of G1 and G2 are called virtual edges. We label them (xy, i) to identify with the split

s(x, y, i).

Suppose a multigraph G is split, the split graphs are split, and so on, until no more

splits are possible. We call the graphs constructed this way split components of G. The

split components of a multigraph are of three types:

• triple bonds, where a bond is a multigraph having exactly two vertices u, v and

one or more edges uv,

• triangles, where a triangle is a cycle of length 3,

• 3-vertex connected graphs.

We associate a graph T with a decomposition into split components of G. The

vertices of T are the split components. Two split components are connected if they

both contain a virtual edge (xy, i). Therefore each edge of T corresponds to exactly

one separation pair (though a separation pair can correspond to several edges of T or

to none). Clearly T is a tree. We call T the split components tree.

The split components are not necessarily unique. In order to get unique components

we must partially reassemble the split components. Suppose G1 = (V1, E1) and G2 =

(V2, E2) are two split components, both containing a virtual edge (xy, i). Let G =

(V1 ∪ V2, (E1 r xy) ∪ (E2 r xy)). We call G a merge graph of G1 and G2 and denote it

by G = Merge(G1, G2). Merging is the inverse of splitting. If we perform a sufficient

number of merges we recreate the original multigraph.

In order to find unique components we need to merge adjacent triple bonds as much

as possible to obtain bonds and to merge adjacent triangles as much as possible to

obtain cycles. We call these unique components triconnected components. We also

associate a tree T ′ with a decomposition into triconnected components. We call T ′ the

tree of triconnected components.

Page 52: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

45

Theorem 12 ( [Mac37,Tut66,HT73] ) G has a unique decomposition into tricon-

nected components, each of which is 3-vertex connected graph, a cycle or a bond. �

2.3.2 Structure of the Subgraph (V,X r e).

In this section we describe a structure of the graph obtained by removing an edge from

a minimal 3-vertex connected subgraph of G.

Let (V, X) be a minimal 3-vertex connected subgraph of G and let e ∈ X (see Fig-

ure 2.19). Consider a decomposition of (V, X re) into split components B1, . . . , Bl. Let

e

1

2

3

4

5

6

7

8

9

10

11

12

13

Figure 2.19: A minimal 3-vertex connected graph (V, X).

T denote the split components tree of (V, X r e) corresponding to this decomposition.

Claim 3 T is a path such that both ends contain an endpoint of e.

Proof: Suppose that one endpoint of e belongs to a separation pair. Then the removal

of this separation pair disconnects (V, X), a contradiction.

Thus neither endpoint of e belongs to any separation pair. Observe that vertices that

do not belong to separation pairs occur in exactly one split component. Suppose there

is a leaf of T that does not contain an endpoint of e. Then removing the separation pair

corresponding to the edge of T incident to this leaf disconnects (V, X), a contradiction.

Thus T has only two leaves, each containing an endpoint of e. �

The above claim implies that we can assume the split components are indexed in a

way such that T is the path B1 . . . Bl (see Figure 2.20).

Page 53: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

46

B1 B2 B3 B4 B5 B6 B7 B8 B9

1

2

4

2

3

4

5

6

7 9

4 8

9

8

9 11

8

11

8

11 12

8 10

12

10

12

10

12

13

Figure 2.20: Decomposition of (V, X r e) into split components.

Claim 4 There are no two subsequent split components Bi, Bi+1 such that both are

triple bonds.

Proof: Suppose Bi consists of three virtual edges. Then Bi has three neighbors in T ,

a contradiction with T being a path. Therefore Bi, Bi+1 have at least one nonvirtual

edge each. Observe that the vertex set of Bi and Bi+1 is the same pair of vertices.

Also, recall that split components partition the edge set X. Thus Bi and Bi+1 contain

two different edges of X connecting the same two vertices, a contradiction with (V, X)

being minimal 3-vertex connected. �

Claim 5 The first two split components B1 and B2 are not both triangles. Similarly,

the last two split components Bl−1 and Bl are not both triangles.

Proof: Suppose B1 is a triangle on vertices {v1, v2, v4} and B2 is a triangle on vertices

{v2, v3, v4}. Without loss of generality we assume that B1 has the virtual edge v2v4

and B2 has two virtual edges v2v4, v2v3. Consequently the vertices v1 and v4 both have

degree two in (V, X r e). After adding the edge e, one of them still has degree two,

thus removing its neighbors disconnects (V, X), a contradiction. �

Claim 6 There are no three subsequent split components Bi, Bi+1, Bi+2 such that all

of them are triangles.

Proof: Suppose Bi is a triangle on vertices {v1, v4, v5}, Bi+1 is a triangle on vertices

{v1, v2, v4} and Bi+2 is a triangle on vertices {v2, v3, v4}. By Claim 5, the triangles Bi,

Bi+1, Bi+2 cannot be the first or the last three vertices of the path T , thus each triangle

Page 54: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

47

has two virtual edges. Without loss of generality assume that the edges v1v4 and v2v4

are virtual.

We show that one of the vertices v1, v2, v3, v4, v5 has degree two in (V, X r e). We

have following four cases:

Case 1: The edges v1v5 and v2v3 are virtual. Then v4 has degree two.

Case 2: The edges v1v5 and v3v4 are virtual. Then v2 has degree two.

Case 3: The edges v4v5 and v2v3 are virtual. Then v1 has degree two.

Case 4: The edges v4v5 and v3v4 are virtual. Then v1 and v2 have degree two.

Since none of these triangles is the end of the path T , endpoints of e do not belong

to any of them. Thus any vertex of degree two in (V, X r e) has the same degree in

(V, X). Removing two neighbors of that vertex disconnects (V, X), a contradiction with

(V, X) being 3-vertex connected. �

Let T (a, b, c) denote the triangle on vertices a, b, c with a nonvirtual edge ab and

virtual edges ac, bc (see Figure 2.21). We consider two subsequent triangles Bi and

Bi+1. By Claim 5 each triangle has two virtual edges. Without loss of generality we

can assume that Bi is the triangle T (v1, v2, v4). Let Bi+1 be a triangle on vertices

{v2, v3, v4} with a virtual edge v2v4.

Claim 7 Nonvirtual edges of Bi and Bi+1 cannot have a common endpoint (see for

example B3 and B4 in Figure 2.20). Thus Bi+1 is the triangle T (v3, v4, v2).

Proof: Suppose v3v4 is a virtual edge, consequently v1v2, v2v3 are not virtual. Then

v2 is a vertex of degree two in (V, X), a contradiction. Thus the edge v2v3 must be

virtual. �

A square Q(a, b, c, d) is a cycle of length 4 on vertices a, b, c, d with nonvirtual edge

ab, cd and virtual edges ad, bc (see Figure 2.21).

Now we consider the unique decomposition of (V, X r e) into triconnected com-

ponents C1, . . . , Ck obtained by merging pairs of triple bonds and pairs of triangles

containing the same virtual edge, as described in Theorem 12.

Page 55: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

48

Proposition 12 If (V, X) is minimal 3-vertex connected graph then each triconnected

component is one of the following four types:

• a triple bond,

• a triangle,

• a square of the form Q(a, b, c, d),

• a 3-vertex connected graph.

Moreover, the tree T ′ of triconnected components is a path.

Proof: Consider the decomposition into the split components B1, . . . , Bl. By Claim 4,

there are no two triple bonds containing the same virtual edge, consequently every

triple bond Bi is a triconnected component. By Claim 6 there are no three consecutive

triangles in the sequence B1, . . . , Bl. Let Bi and Bi+1 be a pair of subsequent triangles.

By Claim 7, they are of the form Bi = T (a, b, c) and Bi+1 = T (c, d, b). After merging

they form a square Q(a, b, c, d) (see Figure 2.21).

T (a, b, c) T (c, d, b)

a b

d

b

d c

Q(a, b, c, d)

a b

cd

Figure 2.21: Triangles T (a, b, d), T (c, d, b) and their merge graph Q(a, b, c, d).

T ′ is obtained from the path T by merging pairs of subsequent triangles, thus T ′ is

also a path. �

Proposition 13 The length of the path T ′ is at most 2|V |.

Proof: Let {x1, y1}, . . . , {xk−1, yk−1} be separation pairs corresponding to edges of T ′.

Observe that if Ci is a triple bond then {xi−1, yi−1} = {xi, yi}.

Now we show that if Ci is not a triple bond then at least one of {xi, yi} does not

belong to {x1, . . . , xi−1, y1, . . . , yi−1}. Suppose that xi, yi ∈ {x1, . . . , xi−1, y1, . . . , yi−1}.

Page 56: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

49

Since Ci is not a triple bond, we have {xi, yi} 6= {xi−1, yi−1}. Without loss of generality

we can assume that xi /∈ {xi−1, yi−1}. Thus xi ∈ {x1, . . . , xi−2, y1, . . . , yi−2}. Conse-

quently xi ∈ V (G1) and xi ∈ V (G2), where G1 and G2 be the split graphs with respect

to {xi−1, yi−1}. But {xi−1, yi−1} = V (G1) ∩ V (G2), a contradiction.

By above and Claim 4, {xi, yi}, {xi−1, yi−1} contain at least one vertex that does

not occur in {x1, . . . , xi−2, y1, . . . , yi−2}. Thus the number of such separation pairs can

be at most 2|V |. �

2.3.3 Minimal Forward a-b Extensions

In this section we present an algorithm from [BEGK04a] which generates all minimal

forward a-b extensions.

We consider a directed graph G = (V, F ∪ B) whose arcs are partitioned into a set

of forward arcs F and a set of backward arcs B, and two vertices a and b. A forward

a-b extension X of G is a subset of forward arcs such that b is reachable from a in

(V, B ∪X). We define the minimal forward a-b extensions problem as follows:

Minimal Forward a-b Extensions Problem

Input: A directed graph G = (V, F ∪B) and two vertices a and b

Output: The list of all minimal forward a-b extensions of G

The following algorithm generates all minimal forward a-b extensions.

Page 57: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

50

Extend(z, W1, W2)

1 B(z)← z∪{ all vertices that z can be reached from using

only backward arcs }

2 if a ∈ B(z) then output W1

3 else

4 Z ← {uv ∈ F r (W1 ∪W2) : u /∈ B(z), v ∈ B(z)}

5 for every uv ∈ Z do

6 if u reachable from a in (V, B ∪ F r (W1 ∪W2 ∪ Z))

7 then Extend(u, W1 ∪ {uv}, W2 ∪ (Z r {uv}))

Theorem 13 [BEGK04a] Extend(b, ∅, ∅) generates all minimal forward a-b exten-

sions of a given graph with polynomial delay. �

Theorem 14 The total running of Extend(b, ∅, ∅) is O(K|V |(|V |+ |F |+ |B|)), where

K is the number of all minimal forward a-b extensions of G = (V, F ∪B).

Proof: The depth of the recursion tree is at most |V | and the time spent at each node

is polynomial in |V | and |F ∪B|, since to compute B(z) (line 1), Z (line 4) and to check

if u is reachable from a (line 6) we can run breadth first search in the corresponding

graph. Thus the total running time is O(K|V |(|V |+ |F |+ |B|)). �

2.3.4 Proof of Proposition 11

We show that the generation of elements of YX,e is equivalent to the minimal a-b

extensions problem in a different graph. First we construct an input graph of minimal

forward a-b extensions problem.

Let (V, X) be a minimal 3-vertex connected spanning subgraph of G (see Fig-

ure 2.22). Consider a decomposition of (V, Xre) into triconnected components C1, . . . , Ck.

Page 58: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

51

G

1

2

3

4

5

6

7

8

9

10

11

12

13

e

1

2

3

4

5

6

7

8

9

10

11

12

13

(V,X)

Figure 2.22: 3-vertex connected graph G = (V, E) and a minimal 3-connected spanningsubgraph (V, X) of G.

Let T be the tree of triconnected components. By Theorem 12 and Proposition 12 the

decomposition is unique, the triconnected components are of four types: 3-vertex con-

nected graphs, triple bonds, triangles, squares and we can assume that the triconnected

components are indexed in a way such that T is the path C1, . . . , Ck (see Figure 2.23).

C1 C2 C3 C4 C5 C6 C7

1

2

4

2

3

4

5

6

7 9

4 8

9 11

8

11

8

11 12

10 10

12

10

12

13

Figure 2.23: Decomposition of (V, X r e) into triconnected components.

Next we construct a directed graph H as follows:

• for each 3-vertex connected graph or triangle Ci, we add a vertex Di,

• for each square Ci, we add three vertices Di, Ei, Fi with arcs DiEi, DiFi,

• for each 3-vertex connected graph or triangle Ci, i ≥ 2, we add an arc DiDj ,

where j =

i− 2, if Ci−1 is a triple bond;

i− 1, otherwise,

• for each square Ci, we add arcs EiDj , FiDj , where j =

i− 2, if Ci−1 is a triple bond;

i− 1, otherwise

(see Figure 2.24).

Page 59: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

52

D1 D2

F3

E3

D3

F5

E5

D5 D7

Figure 2.24: Directed graph H.

We call arcs of the digraph H backward arcs. A segment is a backward arc DiDj .

A diamond consists of four arcs DiEi, DiFi, EiDj , FiDj . Note that the backward arcs

of H can be uniquely partitioned into segments and diamonds.

Observation 3 Let Aj ∈ {Dj , Ej , Fj} and let Ai ∈ {Di, Ei, Fi}, where j < i. Then

Aj is reachable from Ai using the backward arcs.

For a vertex u, we define l(u) = min{ i | u ∈ Ci} and r(u) = max{ i | u ∈ Ci} to be

indices of the leftmost and rightmost triconnected component containing u. Obviously

l(u) ≤ r(u). Note that if u does not belong to any separation pair, then u belongs to

exactly one triconnected component, therefore l(u) = r(u). Also note that for every

vertex u, neither Cl(u) nor Cr(u) is a triple bond.

Let uv ∈ E r X be an edge such that l(u) ≤ l(v). We define

R(u) =

Fr(u), if Cr(u) is a square Q(a, b, c, d) and u = a;

Er(u), if Cr(u) is a square Q(a, b, c, d) and u = d;

Dr(u), otherwise,

L(v) =

Fl(v), if Cl(v) is a square Q(a, b, c, d) and v = b;

El(v), if Cl(v) is a square Q(a, b, c, d) and v = c;

Dl(v), otherwise.

Let H ′ be the directed multigraph obtained from H by adding the arc R(u)L(v) to D

for every edge uv ∈ E r X such that r(u) ≤ l(v) (see Figure 2.25). We call the new

arcs forward arcs.

Page 60: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

53

Lemma 3 The graph H ′ corresponding to the minimal 3-vertex connected subgraph

(V, X) of G = (V, E) has at most 6|V | vertices and at most |E| + 12|V | arcs and we

can construct H ′ in O(|V |+ |E|) time.

Proof: By Proposition 13 the number of triconnected components is at most 2|V |, and

since at most three vertices of H ′ correspond to a single triconnected component, the

number of vertices of H ′ is at most 6|V |. We add at most two backward arcs coming

out of a vertex and at most |E| forward arcs. The complexity of the construction of

H ′ follows from the fact that we can find all triconnected components of the graph

(V, X r e) in O(|V |+ |X|) time [HT73]. �

D1 D2

F3

E3

D3

F5

E5

D5 D7

Figure 2.25: Directed multigraph H ′.

We next show that the generation of sets YX,e is equivalent to the minimal a-b

extensions problem (see Section 2.3.3) in the graph H ′, where a = D1 and b = Dk.

Observation 4 Let {x, y} be a separation pair of (V, X r e) with split graphs G1, G2

and let f ∈ E r X. Then {x, y} is not a separation pair of (V, X r e ∪ f) if and only

if f = uv, where u ∈ V (G1) r {x, y} and v ∈ V (G2) r {x, y}. In this case we say that

f annihilates {x, y}.

Let Z ⊆ E r X be a set such that (V, X r e ∪ Z) is 3-vertex connected. We define

AZ = { R(u)L(v) | uv ∈ Z, r(u) ≤ l(v)} to be the subset of forward arcs corresponding

to the edges of Z.

Page 61: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

54

Lemma 4 Arcs of AZ together with the backward arcs contain a directed D1-Dk path

in H ′.

Proof: Since the backward arcs of H ′ can be partitioned into segments and diamonds

it is sufficient to show that for every segment or diamond we can reach its right end

from its left end using only the forward arcs in AZ and the backward arcs.

Claim 8 Let S = DiDj be a segment. Di is reachable from Dj using the arcs in AZ

and the backward arcs.

Proof: Let {x, y} be a separation pair of (V, X r e) corresponding to the edge Ci−1Ci

with split graphs G1 = Merge(C1, . . . , Ci−1), G2 = Merge(Ci, . . . , Ck). By Obser-

vation 4, there is an edge uv ∈ Z such that u belongs to G1, v belongs to G2 and

u, v /∈ {x, y} (see Figure 2.26).

x

y

u

v

G1 G2

Figure 2.26: Edge uv annihilating {x, y}.

Since u ∈ G1, v ∈ G2, we have r(u) ≤ i − 1 and l(v) ≥ i. Hence the forward arc

R(u)L(v) belongs to Az.

Since l(v) ≥ i, by Observation 3 Di is reachable from L(v) using some backward

arcs.

Recall that j =

i− 2, if Ci−1 is a triple bond;

i− 1, otherwise.Since Cr(u) cannot be a triple

bond and r(u) ≤ i− 1, we obtain r(u) ≤ j. By Observation 3, R(u) is reachable from

Dj using some backward arcs.

Therefore Di is reachable from Dj using the forward arc R(u)L(v) and some back-

ward arcs. �

Claim 9 Let S = {DiEi, DiFi, EiDj, FiDj} be a diamond. Di is reachable from Dj

using the arcs in AZ and the backward arcs.

Page 62: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

55

Proof: Since S is a diamond, Ci is a square Q(a, b, c, d). Then {{a, d}, {b, c}, {a, c},

{b, d}} are the four separation pairs in Ci.

Let uv ∈ Z be an edge annihilating {a, d}. Observe that r(u) ≤ j. Depending on v

we have two cases:

Case 1: v /∈ {b, c}. Then l(v) ≥ i + 1 and R(u)L(v) belongs to AZ . Thus Di is

reachable from Dj using the forward arc R(u)L(v) and some backward arcs.

Case 2: v ∈ {b, c}. Consequently l(v) = i + 1. Without loss of generality assume

v = b (see Figure 2.27). Then R(u)Fi belongs to A(Z). Let u′v′ ∈ Z be an edge

a b

cd

u

Figure 2.27: Edge ub annihilating {a, d}.

annihilating {b, d}. Observe that r(u′) = i if u′ = a and r(u′) ≤ i− 1 otherwise. Hence

either R(u′) = Fi or R(u′) ∈ {Dj , Ej , Fj}, where j ≤ i − 1. In the latter case, by

Observation 3 R(u′) is reachable from Fi using the backward arcs. Depending on v′ we

have two subcases:

Case 2.1: v′ 6= c. Consequently l(v′) ≥ i + 1 and R(u′)L(v′) ∈ AZ . By Observa-

tion 3, Di is reachable from L(v′) using some backward arcs. Thus Di is reachable from

Dj using one or two forward arcs from {R(u)Fi, R(u′)L(v′)} and some backward arcs.

Case 2.2: v′ = c. Consequently L(v′) = Ei and R(u′)Ei ∈ AZ . Let u′′v′′ ∈ Z be an

edge annihilating {b, c}. Then l(v′′) ≥ i + 1, r(u′′) = i if u′′ ∈ {a, d} and r(u′′) ≤ i− 1

otherwise. Thus R(u′′)L(v′′) ∈ AZ . By Observation 3, Di is reachable from L(v′′)

using some backward arcs and R(u′′) is reachable from either Ei or Fi using some

backward arcs. Hence Di is reachable from Dj using two or three forward arcs from

{R(u)Fi, R(u′)Ei, R(u′′)L(v′′)} and some backward arcs. �

Now we consider an extension A of D. Let ZA be the set of edges corresponding to

forward arcs of A.

Page 63: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

56

Lemma 5 (V, X r e ∪ ZA) is 3-vertex connected.

Proof: We define a mapping µ between segments and diamonds of H and sets of

separation pairs as follows:

• for each segment S = DiDj , let µ(S) = {{x, y}}, where {x, y} is the separation

pair corresponding to the edge CiCi−1 of T ,

• for each diamond S = {DiEi, DiFi, EiDj , FiDj}, let µ(S) = {{a, d}, {a, c},

{b, d}}, where Ci is the square Q(a, b, c, d).

Claim 10 Let S be the set of all segments and diamonds of H. Then⋃

S∈S µ(S) is the

set of all separation pairs of (V, X r e).

Proof: Let {x, y} be a separation pair of (V, X r e) with split graphs G1, G2. We

continue splitting graphs until we obtain a decomposition into split components, where

xy is a virtual edge belonging to at least two split components.

If xy belongs to two subsequent triangles, then after merging these triangles we

obtain a square Q(a, b, c, d), where {x, y} ∈ {{a, c}, {b, d}}. Otherwise xy belongs to

two or three split components (three if the middle one is a triple bond) and after merging

xy is still the virtual edge of two or three triconnected components.

Thus each separation pair {x, y} is one of the following five types:

• there are two virtual edges xy, belonging to Ci−1 and Ci, where Ci is not a square,

• there are four virtual edges xy, belonging to Ci−2, Ci−1 and Ci, where Ci is not

a square and Ci−1 is a triple bond,

• there are two virtual edges xy, belonging to Ci−1 and Ci, where Ci = Q(a, b, c, d)

and xy = ad,

• there are four virtual edges xy, belonging to Ci−2, Ci−1 and Ci, where Ci =

Q(a, b, c, d), xy = ad and Ci−1 is a triple bond,

• {x, y} is one of the two separation pairs {a, c}, {b, d} of a square Ci = Q(a, b, c, d).

Page 64: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

57

Let j =

i− 2, if Ci−1 is a triple bond;

i− 1, otherwise.In the first two cases {x, y} ∈ µ(DiDj). In

the remaining cases {x, y} ∈ µ(S), where S is a diamond {DiEi, DiFi, EiDj , FiDj}. �

By Observation 4, to prove Lemma 2.29 we need to show that for every separation

pair {x, y} there is an edge in ZA, neither endpoint of which is a vertex of the separation

pair, connecting the split graphs of (V, X r e) with respect {x, y}. By Claim 10, all

separation pairs correspond to segments and diamonds.

First, consider a segment DiDj with µ(DiDj) = {x, y}. Let G1 = Merge(C1, . . . , Ci−1),

G2 = Merge(Ci, . . . , Ck) be split graphs of (V, X r e) with respect to {x, y}. The ex-

tension A must contain an arc RpLq, where Rp ∈ {Dp, Ep, Fp}, Lq ∈ {Dq, Eq, Fq} p ≤ j,

q ≥ i (see Figure 2.28).

RpLq

Dj Di

Figure 2.28: Arc RpLq of A.

Let uv be an edge of Z corresponding to RpLq. Since r(u) = p, l(v) = q, we obtain

u ∈ G1 and v ∈ G2. Note that r(x), r(y) ≥ i. Since r(u) ≤ j ≤ i−1, we have u /∈ {x, y}.

Similarly, v /∈ {x, y}. Thus uv annihilates {x, y}.

Next, consider a diamond S = {DiEi, DiFi, EiDj , FiDj} with Ci = Q(a, b, c, d)

and µ(S) = {{a, d}, {a, c}, {b, d}}. Consider three pairs of split graphs:

G′a,d = Merge(C1, . . . , Ci−1), G′′

a,d = Merge(Ci, . . . , Ck),

G′a,c = Merge(C1, . . . , Ci−1, T (a, c, d)), G′′

a,c = Merge(T (a, b, c), Ci+1, . . . , Ck),

G′b,d = Merge(C1, . . . , Ci−1, T (a, b, d)), G′′

b,d = Merge(T (c, d, b), Ci+1, . . . , Ck).

where T (a, c, d), T (a, b, c), T (a, b, d), T (c, d, b) are triangles as introduced in Section 2.3.2.

The extension A must contain arcs such that Di is reachable from Dj using arcs of

A and backward arcs. We have following three cases:

Page 65: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

58

Case 1: RpLq ∈ A, where p ≤ j, q ≥ i. Let uv be an edge of Z corresponding

to RpLq (see Figure 2.29). Observe that u, v /∈ {a, b, c, d}. Thus uv annihilates all

RpLq

Dj

Fi

Ei

Di

Figure 2.29: Arc RpLq corresponding to edge uv annihilating all three separation pairsof µ(S).

three separation pairs of µ(S), since u belongs to the split graphs G′a,d, G′

a,c, G′b,d and

v belongs to G′′a,d, G′′

a,c, G′′b,d.

Case 2: {RpEi, EiLq} ∈ A or {RpFi, FiLq} ∈ A, where p ≤ j, q ≥ i. Without

loss of generality suppose that A contains the arcs RpFi, FiLq. Let uv, u′v′ be edges

of ZA corresponding to RpFi, FiLq, respectively. Observe that v = b, u′ = a and

u, v′ /∈ {a, b, c, d} (see Figure 2.30). The edge ub annihilates the separation pairs {a, d}

RpFi FiLq

Dj

Fi

Ei

Di

Figure 2.30: Arcs RpEi, EiLq corresponding to edges uc, dv′, respectively.

and {a, c}, since u belongs to G′ad, G′

ac and b belongs to G′′ad, G′′

ac. The edge av′

annihilates {b, d}, since a belongs to G′b,d and v’ belongs to G′′

b,d.

Case 3: {RpEi, EiFi, FiLq} ∈ A or {RpFi, FiEi, EiLq} ∈ A, where p ≤ j, q ≥ i.

Without loss of generality suppose that A contains the arcs RpFi, FiEi, EiLq. Then

edges ub, ac, dv′ ∈ ZA correspond to RpFi, FiEi and EiLq, respectively, where u, v′ /∈

{a, b, c, d} (see Figure 2.31).

The edge ub annihilates {a, d}, {a, c}, ac annihilates {b, d} and dv′ annihilates {a, c}.

Page 66: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

59

RpFi

EiLq

FiEiDj

Fi

Ei

Di

Figure 2.31: Arcs RpFi, FiEi and EiLq corresponding to edges ub, ac, dv′, respectively.

2.3.5 Complexity

In this section we analyze the total running time of the procedure Traversal(G). Let

n = |V |, m = |E| and N = |Fπ|. We observe that since G is 3-vertex connected m ≥ n.

Since we can compute π in O(n + m) time [HT73] and to find µ(E) we need to

compute π exactly m times, finding the initial vertex Xo of the supergraph takes O(m2)

time.

Outputting a vertex of the supergraph takes O(m) time and we output each vertex

only once. Thus the total time of outputting vertices is O(Nm).

Each vertex of the supergraph is inserted to the queue Q and removed from Q only

once. The operations of enqueuing and dequeuing take O(1) time, so the total time

devoted to queue operations is O(N).

We implement the dictionary D as a red-black tree. The insert and find operations

in red-black trees take time logarithmic in the size of the tree. We insert each vertex

of the supergraph to D once and we need O(m) time to compare two vertices, thus the

total time devoted to insert operations is O(NmlogN).

Since a vertex is removed from Q every time we execute the while loop (lines 2-8)

and it will never be reinserted to Q, the while loop is executed at most N times. As

a vertex of the supergraph is a subset of edges of the input graph, the for loop (lines

4-8) is executed at most m times. We now analyze the time Traversal(G) spends

performing lines of the main loop.

Page 67: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

60

line 5: As we noted above we generate at most Nm families YX,e. Also note that we

always have |YX,e| ≤ N . Since by Proposition 3 computing the input graph of

the minimal forward a-b extensions problem takes O(n + m) time and this graph

has at most 6n vertices and m + 12n arcs by Theorem 14 we obtain that for a

given X and e we can compute YX,e in O(Nnm) time. Thus the total time spent

generating families YX,e is O(N2nm2).

line 6: We compute µ at most N2m times. Thus the total time of computing µ is

O(N2m3).

line 7: We test if D contains X ′ at most N2m times. Since comparing two subgraphs

takes O(m) time the find operation in the red-black tree D takes O(mlogN) time.

The total running time of the test is O(N2m2logN).

Thus Transversal(G) runs in O(N2m2logN + N2m3) time.

2.4 Proof of Theorem 4

In this section we apply the X−e+Y method to the generation of all minimal k-vertex

connected spanning subgraphs.

For a given k-vertex connected graph (V, E) we define a Boolean function π as

follows: for a subset X ⊆ E let

π(X) =

1, if (V,X) is k-vertex connected;

0, otherwise.

Clearly π is monotone, π(∅) = 0, π(E) = 1, and π(X) can be evaluated in O(k3|V |2)

time [CKT93]. Then Fπ = {X | X ⊆ E is a minimal set satisfying π(X) = 1} is the

family of edge sets of minimal k-vertex connected spanning subgraphs of (V, E). For

X ∈ Fπ and e ∈ X we define

YX,e = {Y | Y ⊆ E r X is a minimal set satisfying π((X r e) ∪ Y ) = 1}.

By Proposition 6 we only need to prove that we can generate all elements of YX,e in

incremental polynomial time. We devote the rest of this section to the proof of the

following proposition.

Page 68: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

61

Proposition 14 All elements of YX,e can be generated in incremental polynomial time

for every X ∈ Fπ and e ∈ X.

In Section 2.4.1 we introduce a poset describing the structure of the graph (V, Xre).

In Section 2.4.3 we show that a family of sublattices is 2-Helly. Then in Section 2.4.5

we characterize YX,e and, combining our previous results, we prove Proposition 14.

In Section 2.4.2 we show that the poset introduced in Section 2.4.1 has bounded

width. This observation is not necessary to show that generating all minimal k-vertex

connected subgraphs can be done in incremental polynomial time.

2.4.1 (k − 1)-separators of (V,X r e)

A k-separator of a graph is a set of k vertices whose removal (simultaneously removing

all edges adjacent to those vertices) makes the graph no longer connected. Note that a

k-vertex connected graph has no k′-separators for k′ < k.

Let G = (V, X) be a minimal k-vertex connected spanning subgraph of a k-vertex

connected graph (V, E) (see Figure 2.32).

e

1

2 3 4

5

6 7

8 9

10

11

12

s

t

Figure 2.32: 4-vertex connected graph (V, E) and its minimal 4-vertex connected sub-graph G = (V, X). Solid lines are edges in X.

Let e = st be an arbitrary edge of G and let W be a (k − 1)-separator of Ge =

Page 69: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

62

(V, X r e). Note that W contains neither s nor t, since otherwise W would also be a

(k − 1)-separator of G. We denote by SW and TW the vertex sets of the components

(i.e., maximal connected subgraphs) of Ge[V r W ] containing s and t, respectively.

In the remainder of this section we denote by N(·) a neighborhood in the graph Ge.

Claim 11 Ge[V rW ] consists of two components, Ge[SW ] and Ge[TW ] (see Figure 2.33).

Proof: Suppose that there is a component of Ge[V r W ] not incident to e. Then that

component is also a component of G[V r W ], a contradiction with G[V r W ] being

connected. Hence Ge[V r W ] has two components, one containing s and the other

containing t. �

SW

W

TW

1

2 3 4

5

6 7

8 9

10

11

12

s

t

Figure 2.33: 3-separator W = {5, 8, 9} and the corresponding 3-source SW ={s, 1, 2, 3, 4, 6, 7}.

Let W be the set of all (k − 1)-separators of Ge = (V, X r e) and let S = {S ⊆

V | |N(S)| = k − 1, s ∈ S, t /∈ S ∪ N(S)}. We call an element of S a (k − 1)-source.

Note that the mapping W 7−→ SW is a bijection between W and S whose inverse is

S 7−→ N(S).

Consider the poset L = (S,⊆) of the (k − 1)-sources ordered by inclusion (see

Figure 2.34).

Page 70: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

63

{s}

{s, 1, 2}

{s, 1, 2, 5} {s, 1, 2, 3, 4, 6, 7}

{s, 1, 2, 3, 4, 5, 6, 7} {s, 1, 2, 3, 4, 6, 7, 8} {s, 1, 2, 3, 4, 6, 7, 9}

{s, 1, 2, 3, 4, 5, 6, 7, 8} {s, 1, 2, 3, 4, 5, 6, 7, 9} {s, 1, 2, 3, 4, 6, 7, 8, 9}

{s, 1, 2, 3, 4, 5, 6, 7, 8, 9}

Figure 2.34: Poset of 3-sources of Ge.

Proposition 15 The poset L with operations ∩ and ∪ is a lattice.

Proof: Let S, S′ be (k − 1)-sources of Ge. We show that S ∪ S′ and S ∩ S′ are

also (k − 1)-sources. Clearly s ∈ S ∪ S′, s ∈ S ∩ S′, t /∈ S ∪ S′ ∪ N(S ∪ S′) and

t /∈ (S ∩ S′) ∪N(S ∩ S′).

By the submodularity of the neighborhood function we have |N(S ∩ S′)|+ |N(S ∪

S′)| ≤ |N(S)| + |N(S′)|. Since |N(S)| = |N(S′)| = k − 1, the right hand side of the

above inequality equals 2k−2. On the other hand, since Ge is (k−1)-vertex connected

and the removal of N(S∪S′) or N(S∩S′) disconnects Ge, we obtain |N(S∪S′)| ≥ k−1

and |N(S ∩ S′)| ≥ k − 1. Thus, |N(S ∪ S′)| = |N(S ∩ S′)| = k − 1. �

We will show that the ordering of (k − 1)-sources in L has a natural interpretation

for the corresponding (k − 1)-separators.

Since the graph Ge is (k − 1)-vertex connected, by Menger’s Theorem it contains

k − 1 internally vertex disjoint s-t paths. Let P1 = sv11 . . . v1

l1t, P2 = sv2

1 . . . v2l2t, . . . ,

Pk−1 = svk−11 . . . vk−1

lk−1t denote such a collection of paths (see Figure 2.35). We denote

by VP the set of all vertices belonging to the paths P1, . . . , Pk−1. Note that not all

vertices in V necessarily belong to VP .

Consider a (k−1)-separator W . Since the removal of W disconnects Ge, W contains

Page 71: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

64

1

v1

1v2

1v3

1

v1

2

v2

27

v2

3v3

2

v1

3

v2

4

v3

3

s

t

P1 P2 P3

Figure 2.35: Internally vertex disjoint paths P1, P2, P3 of Ge represented by thick edges.

at least one internal vertex from each path Pi, i = 1, . . . , k−1. As W has k−1 vertices,

W = {v1α(W,1), . . . , v

k−1α(W,k−1)}, where α(W, i) is the index of the vertex of Pi belonging

to W .

Claim 12 Let W, U ∈ W. SW ⊆ SU if and only if α(W, i) ≤ α(U, i) for all i =

1, . . . , k − 1.

Proof: First let SW ⊆ SU and suppose on the contrary that α(W, i) > α(U, i) for

some i. Note that viα(W,i) is the only vertex of the path Pi belonging to W . Vertices

vi1, . . . , v

iα(W,i)−1 of Pi, including vi

α(U,i), must therefore belong to SW , since they are

reachable from s in Ge[V r W ] using edges of Pi. Also note that viα(U,i) /∈ SU , since

viα(U,i) ∈ U = N(SU ). Hence vi

α(U,i) ∈ SW r SU , a contradiction.

Conversely, assume α(W, i) ≤ α(U, i) holds for all i = 1, . . . , k − 1. Observe that

vertices in SW ∩ VP belong to SU , since they are reachable from s in Ge[V r U ] using

edges of Pi. Since Ge[SW ] is connected, every component of Ge[SW rVP ] has a neighbor

in SW ∩VP . As U does not contain vertices of SW rVP and SW ∩VP ⊆ SU , the vertices

in SW r VP are reachable from s in Ge[V r U ]. Thus SW ⊆ SU . �

Page 72: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

65

Lemma 6 Let SW , SU be (k− 1)-sources of Ge. Either SW ∩ TU = ∅ or TW ∩ SU = ∅.

Proof: We partition {1, . . . , k − 1} into sets I, J and K as follows:

I = {i | α(W, i) > α(U, i)},

J = {i | α(W, i) = α(U, i)},

K = {i | α(W, i) < α(U, i)}.

Let C = {viα(U,i) | i ∈ I} ∪ {vi

α(W,i) | i ∈ I} ∪ {viα(W,i) | i ∈ J}. Observe that

|C| = 2|I|+ |J |.

We show that N(SW ∩ TU ) ⊆ C. Note that V r ((SW ∩ TU ) ∪ C) = TW ∪ SU (see

Figure 2.36). Since W and U are (k − 1)-separators of Ge, there is no edge between

SW ∩ SU and TW ∪ SU , thus N(SW ∩ TU ) ⊆ C.

W

U

s

tTU

SW

Figure 2.36: (k − 1)-separators W and U . Black nodes are vertices of C.

Let D = {viα(U,i) | i ∈ K} ∪ {vi

α(W,i) | i ∈ K} ∪ {viα(W,i) | i ∈ J} . Similarly, we

obtain that N(TW ∩ SU ) ⊆ D.

Suppose for contradiction that SW ∩ TU 6= ∅ and TW ∩ SU 6= ∅. Since SW ∩ TU

contains neither s nor t, the removal of N(SW ∩ TU ) disconnects G. As G is k-vertex

Page 73: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

66

connected, we obtain k ≤ |N(SW ∩ TU )| ≤ |C|, thus

2|I|+ |J | ≥ k.

Similarly, we have

2|K|+ |J | ≥ k.

Recall that I, J and K partition {1, . . . , k − 1}, thus

k − 1 = |I|+ |J |+ |K|.

Combining this with the above inequalities we obtain 2((k− 1) + |I|+ |J |+ |K|) ≥

2(k + |I|+ |J |+ |K|), a contradiction. �

2.4.2 The Width of L

In this section we show that the lattice L has bounded width. This observation is not

necessary to show that generating all minimal k-vertex connected subgraphs can be

done in incremental polynomial time. We use it to give a bound on the number of

(k − 1)-sources while analyzing the complexity of the algorithm.

Corollary 1 If SW and SU are incomparable in L then there exists some i ∈ {1, . . . , k−

1} such that |α(W, i)−α(U, i)| = 1, i.e., the vertices viα(W,i) and vi

α(U,i) are adjacent on

the path Pi.

Proof: Suppose on the contrary that |α(W, i) − α(U, i)| > 1 for all i = 1, . . . , k − 1.

Then since SW and SU are incomparable, there exist j, l ∈ {1, . . . , k − 1} such that

α(U, j) + 1 < α(W, j) and α(W, l) + 1 < α(U, l). Then

vjα(U,j)+1 ∈ SW ∩ TU ,

vlα(W,l)+1 ∈ TW ∩ SU

contradicting Lemma 6. �

The width of a poset is the size of its largest antichain. We show that the width of

L is bounded.

Page 74: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

67

Proposition 16 The width of L is at most 2k−1.

Proof: We associate to every (k − 1)-separator W a 0-1 vector

π(W ) = (α(W, 1) mod 2, . . . , α(W, k − 1) mod 2).

By Corollary 1, if two (k − 1)-separators W , U are incomparable, there exists some

i ∈ {1, . . . , k − 1} such that |α(W, i)− α(U, i)| = 1, implying π(W ) 6= π(U).

Since the number of different 0-1 vectors of length k − 1 is 2k−1, every antichain in

P has size at most 2k−1. �

The bound in Proposition 16 cannot be significantly improved upon, as the following

example shows.

e

x1 x2 x3 xk−1

y1 y2 y3 yk−1

s

t

Figure 2.37: Minimal k-vertex connected graph G.

Example 2.4.1 Consider a minimal k-vertex connected graph G on a vertex set {s, t,

x1, . . . , xk−1, y1, . . . , yk−1} whose edges set is defined as follows (see Figure 2.37):

• we have the edges x1y1, x2y2, . . . , xk−1yk−1 and st,

• the vertices s, x1, . . . , xk−1 form a clique,

• the vertices t, y1, . . . , yk−1 form a clique.

Page 75: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

68

Let I be a subset of {1, . . . , k−1}. Then WI = {yi | i ∈ I}∪{xi | i ∈ {1, . . . , k−1}rI}

is the (k − 1)-separator of Ge and SI = {s} ∪ {xi | i ∈ I} is the corresponding (k − 1)-

source of Ge. Thus the poset of (k − 1)-sources of Ge contains the poset Bk−1 of all

subsets of {1, . . . , k − 1} ordered by inclusion. The width of Bk−1 is( k−1⌊ k−1

2⌋)≈ 2k−1√

k−1.

2.4.3 Helly Property for a Family of Sublattices

Let (P,�) be a lattice with operations ∧,∨ and let H be a family of sublattices of P .

As stated in [Ber89, Example 2 on page 21], the hypergraph H is 2-Helly. For the sake

of completeness we present the proof below.

Lemma 7 Let A ⊆ H. If for every Q′, Q′′ ∈ A we have Q′∩Q′′ 6= ∅ then⋂

Q∈A Q 6= ∅.

Proof: The proof is by induction on |A|. For |A| = 2 the claim clearly holds.

Suppose |A| ≥ 3. Let R, R′ and R′′ be three distinct elements of A. By the induction

hypothesis, there exist x ∈⋂

Q∈Ar{R} Q, y ∈⋂

Q∈Ar{R′} Q and z ∈⋂

Q∈Ar{R′′} Q. Let

x∗ = (x ∧ y) ∨ (x ∧ z) ∨ (y ∧ z).

We show that x∗ ∈⋂

Q∈A Q. Since for every Q ∈ A r {R, R′, R′′} we have x, y, z ∈ Q

we obtain that for every Q ∈ Ar {R, R′, R′′} we have x∗ ∈ Q.

As the formula for x∗ is symmetric, it suffices to show that x∗ ∈ R. Let 1 and 0

denote the maximum and minimum elements of R, respectively. Note that y, z ∈ R.

Thus 0 � y, z � 1. Since 0 � y ∧ z and x ∧ y, x ∧ z, y ∧ z � x∗, we obtain 0 � x∗. As

x ∧ y, x ∧ z, y ∧ z � 1 and x∗ is the minimum upper bound of x ∧ y, x ∧ z, y ∧ z , we

have x∗ � 1. �

2.4.4 Generating Minimal Transversals of a δ-Conformal Hypergraph

In this section we present an algorithm from [BEGK04b] of generating all minimal

transversals of δ-conformal hypergraph.

Let A be a hypergraph. A transversal to A is a subset of vertices that intersects

every hyperedge of A. We define the minimal transversals problem as follows:

Page 76: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

69

Minimal Transversals Problem

Input: A hypergraph A

Output: The list of all minimal transversals of A

For a δ-conformal hypergraph A on vertex set V we can generate all minimal transver-

sals in incremental polynomial time using a procedure Generate(A). First we present

a few auxiliary procedures. Given a hypergraph A and the collection B of minimal

transversals to A, Preprocess(A,B) returns ∅ if A contains only minimal transversals

to B or a minimal transversal to A not belonging to B otherwise.

Preprocess(A,B)

1 if every A ∈ A is a minimal transversal to B then return ∅

2 else exists A ∈ A such that A∗ = A r a is a transvesal to B

3 A′ ← {A′ ∩ (V r A∗) : A′ ∈ A}

4 return minimal transversal to A′

Subtransversal(S,A) finds a minimal transversal to A containing S or return ∅ if no

such minimal transversal exists.

Page 77: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

70

Subtransversal(S = {v1, . . . , vδ},A)

1 A0 ← {A ∈ A : A ∩ S = ∅}, A1 ← {A ∈ A : A ∩ S = v1},

. . .,Aδ ← {A ∈ A : A ∩ S = vδ}

2 for every selection A1, . . . , Aδ of δ hyperedges such that A1 ∈

A1, . . . , Aδ ∈ Aδ do

3 if for all A ∈ A0 we have A ⊆ A1 ∪ . . . ∪Aδ then

4 A′ ← {A ∩ (V r (A1 ∪ . . . ∪Aδ)) : A ∈ A0}

5 return minimal transversal to A′

6 return ∅

Given a hypergraph A and the collection B of minimal transversals to A where A

contains only minimal transversals to B (can be checked using Preprocess(A,B)),

Extend(A,B) returns ∅ if B contains all minimal transversals to A or a minimal

transversal to A which does not belong to B otherwise

Extend(A,B)

1 for every subset S ⊆ V of size at most δ do

2 if S * A and S + A for every A ∈ A then

3 T ← Subtransversal(S,A)

4 if T 6= ∅ then return T

5 return ∅

For a δ-conformal hypergraph A, Generate(A) creates a hypergraph B containing all

minimal transversals to A.

Page 78: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

71

Generate(A)

1 T ← minimal transversal to A

2 while T 6= ∅ do

3 add T to B

4 T ← Preprocess(A,B)

5 if T = ∅ then T ← Extend(A,B)

Theorem 15 [BEGK04b] If A is δ-conformal hypergraph then Generate(A) generates

all minimal transversals of A. �

Theorem 16 Let A be a δ-conformal hypergraph and K be the number of minimal

transversals to A, i = |V | and j = |A|. The total running time of Generate(A) is

O(K2i2j + Kiδ+2jδ+2).

Proof: We first note that given a hypergraph with i vertices and j edges we can find

a minimal transversal to this hypergraph in O(i2j) time as follows: we start with T

equal to the vertex set of the hypergraph (T is clearly a transversal), for every element

v ∈ T we delete it from T if T rv is still a transversal (checking if T rv is a transversal

requires O(ij) time).

We now analyze Preprocess(A,B). We can check if a subset A ⊆ V is a transversal

to B in O(|B|i) time. To check if A is minimal transversal we need to repeat the

above |A| ≤ i times. Note that |B| ≤ K. Thus the test in line 1 takes O(Ki2j) time.

Both computing A′ (line 3) and a minimal transversal to A′ (line 4) takes O(ij) time.

Therefore the total running time of the Preprocess(A,B) is O(Ki2j).

Computing A0,A1, . . . ,Aδ in line 1 of Subtransversal(S,A) takes O(ij) time. The

for loop (lines 2-5) is executed at most jδ times, while testing if for all A ∈ A0 we have

A ⊆ A1 ∪ . . .∪Aδ (line 3), computing A′ (line 4) and a minimal transversal of A′ (line

5) takes O(ij) time. Thus Subtransversal(S,A) takes O(ijδ+1).

Page 79: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

72

The for loop (lines 1-4) in Extend(A,B) is executed at most iδ times, while test-

ing testing if S * A and S + A for every A ∈ A (line 2) takes O(ij) time and

Subtransversal(S,A) takes O(ijδ+1). Thus Extend(A,B) takes O(iδ+1jδ+1).

Finally we analyze Generate(A). The while loop (lines 2-5) is executed K times.

Thus the total running time of Generate(A) is O(K2i2j + Kiδ+1jδ+1). �

2.4.5 Proof of Proposition 14

In this section we prove Proposition 14 by reducing the generation of elements of YX,e to

the generation of minimal transversals of a 2-conformal hypergraph (see Section 2.4.4).

First we define a 2-conformal hypergraph whose minimal transversals are elements of

YX,e.

For two vertices u, v ∈ V let Du,v = {SW ∈ S | u ∈ SW , v ∈ TW }.

Claim 13 Either Du,v = ∅ or Dv,u = ∅ for all u, v ∈ V .

Proof: Suppose on the contrary that we have SW ∈ Du,v and SU ∈ Dv,u. Then,

u ∈ SW ∩ TU and v ∈ TW ∩ SU , contradicting Lemma 6. �

For an edge f = uv let Df = Du,v ∪Dv,u (see Figure 2.38).

{s}

{s, 1, 2}

{s, 1, 2, 5} {s, 1, 2, 3, 4, 6, 7}

{s, 1, 2, 3, 4, 5, 6, 7} {s, 1, 2, 3, 4, 6, 7, 8} {s, 1, 2, 3, 4, 6, 7, 9}

{s, 1, 2, 3, 4, 5, 6, 7, 8} {s, 1, 2, 3, 4, 5, 6, 7, 9} {s, 1, 2, 3, 4, 6, 7, 8, 9}

{s, 1, 2, 3, 4, 5, 6, 7, 8, 9}

Figure 2.38: Elements of D2,11 are in black rectangles. Note that D11,2 = ∅.

Claim 14 Df is a sublattice of L.

Page 80: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

73

Proof: Let f = uv. Without loss of generality we can assume that Df = Du,v. Let

S, S′ ∈ Du,v. Then u ∈ S∩S′ and v /∈ (S∩S′)∪N(S∩S′). Similarly, we have u ∈ S∪S′

and v /∈ S ∪ S′ ∪N(S ∩ S′). Thus, S ∩ S′, S ∪ S′ ∈ Df . �

We defineH to be a hypergraph on vertex set S with edge set E = {Df | f ∈ ErX}.

Claim 15 The hypergraph H = (S, E) has at most |V |2k−1 vertices and at most |E|

edges and it can be constructed in O(|V |k|E|) time.

Proof: The number of vertices of H is at most |V |2k−1, since by Proposition 16 the

width of the lattice L is 2k−1 and the longest chain in L has |V | − 1 elements, thus

implying by the Dilworth theorem that the number of (k−1)-sources is at most |V |2k−1.

The number of edges is at most |E| since we add an edge to H for every edge of

E r X.

To construct H we first need to find all (k − 1)-sources and (k − 1)-separators. We

can check if after removing a given set of k − 1 vertices the graph G is still connected

in O(|V | + |E|) time using, e.g., depth first search. Thus we can find all (k − 1)-

separators by repeating the above procedure for every (k−1)-element subset of V . The

number of such subsets is( |V |k−1

)≤ |V |k−1. Thus we can compute all (k−1)-sources and

(k − 1)-separators in O(|V |k−1(|V |+ |E|)) time.

To add edges we need to check for every f ∈ E r X and every (k− 1)-separator W

if SW belongs to Df , which can done in O(|V |) time for each pair f and W . Thus the

complexity of constructing edges of H is O(|V |2|E|2k−1). �

We call a set of hyperedges whose union contains every vertex a hyperedge cover.

We show that the generation of all elements of YX,e is equivalent to the generation of

the minimal hyperedge covers of H.

Claim 16 Let Y ⊆ E r X. The graph (V, X r e∪Y ) is k-vertex connected if and only

if⋃

f∈Y Df = S.

Proof: First suppose that (V, X r e∪ Y ) is k-vertex connected and consider a (k− 1)-

source SW ∈ S. Since (V, X r e∪ Y ) is k-vertex connected there is an edge f ∈ Y such

that one of its endpoints belongs to SW and the other to TW , implying SW ∈ Df .

Page 81: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

74

Conversely, suppose that (V, X r e ∪ Y ) is not k-vertex connected, i.e., that it has

a (k− 1)-separator W . Since W is also a (k− 1) separator of Ge, we have SW ∈ S. As

no edge in Y connects Ge[SW ] and Ge[TW ], SW /∈⋃

f∈Y Df . �

Claim 17 All hyperedge covers of H can be generated in incremental polynomial time.

Proof: We reduce the problem of generating all hyperedge covers of H to the problem

of generating of maximal independent sets of a 2-conformal hypergraph, which can be

done in incremental polynomial time [BEGK04c].

First we observe that C is a minimal hyperedge cover of H if and only if E r C is a

maximal independent set of HT , where HT is the hypergraph defined by the transposed

incidence matrix of H.

As shown in [Ber89], a hypergraph is δ-Helly if and only if its transpose is δ-

conformal. Since the edges of H are sublattices of L, by Lemma 7 H is 2-Helly. Thus

HT is 2-conformal, which proves the claim. �

By Claim 17 we can generate N hyperedge covers of H in time polynomial in N

and the size of H. Thus by Claim 15 we can also generate N elements of YX,e in time

polynomial in N and the size of G. Proposition 14 immediately follows.

2.4.6 Complexity

In this section we analyze the total running time of the procedure Traversal(G). Let

n = |V |, m = |E| and N = |Fπ|. We observe that since G is k-vertex connected m ≥ n.

Since we can compute π in O(k3n2) time [CKT93] and to find µ(E) we need to com-

pute π exactly m times, finding an initial vertex Xo of the supergraph takes O(k3n2m)

time.

Outputting a vertex of the supergraph takes O(m) time and we output each vertex

only once. Thus the total time of outputting vertices is O(Nm).

Each vertex of the supergraph is inserted to the queue Q and removed from Q only

once. The operations of enqueuing and dequeuing take O(1) time, so the total time

devoted to queue operations is O(N).

Page 82: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

75

We implement the dictionary D as a red-black tree. The insert and find operations

in red-black trees take time logarithmic in the size of the tree. We insert each vertex

of the supergraph to D once and we need O(m) time to compare two vertices, thus the

total time devoted to insert operations is O(Nlog(N)m).

Since a vertex is removed from Q every time we execute the while loop (lines 2-8)

and it will never be reinserted to Q, the while loop is executed at most N times. As

a vertex of the supergraph is a subset of edges of the input graph, the for loop (lines

4-8) is executed at most m times. We now analyze the time Traversal(G) spends

performing lines of the main loop.

line 5: As we noted above we generate at most Nm families YX,e. Also note that we

always have |YX,e| ≤ N . Since by Claim 15 computing the input hypergraph

takes O(nkm) time and since this 2-conformal hypergraph has at most n2k−1

vertices and m arcs by Theorem 16 we obtain that for a given X and e we can

compute YX,e in O(N2n222k−2m+Nn424k−4m4) time. Thus the total time spent

generating families YX,e is O(N3n222k−2m2 + N2n424k−4m5 + Nnkm2).

line 6: We compute µ at most N2m times. Thus the total time of computing µ is

O(N2k3n2m).

line 7: We test if D contains X ′ at most N2m times. Since comparing two subgraphs

takes O(m) time the find operation in the red-black tree D takes O(log(N)m)

time. The total running time of the test is O(N2log(N)m2).

Thus Traversal(G) runs in O(N3n222k−2m2 + N2n424k−4m5 + Nnkm2) time.

2.5 Proof of Theorem 5

We apply the X − e + Y method to the generation of all minimal k-edge connected

spanning subgraphs.

For a graph G = (V, E) we define a Boolean function π as follows: for a subset

Page 83: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

76

X ⊆ E let

π(X) =

1, if (V,X) is k-edge connected;

0, otherwise.

Clearly π is monotone and π(X) can be evaluated in O(|E| + k2|V |log |V |k ) time

[Gab91]. Then Fπ = {X | X ⊆ E is a minimal set satisfying π(X) = 1} is the family

of edge sets of minimal k-edge connected spanning subgraphs of G. For X ∈ Fπ and

e ∈ X we define

YX,e = {Y | Y ⊆ E r X is a minimal set satisfying π((X r e) ∪ Y ) = 1}.

Proposition 17 below implies that we can generate all elements of Fπ in incremental

polynomial time.

Proposition 17 All elements of YX,e can be generated in incremental polynomial time

for every X ∈ Fπ and e ∈ X (see Figure 2.39).

G

e

(V,X)

e

Figure 2.39: 4 -edge connected graph G = (V, E) and a minimal 4-edge connectedspanning subgraph (V, X).

Proof: We define the equivalence relation ∼ on V by

s ∼ t⇐⇒ there are k-edge disjoint paths from s to t in (V, X r e).

We call a set δ(S) = {vw ∈ X r e | v ∈ S, w ∈ V r S} for some S ⊆ V , a cut. An

s-t cut is a cut for which s ∈ S, t ∈ V r S.

To see that ∼ is transitive, suppose that s ∼ t, t ∼ u and s ≁ u. By Menger’s

Theorem the minimum s-u cut δ(S) has less than k edges. Note that t belongs either

to S or V r S. Hence δ(S) is also s-t or t-u cut of size less than k, a contradiction.

Page 84: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

77

Let H be a weighted graph obtained from (V, X r e) by identifying vertices in the

equivalence classes of ∼ and replacing edges between two vertices by one, whose weight

is equal to the number of these edges (see Figure 2.40). Let T be the Gomory-Hu

R1

R2

R3

R4

R5

R1 R2 R3 R4 R52222

1 1

Figure 2.40: (V, X r e) and the weighted graph H.

cut-tree of H (see e.g., [Hu63], [CCPS98, page 78]).

Claim 18 T is a path such that both ends contain an endpoint of e.

Proof: Let s, t be vertices of H and let δ(S) be the minimum s-t cut. We denote the

capacity of the cut δ(S) by w(δ(S)). We first show that w(δ(S)) = k − 1.

Suppose that w(δ(S)) ≤ k − 2. Then removing all k − 1 edges of δ(S) ∪ e discon-

nects the graph (V, X), a contradiction with (V, X) being k-connected. Suppose that

w(δ(S)) ≥ k. This implies that there are k edge disjoint paths between s and t, thus

s ∼ t, a contradiction with the construction of H.

We then show that every leaf of T contains an endpoint of e. Suppose that T has

a leaf r that does not contain an endpoint of e. Since each vertex of T corresponds

to exactly one vertex of H, r corresponds to the equivalence class R. Observe that

|δ(R)| = k − 1 and removing edges of δ(R) from (V, X) disconnects it, a contradiction.

Thus T has only two leaves, each containing an endpoint of e. �

We denote by r1, . . . , rl the vertices of the path T and by R1, . . . , Rl ⊆ V the

corresponding equivalence classes. We next construct a directed multigraph D on vertex

set r1, . . . , rl whose edge set is defined as follows:

• for each i = 1, . . . , l − 1, we add an arc ri+1ri,

• for each edge f ∈ E r X, such the one endpoint belongs to Ri and the other to

Rj , where i < j, we add an arc rirj (see Figure 2.41).

Page 85: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

78

r1 r2 r3 r4 r5

Figure 2.41: Directed multigraph D.

Claim 19 The multigraph D has at most |V | vertices and |V |+ |E| arcs and it can be

constructed in O(min{|V |8/3|E|, |V |2|E|3/2}) time.

Proof: The number l of vertices of D is equal to the number of the equivalence class

of ∼, which is at most |V |. D has exactly l − 1 arcs between subsequent vertices and

at most |E| arcs corresponding to edges of E r X. Thus D has at most |V |+ |E| arcs.

We can find all equivalence classes of ∼ in O(min{|V |8/3|E|, |V |2|E|3/2}) as follows:

• construct a unit capacity network on |V | vertices and at most 2|E| arcs by re-

placing every edge of (V, X r e) by two arcs of weight 1 in O(|V |+ |E|) time,

• for every pair s, t ∈ V compute maximum s-t flow in the network constructed

above, if the value of the flow is at least k then s ∼ t; recall that the maximum flow

problem in the unit capacity network is solvable in O(min{n2/3m, m3/2}) , where

n and m are respectively the number of vertices and arc of the network [AMO93,

Section 8.2].

To construct H we create a vertex for every equivalence class of ∼ and add an edge

or increase the weight of the existing edge for every edge of X r e. This step takes

O(|V |+ |E|) time.

Constructing the Gomory-Hu tree T of H requires solving only l− 1 maximum flow

problems, where l is the number of vertices of H. Thus computing T takes O(|V |3|E|1/2)

time using the highest-label preflow-push algorithm [GT88,CM89].

Finally, to construct D we create a vertex for every equivalence class of ∼ and add

an arc between between subsequent vertices and at most |E| arcs corresponding to edges

of E r X. This step takes O(|V |+ |E|) time.

Page 86: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

79

Since G = (V, E) is k-edge connected, we have |V | ≤ |E|. Thus computing all

equivalence classes of ∼ is the most expensive operation. �

We then show that generating elements of YX,e is equivalent to the generation of

minimal directed r1-rl paths in D.

For f ∈ E we define α(f) = i, β(f) = j if one endpoint of f belongs to Ri and the

other to Rj , where i < j.

Observe that for every pair of equivalence classes Ri, Rj , i 6= j, there is an edge

f ∈ Y such that α(f) ≤ i and β(f) ≥ j. We conclude that Y = {f1, . . . , fs}, such that

1 = α(f1) < α(f2) ≤ β(f1) < α(f3) ≤ . . . < α(fs) ≤ β(fs−1) < β(fs) = l.

Thus Y corresponds to a directed path rα(f1) rβ(f1) rβ(f1)−1 . . . rα(f2)+1 rα(f2) rβ(f2)

rβ(f2)−1 . . . rα(f3)+1 rα(f3)rβ(f3) . . . rβ(fs).

Since all minimal directed paths between two vertices can be generated via back-

tracking with polynomial delay [RT75], Proposition 17 follows. �

2.5.1 Complexity

In this section we analyze the total running time of the procedure Traversal(G). Let

n = |V |, m = |E| and N = |Fπ|. We observe that since G is k-edge connected m ≥ n.

We only analyze the time Traversal(G) spends performing lines of the main loop

(the rest of the analysis is the same as in Section 2.4.6).

line 5: We generate at most Nm families YX,e. Note that we always have |YX,e| ≤ N .

By Claim 19 the construction of the multigraph D takes O(min{n8/3m, n2m3/2})

time and this multigraph has at most n vertices and n + m arcs. Since the

generation of elements of YX,e is equivalent to the generation of minimal directed

paths in D we obtain that for a given X and e we can compute YX,e in O(Nm)

time [RT75]. Thus the total time spent generating families YX,e is O(N2m2 +

min{Nn8/3m2, Nn2m5/2}).

line 6: We compute µ at most N2m times. Thus the total time of computing µ is

O(N2m2 + N2k2nmlog nk ).

Page 87: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

80

line 7: As before the total running time of checking ifD contains X ′ is O(N2log(N)m2).

Thus Traversal(G) runs in O(N2log(N)m2+N2k2nmlog nk +min{Nn8/3m2, Nn2m5/2})

time.

Page 88: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

81

Chapter 3

Vertex Generation

In this chapter we consider the vertex generation problem. We first introduce in Sec-

tion 3.1 the negative circuit generation problem and prove in Section 3.2 and 3.3 that

generating negative circuits of a weighted graph is hard. We show in Section 3.1.1 and

3.1.2 how this result implies Theorem 10 and 11.

3.1 Negative Circuits Generation Problem

Let G = (V, E) be a directed graph (digraph) and w : E → R be a real-valued weight

function defined on its arcs. We call such a pair a weighted digraph and denote it by

(G, w). For every subset of arcs F ⊆ E its weight is defined as the total weight of all

its arcs, w(F ) =∑

e∈F w(e). Let us call a simple directed cycle a circuit. A circuit is

called negative if its weight is negative. Finally, let us denote by C− = C−(G, w) the

family of negative circuits of (G, w), i.e., C− = {C ⊆ E | C is a circuit with w(C) < 0}.

First we consider the problem of generating exhaustively all negative circuits of

a given weighted directed graph (G, w), in other words the problem of enumerating

the family C−(G, w). Using the technique described in Section 1.3.2 we prove that

generating negative circuits of a weighted directed graph is hard.

Theorem 17 Given a weighted digraph G = (V, E), w : E → R and a family X ⊆ C−

of its negative circuits, it is NP-hard to decide whether X 6= C−.

Note that the analogous hardness result can be shown for undirected graphs, as

well. In this case we also call a simple cycle a circuit and we denote by C− = C−(G, w)

the family of all negative circuits of an undirected graph G = (V, E).

Page 89: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

82

Theorem 18 Given a weighted undirected graph G = (V, E), w : E → R, and a family

X ⊆ C−(G, w) of its negative circuits, it is NP-hard to decide whether X 6= C−.

We remark that all circuits of a directed or undirected graph can be enumerated

efficiently, e.g., by a simple backtracking algorithm [RT75].

We will derive Theorem 10 and 11 from Theorem 17 in Section 3.1.1 and 3.1.2,

respectively. Proofs of Theorem 17 and 18 are in Section 3.2 and 3.3, respectively.

3.1.1 Proof of Theorem 10

Consider a cone C = {y ≥ 0 : yT A = 0}, where A is the edge-vertex incidence matrix

of a directed graph G.

Claim 20 Extreme directions of C are in one-to-one correspondence with circuits of

G.

Proof: Let d be an extreme direction of C. Since dT A = 0, the arcs {(u, v) : duv 6= 0}

form a collection of directed cycles (not necessarily simple) of G. As d is an extreme

direction the arcs {(u, v) : duv 6= 0} form a circuit of G. Conversely, a characteristic

vector of a circuit is an extreme direction of C. �

We next intersect the cone C with a hyperplane H1 = {y : yT w = −1}, where w is a

weight function. Let P1 = C∩H1 = {y ≥ 0 : yT A = 0, yT w = −1} denote a polyhedron

obtained this way.

Claim 21 Vertices of P1 are in one-to-one correspondence with negative circuits of G.

Proof: We can only obtain a vertex of P1 by intersecting a hyperplane H1 with a

vertex or an extreme ray of C. Since H1 does not intersect the origin or extreme

rays corresponding to nonpositive circuits, all vertices of P1 must be obtained as the

intersection of H1 and the extreme rays corresponding to negative circuits. �

Claim 22 If the graph has at least one positive circuit and one negative circuit then

P1 is unbounded.

Page 90: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

83

Proof: Let y1 be a characteristic vector of a negative circuit and let y2 be a characteristic

vector of a positive circuit. Let y′1 = y1

|yT1 w| and y′2 = y2

|yT2 w| . Since y′1 + t(y′1 + y′2) ∈ P1

for every t ≥ 0, P1 is unbounded. �

Thus Theorem 17 implies that generating vertices of an unbounded polyhedron is NP-

hard.

3.1.2 Proof of Theorem 11

We intersect the cone C introduced in Section 3.1.1 by a hyperplane H2 = {y : 1T y = 1},

where 1 is the vector of all ones. Let P2 = C ∩H2 = {y ≥ 0 : yT A = 0, 1T y = 1} denote

a polyhedron obtained this way. Clearly P2 is bounded. Let H = {y : yT w < 0}.

Claim 23 Vertices of P2 which belong to H correspond to negative circuits.

Proof: We can obtain a vertex of P2 by intersecting a hyperplane H2 with a vertex or

and extreme ray of C. The hyperplane H2 does not contain the origin but it intersects

every extreme ray of C. Thus vertices of P2 correspond in one-to-one way to extreme

rays. Clearly only vertices corresponding to negative circuits belong to H. �

Thus Theorem 17 implies that generating vertices of a bounded polyhedron which

belong to an open halfspace is NP-hard.

3.2 Proof of Theorem 17

In this section we prove Theorem 17 by a reduction from satisfiability, using the tech-

nique described in Section 1.3.2.

Let us consider n propositional Boolean variables Xj , j = 1, .., n, denote by X =

1 − X the negation of X, call variables and their negations literals, and elementary

disjunctions of literals clauses. Let us next consider an arbitrary conjunctive normal

form (CNF) φ = C1 ∧ C2 . . . ∧ Cm, i.e., where Ci, i = 1, ..., m are clauses. A truth

assignment to the variables is called satisfying for the CNF φ, if φ evaluates to true,

i.e., if at least one literal evaluates to true in each of the clauses of φ.

Page 91: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

84

In what follows, we shall associate to φ a weighted directed graph (G, w) and a set

X of negative circuits of G such that (G, w) has a negative circuit not belonging to X if

and only if φ has a satisfying assignment. Because (G, w) and X are constructed from

φ in O(mn) time, and the weight function w uses only two different values (1 and −1),

Theorem 17 follows readily from this construction, since the decision problem ”Is there

a negative circuit in (G, w) which does not belong to X?” is in NP. To complete the

proof of Theorem 17, we provide below a construction with these properties, such that

there is a correspondence between satisfying assignments to φ and negative circuits of

(G, w) which do not belong to X .

To describe our construction, let us denote for j = 1, ..., n respectively by oj and

oj the number of occurrences of literal Xj and its negation Xj , denote by xkj the kth

occurrence of Xj , k = 1, ..., oj , and by xkj the kth occurrence of Xj , k = 1, ..., oj , and

let L denote the set of all literal occurrences, i.e.,

|L| =m∑

i=1

|Ci| =n∑

j=1

(oj + oj).

Since monotone variables, i.e., ones for which oj = 0 or oj = 0, can be easily eliminated

from a satisfiability problem, we can assume without any loss of generality that oj > 0

and oj > 0 hold for all variables j = 1, ..., n.

For instance, if n = 3 and

φ = (X1 ∨X2 ∨X3) ∧ (X1 ∨X2 ∨X3) ∧ (X1 ∨X2 ∨X3), (3.1)

then we have o1 = 2, o1 = 1, o2 = 2, o2 = 1, o3 = 1, o3 = 2,

L = {x11, x

12, x

13, x

21, x

12, x

13, x

11, x

22, x

23}.

We define the vertex set of the graph G = (V, E) associated to φ as

V = U ∪Q ∪n⋃

j=1

(Yj ∪ Zj),

Page 92: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

85

where U , Q, and Yj and Zj for j = 1, ..., n are pairwise disjoint, defined as

U = {uk | k = 0, 1, ..., m + n},

Q = {a(ℓ), b(ℓ) | ℓ ∈ L},

Yj = {yjk | k = 1, ..., oj − 1} for j = 1, ..., n, and

Zj = {zjk | k = 1, ..., oj − 1} for j = 1, ..., n.

The graph itself has a ring structure, the skeleton of which is the set U . For every

variable Xj of φ we have two parallel directed paths from uj−1 to uj . The first path

corresponding to Xj contains vertices Yj (and some other vertices), while the second

path, corresponding to Xj passes through vertices of Zj (j = 1, ..., n). For convenience,

we also introduce the notation

yj0 = zj0 = uj−1 and yj,oj = zj,oj = uj (3.2)

for j = 1, ..., n. To every clause Ci of φ we associate |Ci| parallel directed paths from

un+i−1 to un+i, one for each of the literals in Ci (i = 1, ..., m). Finally vertices a(ℓ) and

b(ℓ) correspond exclusively to literal occurrence ℓ ∈ L.

Let us consider next the weighted graph H(a, b, p, q, r, s) (see Figure 3.1) on six

nodes a, b, p, q, r and s, having six arcs, the weights of which are as follows:

w(a, b) = w(b, a) = − 2 and

w(p, a) = w(b, q) = w(r, b) = w(a, s) = 1.

(3.3)

p(l) q(l)

a(l) b(l)

r(l)s(l)

1

−2

1

1

−2

1

Figure 3.1: The directed graph H(a, b, p, q, r, s) associated with literal occurrences.

Page 93: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

86

To every literal occurrence ℓ ∈ L we associate a disjoint copy of H(a, b, p, q, r, s),

and denote by a(ℓ), b(ℓ), etc., its nodes, and by Eℓ its arc set. Note that each of these

small subgraphs can be decomposed into two directed paths, each consisting of three

arcs, Eℓ = Evℓ ∪ Ec

ℓ , where

Evℓ = { (p(ℓ), a(ℓ)), (a(ℓ), b(ℓ)), (b(ℓ), q(ℓ)) }, and

Ecℓ = { (r(ℓ), b(ℓ)), (b(ℓ), a(ℓ)), (a(ℓ), s(ℓ)) }.

Finally we set

E = E0 ∪⋃

ℓ∈L

Eℓ

where E0 = {(um+n, u0)} with weight w(um+n, u0) = −1.

In each of the subgraphs corresponding to the literal occurrences ℓ ∈ L, we have the

nodes a(ℓ) and b(ℓ) already introduced in Q ⊆ V , while the nodes p(ℓ), q(ℓ), r(ℓ) and

s(ℓ) for ℓ ∈ L are corresponding to some other vertices of G, according to the following

definitions:

p(ℓ) = yj,k−1 and q(ℓ) = yjk if ℓ = xkj ,

p(ℓ) = zj,k−1 and q(ℓ) = zjk if ℓ = xkj , and

r(ℓ) = un+i−1 and s(ℓ) = un+i if ℓ ∈ Ci.

In other words, for every literal occurrence ℓ of clause Ci the set Ecℓ forms a 3-arc

directed path from un+i−1 to un+i. Furthermore by (3.2) and by the above definitions,

the sets Evℓ for ℓ = x1

j , x2j , ..., x

oj

j form a directed path from uj−1 to uj through the

vertices of Yj , consisting of 3oj arcs, for every variable Xj . Similarly, the sets Evℓ for

ℓ = x1j , x

2j , ..., x

oj

j form another directed path from uj−1 to uj through the vertices of

Zj , consisting of 3oj arcs.

In summary, G = (V, E) consists of |V | = 3|L|+m−n+1 vertices and |E| = 6|L|+1

arcs, and the weight function w takes only values in {−2,−1, 1}. Note that we can split

arcs of weight −2 to obtain a graph whose all arcs have weight ±1.

Returning to the example CNF φ given in (3.1), the corresponding graph G = (V, E)

is shown in Figure 3.2. To make the drawing of such a graph visually more clear, for

Page 94: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

87

every literal occurrence ℓ nodes a(ℓ) and b(ℓ) of G are represented by two separate

points of the picture each, labeled as a(ℓ) and a′(ℓ), and as b(ℓ) and b′(ℓ), respectively.

Similarly, node un is represented by two points in the figure, labeled by un and u′n.

Arcs in the sets Ecℓ for ℓ ∈ L are drawn as dashed lines, while those belonging to Ev

for ℓ ∈ L are drawn as solid lines.

X1

X1

X2

X2

X3

X3

C3 C2 C1

u0

y11

u1

y21

u2

z31

u3

a(x1

1)

b(x1

1) a(x2

1)

b(x2

1)

a(x1

1) b(x1

1)

1

−2

1 1

−2

1

1

−2

1

a(x1

2)

b(x1

2) a(x2

2)

b(x2

2)

a(x1

2) b(x1

2)

1

−2

1 1

−2

1

1

−2

1a(x1

3)

b(x1

3) a(x2

3)

b(x2

3)

a(x1

3) b(x1

3)

1

−2

1 1

−2

1

1

−2

1

−1

u′

3

u4u5

u6

b′(x1

1)a′(x1

1)

b′(x1

2)a′(x1

2)

b′(x1

3)a′(x1

3)

b′(x2

1)a′(x2

1)

b′(x1

2)a′(x1

2)

b′(x1

3)a′(x1

3)

b′(x1

1)a′(x1

1)

b′(x2

2)a′(x2

2)

b′(x2

3)a′(x2

3)

1

−2

1

1−21

1

−2

1

1

−2

1

1−21

1

−2

1

1

−2

1

1−21

1

−2

1

Figure 3.2: G is obtained by identifying vertices a(l), a′(l), and b(l), b′(l), for each literaloccurrence l, and u3, u′

3 in the graph above. The lower part of the graph correspondsto the literals and the upper part corresponds to the clauses.

Let us observe first that the arcs (a(ℓ), b(ℓ)) and (b(ℓ), a(ℓ)) form a circuit of total

weight −4 for every literal occurrence ℓ ∈ L. Let us denote by X the set of these

circuits, i.e., |X | = |L|, and let us denote by F the set of all directed negative circuits

of G.

We claim that from every satisfying assignment X of φ we can construct a directed

negative circuit DX ∈ F \ X , and conversely, from every directed negative circuit

D ∈ F \ X we can construct a satisfying assignment XD of φ. As we noted at the

beginning of this section, this claim implies Theorem 17.

To see this claim, let us first consider a satisfying assignment X = (X1, ..., Xn) ∈

Page 95: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

88

{0, 1}n of φ. Since X satisfies φ, we have a literal occurrence ℓi in every clause Ci,

i = 1, ..., m, such that ℓi evaluates to true at X (i.e., ℓi(X) = 1). Let us also denote by

W the set of all those literal occurrences which evaluate to false at X, i.e., W = {ℓ ∈

L | ℓ(X) = 0}. Clearly, ℓi 6∈ W for i = 1, ..., m by the above definitions. Then, the set

of arcs

DX =

(m⋃

i=1

Ecℓi

)∪

(⋃

ℓ∈W

Evℓ

)∪ {(um+n, u0)}.

forms a circuit in G not belonging to X . Since we have w(Ecℓ ) = w(Ev

ℓ ) = 0 for all literal

occurrences ℓ ∈ L, it follows by the above definitions that w(DX) = w(um+n, u0) = −1,

i.e., DX ∈ F \ X as claimed.

We again return to the CNF φ given in (3.1). Let us consider the satisfying

assignment X = (1, 0, 0) of φ. We choose literal occurrences x13 ∈ C1, x2

1 ∈ C2

and x23 ∈ C3 that evaluate to true at X. Figure 3.3 depicts the negative circuit

DX = Ecx13∪ Ec

x12∪ Ec

x23∪ Ev

x11∪ Ev

x12∪ Ev

x22∪ Ev

x13∪ (u6, u0).

Evx11

Evx12

Evx22

Evx13

Ecx12

Ecx23

Ecx13

u3

1

−2

1

a(x1

2) b(x1

2)

1

−2

1 1

−2

1

a(x1

3)

b(x1

3) a(x2

3)

b(x2

3)

1

−2

1

−1

u′

3

b′(x1

3)a′(x1

3)

b′(x1

2)a′(x1

2)

b′(x2

3)a′(x2

3)

1

−2

1

1−21

1

−2

1

Figure 3.3: Thick lines are edges of the negative circuit DX corresponding to thesatisfying assignment X = (1, 0, 0). The vertices u3, u′

3 are identified. Since DX

contains arcs(b′(x1

3)a′(x1

3)),(b′(x1

2)a′(x1

2))

and(b′(x2

3)a′(x2

3))

but it does not containarcs

(a(x1

3)b(x13)),(a(x1

2)b(x12))

and(a(x2

3)b(x23)), no circuit of X is contained in DX .

Before proving the reverse direction of our main claim, let us first observe some

Page 96: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

89

simple properties of our construction. To simplify notation, recall that Eℓ = Ecℓ ∪ Ev

for ℓ ∈ L, and that the 6-vertex subgraphs induced by the arc set Eℓ have the same

structure and weights, as in Figure 3.1, for all ℓ ∈ L. The following property of these

subgraphs will be instrumental in our proof.

Lemma 8 Given a circuit D ⊆ E of G, not belonging to X , and given a literal occur-

rence ℓ ∈ L, we have

w(D ∩ Eℓ) ∈ {0, 2, 4}.

Moreover, w(D ∩Eℓ) = 0 only if the set D ∩Eℓ is one of the following three subsets of

Eℓ: Ecℓ , Ev

ℓ , or ∅.

Proof: Since D is a circuit not belonging to X , D cannot contain both arcs (a(ℓ), b(ℓ))

and (b(ℓ), a(ℓ)). Thus, denoting by Aℓ = {(p(ℓ), a(ℓ)), (a(ℓ), s(ℓ))} and Bℓ = {(r(ℓ), b(ℓ)), (b(ℓ), q(ℓ))}

we have that D∩Eℓ is one of the following six sets: ∅, Aℓ, Bℓ, Aℓ∪Bℓ, Ecℓ , and Ev

ℓ . Since

we have w(∅) = w(Ecℓ ) = w(Ev

ℓ ) = 0, w(Aℓ) = w(Bℓ) = 2 and hence w(Aℓ ∪ Bℓ) = 4,

the statement follows. �

Returning to the reverse direction of our main claim, let us consider a negative

circuit D ∈ F \ X of G. Since

w(D) =∑

ℓ∈L

w(D ∩ Eℓ) + w(D ∩ {(um+n, u0)})

we must have by Lemma 8 that (um+n, u0) ∈ D and

w(D ∩ Eℓ) = 0 for all ℓ ∈ L. (3.4)

We show first that D passes through all vertices in U , includes exactly one of the

two parallel paths between uj−1 and uj for j = 1, ..., n, and exactly one of the parallel

paths between un+i−1 and un+i for all i = 1, ..., m.

As we observed above, we have u0 as a vertex of D. Thus D must contain an arc

leaving u0, say it contains (u0, ax11). Then, by (3.4) and by Lemma 8 we must have

Evx11⊆ D, i.e., D must pass through vertex y11. Since only (y11, a(x2

1)) is leaving y11,

Page 97: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

90

by repeating the above argument we can conclude that we must also have Evx21⊆ D,

etc., finally arriving at Evx

o11⊆ D, i.e., that D includes u1 as a vertex. Repeating the

same argument, we can prove by induction that for all indices j = 1, ..., n, if Evx1

j⊆ D,

then we must have Evxk

j⊆ D for all k = 1, ..., oj , and that if Ev

x1j⊆ D, then we must

also have Evxk

j⊆ D for all k = 1, ..., oj . Let us then define a truth assignment XD by

XDj =

1 if Evx1

j⊆ D,

0 if Evx1

j⊆ D.

Furthermore, repeating a similar argument for vertices un, un+1, ..., un+m−1, un+m we

can also conclude that D must contain the set Ecℓi

for exactly one of the literals ℓi ∈ Ci,

for each clause Ci of φ. Since D is a circuit in which no vertex a(ℓ) or b(ℓ) is repeated,

we must have that ℓi(XD) = 1 for all i = 1, ..., m, i.e., that XD is indeed a satisfying

assignment of φ.

These observations prove the reverse direction of our main claim, and hence conclude

the proof of Theorem 17. �

3.3 Proof of Theorem 18

We can repeat essentially the same proof as for the directed case, with the exception

that we associate with every literal occurrence ℓ ∈ L a different subgraph denoted by Eℓ:

Let us associate now with ℓ ∈ L six nodes, a = a(ℓ), b = b(ℓ), c = c(ℓ), d = d(ℓ), e = e(ℓ),

and f = f(ℓ), and the following 10 edges

Eℓ = {(a, b), (b, c), (c, d), (d, e), (e, f), (a, f), (a, p), (b, q), (d, r), (e, s)},

where nodes p = p(ℓ), q = q(ℓ), r = r(ℓ) and s = s(ℓ) are identified with the other

nodes of G, in the same way as in the previous proof. To simplify notation, we shall

omit the reference to ℓ, whenever it is clear from the context which literal occurrence

we talk about. The weights of the edges of Eℓ are defined as

w(a, p) = w(b, q) = w(d, r) = w(e, s) = 52 , and

w(a, b) = w(b, c) = w(c, d) = w(d, e) = w(e, f) = w(a, f) = −1.

Page 98: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

91

p(l) q(l)

a(l) b(l)

f(l) c(l)

e(l) d(l)

r(l)s(l)

−1

−1

−1

−1

−1

−1

5/25/2

5/2 5/2

Figure 3.4: The undirected graph associated with literal occurrences.

Let us note that in each of these subgraphs there is a negative circuit (see Figure 3.4),

formed by the six edges Dℓ = {(a, b), (b, c), (c, d), (d, e), (e, f), (a, f)}. Let us denote by

X = {Dℓ | ℓ ∈ L} the collection of these negative circuits, and let F denote the family

of all negative circuits in G.

By an analogous proof as in the previous section, we can show that there exists a

negative circuit belonging to F \ X if and only if φ has a satisfying assignment. The

key observation in this case, the analogue of Lemma 8, is the following claim, which

can easily be verified e.g., by looking at Figure 3.4.

Lemma 9 For a circuit D of G not belonging to X and literal occurrence ℓ ∈ L we

have

w(D ∩ Eℓ) ∈ {0, 1, 2, 3, 4}

and it is equal to 0 only if D ∩ Eℓ is one of the following three sets: ∅,

Evℓ = {(b, c), (c, d), (d, e), (e, f), (a, f), (a, p), (b, q)}, or

Ecℓ = {(a, b), (b, c), (c, d), (e, f), (a, f), (d, r), (e, s)}.

Page 99: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

92

Chapter 4

Matroids

In this chapter we consider the monotone generation problems in matroids (see e.g.,

[Wel76,Oxl92] for a thorough introduction to the matroid theory).

The rest of the chapter is organized as follows. In Sections 4.1, 4.2 and 4.3 we

study the problem of generating cut conjunctions in matroids and present the proofs

of Theorems 2, 3 and Remark 4. In Sections 4.4 and 4.5 we study the problem of

generating connected spanning subsets in matroids and prove Theorems 8 and 9 .

4.1 Proof of Theorem 2

We present the proof of Theorem 2 from [BEG+05].

Let M be a vectorial matroid on ground set S, let B ⊆ S and let F be the family

of all maximal subsets of Adef= S r B that span no vector b ∈ B. In this section we

show that the extension probelm: given a subfamily X ⊆ F decide whether X 6= F , is

NP-hard. We reduce our problem from the well known 3-satisfiability.

Let φ = C1 ∧ C2 . . . ∧ Cm be a given CNF on n variables with exactly three literals

per clause. We may represent the sets A and B as matrices. We let

A = (ax1 ,ax2 , . . . ,axn ,ax1 ,ax2 , . . . ,axn),

where axi and axi are (n + 1)-dimensional vectors defined as

(axi)j =

1, if i = j;

0, otherwise,

(axi)j =

1, if i = j or i = n + 1;

0, otherwise.

Page 100: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

93

For every clause Cp = li1 ∨ li2 ∨ li3 , where lij ∈ {xij , xij}, and α ∈ {0, . . . , n − 3}, we

define

bp,α = 4nali1 + 2nali2 + nali3 + fp + αe,

where fp and e are (n + 1)-dimensional vectors defined as

fpi =

0, if i ∈ {i1, i2, i3, n + 1};

1, otherwise,

and

e = (0, . . . , 0, 1)T .

Then B = (bp,α), for p = 1, . . . , m and α = 0, . . . , n− 3 (see Example 4.1.1).

Example 4.1.1 Consider φ = C1 ∧ C2 = (x1 ∨ x2 ∨ x3)(x1 ∨ x4 ∨ x5). Then

A = (ax1 ,ax2 , . . . ,ax5 ,ax1 ,ax2 , . . . ,ax5) =

1 0 0 0 0 1 0 0 0 0

0 1 0 0 0 0 1 0 0 0

0 0 1 0 0 0 0 1 0 0

0 0 0 1 0 0 0 0 1 0

0 0 0 0 1 0 0 0 0 1

0 0 0 0 0 1 1 1 1 1

B = {b1,0, b1,1, b1,2, b2,0, b2,1, b2,2}, where b1,α =

4 · 5

2 · 5

5

1

1

4 · 5 + 5 + α

and b2,α =

5

1

1

4 · 5

2 · 5

5 + α

Claim 24 For each i ∈ {1, . . . , n}, A r {axi ,axi} is a maximal subset of A spanning

no b ∈ B.

Proof: Observe that all vectors of A r {axi ,axi} have their ith entry zero and every

vector b ∈ B has all entries its nonzero. Both A r {axi} and A r {axi} span all b ∈ B,

Page 101: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

94

since rank(A r {axi}) = rank(A r {axi}) = n + 1. Thus A r {axi ,axi} is maximal

subset of A spanning no b ∈ B. �

Let X = {A r {ax1 ,ax1}, . . . , A r {axn ,axn}} ⊆ F . We shall call elements of

F r X nontrivial. Let H be the family of subsets of A of the form (al1 ,al2 , . . . ,aln),

where li ∈ {xi, xi}, i.e. subsets of A that contain exactly one of each pair axi , axi , for

i ∈ {1, . . . , n}.

Claim 25 Every nontrivial element X of F belongs to H.

Proof: X is a maximal subset of A spanning no b ∈ B and is not a subset of an

element of X , thus X must contain at least one of each pair axi , axi . Suppose that for

some j, X contains both axj , axj . Then rank(X) = n + 1, thus X spans all b ∈ B, a

contradiction. Hence X contains exactly one of axi , axi , for i ∈ {1, . . . , n}. �

Now let X = (al1 ,al2 , . . . ,aln) ∈ H and x = (x1, . . . , xn) be an assignment of φ. We

define a bijection between elements of H and assignments of φ as follows: xi = 0 if and

only if axi ∈ X, xi = 1 if and only if axi ∈ X.

Claim 26 X is nontrivial element of F if and only if x is a satisfying assignment of

φ.

Proof: Let X be a nontrivial element of F . By Claim 25, X ∈ H, so there exists an

assignment x corresponding to X. Suppose that x is not a satisfying assignment. Then

x does not satisfy a clause Cp = li1 ∨ li2 ∨ li3 , i.e., li1 , li2 , li3 are assigned 0. Then

{ali1 ,ali2 ,ali3} ∈ X. Let α =∑

j 6∈{i1,i2,i3}(1− xj) be the number of 0’s in entries of x

different than i1, i2, i3.

Then∑

i6∈{i1,i2,i3} ali = f+αe, hence bp,α = 4nali1 +2nali2 +nali3 +∑

i6∈{i1,i2,i3} ali .

Thus bp,α is spanned by X, a contradiction (see Example 4.1.2).

Now let x be a satisfying assignment. We will show that X spans no b ∈ B. Choose

bp,α = (b1, . . . , bn+1) ∈ B corresponding to the clause Cp = li1 ∨ li2 ∨ li3 . Observe that

X =

In

r

, where In is n×n identity matrix and r = (rl1 , . . . , rln) is a n-dimensional

Page 102: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

95

vector. Then the system Iny = (b1, . . . , bn) has a unique solution

yi = bi =

4n, if i = i1;

2n, if i = i2;

n, if i = i3;

1, otherwise.

However the linear combination of the entries of the last row of A with coefficients

yi cannot be equal to bn+1, the last entry of bp,α, for any α ∈ {0, . . . , n − 3} (see

Example 4.1.3), because

• the linear combination is∑

i=1...n yirli = 4nri1 + 2nri2 + nri3 + β, where β =∑

i6∈{i1,i2,i3}(1− xi) is the number of zero entries of x different than i1, i2, i3,

• bn+1 = 4n(ali1 )n+1 + 2n(ali2 )n+1 + n(ali3 )n+1 + α,

• there is at least one index j of {i1, i2, i3} such that it satisfies (alj )n+1 6= rj (since

x is a satisfying assignment, it must satisfy every clause).

Hence X is a nontrivial element of F . �

Example 4.1.2 Let φ, A, B be as defined in Example 4.1.1. A nonsatisfying assign-

ment x = (0, 1, 0, 0, 1) of φ corresponds to

X = (ax1 ,ax2 ,ax3 ,ax4 ,ax5) =

1 0 0 0 0

0 1 0 0 0

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

1 0 1 1 0

x does not satisfy the first clause x1 ∨ x2 ∨ x3, number of 0’s not in the first, second or

third entry of x is 1, thus X spans b1,1:

Page 103: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

96

4 · 5

1

0

0

0

0

1

+ 2 · 5

0

1

0

0

0

0

+ 5

0

0

1

0

0

1

+

0

0

0

1

0

1

+

0

0

0

0

1

0

=

4 · 5

2 · 5

5

1

1

4 · 5 + 5 + 1

Example 4.1.3 A satisfying assignment x = (1, 0, 0, 0, 1) of φ corresponds to

X = (ax1 ,ax2 ,ax3 ,ax4 ,ax5) =

I5

r

=

1 0 0 0 0

0 1 0 0 0

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

0 1 1 1 0

Choose

b1,α =

b1

b2

b3

b4

b5

b6

=

4 · 5

2 · 5

5

1

1

4 · 5 + 5 + α

corresponding to the first clause x1 ∨ x2 ∨ x3. Then the system I5y = (b1, . . . , b5) has a

unique solution

y =

4 · 5

2 · 5

5

1

1

However∑

i=1,...,5 yirli = 2 · 5 + 5 + 1 6= 4 · 5 + 5 + α = b1,α6 , for any α ∈ {0, 1, 2}. Thus

X does not span b1,0, b1,1, b1,2. Similarly X does not span b2,0, b2,1, b2,2.

Page 104: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

97

4.2 Proof of Theorem 3

Let M be a binary matroid on ground set S = A ∪B, where B = {b1, b2}, and let M∗

be a dual matroid defined by the rank function r∗(X) = r(S r X) + |X| − r(S).

Note that M∗ is a also a binary matroid [Wel76]. We state the cut conjunction

problem in the dual matroid: generate maximal subsets Y of A such that r∗({b1}∪Y ) >

r∗(Y ) and r∗({b2} ∪ Y ) > r∗(Y ). Observe that r∗({b1} ∪ Y ) > r∗(Y ) if and only if

r({b1, b2} ∪X) = r({b2} ∪X), where X = A r Y . Hence it is enough to consider the

dual formulation of the cut conjunctions in matroids problem:

Generate all minimal subsets X ⊆ A such that X ∪ {b2} spans b1 and X ∪ {b1}

spans b2 in M .

To see that this generation problem is tractable, we show first that for a subset X of

A, b1 is a linear combination of the vectors of X ∪ {b2} and b2 is a linear combination

of the vectors of X ∪ {b1} if and only if b1 + b2 is a linear combination of the vectors of

X.

If∑

a∈Y a = b1 + b2, where Y ⊆ X, then∑

a∈Y a + b1 = b2 and∑

a∈Y a + b2 = b1.

Conversely, we consider X ⊆ A such that b1 is a linear combination of X ∪{b2} and

b2 is a linear combination of X∪{b1}. Depending on whether these linear combinations

include b2 and b1, respectively, we have two cases:

Case 1: b2, b1 do not appear in either of the linear combinations. Thus∑

a∈X1a =

b1,∑

a∈X2a = b2, where X1, X2 ⊆ X. Then

∑a∈(X1∪X2)r(X1∩X2) a = b1 + b2.

Case 2: suppose b2 appears in the first linear combination. Thus∑

a∈Y a+b2 = b1,

where Y ⊆ X. Then∑

a∈Y a = b1 + b2.

Hence X is a minimal subset of A such that X ∪ {b2} spans b1 and X ∪ {b1} spans

b2 in M∗ if and only if X is a minimal subset of A spanning b1 + b2 in the matroid on

ground set A ∪ {b1 + b2}. Thus our problem reduces to the generation of all circuits

containing b1 + b2 in the matroid on ground set A ∪ {b1 + b2}, which can be done in

incremental polynomial time [BEG+05].

Remark 5 A similar simplification does not work for |B| > 2. For instance, for

Page 105: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

98

B = {b1, b2, b3}, the facts that bi is a linear combination of vectors of X ∪ {B r bi},

for i = 1, 2, 3, do not imply that b1 + b2 + b3 is a linear combination of vectors of X.

Consider e.g., vectors a1, a2, a3, a4, a5 satisfying a1 +a2 = b1, a3 +a4 = b2, a5 +b1 = b3.

4.3 Proof of Remark 4

Let H be a hypergraph on vertex set V . We next construct sets A and B. We represent

B as the |V | × |H| binary matrix whose columns are the characteristic vectors of the

hyperedges of H and A as the n × n identity matrix. Let M be a binary matroid

on A ∪ B. Note that X is a maximal independent set of H (V r X is a minimal

transversal) if and only if X is a maximal subset of A which spans no column of B.

Thus generating cut conjunctions in a binary matroid is at least as hard as generating

all minimal transversals of a hypergraph.

4.4 Proof of Theorem 8

Let H be a hypergraph on n vertices consisting of m = |H| hyperedges. We denote by

v1, . . . ,vn the column vectors of the edge-vertex incidence matrix of H.

We shall associate to H a binary matroid M = MH, defined by m + 2n + 2 binary

vectors of dimension 2m + 2. For this, let us introduce o = (0, ..., 0) denoting the

zero vector of dimension m, and let ei denote the ith unit vector of dimension m, for

i = 1, ..., m. We shall define the vectors of MH by concatenations from the above

vectors, as follows: Let µ(vj) = (vj ,o, 1, 0) for j = 1, ..., n, let ai = (ei, ei, 0, 0) and

bi = (o, ei, 0, 0) for i = 1, ..., m, and finally let c1 = (o,o, 1, 1) and c2 = (o,o, 0, 1).

We group the above defined vectors into four groups: H = {µ(vj)|j = 1, ..., n},

A = {ai|i = 1, ..., m}, B = {bi|i = 1, ..., m} and C = {c1, c2}, and finally we consider

the binary matroid M = MH on the ground set E = H ∪A∪B ∪C. For simplicity, we

reinterpret H as a family of subsets of H.

Page 106: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

99

Example 4.4.1 Consider the hypergraph H defined by the incidence matrix

(v1, . . . ,v5) =

1 0 0 1 0

0 1 0 1 1

0 1 1 0 0

0 0 1 0 1

Then the binary matroid MH on the ground set H ∪A∪B ∪C is defined by the matrix

1 0 0 1 0 1 0 0 0 0 0 0 0 0 0

0 1 0 1 1 0 1 0 0 0 0 0 0 0 0

0 1 1 0 0 0 0 1 0 0 0 0 0 0 0

0 0 1 0 1 0 0 0 1 0 0 0 0 0 0

0 0 0 0 0 1 0 0 0 1 0 0 0 0 0

0 0 0 0 0 0 1 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 1 0 0 0 1 0 0 0

0 0 0 0 0 0 0 0 1 0 0 0 1 0 0

1 1 1 1 1 0 0 0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 1 1

To complete the proof of Theorem 8, we show two lemmas which then readily imply

the statement of the theorem. For this proofs, let us recall (e.g., [Wel76]) that in a

matroid M on ground set E with rank function r a subset X ⊆ E is spanning and

connected if and only if for every nontrivial partition X = Y ∪Z (i.e., for which |Y | ≥ 1

and |Z| ≥ 1) we have r(Y ) + r(Z) ≥ r(M) + 1.

Lemma 10 Let X be a spanning and connected subset in M . Then A ∪ B ∪ C ⊆ X

and X ∩H is a transversal of H.

Proof: First we show that for each i = 1, . . . , 2m+2 at least two vectors of X have their

ith coordinates equal to 1. Indeed, since X is spanning and the matrix representing

M has full row rank, there is at least one vector in X whose ith coordinate is 1.

Suppose that there is exactly one such vector x ∈ X. Then we consider the partition

of X into Y = {x} and Z = X r {x}. For this partition we have r(Y ) = 1, and

Page 107: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

100

r(Z) < r(M) since all vectors of Z have their ith coordinates equal to 0. Consequently,

r(Y ) + r(Z) ≤ r(M), contradicting the assumption that X is spanning and connected.

The above implies that X must contain all vectors of A, B and C, in order to have

two 1’s in rows from m+1 to 2m and in row 2m+2. In order to contain two 1’s in the

first m rows, H ∩X must form a transversal of H. �

Lemma 11 If X is a transversal of H, then X∪A∪B∪C is a connected and spanning

subset in M .

Proof: First note that r(M) = 2m + 2, and observe that X ∪ A ∪ B ∪ C is spanning,

since r(A ∪B ∪ C) = 2m + 2.

To prove the statement, we show that r(Y ) + r(Z) ≥ r(M) + 1 = 2m + 3 for every

partition Y ∪ Z = X for which |Y | ≥ 1 and |Z| ≥ 1.

Suppose that all vectors of A ∪ B ∪ C belong to Y . Then r(Y ) = 2m + 2 and

r(Z) ≥ 1, since Z is nonempty. For all other nontrivial partitions of X the vectors of

A ∪B ∪ C must be split between Y and Z.

Without loss of generality assume that Y contains k vectors of A∪B ∪C including

c1, where 1 ≤ k ≤ 2m + 1. Consequently r(Y ) ≥ k and r(Z) ≥ 2m + 2 − k. Let

Ii ⊆ {1, . . . , m} denote the set of coordinates of vi equal to 1. Observe that µ(vi) =

c1 + c2 +∑

j∈Ii(aj + bj) is the only combination of vectors in A ∪ B ∪ C producing

µ(vi). Depending whether Z contains a vector µ(vi) ∈ X, or not, we have two cases:

Case 1: Z contain at least one vector of X. Since vectors of X cannot be obtained

without c1, we must have r(Z) ≥ 2m + 3− k implying thus r(Y ) + r(Z) ≥ 2m + 3.

Case 2: Y contains all vectors of X. Since X is a transversal ofH, we have⋃

µ(vi)∈X Ii =

{1, . . . , m}. As Y does not contain all vectors of A ∪ B ∪ C, there is a vector in X

which cannot be obtained as a combination of vectors in Y . Thus r(Y ) ≥ k + 1 and

r(Y ) + r(Z) ≥ 2m + 3 follows again. �

The statement of the theorem follows from Lemmas 10 and 11.

Page 108: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

101

4.5 Proof of Theorem 9

Let M be a matroid on ground set S with rank function r : S → Z+. We assume that

M does not contain loops, i.e. singletons of rank 0.

Let us show first that spanning and connected subsets of a matroid form a monotone

family.

Lemma 12 If X ⊆ E is spanning and connected then for an arbitrary element f ∈

E r X the set X ∪ f is again spanning and connected.

Proof: Let X ⊆ E be a spanning and connected subset and let f ∈ ErX. Clearly X∪f

is spanning. According to [Wel76], to see that X ∪ f is also connected it is enough to

show that r(Y )+r(Z) ≥ r(X∪f)+1 holds for an arbitrary partition Y ∪Z = X∪f with

|Y | ≥ 1, |Z| ≥ 1. Note that, since X is spanning, r(X)+1 = r(X∪f)+1. Without loss of

generality assume that f ∈ Z. If |Z| = 1 we have r(Y )+r(Z) = r(X)+r(f) = r(X)+1,

since we assumed that all singletons of M have rank 1. In case |Z| ≥ 2, we have

r(Y ) + r(Z) ≥ r(Y ) + r(Z r f) ≥ r(X) + 1, since r(Z) ≥ r(Z r f) and the sets Y and

Z r f form a partition of X, with |Y | ≥ 1, |Z r f | ≥ 1, completing the proof of our

claim. �

To prove Theorem 9, we show that for every matroid M , the family F of all minimal

spanning and connected subsets in M is exactly the set of minimal solutions of a poly-

matroid inequality with polynomially bounded right hand side. For such inequalities,

it is known that the generation of minimal feasible sets can be done in incremental

quasi-polynomial time (see Theorem 3 in [BEGK03]).

For this end, let us define a set function f(X) on subsets of E by:

f(X) = |E| r(X)− 1.

The Dilworth truncation of f(X) is the set function f∗(X) defined as follows:

f∗(∅) = 0,

f∗(X) = min{f(X1) + . . . + f(Xk) | X1, . . . , Xk is a partition of X} for X 6= ∅.

Page 109: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

102

Clearly, f(X) is a nondecreasing submodular function. Thus f∗(X) is submodular and

can be evaluated in polynomial time using poly(|E|) calls to the membership oracle

defining the matroid M (see [Lov83]). We next show that f∗(X) is also nondecreasing,

implying that f∗(X) is a polymatroid function.

Lemma 13 f∗(X) is nondecreasing.

Proof: We will show that f∗(X ∪ e) ≥ f∗(X), where X ⊆ E, e ∈ E r X. Let

X1, X2, . . . , Xk be an optimal partition for X ∪ e, i.e., f∗(X ∪ e) = f(X1) + f(X2) +

. . . + f(Xk). Without loss of generality assume that e ∈ X1. There are two cases:

Case 1: X1 r e 6= ∅. Then X1 r e, X2, . . . , Xk is a partition of X. Hence

f∗(X) ≤ f(X1 r e) +

k∑

i=2

f(Xi) ≤ f(X1) +

k∑

i=2

f(Xi) = f∗(X ∪ e),

where the last inequality in the chain follows from f(X1 r e) = |E|r(X1 r e) − 1 ≤

|E|r(X1)− 1 = f(X1).

Case 2: X1 = {e}. Consider the partition X2, . . . , Xk of X, which again gives

f∗(X) ≤k∑

i=2

f(Xi) ≤ f(e) +k∑

i=2

f(Xi) = f∗(X ∪ e),

where the last inequality in the chain follows from the fact that r(e) = 1, thus f(e) =

|E| − 1 ≥ 0, for all e ∈ X. �

Consider now the polymatroid inequality

f∗(X) ≥ |E| r(M)− 1.

Note that the right hand side of the above inequality is bounded by |E|2. We prove

that minimal connected spanning subsets are exactly the minimal solutions to the above

polymatroid inequality.

Lemma 14 X is a connected in M if and only if f∗(X) ≥ f(X).

Proof: Let X be a connected subset in M . Consider a partition X1, . . . , Xk of X into

at least k ≥ 2 sets. Since the rank function is submodular and by the definition of

Page 110: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

103

connectivity we have r(A)+r(E rA) > r(E) for every proper subset A of E, we obtain

r(X1) + r(X2) + . . . + r(Xk) ≥ r(X1) + r(X2 ∪ . . . ∪Xk) ≥ r(X) + 1. Hence

f(X1) + f(X2) + . . . + f(Xk) ≥ |E| r(X) + |E| − k > |E| r(X)− 1 = f(X).

Comparing that with the trivial partition X = X1 for k = 1, we conclude that f∗(X) =

f(X).

On the other hand, if X is not connected, then we can decompose X into two disjoint

sets X1 and X2 such that r(X1)+ r(X2) = r(X). Hence f(X1)+ f(X2) = |E| r(X)−2,

and consequently, f∗(X) < |E|r(X)− 1 = f(X). �

Lemma 15 X is a connected and spanning subset in M if and only if f∗(X) ≥

|E| r(M)− 1.

Proof: If X is connected and spanning, the claim follows from Lemma 14 and the fact

that r(X) = r(M).

Conversely, suppose X satisfies f∗(X) ≥ |E| r(M)−1 and also suppose that X is not

spanning. Then since r(X) < r(M) for the trivial partition X = X1, we obtain f(X1) =

|E|r(X1)−1 < |E|r(M)−1, which implies f∗(X) < |E|r(M)−1, a contradiction. Thus

X must be spanning and by Lemma 14 X must also be connected. �

This completes the proof of Theorem 9.

Page 111: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

104

Chapter 5

Related Open Problems

Vertex Generation In Chapter 3 we proved that the generation of vertices of an

unbounded polyhedron is NP-hard using the fact that the generation of negative cycles

of a directed graph is NP-hard and that vertices of the circulation polytope correspond

to cycles. In the case of bounded polyhedra the complexity remains open. Equivalently

the complexity of generating vertices and extreme rays of polyhedra remains open.

Due to the one-to-one correspondence between vertices of alternative polyhedron

and minimal infeasible subsystems the generation of minimal infeasible subsystems of

an infeasible system of inequalities is also NP-hard. Yet, for generating maximal feasible

subsystems the complexity remains open.

Cut Conjunctions in Binary Matroids. In Chapter 2 we described the algorithm

which generates all cut conjunctions in cycle matroids. On the other hand in Chapter 4

we proved that the cut conjunction problem in vectorial matroids is NP-hard. This

naturally raises the question of the complexity of the cut conjunction problem in binary

matroids.

2-Connected Spanning Sets in Cocycle Matroids. In Chapters 4 we presented

an algorithm to generate minimal 2-connected spanning sets in matroids in incremental

quasi-polynomial time. For cycle matroids we could generate minimal 2-connected

spanning sets in graphs in incremental polynomial time. We expect that this is also the

case for cocyle matroids.

Let M∗ be a cocycle matroid of a graph G = (V, E) and let X ⊆ E. X is spanning

in M∗ if E r X is contained in a spanning tree of G. X is connected in M∗ if for every

two edges e, f ∈ X there is a minimal cut C ⊆ X containing e and f . Thus we can

formulate 2-connected spanning sets problem in cocycle matroids as:

Page 112: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

105

Generate all minimal edge sets X ⊆ E such that E rX is contained in a spanning

tree of G and for every two edges e, f ∈ X there is a minimal cut C ⊆ X containing

e and f .

k-Connected Spanning Sets in Matroids. In Chapter 2 we solved for every fixed

k the problem of generating all minimal k-vertex connected spanning subgraphs. In

Chapter 4 we were able to extend this result only to generating minimal 2-connected

spanning sets in matroids. Can we also generate all minimal k-connected spanning sets

in matroids for every fixed k?

More precisely, we ask what is the complexity of the following problem. Let M

be a matroid on ground set S, let r : S → Z+ be the rank function of M and let

X ⊆ S. X is k-connected if for every partition A, B of X with |A|, |B| ≥ k− 1 we have

r(A) + r(B) ≥ r(X) + k − 1. We define a boolean function

π(X) =

1, X is k-connected and spanning;

0, otherwise.

If all subsets of M of size at most k − 1 are independent, then π is monotone. This

leads to the following generation problem:

Generate all minimal k-connected and spanning sets in M .

Path Disjunction Problem. In Section 1.5.2 we described a very simple algorithm

of generating of minimal path conjunctions. A complexity of a similar problem remains

open (it is NP-hard for binary matroids):

Given an undirected graph G = (V, E) and a collection B = {(s1, t1), . . . , (sk, tk)}

of k vertex pairs si, ti ∈ V , generate all minimal edge sets X ⊆ E such that ti is

reachable from si in (V, X) for some i = 1, . . . , k.

Page 113: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

106

References

[Abd03] S.D. Abdullahi. Vertex Enumeration and Counting for Certain Classes ofPolyhedra. PhD thesis, Computing (Computer Algorithms) Leeds Univer-sity U.K., 2003.

[AF92] D. Avis and K. Fukuda. A pivoting algorithm for convex hulls and vertexenumeration of arrangements and polyhedra. 8(3):295–313, 1992.

[AF96] D. Avis and K. Fukuda. Reverse search for enumeration. 65(1-3):21–46,1996.

[AIS93] R. Agrawal, T. Imielinski, and A. Swami. Mining associations betweensets of items in massive databases. Proceedings of the 1993 ACMSIGMODInternational Conference on Management of Data, pages 207–216, 1993.

[AMO93] R. Ahuja, T. Magnanti, and J. Orlin. Network Flows. Prentice Hall, 1993.

[AMS+96] R. Agrawal, H. Mannila, R. Srikant, H. Toivonen, and A. I. Verkamo. Fastdiscovery of association rules. Advances in Knowledge Discovery and DataMining, pages 307–328, 1996.

[AS95] R. Agrawal and R. Srikant. Mining sequential patterns. Proceedings of the11th International Conference on Data Engineering, pages 3–14, 1995.

[ASU97] A. Tamura A. Shioura and T. Uno. An optimal algorithm for scanning allspanning trees of undirected graphs. 26(3):678–692, 1997.

[Bal61] M.L. Balinski. An algorithm for finding all vertices of convex polyhedralsets. 9:72–81, 1961.

[BC95] R. Bixby and W. Cunningham. Matroid Optimization and Algorithms, inHandbook of Combinatorics, R. L. Graham, M. Grotschel, and L. Lovasz,eds.,. NorthHolland, Amsterdam, 1995. pages 550–609.

[BEG04a] E. Boros, K. Elbassioni, and V. Gurvich. Algorithms for generating mini-mal blockers of perfect matchings in bipartite graphs and related problems.In 12th Annual European Symposium on Algorithms ESA, volume 3064 ofLecture Notes in Computer Science, pages 152–162, 2004.

[BEG+04b] E. Boros, K. Elbassioni, V. Gurvich, L. Khachiyan, and K. Makino. Gen-erating paths and cuts in multi-pole (di)graphs. In J. Fiala, V. Koubek,and J. Kratochvil, editors, Mathematical Foundations of Computer Sci-ence MFCS, volume 3153 of Lecture Notes in Computer Science, pages298–309, Prague, Czech Republic, August 22-27 2004. Springer Verlag,Berlin, Heidelberg, New York.

Page 114: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

107

[BEG+05] E. Boros, K. Elbassioni, V. Gurvich, L. Khachiyan, and K. Makino. Onthe complexity of some enumeration problems for matroids. To appear inSIAM Journal on Discrete Mathematics, 2005.

[BEGK03] E. Boros, K. Elbassioni, V. Gurvich, and L. Khachiyan. An inequality forpolymatroid functions and its applications. 131:255–281, 2003.

[BEGK04a] E. Boros, K. Elbassioni, V. Gurvich, and L. Khachiyan. Enumeratingminimal dicuts and strongly connected subgraphs and related geometricproblems. In D. Bienstock and G. Nemhauser, editors, Integer Program-ming and Combinatorial Optimization, 10th International IPCO Confer-ence, New York, NY, USA, volume 3064, pages 152–162, Berlin, Heidel-berg, New York, June 7-11 2004. Springer. (RRR 36-2003).

[BEGK04b] E. Boros, K. Elbassioni, V. Gurvich, and L. Khachiyan. Generating maxi-mal independent sets for hypergraphs with bounded edge-intersections. InMartin Farach-Colton, editor, LATIN 2004: Theoretical Informatics, 6thLatin American Symposium, volume 2976 of Lecture Notes in ComputerScience, pages 488–498, Buenos Aires, Argentina, April 2004. Springer.

[BEGK04c] E. Boros, K. Elbassioni, V. Gurvich, and L. Khachiyan. Generating max-imal independent sets for hypergraphs with bounded edge-intersections.In M. Farach-Colton, editor, Proceedings of the 6-th Latin American Sym-posium on Theoretical Informatics LATIN, volume 2976 of Lecture Notesin Computer Science, pages 488–498, Buenos Aires, Argentina, December15-17 2004. Springer Verlag, Berlin, Heidelberg, New York.

[Ber89] C. Berge. Hypergraphs. Elsevier-North Holand, Amsterdam, 1989.

[BFM98] D. Bremner, K. Fukuda, and A. Marzetta. Primal-dual methods for vertexand facet enumeration. 20:333–357, 1998.

[BI95] J.C. Bioch and T. Ibaraki. Complexity of identification and dualization ofpositive Boolean functions. 123:50–63, 1995.

[BL98] M. R. Bussieck and M. E. Lubbecke. The vertex set of a 0/1 polytope isstrongly P-enumerable. 11(2):103–109, 1998.

[BMS97] S. Brin, R. Motwani, and C. Silverstein. Beyond market basket: Gen-eralizing association rules to correlations. Proceedings of the 1997 ACM-SIGMOD Conference on Management of Data, pages 265–276, 1997.

[Bre99] D. Bremner. Incremental convex hull algorothms are not output sensitive.21:57–68, 1999.

[CCH53] A. Charnes, W.W. Cooper, and A. Henderson. An Introduction to LinearProgramming. Wiley, New York, 1953.

[CCPS98] W.J. Cook, W.H. Cunningham, W.R. Pulleyblank, and A. Schrijver. Com-binatorial Optimization. John Wiley and Sons, New York, 1998.

[Cha93] B. Chazelle. An optimal convex hull algorithm in any fixed dimension.10:377–409, 1993.

Page 115: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

108

[Chv83] V. Chvatal. Linear Programming. Freeman, San Francisco, CA, 1983.

[CK70] D.R. Chand and S.S. Kapur. An algorithm for convex polytopes. Journalof the ACM, 17(1):78–86, 1970.

[CKT93] J. Cheriyan, M. Y. Kao, and R. Thurimella. Algorithms for parallel k-vertex connectivity and sparse certificates. 22:157–174, 1993.

[CM89] J. Cheriyan and S.N. Maheshwari. Analysis of preflow push algorithms formaximum network flow. 18:1057–1086, 1989.

[Col87] C. Colbourn. The Combinatorics of Network Reliability. Oxford Univer-sity Press, 1987.

[DJP+92] E. Dahlhous, D.S. Johnson, C.H. Papadimitriou, P.D. Seymour, andM. Yannakakis. The complexity of multiway cuts. In Proceedings of the24th ACM Symposium on Theory of Computing, pages 241–251, 1992.

[DL99] G. Dong and J. Li. Efficient mining of emerging patterns. Proceeding ofthe 1999 ACM SIGKDD International Conference on Knowledge Discoveryand Data Mining, pages 43–52, 1999.

[DP77] M.E. Dyer and L.G. Proll. An algorithm for determining all extreme pointsof a convex polytope. 12:81–96, 1977.

[DPR00] D. Dentcheva, A. Prekopa, and A. Ruszczynski. Concavity and efficientpoints of discrete distributions in probabilistic programming. Mathemati-cal Programming, 89:55–77, 2000.

[Dye83] M.E. Dyer. The complexity of vertex enumeration methods. 8:381–402,1983.

[EG95] T. Eiter and G. Gottlob. Identifyig the minimal transversals of a hyper-graph and related problems. SIAM Journal on Computing, 24:1278–1304,1995.

[FK96] M. Fredman and L. Khachiyan. On the complexity of dualization of mono-tone disjunctive normal forms. 21:618–628, 1996.

[FLM97] K. Fukuda, Th. M. Liebling, and F. Margot. Analysis of backtrack algo-rithms for listing all vertices and all faces of a convex polyhedron. CGTA,8:1–12, 1997.

[Gab91] H. N. Gabow. A matroid approach to finding edge connectivity and pack-ing arborescences. In STOC ’91: Proceedings of the twenty-third annualACM symposium on Theory of computing, pages 112–122, New York, NY,USA, 1991. ACM Press.

[GKMT97] D. Gunopulos, R. Khardon, H. Mannila, and H. Toivonen. Data mining,hypergraph transversals and machine learning. Proceedings of the 16thACM-SIGACT-SIGMOD-SIGART Symposium on Principles of DatabaseSystems, pages 12–15, 1997.

Page 116: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

109

[GM78] H.N. Gabow and E.W. Myers. Finding all spanning trees of directed andundirected trees. SIAM Journal on Computing, 117:280–287, 1978.

[GR90] J. Gleeson and J. Ryan. Identifying minimally infeasible subsystems ofinequalities. 2(1):61–63, 1990.

[GS97] Albert G. Greenberg and R. Srikant. Computational techniques for ac-curate performance evaluation of multirate, multihop communication net-works. IEEE/ACM Transactions on Networking, 5(2):266–277, 1997.

[GT88] A.V. Goldberg and R.E. Tarjan. A new approach to the maximum flowproblem. Journal of ACM, 35:921–940, 1988.

[HT73] J. E. Hopcroft and R. E. Tarjan. Dividing a graph into triconnected com-ponents. 2(3):135–157, 1973.

[Hu63] T.C. Hu. Multicomodity network flows. Operations Research, 11:344–360,1963.

[JP88] D.S. Johnson and Ch. H. Papadimitriou. On generating all maximal inde-pendent sets. Information Processing Letters, 27:119–123, 1988.

[KBB+] L. Khachiyan, E. Boros, K. Borys, K. Elbassioni, V. Gurvich, andK. Makino. Enumerating spanning and connected subsets in graphs andmatroids. In to appear in the Proceedings of the 14th Annual EuropeanSymposium on Alogrithms, ESA 2006, Zurich, Switzerland, 11-13 Septem-ber, 2006.

[KBB+05] L. Khachiyan, E. Boros, K. Borys, K. Elbassioni, V. Gurvich, andK. Makino. Generating cut conjunctions and bridge avoiding extensions ingraphs. In Algorithms and Computation: 16th International Symposium,ISAAC 2005, 2005.

[KBB+06] L. Khachiyan, E. Boros, K. Borys, K. Elbassioni, and V. Gurvich. Gener-ating all vertices of a polyhedron is hard. In Proceedings of the 17th AnnualACM-SIAM Symposium on Discrete Algorithms, SODA 2006, pages 758–765, 2006. to appear in Discrete and Computational Geometry.

[Kha79] L. Khachiyan. A polynomial algorithm in linear programming. SovietMath. Dokl., 20:191–194, 1979.

[LLK80] E. Lawler, J. K. Lenstra, and A. H. G. Rinnooy Kan. Generating allmaximal independent sets: NP-hardness and polynomial-time algorithms.9:558–565, 1980.

[Lov83] L. Lovasz. Submodular functions and convexity. In M. GrotschelA. Bachem and B. Korte, editors, Mathematical Programming: The Stateof the Art, pages 235–257, New York, 1983. Springer-Verlag.

[Lov92] L. Lovasz. Combinatorial optimization: some problems and trends. DI-MACS Technical Report 92-53, Rutgers University, 1992.

Page 117: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

110

[Mac37] S. Maclaine. A structural characterization of planar combinatorial graphs.Duke Math Journal, 3:460472, 1937.

[Mat73] T.H. Mattheiss. An algorithm for determining irrelevant constraints andall vertices in systems of linear inequalities. 21:247–260, 1973.

[Mat93] T. Matsui. Algorithms for finding all the spanning trees in undirectedgraphs. Technical report, Department of Mathematical Engineering andInformation Physics, Faculty of Engineering, University of Tokyo, 1993.Report METR93-08.

[MRTT53] T.S. Motzkin, H. Raiffa, G.L. Thompson, and R.M. Thrall. The double de-scription method. In H.W. Kuhn and A.W. Tucker, editors, Contributionsto the Theory of Games, volume II, pages 51–73, 1953.

[MT96] H. Mannila and H. Toivonen. Multiple uses of frequent sets and con-densed representations. Proceedings of the 2nd International Conferenceon Knowledge Discovery and Data Mining, pages 189–194, 1996.

[MT97] H. Mannila and H. Toivonen. Levelwise search and borders of theoriesin knowledge discovery. Series of Publications C C-1997-8, University ofHelsinki, Department of Computer Science, 1997.

[MTV97] H. Mannila, H. Toivonen, and A. I. Verkamo. Discovery of frequentepisodes in event sequences. Data Mining and Knowledge Discovery, pages259–289, 1997.

[Oxl92] J.G. Oxley. Matroid Theory. Oxford University Press, Oxford, New York,Tokyo, 1992.

[Pre95] A. Prekopa. Stochastic Programming. Kluwer, Dordrecht, 1995.

[Pro94] J.S. Provan. Efficient enumeration of the vertices of polyhedra associatedwith network lp’s. 63(1):47–64, 1994.

[RT75] R. C. Read and R. E. Tarjan. Bounds on backtrack algorithms for listingcycles, paths, and spanning trees. Networks, 5:237–252, 1975.

[Sei86] R. Seidel. Output-size sensitive algorithms for constructive problems incomputational geometry. Computer science, Cornell University, Ithaka,NY, 1986.

[SS02] B. Schwikowski and E. Speckenmeyer. On enumerating all minimal solu-tions of feedback problems. Discrete Applied Mathematics, 117:253–265,2002.

[ST95] A. Shioura and A. Tamura. Efficiently scanning all spanning trees of anundirected graph. Journal of the Operations Research, 38:331–344, 1995.

[Swa85] G. Swart. Finding the convex hull facet by facet. 6:17–48, 1985.

[Tar72] R. Tarjan. Depth first search and linear graph algorithms. 1:146–160,1972.

Page 118: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

111

[TSOA80] S. Tsukiyama, I. Shirakawa, H. Ozaki, and H. Ariyoshi. An algorithm toenumerate all cutsets of a graph in linear time per cutset. Journal of theAssociation for Computing Machinery, 27:619–632, 1980.

[Tut66] W.T. Tutte. Connectivity in graphs. Univ. Toronto Press, 1966.

[Val79] L.G. Valiant. The complexity of enumeration and reliability problems.8:410–421, 1979.

[Vaz01] V. Vazirani. Approximation Algorithms. Springer Verlag, Berlin, Heidel-berg, New York, 2001.

[Wel76] D.J.A. Welsh. Matroid Theory. Academic Press, London, 1976.

Page 119: ON GENERATION OF CUT CONJUNCTIONS, MINIMAL K …rutcor.rutgers.edu/~kborys/thesis.pdfON GENERATION OF CUT CONJUNCTIONS, MINIMAL K-CONNECTED SPANNING SUBGRAPHS, MINIMAL CONNECTED AND

112

Vita

Konrad Borys

2000-2006 Rutgers University, New Brunswick, NJ,

Ph.D., Operations Research, October 2006

1992-1999 Warsaw University, Faculty of Mathematics, Informatics and Me-chanics, Warsaw, Poland

M.S., Computer Science, March 1999

Journal Publications

L. Khachiyan, E. Boros, K. Borys, K. Elbassioni, V. Gurvich, K.Makino.Enumerating Cut Conjunctions in Graphs and Related Problems, toappear in Algorithmica.

L. Khachiyan, E. Boros, K. Borys, K. Elbassioni, V. Gurvich. Gen-erating All Vertices of a Polyhedron is Hard, to appear in Discreteand Computational Geometry.

Conference Publications

L. Khachiyan, E. Boros, K. Borys, K. Elbassioni, V. Gurvich, K.Makino. Enumerating Spanning and Connected Subsets in Graphsand Matroids, to appear in the Proceedings of the 14th Annual Eu-ropean Symposium on Alogrithms, ESA 2006, Zurich, Switzerland,11-13 September, 2006.

L. Khachiyan, E. Boros, K. Borys, K. Elbassioni, V. Gurvich. Gen-erating All Vertices of a Polyhedron is Hard, Proceedings of the 17thAnnual ACM-SIAM Symposium on Discrete Algorithms, SODA 2006,Miami, Florida, 22-24 January, 2006, pp 758-765.

L. Khachiyan, E. Boros, K. Borys, K. Elbassioni, V. Gurvich, K.Makino. Generating Cut Conjunctions and Bridge Avoiding Exten-sions in Graphs, Algorithms and Computation: 16th InternationalSymposium, ISAAC 2005, Sanya, Hainan, China, December 19-21,2005, Lecture Notes in Computer Sciences 3827 (2005), pp. 156-165.