§ Matroids for greedy algorithms (TODO)
§ Definitions of matroids
A matrioid M is a set X equipped with an independence set I⊆2X.
- The empty set is independent: ∅∈I.
- The independence set is downward-closed/closed under subsets: ∀i∈I,∀i′⊆i,i′∈I.
- For any independent sets A,B∈I, if ∣A∣ is larger than ∣B∣, then we must be able to add an element from a∈A into B′≡B∪a such that B′ is both independent and larger than B: B′∈I∧∣B′∣>∣B∣. ( The exchange property )
§ Example 1: Linearly independent sets
Let V be a vector space. The independent sets I are of the form:
I≡{S⊆V : vectors in S are lineary independent}
This is an independence system because the empty set is linearly independent,
and subsets of a linearly independent collection of vectors will be linearly
independent.
The exchange property is satisfied because of linear algebraic reasons.
§ Example 2: The graphic/cyclic Matroid: Matroid of Forests
Let G=(V,E) be a graph. Then collections of edges of the form:
I≡{F⊆E:F contains no cycles}
is an independence system because the empty forest is a forest, and
a subset of edges of a forest continues to be a forest.
To check the exchange property, TODO
§ Example 3: The partition matroid
Consider the partition matroid M≡(E,I), where we have a
partitioning of E known as Ei, and numbers ki the
independence set consists of subsets F which have at most ki
elements in common with each Ei.
I≡{F⊆E:∀i=1,…N,∣F∩Ei∣≤ki}
The independence axioms are intuitively satisfied, since our constraints on picking
edges are of the form ∣F∩Ei∣≤ki, which will continue to
hold as F becomes smaller.
For the exchange axiom, let ∣Y∣>∣X∣. Then, we can assert that for some index
i, it must be the case that ∣Y∩Ei∣>∣X∩Ei∣. Hence,
we can add an element in Ei∩(Y/X) into X whilst still maintaining independence.
§ Bases and Circuits
- Bases are the maximal independent sets of I (ordered by inclusion). On adding an element into a basis element, they will become dependent. They are called bases by analogy with linear algebra.
- Circuits are minimal dependent sets of I. This comes from analogy with trees: if we remove an element from any circuit (loop) in a graph, what we are left with is a tree.
A matroid can be completely categorized by knowing either the bases or the circuits of that matroid.
§ Unique Circuit property
- Theorem : Let M≡(E,I) be a matroid, and let S∈I,e∈E such that S∪{e}∈I.
Then, there exists a unique circuit C⊆S∪{e}.
That is, when we go from independent to dependent by adding an element, we will
have a single, unique circuit . For example, when we add an edge into a
forest to create a cycle, this cycle will be unique!
§ Proof
Let C1,C2 be circuits
created when e was added into S, where C1 is the largest circuit of S,
and C2 is the smallest circuit of S.
Notice that C1,C2 must contain e ---
if they did not, then C1,C2 would be circuits in
S, contradicting the assumption that S is independent.
Recall that C1,C2 are both circuits, which means that removing even a
single element from them will cause them to become independent sets.
Let us contemplate C≡C1∪C2. Either C=C1 in which
case we are done.
Otherwise, ∣C∣>∣C1∣, ∣C∣>∣C2∣.
Otherwise, consider C′≡C {e}=(C1∪C2) {e}=(C1 {e})∪(C2 {e}).
- C′⊆S, since C1 {e},C2 {e}⊆S.
- S is an independent set, all of whose subsets are independent by definition. So C′ is an independent set.
- ∣C′∣≥∣C1∣, ∣C′∣≥∣C2∣.
Now, we consider C. Clearly, this is a dependent set,
since C1⊊C, and C1 is a dependent set.
Since, C=C′∪{e}, this means that C′ is a maximally independent set.
Since C′ does not contain e, C′=S.
§ Rank functions
A rank function of a matroid M≡⟨X,I⟩
is a function:
r:2X→N:r(S)=max{∣T∣:T⊆S∧T∈I}
That is, for any subset S⊆X, r(S) is the cardinality of the
largest independent subset of S.
- In the matroid of linearly independent sets of vectors, the rank of a set of vectors is the dimension of their spanning set.
In this matroid, the
TODO: picture
§ Intersection of matroids is not necessarily a matroid:
M1 = < d {[(a) (b)] c}>
M2 = < {d [(a) (b)]} c>
The intersection of these two matroids will be:
M1 cap M2 = < d [(a) (b)] c>
This is not a matroid because the exchange property fails. There's no
way to go from [a, b]
to < d a b c >
by exchanging one element.
§ Bipartite matching as matroid intersection
Matchings in a bipartite graph G=(V,E) with partition (A,B) arise
as the intersection of the independent sets of two matroids.
We will denote by δ:V→2E the function which takes
a vertex to the set of edges incident on that vertex.
Let MA be a partition matroid : MA≡(E,IA) where IA is:
IA≡{F⊆E:∣F∩δ(a)∣≤1∀a∈A}
That is, in IA, every independent set has for each vertex of A, at most
one edge incident. We need to check that this is an independent set.
The empty set of no edges is independent. If some collection of edges are
such that they have at most one edge incident, then removing edges can
only decrease incidence. Hence, it's also downward closed.
TODO: add picture
Similarly, we define MB≡(E,IB):
IB≡{F⊆E:∣F∩δ(b)∣≤1∀b∈B}
Now, notice that any collection of edges F∈IA∩IB is a legal
matching, since the edges cover all vertices of A and B at most once.
The largest element of IA∩IB is the maximum matching that we
are looking for.
§ Largest common independent set
Given two matroids M1≡(E,I1), M2≡(E,I2), with rank
functions r1 and r2. Let S∈I1capI2 and let F⊆E.
- ∣S∣=∣S∩F∣+∣S∩(E/F)∣.
§ References: