Algorithms
NonLecture D: Matroids
The problem is that we attempt to solve the simplest questions cleverly,
thereby rendering them unusually complex.
One should seek the simple solution.
— Anton Pavlovich Chekhov (c. 1890)
I love deadlines. I like the whooshing sound they make as they fly by.
— Douglas Adams
D
Matroids
?
D.1
Definitions
Many problems that can be correctly solved by greedy algorithms can be described in terms of an abstract
combinatorial object called a
matroid
. Matroids were first described in 1935 by the mathematician
Hassler Whitney as a combinatorial generalization of linear independence of vectors—‘matroid’ means
‘something sort of like a matrix’.
A matroid
M
is a finite collection of finite sets that satisfies three axioms:
•
Nonemptiness:
The empty set is in
M
. (Thus,
M
is not itself empty.)
•
Heredity:
If a set
X
is an element of
M
, then any subset of
X
is also in
M
.
•
Exchange:
If
X
and
Y
are two sets in
M
and

X

>

Y

, then there is an element
x
∈
X
\
Y
such
that
Y
∪ {
x
}
is in
M
.
The sets in
M
are typically called
independent sets
; for example, we would say that any subset of an
independent set is independent. The union of all sets in
M
is called the
ground set
. An independent set is
called a
basis
if it is not a proper subset of another independent set. The exchange property implies that
every basis of a matroid has the same cardinality. The
rank
of a subset
X
of the ground set is the size
of the largest independent subset of
X
. A subset of the ground set that is not in
M
is called
dependent
(surprise, surprise). Finally, a dependent set is called a
circuit
if every proper subset is independent.
Most of this terminology is justified by Whitney’s original example:
Linear matroid:
Let
A
be any
n
×
m
matrix. A subset
I
⊆ {
1
,
2
,...,
n
}
is independent if and
only if the corresponding subset of columns of
A
is linearly independent.
The heredity property follows directly from the definition of linear independence; the exchange property
is implied by an easy dimensionality argument. A basis in any linear matroid is also a basis (in the
linearalgebra sense) of the vector space spanned by the columns of
A
. Similarly, the rank of a set of
indices is precisely the rank (in the linearalgebra sense) of the corresponding set of column vectors.
Here are several other examples of matroids; some of these we will see again later. I will leave the
proofs that these are actually matroids as exercises for the reader.
•
Uniform matroid U
k
,
n
:
A subset
X
⊆ {
1
,
2
,...,
n
}
is independent if and only if

X
 ≤
k
. Any
subset of
{
1,2,...,
n
}
of size
k
is a basis; any subset of size
k
+
1 is a circuit.
•
Graphic
/
cycle matroid
M
(
G
)
:
Let
G
= (
V
,
E
)
be an arbitrary undirected graph. A subset of
E
is
independent if it defines an
acyclic
subgraph of
G
. A basis in the graphic matroid is a spanning
tree of
G
; a circuit in this matroid is a cycle in
G
.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '09
 A
 Greedy algorithm, Matroid, matroid optimization problem, Uniform matroid Uk

Click to edit the document details