Lecture Notes Discrete Optimization - Applied Mathematics
Lecture Notes Discrete Optimization - Applied Mathematics
Lecture Notes Discrete Optimization - Applied Mathematics
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
the MWIS problem is equivalent to finding a maximum weight basis of M.<br />
We give some examples of matroids.<br />
Example 3.2 (Uniform matroid). One of the simplest examples of a matroid is the socalled<br />
uniform matroid. Suppose we are given some set S and an integer k. Define the<br />
independent setsI as the set of all subsets of S of size at most k, i.e.,I ={I⊆ S | |I|≤k}.<br />
It is easy to verify that M =(S,I) is a matroid. M is also called the k-uniform matroid.<br />
Example 3.3 (Partition matroid). Another simple example of a matroid is the partition<br />
matroid. Suppose S is partitioned into m sets S 1 ,...,S m and we are given m integers<br />
k 1 ,...,k m . Define I = {I ⊆ S | |I∩ S i |≤k i for all 1≤i≤m}. Conditions (M1) and<br />
(M2) are trivially satisfied. To see that Condition (M3) is satisfied as well, note that if<br />
I,J ∈I and|I||I∩ S i | and thus<br />
adding any element x ∈ S i ∩(J\ I) to I maintains independence. Thus, M = (S,I) is a<br />
matroid.<br />
Example 3.4 (Graphic matroid). Suppose we are given an undirected graph G=(V,E).<br />
Let S=E and define I ={F ⊆ E | F induces a forest in G}. We already argued above<br />
that Conditions (M1) and (M2) are satisfied. We next show that Conditions (M4) is satisfied<br />
too. Let U ⊆ E. Consider the subgraph(V,U) of G induced by U and suppose that it<br />
consists of k components. By definition, each basis B of U is an inclusionwise maximal<br />
forest contained in U. Thus, B consists of k spanning trees, one for each component of<br />
the subgraph (V,U). We conclude that B contains |V|−k elements. Because this holds<br />
for every basis of U, Condition (M4) is satisfied. We remark that any matroid M =(S,I)<br />
obtained in this way is also called a graphic matroid (or cycle matroid).<br />
Example 3.5 (Matching matroid). The independent set system of Example 3.1 is not a<br />
matroid. However, there is another way of defining a matroid based on matchings. Let<br />
G = (V,E) be an undirected graph. Given a matching M ⊆ E of G, let V(M) refer to<br />
the set of nodes that are incident to the edges of M. A node set I ⊆ V is covered by<br />
M if I ⊆ V(M). Define S = V and I = {I ⊆ V | I is covered by some matching M}.<br />
Condition (M1) holds trivially. Condition (M2) is satisfied because if a node set I ∈I is<br />
covered by a matching M, then each subset J ⊆ I is also covered by M and thus J ∈I. It<br />
can also be shown that Condition (M3) is satisfied and thus M =(S,I) is a matroid. M is<br />
also called a matching matroid.<br />
3.3 Greedy Algorithm for Matroids<br />
The next theorem shows that the greedy algorithm given in Algorithm 3 always computes<br />
a maximum weight independent set if the underlying independent set system is a matroid.<br />
The theorem actually shows something much stronger: Matroids are precisely the<br />
independent set systems for which the greedy algorithm computes an optimal solution.<br />
Theorem 3.1. Let (S,I) be an independent set system. Further, let w : S → R + be a<br />
nonnegative weight function on S. The greedy algorithm (Algorithm 3) computes an independent<br />
set of maximum weight if and only if M =(S,I) is a matroid.<br />
16