-
Undirected graphs
:
-
Let G=(V,E) be an undirected graph. For vertex sets X and Y, the cut induced by X is defined to be the set of edges of G having exactly one end-vertex in X and is denoted by
. The degree
(or d
E
(X)) of X is the cardinality of the cut induced by X, that is, d
G
(X)=|δ
G
(X)|. The number of edges between X∖Y and Y∖X is denoted by
. The number of edges of G having both (resp. at least one) end-vertices in X is denoted by
or i
E
(X) or simply i(X) (resp.
). It is well-known that (1) is satisfied for all X,Y⊆V,
We say that a vector m on V is the degree vector of G if d
G
(v)=m(v) for all v∈V. For a vector m on V, we consider m as a modular function, that is, we use the notation
. Let us recall that d
G
(X) is the degree function of G. We define
as the modular function defined by the degree vector d
G
(v) of G. Note that \(\hat{d}_{G}(X)=d_{G}(X)+2i_{G}(X)\forall X\subseteq V\).
We denote by
the set of vertices of G of odd degree. For an edge set F of G, the subgraph induced by F, that is, (V,F), is denoted by
. We say that G is Eulerian if the degree of each vertex is even, that is, if T
G
=∅. Note that we do not suppose the graph to be connected.
Let T be a vertex set in G. An edge set F of G is called T-join if the set of odd degree vertices in the subgraph induced by F coincide with T, that is if TG(F)=T. Given a cost vector on the edge set of G, a minimum cost T-join can be found in polynomial time by Edmonds and Johnson’s algorithm [5].
Let f be a non-negative integer vector on V. An edge set F of G is called an f-factor of G if f is the degree vector of G(F), that is, d
F
(v)=f(v) for all v∈V. If f(v)=1 for all v∈V, then we say that F is a 1-factor or a perfect matching. An f-factor—if it exists—can be found in polynomial time, see [20]. The graph G is called 3-regular if each vertex is of degree 3. Note that for a 3-regular graph, the existence of two edge-disjoint perfect matchings is equivalent to the existence of three edge-disjoint perfect matchings which is equivalent to the 3-edge-colorability of the graph.
-
Directed graphs
:
-
Let D=(V,A) be a directed graph. For a vertex set X, the set of arcs of D entering (resp. leaving) X is denoted by
(resp.
). The in-degree
(resp. out-degree
) of X is the number of arcs of D entering (resp. leaving) X, that is \(d^{-}_{D}(X)=|\varrho _{D}(X)|\) (resp. \(d^{+}_{D}(X)=|\delta_{D}(X)|\)). The set of arcs of G having both end-vertices in X is denoted by
. The following equality will be used frequently without reference:
We say that a vector m on V is the in-degree vector of D if \(d^{-}_{D}(v)=m(v)\) for all v∈V. Let us recall that \(d^{-}_{D}(X)\) is the in-degree function of D. Let f be a non-negative integer vector on V. An arc set F of D is called a directedf-factor of D if f is the in-degree vector of D(F), that is, \(d^{-}_{F}(v)=f(v)\) for all v∈V.
We say that D is Eulerian if the in-degree of v is equal to the out-degree of v for all v∈V, that is, \(d^{-}_{D}(v)=d^{+}_{D}(v)\) for all v∈V. Note that we do not suppose the graph to be connected.
Let f and g be two vectors on the arcs of D such that f(e)≤g(e) for all e∈A. A vector x on the arcs of D is a circulation if (3) and (4) are satisfied.
Note that if f(e)=g(e)=1 for all e∈A, then D is Eulerian if and only if f is a circulation. We will use the following characterization when a circulation exists.
Theorem 1
(Hoffmann [15])
LetD=(V,A) be a directed graph andfandgtwo vectors onAsuch thatf(e)≤g(e)∀e∈A. There exists a circulation inDif and only if
We say that H=(V,E∪A) is a mixed graph if E is an edge set and A is an arc set on V. For an undirected graph G=(V,E), if we replace each edge uv by the arc uv or vu, then we get the directed graph
. We say that \(\vec{G}\) is an orientation of G.
Mixed graphs having Eulerian orientations are characterized as follows.
Theorem 2
(Ford, Fulkerson [8])
A mixed graphH=(V,E∪A) has an Eulerian orientation if and only if
The following theorem characterizes graphs having an orientation with a given in-degree vector.
Theorem 3
(Hakimi [13])
Given an undirected graphG=(V,E) and a non-negative integer vectormonV, there exists an orientation\(\vec{G}\)ofGwhose in-degree vector ismif and only if
-
Functions
:
-
Let b be a set function on the subsets of V. We say that b is submodular if for all X,Y⊆V,
The function b is called supermodular if −b is submodular. A function is modular if it is supermodular and submodular. We will use frequently in this paper the following facts.
Claim 1
The degree functiond
G
(Z) of an undirected graphGand the in-degree function\(d^{-}_{D}(Z)\)of a directed graphDare submodular and the functioni(Z) is supermodular.
Theorem 4
[17, 21]
The minimum value of a submodular function can be found in polynomial time.
Theorem 5
(Frank [9])
Letbandpbe a submodular and a supermodular set function onVsuch thatp(X)≤b(X) for allX⊆V. Then there exists a modular functionmonVsuch thatp(X)≤m(X)≤b(X) for allX⊆V. Ifbandpare integer valued thenmcan also be chosen integer valued.
A pair (p,b) of set functions on 2V is a strong pair if p (resp. b) is supermodular (submodular) and they are compliant, that is, for every pairwise disjoint triple X,Y,Z,
$$b(X\cup Z) - p(Y\cup Z) \geq b(X) -p(Y).$$
Note that a pair (α,β) of modular functions is a strong pair if and only if α≤β. If (p,b) is a strong pair then the polyhedron
is called a generalized polymatroid (or a g-polymatroid). When α≤β are modular, we also call the g-polymatroid Q(α,β) a box.
Theorem 6
(Frank, Tardos [11])
The intersection of an integral g-polymatroidQ(p,b) and an integral boxQ(α,β) is an integral g-polymatroid. It is nonempty if and only ifα≤bandp≤β.
-
Matroids
:
-
A set system \(M=(V,{\mathcal{F}})\) is called a matroid if \({\mathcal{F}}\) satisfies the following three conditions:
-
(I1)
\(\emptyset\in{\mathcal{F}}\),
-
(I2)
if \(F\in{\mathcal{F}}\) and F′⊆F, then \(F'\in{\mathcal{F}}\),
-
(I3)
if \(F, F'\in{\mathcal{F}}\) and |F|>|F′|, then there exists f∈F∖F′ such that \(F'\cup f\in{\mathcal{F}}\).
A subset X of V is called independent in M if \(X\in{\mathcal{F}}\), otherwise it is called dependent. The maximal independent sets of V are the basis of M. Let \({\mathcal{B}}\) be the set of basis of M. Then \({\mathcal{B}}\) satisfies the following two conditions:
-
(B1)
\({\mathcal{B}}\neq\emptyset\),
-
(B2)
if \(B, B'\in{\mathcal{B}}\) and b∈B∖B′, then there exists b′∈B′∖B such that \((B-b)\cup b'\in{\mathcal{B}}\).
Conversely, if a set system \((V,{\mathcal{B}})\) satisfies (B1) and (B2), then \(M=(V,{\mathcal{F}})\) is a matroid, where \({\mathcal{F}}=\{F\subseteq V:\exists B\in{\mathcal{B}}, F\subseteq B\}\).
For S⊂V, the matroid M∖S obtained from M by deletingS is defined as \(M\setminus S=(V\setminus S, {\mathcal{F}}|_{V\setminus S})\), where X⊆V∖S belongs to \({\mathcal{F}}|_{V\setminus S}\) if and only if \(X\in{\mathcal{F}}\). For \(S\in{\mathcal{F}}\), the matroid M/S obtained from M by contractingS is defined as \(M/S=(V\setminus S, {\mathcal{F}}_{S})\), where X⊆V∖S belongs to \({\mathcal{F}}_{S}\) if and only if \(X\cup S\in{\mathcal{F}}\). Let {V1,…,V
l
} be a partition of V and a1,…,a
l
a set of non-negative integers. Then \(M=(V,{\mathcal{F}})\) is a matroid, where \({\mathcal{F}}=\{F\subseteq V: |F\cap V_{i}|\leq a_{i}\}\), we call it partition matroid. The dual matroid M∗ of M is defined as follows: the basis of M∗ are the complements of the basis of M.
Let \(M=(V,{\mathcal{F}})\) be a matroid and c a cost vector on V={v1,…,v
n
}. We can find a minimum cost basis F
n
of M in polynomial time by the greedy algorithm: take a non-decreasing order of the elements of V:c(v1)≤…≤c(v
n
). Let F0 be empty and for i=1,…,n, let F
i
=Fi−1+v
i
if \(F_{i-1}+v_{i}\in {\mathcal{F}}\), otherwise let F
i
=Fi−1.
If M1 and M2 are two matroids on the same ground set V, then we can find a common basis of M1 and M2 in polynomial time (if there exists one) by the matroid intersection algorithm of Edmonds [4].
Theorem 7
(Edmonds, Rota [18])
For an integer-valued, non-decreasing, submodular functionbdefined on a ground setS, the set {F⊆S;|F′|≤b(F′) for all ∅≠F′⊆F} forms the set of independent sets of a matroidM
b
whose rank functionr
b
is given by
$$r_b(Z) = \min\bigl\{b(X) + |Z-X|, X \subseteq Z\bigr\}.$$
Given an undirected graph G=(V,E) and a non-negative integer vector m on V, let \(\bar{m}^{G}=\bar{m}\) be the set function defined on E by \(\bar{m}(F) = m(V(F))\) where V(F) is the set of vertices covered by F. One can easily check that \(\bar{m}\) is integer valued, non-decreasing and submodular. Thus, by Theorem 7, \(\bar {m}\) defines a matroid \(M_{\bar{m}}\). The following claim is straightforward.
Claim 2
The set {F⊆E:m(X)≥i
F
(X),∀X⊆V} is the set of independent sets of the matroid\(M_{\bar{m}}\).