greedy algorithm and edmonds matroid intersection algorithm

215
Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References Greedy Algorithm And Edmonds Matroid Intersection Algorithm Paul Wilhelm [email protected] Institut f¨ ur Mathematik Humboldt-Universit¨ at zu Berlin July 17, 2010 Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 1 / 32

Upload: others

Post on 03-Feb-2022

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Greedy AlgorithmAnd

Edmonds Matroid Intersection Algorithm

Paul [email protected]

Institut fur MathematikHumboldt-Universitat zu Berlin

July 17, 2010

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 1 / 32

Page 2: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Content I

1 Greedy AlgorithmPrerequisitesAlgorithmFeasibility In Matroids

Proof ’Greedy ⇒ Matroid’

Proof ’Matroid ⇒ Greedy’

2 Transversal MatroidsJob Scheduling

Job Scheduling Problem

Mathematical Describtion

Transversal MatroidsDefinition Transversal Matroids

Proof

Greedy Algorithm In Transversal Matroids

3 Edmonds’ Intersection AlgorithmPaul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 2 / 32

Page 3: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Content II

PrerequisitesExample Intersection Of Two Matriods

AlgorithmCounterexample Intersection Of Three Matriods

Complexity Of Edmonds’ Algorithm

OutlookCorrectnes of the Algorithm

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 3 / 32

Page 4: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Remind

Independence System / Matroid (E ,I)

∅ ⊆ I (nonempty)

Y ⊆ I, X ⊆ Y ⇒ X ⊆ I (hereditary)

X ,Y ∈ I, |X | < |Y | ⇒ ∃y ∈ Y \ X : X ∪ {y} ∈ I (augmentation)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 4 / 32

Page 5: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Remind

Independence System / Matroid (E ,I)

∅ ⊆ I (nonempty)

Y ⊆ I, X ⊆ Y ⇒ X ⊆ I (hereditary)

X ,Y ∈ I, |X | < |Y | ⇒ ∃y ∈ Y \ X : X ∪ {y} ∈ I (augmentation)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 4 / 32

Page 6: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Remind

Independence System / Matroid (E ,I)

∅ ⊆ I (nonempty)

Y ⊆ I, X ⊆ Y ⇒ X ⊆ I (hereditary)

X ,Y ∈ I, |X | < |Y | ⇒ ∃y ∈ Y \ X : X ∪ {y} ∈ I (augmentation)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 4 / 32

Page 7: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Min/Max - Problem

(due to (Korte and Vygen, 2007, p. 306))

Maximization Problem

Find X ∈ I s.t. the weight w(X ) =∑

e∈X

w(e) is maximum

Minimization Problem

Find a basis B s.t. the weight w(X ) =∑

e∈X

w(e) is minimum

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 5 / 32

Page 8: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Min/Max - Problem

(due to (Korte and Vygen, 2007, p. 306))

Maximization Problem

Find X ∈ I s.t. the weight w(X ) =∑

e∈X

w(e) is maximum

Minimization Problem

Find a basis B s.t. the weight w(X ) =∑

e∈X

w(e) is minimum

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 5 / 32

Page 9: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Min/Max - Problem

(due to (Korte and Vygen, 2007, p. 306))

Maximization Problem

Find X ∈ I s.t. the weight w(X ) =∑

e∈X

w(e) is maximum

Minimization Problem

Find a basis B s.t. the weight w(X ) =∑

e∈X

w(e) is minimum

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 5 / 32

Page 10: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated asmin/max-problem (more in (Korte and Vygen, 2007, p. 306)):

maximum weight stable set

travelling salesman

shortest path

knapsack

minimum spanning tree

maximum weight forest

steiner tree

maximum weight branching

maximum weight matching

job scheduling

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 6 / 32

Page 11: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated asmin/max-problem (more in (Korte and Vygen, 2007, p. 306)):

maximum weight stable set

travelling salesman

shortest path

knapsack

minimum spanning tree

maximum weight forest

steiner tree

maximum weight branching

maximum weight matching

job scheduling

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 6 / 32

Page 12: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated asmin/max-problem (more in (Korte and Vygen, 2007, p. 306)):

maximum weight stable set

travelling salesman

shortest path

knapsack

minimum spanning tree

maximum weight forest

steiner tree

maximum weight branching

maximum weight matching

job scheduling

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 6 / 32

Page 13: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated asmin/max-problem (more in (Korte and Vygen, 2007, p. 306)):

maximum weight stable set

travelling salesman

shortest path

knapsack

minimum spanning tree

maximum weight forest

steiner tree

maximum weight branching

maximum weight matching

job scheduling

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 6 / 32

Page 14: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated asmin/max-problem (more in (Korte and Vygen, 2007, p. 306)):

maximum weight stable set

travelling salesman

shortest path

knapsack

minimum spanning tree

maximum weight forest

steiner tree

maximum weight branching

maximum weight matching

job scheduling

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 6 / 32

Page 15: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated asmin/max-problem (more in (Korte and Vygen, 2007, p. 306)):

maximum weight stable set

travelling salesman

shortest path

knapsack

minimum spanning tree

maximum weight forest

steiner tree

maximum weight branching

maximum weight matching

job scheduling

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 6 / 32

Page 16: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated asmin/max-problem (more in (Korte and Vygen, 2007, p. 306)):

maximum weight stable set

travelling salesman

shortest path

knapsack

minimum spanning tree

maximum weight forest

steiner tree

maximum weight branching

maximum weight matching

job scheduling

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 6 / 32

Page 17: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated asmin/max-problem (more in (Korte and Vygen, 2007, p. 306)):

maximum weight stable set

travelling salesman

shortest path

knapsack

minimum spanning tree

maximum weight forest

steiner tree

maximum weight branching

maximum weight matching

job scheduling

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 6 / 32

Page 18: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated asmin/max-problem (more in (Korte and Vygen, 2007, p. 306)):

maximum weight stable set

travelling salesman

shortest path

knapsack

minimum spanning tree

maximum weight forest

steiner tree

maximum weight branching

maximum weight matching

job scheduling

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 6 / 32

Page 19: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated asmin/max-problem (more in (Korte and Vygen, 2007, p. 306)):

maximum weight stable set

travelling salesman

shortest path

knapsack

minimum spanning tree

maximum weight forest

steiner tree

maximum weight branching

maximum weight matching

job scheduling

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 6 / 32

Page 20: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated asmin/max-problem (more in (Korte and Vygen, 2007, p. 306)):

maximum weight stable set

travelling salesman

shortest path

knapsack

minimum spanning tree

maximum weight forest

steiner tree

maximum weight branching

maximum weight matching

job scheduling

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 6 / 32

Page 21: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Oracle

The independence system (E ,I) is given by an oracle:

Independence Oracle

An oracle which decides whether F ⊆ E is in I or not.

∀F ⊆ E O(F ) :=

{

1 ,if F ∈ I0 ,else

Basis-Superset Oracle

An oracle which decides whether B ⊆ E is an basis for I or not.

∀B ⊆ E O(B) :=

{

1 ,if B ∈ I and ∄x ∈ E : B ∪ {x} ∈ I0 ,else

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 7 / 32

Page 22: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Oracle

The independence system (E ,I) is given by an oracle:

Independence Oracle

An oracle which decides whether F ⊆ E is in I or not.

∀F ⊆ E O(F ) :=

{

1 ,if F ∈ I0 ,else

Basis-Superset Oracle

An oracle which decides whether B ⊆ E is an basis for I or not.

∀B ⊆ E O(B) :=

{

1 ,if B ∈ I and ∄x ∈ E : B ∪ {x} ∈ I0 ,else

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 7 / 32

Page 23: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Oracle

The independence system (E ,I) is given by an oracle:

Independence Oracle

An oracle which decides whether F ⊆ E is in I or not.

∀F ⊆ E O(F ) :=

{

1 ,if F ∈ I0 ,else

Basis-Superset Oracle

An oracle which decides whether B ⊆ E is an basis for I or not.

∀B ⊆ E O(B) :=

{

1 ,if B ∈ I and ∄x ∈ E : B ∪ {x} ∈ I0 ,else

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 7 / 32

Page 24: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Oracle

The independence system (E ,I) is given by an oracle:

Independence Oracle

An oracle which decides whether F ⊆ E is in I or not.

∀F ⊆ E O(F ) :=

{

1 ,if F ∈ I0 ,else

Basis-Superset Oracle

An oracle which decides whether B ⊆ E is an basis for I or not.

∀B ⊆ E O(B) :=

{

1 ,if B ∈ I and ∄x ∈ E : B ∪ {x} ∈ I0 ,else

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 7 / 32

Page 25: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Oracle

The independence system (E ,I) is given by an oracle:

Independence Oracle

An oracle which decides whether F ⊆ E is in I or not.

∀F ⊆ E O(F ) :=

{

1 ,if F ∈ I0 ,else

Basis-Superset Oracle

An oracle which decides whether B ⊆ E is an basis for I or not.

∀B ⊆ E O(B) :=

{

1 ,if B ∈ I and ∄x ∈ E : B ∪ {x} ∈ I0 ,else

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 7 / 32

Page 26: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Oracle

The independence system (E ,I) is given by an oracle:

Independence Oracle

An oracle which decides whether F ⊆ E is in I or not.

∀F ⊆ E O(F ) :=

{

1 ,if F ∈ I0 ,else

Basis-Superset Oracle

An oracle which decides whether B ⊆ E is an basis for I or not.

∀B ⊆ E O(B) :=

{

1 ,if B ∈ I and ∄x ∈ E : B ∪ {x} ∈ I0 ,else

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 7 / 32

Page 27: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Oracle

The independence system (E ,I) is given by an oracle:

Independence Oracle

An oracle which decides whether F ⊆ E is in I or not.

∀F ⊆ E O(F ) :=

{

1 ,if F ∈ I0 ,else

Basis-Superset Oracle

An oracle which decides whether B ⊆ E is an basis for I or not.

∀B ⊆ E O(B) :=

{

1 ,if B ∈ I and ∄x ∈ E : B ∪ {x} ∈ I0 ,else

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 7 / 32

Page 28: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Algorithm

Best-In-Greedy

Sort E = {e1, ..., en} s.t. w(e1) ≥ ... ≥ w(en)

Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {ei}∈ I then set F := F ∪ {ei}

Output: F∈ I

Sort the elements in E (O(n · log(n)))

Have to ask oracle in each step! Complexity of algorithm dependsmainly on complexity of oracle (O(O)).

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 8 / 32

Page 29: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Algorithm

Best-In-Greedy

Sort E = {e1, ..., en} s.t. w(e1) ≥ ... ≥ w(en)

Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {ei}∈ I then set F := F ∪ {ei}

Output: F∈ I

Sort the elements in E (O(n · log(n)))

Have to ask oracle in each step! Complexity of algorithm dependsmainly on complexity of oracle (O(O)).

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 8 / 32

Page 30: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Algorithm

Best-In-Greedy

Sort E = {e1, ..., en} s.t. w(e1) ≥ ... ≥ w(en)

Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {ei}∈ I then set F := F ∪ {ei}

Output: F∈ I

Sort the elements in E (O(n · log(n)))

Have to ask oracle in each step! Complexity of algorithm dependsmainly on complexity of oracle (O(O)).

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 8 / 32

Page 31: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Algorithm

Best-In-Greedy

Sort E = {e1, ..., en} s.t. w(e1) ≥ ... ≥ w(en)

Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {ei}∈ I then set F := F ∪ {ei}

Output: F∈ I

Sort the elements in E (O(n · log(n)))

Have to ask oracle in each step! Complexity of algorithm dependsmainly on complexity of oracle (O(O)).

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 8 / 32

Page 32: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Algorithm

Best-In-Greedy

Sort E = {e1, ..., en} s.t. w(e1) ≥ ... ≥ w(en)

Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {ei}∈ I then set F := F ∪ {ei}

Output: F∈ I

Sort the elements in E (O(n · log(n)))

Have to ask oracle in each step! Complexity of algorithm dependsmainly on complexity of oracle (O(O)).

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 8 / 32

Page 33: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Algorithm

Best-In-Greedy

Sort E = {e1, ..., en} s.t. w(e1) ≥ ... ≥ w(en)

Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {ei}∈ I then set F := F ∪ {ei}

Output: F∈ I

Sort the elements in E (O(n · log(n)))

Have to ask oracle in each step! Complexity of algorithm dependsmainly on complexity of oracle (O(O)).

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 8 / 32

Page 34: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Algorithm

Best-In-Greedy

Sort E = {e1, ..., en} s.t. w(e1) ≥ ... ≥ w(en)

Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {ei}∈ I then set F := F ∪ {ei}

Output: F∈ I

Sort the elements in E (O(n · log(n)))

Have to ask oracle in each step! Complexity of algorithm dependsmainly on complexity of oracle (O(O)).

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 8 / 32

Page 35: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Algorithm

Best-In-Greedy

Sort E = {e1, ..., en} s.t. w(e1) ≥ ... ≥ w(en)

Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {ei}∈ I then set F := F ∪ {ei}

Output: F∈ I

Sort the elements in E (O(n · log(n)))

Have to ask oracle in each step! Complexity of algorithm dependsmainly on complexity of oracle (O(O)).

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 8 / 32

Page 36: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Algorithm

Best-In-Greedy

Sort E = {e1, ..., en} s.t. w(e1) ≥ ... ≥ w(en)

Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {ei}∈ I then set F := F ∪ {ei}

Output: F∈ I

Sort the elements in E (O(n · log(n)))

Have to ask oracle in each step! Complexity of algorithm dependsmainly on complexity of oracle (O(O)).

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 8 / 32

Page 37: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Theorem Feasibility

Asume the greedy algorithm work correctly in the independence system(E ,I).

Theorem

An independence system is a matroid iff the best-in-greedy algorithm findsfor all weight functions an optimum solution for the maximization problem.

If not a matroid:

find only locally optimum

cardinallity don’t have to be maximum, just maximal (i.e. there existsno superset)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 9 / 32

Page 38: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Theorem Feasibility

Asume the greedy algorithm work correctly in the independence system(E ,I).

Theorem

An independence system is a matroid iff the best-in-greedy algorithm findsfor all weight functions an optimum solution for the maximization problem.

If not a matroid:

find only locally optimum

cardinallity don’t have to be maximum, just maximal (i.e. there existsno superset)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 9 / 32

Page 39: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Theorem Feasibility

Asume the greedy algorithm work correctly in the independence system(E ,I).

Theorem

An independence system is a matroid iff the best-in-greedy algorithm findsfor all weight functions an optimum solution for the maximization problem.

If not a matroid:

find only locally optimum

cardinallity don’t have to be maximum, just maximal (i.e. there existsno superset)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 9 / 32

Page 40: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Theorem Feasibility

Asume the greedy algorithm work correctly in the independence system(E ,I).

Theorem

An independence system is a matroid iff the best-in-greedy algorithm findsfor all weight functions an optimum solution for the maximization problem.

If not a matroid:

find only locally optimum

cardinallity don’t have to be maximum, just maximal (i.e. there existsno superset)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 9 / 32

Page 41: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Theorem Feasibility

Asume the greedy algorithm work correctly in the independence system(E ,I).

Theorem

An independence system is a matroid iff the best-in-greedy algorithm findsfor all weight functions an optimum solution for the maximization problem.

If not a matroid:

find only locally optimum

cardinallity don’t have to be maximum, just maximal (i.e. there existsno superset)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 9 / 32

Page 42: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Greedy ⇒ Matroid’ By Contradiction

Assumption: (E ,I) Is No Matroid:

i.e. ∃ X ,Y ∈ I with |X | < |Y | s.t. ∀e ∈ Y \ X : X ∪ {e} /∈ I

Define Weight Function:

w(e) :=

1 + ε , if e ∈ X1 , if e ∈ Y \ X0 , if e ∈ E \ {X ∪ Y }

⇒ greedy outputs F with w(F ) = |X | · (1 + ε) + 0

⇒ w(F ) = |X |(1 + ε) < w(Y ) = |Y | for ε < |Y ||X | − 1

� to w(F ) maximum for all weight functions.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 10 / 32

Page 43: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Greedy ⇒ Matroid’ By Contradiction

Assumption: (E ,I) Is No Matroid:

i.e. ∃ X ,Y ∈ I with |X | < |Y | s.t. ∀e ∈ Y \ X : X ∪ {e} /∈ I

Define Weight Function:

w(e) :=

1 + ε , if e ∈ X1 , if e ∈ Y \ X0 , if e ∈ E \ {X ∪ Y }

⇒ greedy outputs F with w(F ) = |X | · (1 + ε) + 0

⇒ w(F ) = |X |(1 + ε) < w(Y ) = |Y | for ε < |Y ||X | − 1

� to w(F ) maximum for all weight functions.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 10 / 32

Page 44: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Greedy ⇒ Matroid’ By Contradiction

Assumption: (E ,I) Is No Matroid:

i.e. ∃ X ,Y ∈ I with |X | < |Y | s.t. ∀e ∈ Y \ X : X ∪ {e} /∈ I

Define Weight Function:

w(e) :=

1 + ε , if e ∈ X1 , if e ∈ Y \ X0 , if e ∈ E \ {X ∪ Y }

⇒ greedy outputs F with w(F ) = |X | · (1 + ε) + 0

⇒ w(F ) = |X |(1 + ε) < w(Y ) = |Y | for ε < |Y ||X | − 1

� to w(F ) maximum for all weight functions.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 10 / 32

Page 45: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Greedy ⇒ Matroid’ By Contradiction

Assumption: (E ,I) Is No Matroid:

i.e. ∃ X ,Y ∈ I with |X | < |Y | s.t. ∀e ∈ Y \ X : X ∪ {e} /∈ I

Define Weight Function:

w(e) :=

1 + ε , if e ∈ X choose first |X | steps1 , if e ∈ Y \ X0 , if e ∈ E \ {X ∪ Y }

⇒ greedy outputs F with w(F ) = |X | · (1 + ε) + 0

⇒ w(F ) = |X |(1 + ε) < w(Y ) = |Y | for ε < |Y ||X | − 1

� to w(F ) maximum for all weight functions.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 10 / 32

Page 46: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Greedy ⇒ Matroid’ By Contradiction

Assumption: (E ,I) Is No Matroid:

i.e. ∃ X ,Y ∈ I with |X | < |Y | s.t. ∀e ∈ Y \ X : X ∪ {e} /∈ I

Define Weight Function:

w(e) :=

1 + ε , if e ∈ X choose first |X | steps1 , if e ∈ Y \ X can’t choose0 , if e ∈ E \ {X ∪ Y }

⇒ greedy outputs F with w(F ) = |X | · (1 + ε) + 0

⇒ w(F ) = |X |(1 + ε) < w(Y ) = |Y | for ε < |Y ||X | − 1

� to w(F ) maximum for all weight functions.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 10 / 32

Page 47: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Greedy ⇒ Matroid’ By Contradiction

Assumption: (E ,I) Is No Matroid:

i.e. ∃ X ,Y ∈ I with |X | < |Y | s.t. ∀e ∈ Y \ X : X ∪ {e} /∈ I

Define Weight Function:

w(e) :=

1 + ε , if e ∈ X choose first |X | steps1 , if e ∈ Y \ X can’t choose0 , if e ∈ E \ {X ∪ Y } don’t change the weight

⇒ greedy outputs F with w(F ) = |X | · (1 + ε) + 0

⇒ w(F ) = |X |(1 + ε) < w(Y ) = |Y | for ε < |Y ||X | − 1

� to w(F ) maximum for all weight functions.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 10 / 32

Page 48: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Greedy ⇒ Matroid’ By Contradiction

Assumption: (E ,I) Is No Matroid:

i.e. ∃ X ,Y ∈ I with |X | < |Y | s.t. ∀e ∈ Y \ X : X ∪ {e} /∈ I

Define Weight Function:

w(e) :=

1 + ε , if e ∈ X choose first |X | steps1 , if e ∈ Y \ X can’t choose0 , if e ∈ E \ {X ∪ Y } don’t change the weight

⇒ greedy outputs F with w(F ) = |X | · (1 + ε) + 0

⇒ w(F ) = |X |(1 + ε) < w(Y ) = |Y | for ε < |Y ||X | − 1

� to w(F ) maximum for all weight functions.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 10 / 32

Page 49: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Greedy ⇒ Matroid’ By Contradiction

Assumption: (E ,I) Is No Matroid:

i.e. ∃ X ,Y ∈ I with |X | < |Y | s.t. ∀e ∈ Y \ X : X ∪ {e} /∈ I

Define Weight Function:

w(e) :=

1 + ε , if e ∈ X choose first |X | steps1 , if e ∈ Y \ X can’t choose0 , if e ∈ E \ {X ∪ Y } don’t change the weight

⇒ greedy outputs F with w(F ) = |X | · (1 + ε) + 0

⇒ w(F ) = |X |(1 + ε) < w(Y ) = |Y | for ε < |Y ||X | − 1

� to w(F ) maximum for all weight functions.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 10 / 32

Page 50: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Greedy ⇒ Matroid’ By Contradiction

Assumption: (E ,I) Is No Matroid:

i.e. ∃ X ,Y ∈ I with |X | < |Y | s.t. ∀e ∈ Y \ X : X ∪ {e} /∈ I

Define Weight Function:

w(e) :=

1 + ε , if e ∈ X choose first |X | steps1 , if e ∈ Y \ X can’t choose0 , if e ∈ E \ {X ∪ Y } don’t change the weight

⇒ greedy outputs F with w(F ) = |X | · (1 + ε) + 0

⇒ w(F ) = |X |(1 + ε) < w(Y ) = |Y | for ε < |Y ||X | − 1

� to w(F ) maximum for all weight functions.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 10 / 32

Page 51: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f1, ..., fr} the output of the greedy algorithm

w.l.o.g. w(f1) ≥ ... ≥ w(fr ) (if not change numbering)

first prove that F has maximum cardinality

then prove by contradiction that w(F ) is maximum

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 11 / 32

Page 52: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f1, ..., fr} the output of the greedy algorithm

w.l.o.g. w(f1) ≥ ... ≥ w(fr ) (if not change numbering)

first prove that F has maximum cardinality

then prove by contradiction that w(F ) is maximum

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 11 / 32

Page 53: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f1, ..., fr} the output of the greedy algorithm

w.l.o.g. w(f1) ≥ ... ≥ w(fr ) (if not change numbering)

first prove that F has maximum cardinality

then prove by contradiction that w(F ) is maximum

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 11 / 32

Page 54: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f1, ..., fr} the output of the greedy algorithm

w.l.o.g. w(f1) ≥ ... ≥ w(fr ) (if not change numbering)

first prove that F has maximum cardinality

then prove by contradiction that w(F ) is maximum

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 11 / 32

Page 55: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f1, ..., fr} the output of the greedy algorithm

w.l.o.g. w(f1) ≥ ... ≥ w(fr ) (if not change numbering)

first prove that F has maximum cardinality

then prove by contradiction that w(F ) is maximum

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 11 / 32

Page 56: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f1, ..., fr} the output of the greedy algorithm

w.l.o.g. w(f1) ≥ ... ≥ w(fr ) (if not change numbering)

first prove that F has maximum cardinality

then prove by contradiction that w(F ) is maximum

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 11 / 32

Page 57: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f1, ..., fr} the output of the greedy algorithm

w.l.o.g. w(f1) ≥ ... ≥ w(fr ) (if not change numbering)

first prove that F has maximum cardinality

then prove by contradiction that w(F ) is maximum

Proof Maximum Cardinality Of F By Contradiction

Assume ∃ G ∈ I s.t. |F | < |G |Augmentation property ⇒ ∃g ∈ G \ F s.t. F ∪ {g}⇒ ∃t s.t. {f1, ..., ft , g , ft+1, ..., fs} = F ∪ {g} ∈ I withw(ft) ≥ w(g) ≥ w(ft+1)⇒ {f1, ..., ft} ⊆ {f1, ..., ft , g} ∈ Ig should been choosen in step t + 1 of greedy algorithm �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 11 / 32

Page 58: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f1, ..., fr} the output of the greedy algorithm

w.l.o.g. w(f1) ≥ ... ≥ w(fr ) (if not change numbering)

first prove that F has maximum cardinality

then prove by contradiction that w(F ) is maximum

Proof Maximum Cardinality Of F By Contradiction

Assume ∃ G ∈ I s.t. |F | < |G |Augmentation property ⇒ ∃g ∈ G \ F s.t. F ∪ {g}⇒ ∃t s.t. {f1, ..., ft , g , ft+1, ..., fs} = F ∪ {g} ∈ I withw(ft) ≥ w(g) ≥ w(ft+1)⇒ {f1, ..., ft} ⊆ {f1, ..., ft , g} ∈ Ig should been choosen in step t + 1 of greedy algorithm �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 11 / 32

Page 59: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f1, ..., fr} the output of the greedy algorithm

w.l.o.g. w(f1) ≥ ... ≥ w(fr ) (if not change numbering)

first prove that F has maximum cardinality

then prove by contradiction that w(F ) is maximum

Proof Maximum Cardinality Of F By Contradiction

Assume ∃ G ∈ I s.t. |F | < |G |Augmentation property ⇒ ∃g ∈ G \ F s.t. F ∪ {g}⇒ ∃t s.t. {f1, ..., ft , g , ft+1, ..., fs} = F ∪ {g} ∈ I withw(ft) ≥ w(g) ≥ w(ft+1)⇒ {f1, ..., ft} ⊆ {f1, ..., ft , g} ∈ Ig should been choosen in step t + 1 of greedy algorithm �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 11 / 32

Page 60: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f1, ..., fr} the output of the greedy algorithm

w.l.o.g. w(f1) ≥ ... ≥ w(fr ) (if not change numbering)

first prove that F has maximum cardinality

then prove by contradiction that w(F ) is maximum

Proof Maximum Cardinality Of F By Contradiction

Assume ∃ G ∈ I s.t. |F | < |G |Augmentation property ⇒ ∃g ∈ G \ F s.t. F ∪ {g}⇒ ∃t s.t. {f1, ..., ft , g , ft+1, ..., fs} = F ∪ {g} ∈ I withw(ft) ≥ w(g) ≥ w(ft+1)⇒ {f1, ..., ft} ⊆ {f1, ..., ft , g} ∈ Ig should been choosen in step t + 1 of greedy algorithm �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 11 / 32

Page 61: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f1, ..., fr} the output of the greedy algorithm

w.l.o.g. w(f1) ≥ ... ≥ w(fr ) (if not change numbering)

first prove that F has maximum cardinality

then prove by contradiction that w(F ) is maximum

Proof Maximum Cardinality Of F By Contradiction

Assume ∃ G ∈ I s.t. |F | < |G |Augmentation property ⇒ ∃g ∈ G \ F s.t. F ∪ {g}⇒ ∃t s.t. {f1, ..., ft , g , ft+1, ..., fs} = F ∪ {g} ∈ I withw(ft) ≥ w(g) ≥ w(ft+1)⇒ {f1, ..., ft} ⊆ {f1, ..., ft , g} ∈ Ig should been choosen in step t + 1 of greedy algorithm �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 11 / 32

Page 62: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f1, ..., fr} the output of the greedy algorithm

w.l.o.g. w(f1) ≥ ... ≥ w(fr ) (if not change numbering)

first prove that F has maximum cardinality

then prove by contradiction that w(F ) is maximum

Proof Maximum Cardinality Of F By Contradiction

Assume ∃ G ∈ I s.t. |F | < |G |Augmentation property ⇒ ∃g ∈ G \ F s.t. F ∪ {g}⇒ ∃t s.t. {f1, ..., ft , g , ft+1, ..., fs} = F ∪ {g} ∈ I withw(ft) ≥ w(g) ≥ w(ft+1)⇒ {f1, ..., ft} ⊆ {f1, ..., ft , g} ∈ Ig should been choosen in step t + 1 of greedy algorithm �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 11 / 32

Page 63: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

Proof w(F ) is maximum in (E ,I) by contradiction

Assume ∃G = {g1, ..., gr} ∈ I s.t. w(G ) > w(F ) and w(gi ) ≥ w(gi+1)⇒

gi∈G

w(gi ) >∑

fi∈F

w(fi )

⇒ ∃ k : w(gk) > w(fk) (because |G | ≤ |F |)take X := {f1, ..., fk−1} (= ∅ if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) ⇒ ∃ gt ∈ Y \ X with t ≤ k s.t.{f1, ..., fk−1, gt} = X ∪ {gt} ∈ IBecause w(gt) ≥ w(gk) > w(fk) gt should been choosen before step kof the greedy algorithm

� to correctness of greedy algorithm

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 12 / 32

Page 64: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

Proof w(F ) is maximum in (E ,I) by contradiction

Assume ∃G = {g1, ..., gr} ∈ I s.t. w(G ) > w(F ) and w(gi ) ≥ w(gi+1)⇒

gi∈G

w(gi ) >∑

fi∈F

w(fi )

⇒ ∃ k : w(gk) > w(fk) (because |G | ≤ |F |)take X := {f1, ..., fk−1} (= ∅ if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) ⇒ ∃ gt ∈ Y \ X with t ≤ k s.t.{f1, ..., fk−1, gt} = X ∪ {gt} ∈ IBecause w(gt) ≥ w(gk) > w(fk) gt should been choosen before step kof the greedy algorithm

� to correctness of greedy algorithm

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 12 / 32

Page 65: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

Proof w(F ) is maximum in (E ,I) by contradiction

Assume ∃G = {g1, ..., gr} ∈ I s.t. w(G ) > w(F ) and w(gi ) ≥ w(gi+1)⇒

gi∈G

w(gi ) >∑

fi∈F

w(fi )

⇒ ∃ k : w(gk) > w(fk) (because |G | ≤ |F |)take X := {f1, ..., fk−1} (= ∅ if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) ⇒ ∃ gt ∈ Y \ X with t ≤ k s.t.{f1, ..., fk−1, gt} = X ∪ {gt} ∈ IBecause w(gt) ≥ w(gk) > w(fk) gt should been choosen before step kof the greedy algorithm

� to correctness of greedy algorithm

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 12 / 32

Page 66: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

Proof w(F ) is maximum in (E ,I) by contradiction

Assume ∃G = {g1, ..., gr} ∈ I s.t. w(G ) > w(F ) and w(gi ) ≥ w(gi+1)⇒

gi∈G

w(gi ) >∑

fi∈F

w(fi )

⇒ ∃ k : w(gk) > w(fk) (because |G | ≤ |F |)take X := {f1, ..., fk−1} (= ∅ if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) ⇒ ∃ gt ∈ Y \ X with t ≤ k s.t.{f1, ..., fk−1, gt} = X ∪ {gt} ∈ IBecause w(gt) ≥ w(gk) > w(fk) gt should been choosen before step kof the greedy algorithm

� to correctness of greedy algorithm

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 12 / 32

Page 67: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

Proof w(F ) is maximum in (E ,I) by contradiction

Assume ∃G = {g1, ..., gr} ∈ I s.t. w(G ) > w(F ) and w(gi ) ≥ w(gi+1)⇒

gi∈G

w(gi ) >∑

fi∈F

w(fi )

⇒ ∃ k : w(gk) > w(fk) (because |G | ≤ |F |)take X := {f1, ..., fk−1} (= ∅ if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) ⇒ ∃ gt ∈ Y \ X with t ≤ k s.t.{f1, ..., fk−1, gt} = X ∪ {gt} ∈ IBecause w(gt) ≥ w(gk) > w(fk) gt should been choosen before step kof the greedy algorithm

� to correctness of greedy algorithm

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 12 / 32

Page 68: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

Proof w(F ) is maximum in (E ,I) by contradiction

Assume ∃G = {g1, ..., gr} ∈ I s.t. w(G ) > w(F ) and w(gi ) ≥ w(gi+1)⇒

gi∈G

w(gi ) >∑

fi∈F

w(fi )

⇒ ∃ k : w(gk) > w(fk) (because |G | ≤ |F |)take X := {f1, ..., fk−1} (= ∅ if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) ⇒ ∃ gt ∈ Y \ X with t ≤ k s.t.{f1, ..., fk−1, gt} = X ∪ {gt} ∈ IBecause w(gt) ≥ w(gk) > w(fk) gt should been choosen before step kof the greedy algorithm

� to correctness of greedy algorithm

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 12 / 32

Page 69: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

Proof w(F ) is maximum in (E ,I) by contradiction

Assume ∃G = {g1, ..., gr} ∈ I s.t. w(G ) > w(F ) and w(gi ) ≥ w(gi+1)⇒

gi∈G

w(gi ) >∑

fi∈F

w(fi )

⇒ ∃ k : w(gk) > w(fk) (because |G | ≤ |F |)take X := {f1, ..., fk−1} (= ∅ if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) ⇒ ∃ gt ∈ Y \ X with t ≤ k s.t.{f1, ..., fk−1, gt} = X ∪ {gt} ∈ IBecause w(gt) ≥ w(gk) > w(fk) gt should been choosen before step kof the greedy algorithm

� to correctness of greedy algorithm

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 12 / 32

Page 70: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

Proof w(F ) is maximum in (E ,I) by contradiction

Assume ∃G = {g1, ..., gr} ∈ I s.t. w(G ) > w(F ) and w(gi ) ≥ w(gi+1)⇒

gi∈G

w(gi ) >∑

fi∈F

w(fi )

⇒ ∃ k : w(gk) > w(fk) (because |G | ≤ |F |)take X := {f1, ..., fk−1} (= ∅ if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) ⇒ ∃ gt ∈ Y \ X with t ≤ k s.t.{f1, ..., fk−1, gt} = X ∪ {gt} ∈ IBecause w(gt) ≥ w(gk) > w(fk) gt should been choosen before step kof the greedy algorithm

� to correctness of greedy algorithm

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 12 / 32

Page 71: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

Proof w(F ) is maximum in (E ,I) by contradiction

Assume ∃G = {g1, ..., gr} ∈ I s.t. w(G ) > w(F ) and w(gi ) ≥ w(gi+1)⇒

gi∈G

w(gi ) >∑

fi∈F

w(fi )

⇒ ∃ k : w(gk) > w(fk) (because |G | ≤ |F |)take X := {f1, ..., fk−1} (= ∅ if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) ⇒ ∃ gt ∈ Y \ X with t ≤ k s.t.{f1, ..., fk−1, gt} = X ∪ {gt} ∈ IBecause w(gt) ≥ w(gk) > w(fk) gt should been choosen before step kof the greedy algorithm

� to correctness of greedy algorithm

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 12 / 32

Page 72: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Example Job Scheduling

Job Scheduling Problem

Set of one worker jobs

Arranged in order of importance

Pool of workers

Each is qualified to do a subset of jobs

Jobs have to be done simultaneously, so every worker can do at leastone job

if not all jobs can be done, try optimal relative to the priority

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 13 / 32

Page 73: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Example Job Scheduling

Job Scheduling Problem

Set of one worker jobs

Arranged in order of importance

Pool of workers

Each is qualified to do a subset of jobs

Jobs have to be done simultaneously, so every worker can do at leastone job

if not all jobs can be done, try optimal relative to the priority

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 13 / 32

Page 74: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Example Job Scheduling

Job Scheduling Problem

Set of one worker jobs

Arranged in order of importance

Pool of workers

Each is qualified to do a subset of jobs

Jobs have to be done simultaneously, so every worker can do at leastone job

if not all jobs can be done, try optimal relative to the priority

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 13 / 32

Page 75: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Example Job Scheduling

Job Scheduling Problem

Set of one worker jobs

Arranged in order of importance

Pool of workers

Each is qualified to do a subset of jobs

Jobs have to be done simultaneously, so every worker can do at leastone job

if not all jobs can be done, try optimal relative to the priority

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 13 / 32

Page 76: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Example Job Scheduling

Job Scheduling Problem

Set of one worker jobs

Arranged in order of importance

Pool of workers

Each is qualified to do a subset of jobs

Jobs have to be done simultaneously, so every worker can do at leastone job

if not all jobs can be done, try optimal relative to the priority

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 13 / 32

Page 77: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Example Job Scheduling

Job Scheduling Problem

Set of one worker jobs

Arranged in order of importance

Pool of workers

Each is qualified to do a subset of jobs

Jobs have to be done simultaneously, so every worker can do at leastone job

if not all jobs can be done, try optimal relative to the priority

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 13 / 32

Page 78: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Example Job Scheduling

Job Scheduling Problem

Set of one worker jobs

Arranged in order of importance

Pool of workers

Each is qualified to do a subset of jobs

Jobs have to be done simultaneously, so every worker can do at leastone job

if not all jobs can be done, try optimal relative to the priority

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 13 / 32

Page 79: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J-set of jobs in order of priority

W-set of workers

Wi is the set of jobs worker i can do

W := {Wi |i ∈ I , Wi ⊆ J} (family ofsubsets)

Vertex set J ∪W and the edge set{jWi |j ∈ J,Wi ∈ W} define the graph △[W]

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 14 / 32

Page 80: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J

j1◦

j2◦

j3◦

j4◦

j5◦

j6◦

J-set of jobs in order of priority

W-set of workers

Wi is the set of jobs worker i can do

W := {Wi |i ∈ I , Wi ⊆ J} (family ofsubsets)

Vertex set J ∪W and the edge set{jWi |j ∈ J,Wi ∈ W} define the graph △[W]

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 14 / 32

Page 81: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

J-set of jobs in order of priority

W-set of workers

Wi is the set of jobs worker i can do

W := {Wi |i ∈ I , Wi ⊆ J} (family ofsubsets)

Vertex set J ∪W and the edge set{jWi |j ∈ J,Wi ∈ W} define the graph △[W]

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 14 / 32

Page 82: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

J-set of jobs in order of priority

W-set of workers

Wi is the set of jobs worker i can do

W := {Wi |i ∈ I , Wi ⊆ J} (family ofsubsets)

Vertex set J ∪W and the edge set{jWi |j ∈ J,Wi ∈ W} define the graph △[W]

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 14 / 32

Page 83: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

J-set of jobs in order of priority

W-set of workers

Wi is the set of jobs worker i can do

W := {Wi |i ∈ I , Wi ⊆ J} (family ofsubsets)

Vertex set J ∪W and the edge set{jWi |j ∈ J,Wi ∈ W} define the graph △[W]

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 14 / 32

Page 84: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

J-set of jobs in order of priority

W-set of workers

Wi is the set of jobs worker i can do

W := {Wi |i ∈ I , Wi ⊆ J} (family ofsubsets)

Vertex set J ∪W and the edge set{jWi |j ∈ J,Wi ∈ W} define the graph △[W]

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 14 / 32

Page 85: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

J-set of jobs in order of priority

W-set of workers

Wi is the set of jobs worker i can do

W := {Wi |i ∈ I , Wi ⊆ J} (family ofsubsets)

Vertex set J ∪W and the edge set{jWi |j ∈ J,Wi ∈ W} define the graph △[W]

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 14 / 32

Page 86: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

J-set of jobs in order of priority

W-set of workers

Wi is the set of jobs worker i can do

W := {Wi |i ∈ I , Wi ⊆ J} (family ofsubsets)

Vertex set J ∪W and the edge set{jWi |j ∈ J,Wi ∈ W} define the graph △[W]

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 14 / 32

Page 87: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

J-set of jobs in order of priority

W-set of workers

Wi is the set of jobs worker i can do

W := {Wi |i ∈ I , Wi ⊆ J} (family ofsubsets)

Vertex set J ∪W and the edge set{jWi |j ∈ J,Wi ∈ W} define the graph △[W]

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 14 / 32

Page 88: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

J-set of jobs in order of priority

W-set of workers

Wi is the set of jobs worker i can do

W := {Wi |i ∈ I , Wi ⊆ J} (family ofsubsets)

Vertex set J ∪W and the edge set{jWi |j ∈ J,Wi ∈ W} define the graph △[W]

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 14 / 32

Page 89: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

W := {Wi |i ∈ I , Wi ⊆ J}

T ⊆ J partial transversal : ⇔ ∃ injectivemap ψ : T ։ I s.t. t ∈ Wψ(t) ∀t ∈ T

i.e. matching for T in △[W]

transversal iff |T | = |W|

The cardinality of the biggest (partial)transversal is the maximum number of jobsthat can be done simultaneously in theexample.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 15 / 32

Page 90: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

W := {Wi |i ∈ I , Wi ⊆ J}

T ⊆ J partial transversal : ⇔ ∃ injectivemap ψ : T ։ I s.t. t ∈ Wψ(t) ∀t ∈ T

i.e. matching for T in △[W]

transversal iff |T | = |W|

The cardinality of the biggest (partial)transversal is the maximum number of jobsthat can be done simultaneously in theexample.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 15 / 32

Page 91: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

W := {Wi |i ∈ I , Wi ⊆ J}

T ⊆ J partial transversal : ⇔ ∃ injectivemap ψ : T ։ I s.t. t ∈ Wψ(t) ∀t ∈ T

i.e. matching for T in △[W]

transversal iff |T | = |W|

The cardinality of the biggest (partial)transversal is the maximum number of jobsthat can be done simultaneously in theexample.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 15 / 32

Page 92: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

W := {Wi |i ∈ I , Wi ⊆ J}

T ⊆ J partial transversal : ⇔ ∃ injectivemap ψ : T ։ I s.t. t ∈ Wψ(t) ∀t ∈ T

i.e. matching for T in △[W]

transversal iff |T | = |W|

The cardinality of the biggest (partial)transversal is the maximum number of jobsthat can be done simultaneously in theexample.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 15 / 32

Page 93: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

W := {Wi |i ∈ I , Wi ⊆ J}

T ⊆ J partial transversal : ⇔ ∃ injectivemap ψ : T ։ I s.t. t ∈ Wψ(t) ∀t ∈ T

i.e. matching for T in △[W]

transversal iff |T | = |W|

The cardinality of the biggest (partial)transversal is the maximum number of jobsthat can be done simultaneously in theexample.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 15 / 32

Page 94: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

W := {Wi |i ∈ I , Wi ⊆ J}

T ⊆ J partial transversal : ⇔ ∃ injectivemap ψ : T ։ I s.t. t ∈ Wψ(t) ∀t ∈ T

i.e. matching for T in △[W]

transversal iff |T | = |W|

The cardinality of the biggest (partial)transversal is the maximum number of jobsthat can be done simultaneously in theexample.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 15 / 32

Page 95: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

W := {Wi |i ∈ I , Wi ⊆ J}

T ⊆ J partial transversal : ⇔ ∃ injectivemap ψ : T ։ I s.t. t ∈ Wψ(t) ∀t ∈ T

i.e. matching for T in △[W]

transversal iff |T | = |W|

The cardinality of the biggest (partial)transversal is the maximum number of jobsthat can be done simultaneously in theexample.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 15 / 32

Page 96: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

W := {Wi |i ∈ I , Wi ⊆ J}

T ⊆ J partial transversal : ⇔ ∃ injectivemap ψ : T ։ I s.t. t ∈ Wψ(t) ∀t ∈ T

i.e. matching for T in △[W]

transversal iff |T | = |W|

The cardinality of the biggest (partial)transversal is the maximum number of jobsthat can be done simultaneously in theexample.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 15 / 32

Page 97: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

W := {Wi |i ∈ I , Wi ⊆ J}

T ⊆ J partial transversal : ⇔ ∃ injectivemap ψ : T ։ I s.t. t ∈ Wψ(t) ∀t ∈ T

i.e. matching for T in △[W]

transversal iff |T | = |W|

The cardinality of the biggest (partial)transversal is the maximum number of jobsthat can be done simultaneously in theexample.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 15 / 32

Page 98: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

W := {Wi |i ∈ I , Wi ⊆ J}

T ⊆ J partial transversal : ⇔ ∃ injectivemap ψ : T ։ I s.t. t ∈ Wψ(t) ∀t ∈ T

i.e. matching for T in △[W]

transversal iff |T | = |W|

The cardinality of the biggest (partial)transversal is the maximum number of jobsthat can be done simultaneously in theexample.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 15 / 32

Page 99: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Definition

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Transversal Matroid

(J,I) Transversal Matroid ofW := {Wi |i ∈ I , Wi ⊆ J} iff I is the set ofpartial transversals of W

Proof:

I1 : because ∅ is transversal of thesubfamily ∅ ⊆ W

I2 : I (partial) transversal of W and I ′ ⊆ Ithen I ′ is a partial transversal of W

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 16 / 32

Page 100: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Definition

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Transversal Matroid

(J,I) Transversal Matroid ofW := {Wi |i ∈ I , Wi ⊆ J} iff I is the set ofpartial transversals of W

Proof:

I1 : because ∅ is transversal of thesubfamily ∅ ⊆ W

I2 : I (partial) transversal of W and I ′ ⊆ Ithen I ′ is a partial transversal of W

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 16 / 32

Page 101: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Definition

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Transversal Matroid

(J,I) Transversal Matroid ofW := {Wi |i ∈ I , Wi ⊆ J} iff I is the set ofpartial transversals of W

Proof:

I1 : because ∅ is transversal of thesubfamily ∅ ⊆ W

I2 : I (partial) transversal of W and I ′ ⊆ Ithen I ′ is a partial transversal of W

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 16 / 32

Page 102: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Definition

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Transversal Matroid

(J,I) Transversal Matroid ofW := {Wi |i ∈ I , Wi ⊆ J} iff I is the set ofpartial transversals of W

Proof:

I1 : because ∅ is transversal of thesubfamily ∅ ⊆ W

I2 : I (partial) transversal of W and I ′ ⊆ Ithen I ′ is a partial transversal of W

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 16 / 32

Page 103: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Definition

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Transversal Matroid

(J,I) Transversal Matroid ofW := {Wi |i ∈ I , Wi ⊆ J} iff I is the set ofpartial transversals of W

Proof:

I1 : because ∅ is transversal of thesubfamily ∅ ⊆ W

I2 : I (partial) transversal of W and I ′ ⊆ Ithen I ′ is a partial transversal of W

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 16 / 32

Page 104: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Definition

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Transversal Matroid

(J,I) Transversal Matroid ofW := {Wi |i ∈ I , Wi ⊆ J} iff I is the set ofpartial transversals of W

Proof:

I1 : because ∅ is transversal of thesubfamily ∅ ⊆ W

I2 : I (partial) transversal of W and I ′ ⊆ Ithen I ′ is a partial transversal of W

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 16 / 32

Page 105: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Definition

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Transversal Matroid

(J,I) Transversal Matroid ofW := {Wi |i ∈ I , Wi ⊆ J} iff I is the set ofpartial transversals of W

Proof:

I1 : because ∅ is transversal of thesubfamily ∅ ⊆ W

I2 : I (partial) transversal of W and I ′ ⊆ Ithen I ′ is a partial transversal of W

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 16 / 32

Page 106: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Definition

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Transversal Matroid

(J,I) Transversal Matroid ofW := {Wi |i ∈ I , Wi ⊆ J} iff I is the set ofpartial transversals of W

Proof:

I1 : because ∅ is transversal of thesubfamily ∅ ⊆ W

I2 : I (partial) transversal of W and I ′ ⊆ Ithen I ′ is a partial transversal of W

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 16 / 32

Page 107: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3 (|I1| < |I2| : ∃e ∈ I2 \ I1 I1 ∪ {e} ∈ I):

I1, I2 partial transversals of W with |I1| < |I2|

⇒ ∃ matchings in △[W]:

M1 match I1 into W1 and M2 match I2 into W2

Searching matching for I1 ∪ {e} (e ∈ I2 \ I1)

|I1| = |M1| < |I2| = |M2| ⇒ more blue

M1 \ M2, M2 \ M1 induce subgraph M of △[W]

M consist of two matchings in a bipartite graph⇒ δ(v) ∈ {1, 2} ∀ vertices v in M and no twoedges of same color meet in a vertex

Every connected component of M is even path,odd path or even cycle (no odd cycle or tree)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 17 / 32

Page 108: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3 (|I1| < |I2| : ∃e ∈ I2 \ I1 I1 ∪ {e} ∈ I):

I1, I2 partial transversals of W with |I1| < |I2|

⇒ ∃ matchings in △[W]:

M1 match I1 into W1 and M2 match I2 into W2

Searching matching for I1 ∪ {e} (e ∈ I2 \ I1)

|I1| = |M1| < |I2| = |M2| ⇒ more blue

M1 \ M2, M2 \ M1 induce subgraph M of △[W]

M consist of two matchings in a bipartite graph⇒ δ(v) ∈ {1, 2} ∀ vertices v in M and no twoedges of same color meet in a vertex

Every connected component of M is even path,odd path or even cycle (no odd cycle or tree)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 17 / 32

Page 109: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3 (|I1| < |I2| : ∃e ∈ I2 \ I1 I1 ∪ {e} ∈ I):

I1, I2 partial transversals of W with |I1| < |I2|

⇒ ∃ matchings in △[W]:

M1 match I1 into W1 and M2 match I2 into W2

Searching matching for I1 ∪ {e} (e ∈ I2 \ I1)

|I1| = |M1| < |I2| = |M2| ⇒ more blue

M1 \ M2, M2 \ M1 induce subgraph M of △[W]

M consist of two matchings in a bipartite graph⇒ δ(v) ∈ {1, 2} ∀ vertices v in M and no twoedges of same color meet in a vertex

Every connected component of M is even path,odd path or even cycle (no odd cycle or tree)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 17 / 32

Page 110: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3 (|I1| < |I2| : ∃e ∈ I2 \ I1 I1 ∪ {e} ∈ I):

I1, I2 partial transversals of W with |I1| < |I2|

⇒ ∃ matchings in △[W]:

M1 match I1 into W1 and M2 match I2 into W2

Searching matching for I1 ∪ {e} (e ∈ I2 \ I1)

|I1| = |M1| < |I2| = |M2| ⇒ more blue

M1 \ M2, M2 \ M1 induce subgraph M of △[W]

M consist of two matchings in a bipartite graph⇒ δ(v) ∈ {1, 2} ∀ vertices v in M and no twoedges of same color meet in a vertex

Every connected component of M is even path,odd path or even cycle (no odd cycle or tree)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 17 / 32

Page 111: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3 (|I1| < |I2| : ∃e ∈ I2 \ I1 I1 ∪ {e} ∈ I):

I1, I2 partial transversals of W with |I1| < |I2|

⇒ ∃ matchings in △[W]:

M1 match I1 into W1 and M2 match I2 into W2

Searching matching for I1 ∪ {e} (e ∈ I2 \ I1)

|I1| = |M1| < |I2| = |M2| ⇒ more blue

M1 \ M2, M2 \ M1 induce subgraph M of △[W]

M consist of two matchings in a bipartite graph⇒ δ(v) ∈ {1, 2} ∀ vertices v in M and no twoedges of same color meet in a vertex

Every connected component of M is even path,odd path or even cycle (no odd cycle or tree)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 17 / 32

Page 112: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3 (|I1| < |I2| : ∃e ∈ I2 \ I1 I1 ∪ {e} ∈ I):

I1, I2 partial transversals of W with |I1| < |I2|

⇒ ∃ matchings in △[W]:

M1 match I1 into W1 and M2 match I2 into W2

Searching matching for I1 ∪ {e} (e ∈ I2 \ I1)

|I1| = |M1| < |I2| = |M2| ⇒ more blue

M1 \ M2, M2 \ M1 induce subgraph M of △[W]

M consist of two matchings in a bipartite graph⇒ δ(v) ∈ {1, 2} ∀ vertices v in M and no twoedges of same color meet in a vertex

Every connected component of M is even path,odd path or even cycle (no odd cycle or tree)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 17 / 32

Page 113: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3 (|I1| < |I2| : ∃e ∈ I2 \ I1 I1 ∪ {e} ∈ I):

I1, I2 partial transversals of W with |I1| < |I2|

⇒ ∃ matchings in △[W]:

M1 match I1 into W1 and M2 match I2 into W2

Searching matching for I1 ∪ {e} (e ∈ I2 \ I1)

|I1| = |M1| < |I2| = |M2| ⇒ more blue

M1 \ M2, M2 \ M1 induce subgraph M of △[W]

M consist of two matchings in a bipartite graph⇒ δ(v) ∈ {1, 2} ∀ vertices v in M and no twoedges of same color meet in a vertex

Every connected component of M is even path,odd path or even cycle (no odd cycle or tree)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 17 / 32

Page 114: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3 (|I1| < |I2| : ∃e ∈ I2 \ I1 I1 ∪ {e} ∈ I):

I1, I2 partial transversals of W with |I1| < |I2|

⇒ ∃ matchings in △[W]:

M1 match I1 into W1 and M2 match I2 into W2

Searching matching for I1 ∪ {e} (e ∈ I2 \ I1)

|I1| = |M1| < |I2| = |M2| ⇒ more blue

M1 \ M2, M2 \ M1 induce subgraph M of △[W]

M consist of two matchings in a bipartite graph⇒ δ(v) ∈ {1, 2} ∀ vertices v in M and no twoedges of same color meet in a vertex

Every connected component of M is even path,odd path or even cycle (no odd cycle or tree)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 17 / 32

Page 115: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3 (|I1| < |I2| : ∃e ∈ I2 \ I1 I1 ∪ {e} ∈ I):

I1, I2 partial transversals of W with |I1| < |I2|

⇒ ∃ matchings in △[W]:

M1 match I1 into W1 and M2 match I2 into W2

Searching matching for I1 ∪ {e} (e ∈ I2 \ I1)

|I1| = |M1| < |I2| = |M2| ⇒ more blue

M1 \ M2, M2 \ M1 induce subgraph M of △[W]

M consist of two matchings in a bipartite graph⇒ δ(v) ∈ {1, 2} ∀ vertices v in M and no twoedges of same color meet in a vertex

Every connected component of M is even path,odd path or even cycle (no odd cycle or tree)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 17 / 32

Page 116: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3 (|I1| < |I2| : ∃e ∈ I2 \ I1 I1 ∪ {e} ∈ I):

I1, I2 partial transversals of W with |I1| < |I2|

⇒ ∃ matchings in △[W]:

M1 match I1 into W1 and M2 match I2 into W2

Searching matching for I1 ∪ {e} (e ∈ I2 \ I1)

|I1| = |M1| < |I2| = |M2| ⇒ more blue

M1 \ M2, M2 \ M1 induce subgraph M of △[W]

M consist of two matchings in a bipartite graph⇒ δ(v) ∈ {1, 2} ∀ vertices v in M and no twoedges of same color meet in a vertex

Every connected component of M is even path,odd path or even cycle (no odd cycle or tree)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 17 / 32

Page 117: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3 (|I1| < |I2| : ∃e ∈ I2 \ I1 I1 ∪ {e} ∈ I):

I1, I2 partial transversals of W with |I1| < |I2|

⇒ ∃ matchings in △[W]:

M1 match I1 into W1 and M2 match I2 into W2

Searching matching for I1 ∪ {e} (e ∈ I2 \ I1)

|I1| = |M1| < |I2| = |M2| ⇒ more blue

M1 \ M2, M2 \ M1 induce subgraph M of △[W]

M consist of two matchings in a bipartite graph⇒ δ(v) ∈ {1, 2} ∀ vertices v in M and no twoedges of same color meet in a vertex

Every connected component of M is even path,odd path or even cycle (no odd cycle or tree)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 17 / 32

Page 118: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3 (|I1| < |I2| : ∃e ∈ I2 \ I1 I1 ∪ {e} ∈ I):

I1, I2 partial transversals of W with |I1| < |I2|

⇒ ∃ matchings in △[W]:

M1 match I1 into W1 and M2 match I2 into W2

Searching matching for I1 ∪ {e} (e ∈ I2 \ I1)

|I1| = |M1| < |I2| = |M2| ⇒ more blue

M1 \ M2, M2 \ M1 induce subgraph M of △[W]

M consist of two matchings in a bipartite graph⇒ δ(v) ∈ {1, 2} ∀ vertices v in M and no twoedges of same color meet in a vertex

Every connected component of M is even path,odd path or even cycle (no odd cycle or tree)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 17 / 32

Page 119: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 120: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 121: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 122: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 123: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edgechange example

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 124: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edgechange example

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 125: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edgechange example

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 126: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edgechange example

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 127: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

P := (v1, ..., v2k ) v1 ∈ J or v2k ∈ J

If v1 ∈ J ⇒ vi ∈ J (for i odd)

If v1 6∈ J ⇒ v2 ∈ J ⇒ vi ∈ J (for i even)⇒ v2k ∈ J

v1 or v2k is starting vertex of a blue edge⇒ v1 ∈ I2 \ I1 or v2k ∈ I2 \ I1

w.l.o.g. v1 ∈ J ⇒ v1 ∈ I2 \ I1 ,{vi |i even} ⊆ W2

and {vi |i odd, ≥ 3} ⊆ I1 ∩ I2

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 128: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

P := (v1, ..., v2k ) v1 ∈ J or v2k ∈ J

If v1 ∈ J ⇒ vi ∈ J (for i odd)

If v1 6∈ J ⇒ v2 ∈ J ⇒ vi ∈ J (for i even)⇒ v2k ∈ J

v1 or v2k is starting vertex of a blue edge⇒ v1 ∈ I2 \ I1 or v2k ∈ I2 \ I1

w.l.o.g. v1 ∈ J ⇒ v1 ∈ I2 \ I1 ,{vi |i even} ⊆ W2

and {vi |i odd, ≥ 3} ⊆ I1 ∩ I2

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 129: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

P := (v1, ..., v2k ) v1 ∈ J or v2k ∈ J

If v1 ∈ J ⇒ vi ∈ J (for i odd)

If v1 6∈ J ⇒ v2 ∈ J ⇒ vi ∈ J (for i even)⇒ v2k ∈ J

v1 or v2k is starting vertex of a blue edge⇒ v1 ∈ I2 \ I1 or v2k ∈ I2 \ I1

w.l.o.g. v1 ∈ J ⇒ v1 ∈ I2 \ I1 ,{vi |i even} ⊆ W2

and {vi |i odd, ≥ 3} ⊆ I1 ∩ I2

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 130: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

P := (v1, ..., v2k ) v1 ∈ J or v2k ∈ J

If v1 ∈ J ⇒ vi ∈ J (for i odd)

If v1 6∈ J ⇒ v2 ∈ J ⇒ vi ∈ J (for i even)⇒ v2k ∈ J

v1 or v2k is starting vertex of a blue edge⇒ v1 ∈ I2 \ I1 or v2k ∈ I2 \ I1

w.l.o.g. v1 ∈ J ⇒ v1 ∈ I2 \ I1 ,{vi |i even} ⊆ W2

and {vi |i odd, ≥ 3} ⊆ I1 ∩ I2

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 131: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

P := (v1, ..., v2k ) v1 ∈ J or v2k ∈ J

If v1 ∈ J ⇒ vi ∈ J (for i odd)

If v1 6∈ J ⇒ v2 ∈ J ⇒ vi ∈ J (for i even)⇒ v2k ∈ J

v1 or v2k is starting vertex of a blue edge⇒ v1 ∈ I2 \ I1 or v2k ∈ I2 \ I1

w.l.o.g. v1 ∈ J ⇒ v1 ∈ I2 \ I1 ,{vi |i even} ⊆ W2

and {vi |i odd, ≥ 3} ⊆ I1 ∩ I2

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 132: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

P := (v1, ..., v2k ) v1 ∈ J or v2k ∈ J

If v1 ∈ J ⇒ vi ∈ J (for i odd)

If v1 6∈ J ⇒ v2 ∈ J ⇒ vi ∈ J (for i even)⇒ v2k ∈ J

v1 or v2k is starting vertex of a blue edge⇒ v1 ∈ I2 \ I1 or v2k ∈ I2 \ I1

w.l.o.g. v1 ∈ J ⇒ v1 ∈ I2 \ I1 ,{vi |i even} ⊆ W2

and {vi |i odd, ≥ 3} ⊆ I1 ∩ I2

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 133: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

P := (v1, ..., v2k ) v1 ∈ J or v2k ∈ J

If v1 ∈ J ⇒ vi ∈ J (for i odd)

If v1 6∈ J ⇒ v2 ∈ J ⇒ vi ∈ J (for i even)⇒ v2k ∈ J

v1 or v2k is starting vertex of a blue edge⇒ v1 ∈ I2 \ I1 or v2k ∈ I2 \ I1

w.l.o.g. v1 ∈ J ⇒ v1 ∈ I2 \ I1 ,{vi |i even} ⊆ W2

and {vi |i odd, ≥ 3} ⊆ I1 ∩ I2

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 134: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

P := (v1, ..., v2k ) v1 ∈ J or v2k ∈ J

If v1 ∈ J ⇒ vi ∈ J (for i odd)

If v1 6∈ J ⇒ v2 ∈ J ⇒ vi ∈ J (for i even)⇒ v2k ∈ J

v1 or v2k is starting vertex of a blue edge⇒ v1 ∈ I2 \ I1 or v2k ∈ I2 \ I1

w.l.o.g. v1 ∈ J ⇒ v1 ∈ I2 \ I1 ,{vi |i even} ⊆ W2

and {vi |i odd, ≥ 3} ⊆ I1 ∩ I2

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 135: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

P := (v1, ..., v2k ) v1 ∈ J or v2k ∈ J

If v1 ∈ J ⇒ vi ∈ J (for i odd)

If v1 6∈ J ⇒ v2 ∈ J ⇒ vi ∈ J (for i even)⇒ v2k ∈ J

v1 or v2k is starting vertex of a blue edge⇒ v1 ∈ I2 \ I1 or v2k ∈ I2 \ I1

w.l.o.g. v1 ∈ J ⇒ v1 ∈ I2 \ I1 ,{vi |i even} ⊆ W2

and {vi |i odd, ≥ 3} ⊆ I1 ∩ I2

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 136: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

P := (v1, ..., v2k ) v1 ∈ J or v2k ∈ J

If v1 ∈ J ⇒ vi ∈ J (for i odd)

If v1 6∈ J ⇒ v2 ∈ J ⇒ vi ∈ J (for i even)⇒ v2k ∈ J

v1 or v2k is starting vertex of a blue edge⇒ v1 ∈ I2 \ I1 or v2k ∈ I2 \ I1

w.l.o.g. v1 ∈ J ⇒ v1 ∈ I2 \ I1 ,{vi |i even} ⊆ W2

and {vi |i odd, ≥ 3} ⊆ I1 ∩ I2

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 137: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

P := (v1, ..., v2k ) v1 ∈ J or v2k ∈ J

If v1 ∈ J ⇒ vi ∈ J (for i odd)

If v1 6∈ J ⇒ v2 ∈ J ⇒ vi ∈ J (for i even)⇒ v2k ∈ J

v1 or v2k is starting vertex of a blue edge⇒ v1 ∈ I2 \ I1 or v2k ∈ I2 \ I1

w.l.o.g. v1 ∈ J ⇒ v1 ∈ I2 \ I1 ,{vi |i even} ⊆ W2

and {vi |i odd, ≥ 3} ⊆ I1 ∩ I2

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 138: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

Even path and even cycle: equal number of colors

more blue ⇒ ∃ odd path P with blue first andlast edge

P := (v1, ..., v2k ) v1 ∈ J or v2k ∈ J

If v1 ∈ J ⇒ vi ∈ J (for i odd)

If v1 6∈ J ⇒ v2 ∈ J ⇒ vi ∈ J (for i even)⇒ v2k ∈ J

v1 or v2k is starting vertex of a blue edge⇒ v1 ∈ I2 \ I1 or v2k ∈ I2 \ I1

w.l.o.g. v1 ∈ J ⇒ v1 ∈ I2 \ I1 ,{vi |i even} ⊆ W2

and {vi |i odd, ≥ 3} ⊆ I1 ∩ I2

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 18 / 32

Page 139: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

For {vi |i ≥ 3 and odd} ⊆ I1 ∩ I2 every vertex isstarting vertex of a red and blue edge

Can interchange colors in P (rest in △[W]unchanged)

one red edge more and all starting vertices inI1 ∪ {v1}

matching in △[W] ⇒ I1 ∪ {v1} partialtransversal of W

⇒ I1 ∪ {v1} ∈ I �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 19 / 32

Page 140: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

For {vi |i ≥ 3 and odd} ⊆ I1 ∩ I2 every vertex isstarting vertex of a red and blue edge

Can interchange colors in P (rest in △[W]unchanged)

one red edge more and all starting vertices inI1 ∪ {v1}

matching in △[W] ⇒ I1 ∪ {v1} partialtransversal of W

⇒ I1 ∪ {v1} ∈ I �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 19 / 32

Page 141: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

For {vi |i ≥ 3 and odd} ⊆ I1 ∩ I2 every vertex isstarting vertex of a red and blue edge

Can interchange colors in P (rest in △[W]unchanged)

one red edge more and all starting vertices inI1 ∪ {v1}

matching in △[W] ⇒ I1 ∪ {v1} partialtransversal of W

⇒ I1 ∪ {v1} ∈ I �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 19 / 32

Page 142: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

For {vi |i ≥ 3 and odd} ⊆ I1 ∩ I2 every vertex isstarting vertex of a red and blue edge

Can interchange colors in P (rest in △[W]unchanged)

one red edge more and all starting vertices inI1 ∪ {v1}

matching in △[W] ⇒ I1 ∪ {v1} partialtransversal of W

⇒ I1 ∪ {v1} ∈ I �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 19 / 32

Page 143: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

For {vi |i ≥ 3 and odd} ⊆ I1 ∩ I2 every vertex isstarting vertex of a red and blue edge

Can interchange colors in P (rest in △[W]unchanged)

one red edge more and all starting vertices inI1 ∪ {v1}

matching in △[W] ⇒ I1 ∪ {v1} partialtransversal of W

⇒ I1 ∪ {v1} ∈ I �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 19 / 32

Page 144: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

For {vi |i ≥ 3 and odd} ⊆ I1 ∩ I2 every vertex isstarting vertex of a red and blue edge

Can interchange colors in P (rest in △[W]unchanged)

one red edge more and all starting vertices inI1 ∪ {v1}

matching in △[W] ⇒ I1 ∪ {v1} partialtransversal of W

⇒ I1 ∪ {v1} ∈ I �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 19 / 32

Page 145: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

For {vi |i ≥ 3 and odd} ⊆ I1 ∩ I2 every vertex isstarting vertex of a red and blue edge

Can interchange colors in P (rest in △[W]unchanged)

one red edge more and all starting vertices inI1 ∪ {v1}

matching in △[W] ⇒ I1 ∪ {v1} partialtransversal of W

⇒ I1 ∪ {v1} ∈ I �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 19 / 32

Page 146: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

For {vi |i ≥ 3 and odd} ⊆ I1 ∩ I2 every vertex isstarting vertex of a red and blue edge

Can interchange colors in P (rest in △[W]unchanged)

one red edge more and all starting vertices inI1 ∪ {v1}

matching in △[W] ⇒ I1 ∪ {v1} partialtransversal of W

⇒ I1 ∪ {v1} ∈ I �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 19 / 32

Page 147: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

For {vi |i ≥ 3 and odd} ⊆ I1 ∩ I2 every vertex isstarting vertex of a red and blue edge

Can interchange colors in P (rest in △[W]unchanged)

one red edge more and all starting vertices inI1 ∪ {v1}

matching in △[W] ⇒ I1 ∪ {v1} partialtransversal of W

⇒ I1 ∪ {v1} ∈ I �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 19 / 32

Page 148: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Proof

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Proof I3:

For {vi |i ≥ 3 and odd} ⊆ I1 ∩ I2 every vertex isstarting vertex of a red and blue edge

Can interchange colors in P (rest in △[W]unchanged)

one red edge more and all starting vertices inI1 ∪ {v1}

matching in △[W] ⇒ I1 ∪ {v1} partialtransversal of W

⇒ I1 ∪ {v1} ∈ I �

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 19 / 32

Page 149: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 150: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 151: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 152: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 153: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 154: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 155: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 156: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 157: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 158: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 159: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 160: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 161: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 162: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 163: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 164: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

j3◦ ◦W2

j4◦ ◦W3

j5◦ ◦W4

j6◦

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 165: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

◦W2

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 166: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

◦W2

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 167: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

◦W2

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 168: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

◦W2

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 169: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Transversal Matroids

Greedy Algorithm In Transversal Matroids

Figure 1.19 from (Oxley, 2006, p. 47)

J W

j1◦

j2◦ ◦W1

◦W2

Best-In-Greedy

Sort E = {e1, ..., en} s.t.w(e1) ≥ ... ≥ w(en)

Set F := ∅ ∈ I

For i:=1 to n do:

If F ∪ {ei} ∈ I then set F := F ∪ {ei}

Output: F ∈ I

For the bipartite matching in this graphexists polynomial algorithms to implementthe oracle (Lawler, 1976, p. 206)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 20 / 32

Page 170: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Prerequisites

Intersection Of Independence Systems

Define (E ,I1 ∩ I2) as intersection of (E ,I1) and (E ,I2).

Proposition

Any independendence system is a finite intersection of matroids.

Proof: ∀C ∈ C in (E ,I) define (E ,IC ) := (E , {F ⊆ E |C \ F 6= ∅}).(E ,IC ) is matroid and (E ,I) = ∩

C∈C(E ,IC ) �.

Matroid Intersection Problem

Instance: Two matroids (E ,I1), (E ,I2), given by independence oracles.Task: Find a set X ∈ I1 ∩ I2 s.t. |X | is maximum.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 21 / 32

Page 171: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Prerequisites

Intersection Of Independence Systems

Define (E ,I1 ∩ I2) as intersection of (E ,I1) and (E ,I2).

Proposition

Any independendence system is a finite intersection of matroids.

Proof: ∀C ∈ C in (E ,I) define (E ,IC ) := (E , {F ⊆ E |C \ F 6= ∅}).(E ,IC ) is matroid and (E ,I) = ∩

C∈C(E ,IC ) �.

Matroid Intersection Problem

Instance: Two matroids (E ,I1), (E ,I2), given by independence oracles.Task: Find a set X ∈ I1 ∩ I2 s.t. |X | is maximum.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 21 / 32

Page 172: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Prerequisites

Intersection Of Independence Systems

Define (E ,I1 ∩ I2) as intersection of (E ,I1) and (E ,I2).

Proposition

Any independendence system is a finite intersection of matroids.

Proof: ∀C ∈ C in (E ,I) define (E ,IC ) := (E , {F ⊆ E |C \ F 6= ∅}).(E ,IC ) is matroid and (E ,I) = ∩

C∈C(E ,IC ) �.

Matroid Intersection Problem

Instance: Two matroids (E ,I1), (E ,I2), given by independence oracles.Task: Find a set X ∈ I1 ∩ I2 s.t. |X | is maximum.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 21 / 32

Page 173: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Prerequisites

Intersection Of Independence Systems

Define (E ,I1 ∩ I2) as intersection of (E ,I1) and (E ,I2).

Proposition

Any independendence system is a finite intersection of matroids.

Proof: ∀C ∈ C in (E ,I) define (E ,IC ) := (E , {F ⊆ E |C \ F 6= ∅}).(E ,IC ) is matroid and (E ,I) = ∩

C∈C(E ,IC ) �.

Matroid Intersection Problem

Instance: Two matroids (E ,I1), (E ,I2), given by independence oracles.Task: Find a set X ∈ I1 ∩ I2 s.t. |X | is maximum.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 21 / 32

Page 174: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Prerequisites

Intersection Of Independence Systems

Define (E ,I1 ∩ I2) as intersection of (E ,I1) and (E ,I2).

Proposition

Any independendence system is a finite intersection of matroids.

Proof: ∀C ∈ C in (E ,I) define (E ,IC ) := (E , {F ⊆ E |C \ F 6= ∅}).(E ,IC ) is matroid and (E ,I) = ∩

C∈C(E ,IC ) �.

Matroid Intersection Problem

Instance: Two matroids (E ,I1), (E ,I2), given by independence oracles.Task: Find a set X ∈ I1 ∩ I2 s.t. |X | is maximum.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 21 / 32

Page 175: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Prerequisites

Intersection Of Independence Systems

Define (E ,I1 ∩ I2) as intersection of (E ,I1) and (E ,I2).

Proposition

Any independendence system is a finite intersection of matroids.

Proof: ∀C ∈ C in (E ,I) define (E ,IC ) := (E , {F ⊆ E |C \ F 6= ∅}).(E ,IC ) is matroid and (E ,I) = ∩

C∈C(E ,IC ) �.

Matroid Intersection Problem

Instance: Two matroids (E ,I1), (E ,I2), given by independence oracles.Task: Find a set X ∈ I1 ∩ I2 s.t. |X | is maximum.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 21 / 32

Page 176: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Prerequisites

Intersection Of Independence Systems

Define (E ,I1 ∩ I2) as intersection of (E ,I1) and (E ,I2).

Proposition

Any independendence system is a finite intersection of matroids.

Proof: ∀C ∈ C in (E ,I) define (E ,IC ) := (E , {F ⊆ E |C \ F 6= ∅}).(E ,IC ) is matroid and (E ,I) = ∩

C∈C(E ,IC ) �.

Matroid Intersection Problem

Instance: Two matroids (E ,I1), (E ,I2), given by independence oracles.Task: Find a set X ∈ I1 ∩ I2 s.t. |X | is maximum.

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 21 / 32

Page 177: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Example Intersection Of Two Matriods

Matching Of Bipartite Graphs

Bipartite graph G = (A ∪ B ,E )Independence system (E ,I) with I := {X ⊆ E : X is a matching in G}(E ,I) = (E ,I1 ∩ I2) is intersection of two matroids:

I1 := {F ⊆ E : |δF (x)| ≤ 1 ∀x ∈ A}

I2 := {F ⊆ E : |δF (x)| ≤ 1 ∀x ∈ B}

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 22 / 32

Page 178: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Example Intersection Of Two Matriods

Matching Of Bipartite Graphs

Bipartite graph G = (A ∪ B ,E )Independence system (E ,I) with I := {X ⊆ E : X is a matching in G}(E ,I) = (E ,I1 ∩ I2) is intersection of two matroids:

I1 := {F ⊆ E : |δF (x)| ≤ 1 ∀x ∈ A}

I2 := {F ⊆ E : |δF (x)| ≤ 1 ∀x ∈ B}

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 22 / 32

Page 179: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Example Intersection Of Two Matriods

Matching Of Bipartite Graphs

Bipartite graph G = (A ∪ B ,E )Independence system (E ,I) with I := {X ⊆ E : X is a matching in G}(E ,I) = (E ,I1 ∩ I2) is intersection of two matroids:

I1 := {F ⊆ E : |δF (x)| ≤ 1 ∀x ∈ A}

I2 := {F ⊆ E : |δF (x)| ≤ 1 ∀x ∈ B}

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 22 / 32

Page 180: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Example Intersection Of Two Matriods

Matching Of Bipartite Graphs

Bipartite graph G = (A ∪ B ,E )Independence system (E ,I) with I := {X ⊆ E : X is a matching in G}(E ,I) = (E ,I1 ∩ I2) is intersection of two matroids:

I1 := {F ⊆ E : |δF (x)| ≤ 1 ∀x ∈ A}

I2 := {F ⊆ E : |δF (x)| ≤ 1 ∀x ∈ B}

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 22 / 32

Page 181: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Example Intersection Of Two Matriods

Matching Of Bipartite Graphs

Bipartite graph G = (A ∪ B ,E )Independence system (E ,I) with I := {X ⊆ E : X is a matching in G}(E ,I) = (E ,I1 ∩ I2) is intersection of two matroids:

I1 := {F ⊆ E : |δF (x)| ≤ 1 ∀x ∈ A}

I2 := {F ⊆ E : |δF (x)| ≤ 1 ∀x ∈ B}

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 22 / 32

Page 182: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Example Intersection Of Two Matriods

Matching Of Bipartite Graphs

Bipartite graph G = (A ∪ B ,E )Independence system (E ,I) with I := {X ⊆ E : X is a matching in G}(E ,I) = (E ,I1 ∩ I2) is intersection of two matroids:

I1 := {F ⊆ E : |δF (x)| ≤ 1 ∀x ∈ A}

I2 := {F ⊆ E : |δF (x)| ≤ 1 ∀x ∈ B}

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 22 / 32

Page 183: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Idea Of Intersection Algorithm

Idea to find a X ∈ I1 ∩ I2 (due to Edmonds (1979) cited in (Korte andVygen, 2007, 326)):

Start with X = ∅ and augment by one in each step

When you find no more e ∈ E s.t. X ∪ {e} ∈ I1 ∩ I2 constructspecial bipartite graph G = (E ,X ∪ E \ X )

Search for a certain shortest alerternating path P in G

With X = X△V (P)(= X \ V (P) ∪ V (P) \ X ) augment X by oneand repeat

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 23 / 32

Page 184: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Idea Of Intersection Algorithm

Idea to find a X ∈ I1 ∩ I2 (due to Edmonds (1979) cited in (Korte andVygen, 2007, 326)):

Start with X = ∅ and augment by one in each step

When you find no more e ∈ E s.t. X ∪ {e} ∈ I1 ∩ I2 constructspecial bipartite graph G = (E ,X ∪ E \ X )

Search for a certain shortest alerternating path P in G

With X = X△V (P)(= X \ V (P) ∪ V (P) \ X ) augment X by oneand repeat

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 23 / 32

Page 185: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Idea Of Intersection Algorithm

Idea to find a X ∈ I1 ∩ I2 (due to Edmonds (1979) cited in (Korte andVygen, 2007, 326)):

Start with X = ∅ and augment by one in each step

When you find no more e ∈ E s.t. X ∪ {e} ∈ I1 ∩ I2 constructspecial bipartite graph G = (E ,X ∪ E \ X )

Search for a certain shortest alerternating path P in G

With X = X△V (P)(= X \ V (P) ∪ V (P) \ X ) augment X by oneand repeat

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 23 / 32

Page 186: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Idea Of Intersection Algorithm

Idea to find a X ∈ I1 ∩ I2 (due to Edmonds (1979) cited in (Korte andVygen, 2007, 326)):

Start with X = ∅ and augment by one in each step

When you find no more e ∈ E s.t. X ∪ {e} ∈ I1 ∩ I2 constructspecial bipartite graph G = (E ,X ∪ E \ X )

Search for a certain shortest alerternating path P in G

With X = X△V (P)(= X \ V (P) ∪ V (P) \ X ) augment X by oneand repeat

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 23 / 32

Page 187: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Idea Of Intersection Algorithm

Idea to find a X ∈ I1 ∩ I2 (due to Edmonds (1979) cited in (Korte andVygen, 2007, 326)):

Start with X = ∅ and augment by one in each step

When you find no more e ∈ E s.t. X ∪ {e} ∈ I1 ∩ I2 constructspecial bipartite graph G = (E ,X ∪ E \ X )

Search for a certain shortest alerternating path P in G

With X = X△V (P)(= X \ V (P) ∪ V (P) \ X ) augment X by oneand repeat

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 23 / 32

Page 188: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Construction Of Auxiliary Graph

Fig 13.2.(Korte and Vygen, 2007, p.

324)

For X ∈ I, e ∈ E define C (X , e) ={

C ⊆ X ∪ {e} C ∈ C , if X ∪ {e} 6∈ I∅ , else

Ci (X , e) = {C (X , e)| for Ii} (i ∈ {1, 2})

Initialize X = ∅ ∈ I1 ∩ I2

A(1)X := {(x , y)|y ∈ E \X ,x ∈ C1(X , y)\{y}}

A(2)X := {(y , x)|y ∈ E \X ,x ∈ C2(X , y)\{y}}

GX := (E ,A(1)X ∪ A

(2)X )

SX :={y ∈ E \ X |X ∪ {y} ∈ I1}

TX :={y ∈ E \ X |X ∪ {y} ∈ I2}

P shortest Path from SX to TX .|P | = 0 ⇔ SX ∩ TX 6= ∅

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 24 / 32

Page 189: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Construction Of Auxiliary Graph

Fig 13.2.(Korte and Vygen, 2007, p.

324)

For X ∈ I, e ∈ E define C (X , e) ={

C ⊆ X ∪ {e} C ∈ C , if X ∪ {e} 6∈ I∅ , else

Ci (X , e) = {C (X , e)| for Ii} (i ∈ {1, 2})

Initialize X = ∅ ∈ I1 ∩ I2

A(1)X := {(x , y)|y ∈ E \X ,x ∈ C1(X , y)\{y}}

A(2)X := {(y , x)|y ∈ E \X ,x ∈ C2(X , y)\{y}}

GX := (E ,A(1)X ∪ A

(2)X )

SX :={y ∈ E \ X |X ∪ {y} ∈ I1}

TX :={y ∈ E \ X |X ∪ {y} ∈ I2}

P shortest Path from SX to TX .|P | = 0 ⇔ SX ∩ TX 6= ∅

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 24 / 32

Page 190: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Construction Of Auxiliary Graph

Fig 13.2.(Korte and Vygen, 2007, p.

324)

For X ∈ I, e ∈ E define C (X , e) ={

C ⊆ X ∪ {e} C ∈ C , if X ∪ {e} 6∈ I∅ , else

Ci (X , e) = {C (X , e)| for Ii} (i ∈ {1, 2})

Initialize X = ∅ ∈ I1 ∩ I2

A(1)X := {(x , y)|y ∈ E \X ,x ∈ C1(X , y)\{y}}

A(2)X := {(y , x)|y ∈ E \X ,x ∈ C2(X , y)\{y}}

GX := (E ,A(1)X ∪ A

(2)X )

SX :={y ∈ E \ X |X ∪ {y} ∈ I1}

TX :={y ∈ E \ X |X ∪ {y} ∈ I2}

P shortest Path from SX to TX .|P | = 0 ⇔ SX ∩ TX 6= ∅

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 24 / 32

Page 191: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Construction Of Auxiliary Graph

Fig 13.2.(Korte and Vygen, 2007, p.

324)

For X ∈ I, e ∈ E define C (X , e) ={

C ⊆ X ∪ {e} C ∈ C , if X ∪ {e} 6∈ I∅ , else

Ci (X , e) = {C (X , e)| for Ii} (i ∈ {1, 2})

Initialize X = ∅ ∈ I1 ∩ I2

A(1)X := {(x , y)|y ∈ E \X ,x ∈ C1(X , y)\{y}}

A(2)X := {(y , x)|y ∈ E \X ,x ∈ C2(X , y)\{y}}

GX := (E ,A(1)X ∪ A

(2)X )

SX :={y ∈ E \ X |X ∪ {y} ∈ I1}

TX :={y ∈ E \ X |X ∪ {y} ∈ I2}

P shortest Path from SX to TX .|P | = 0 ⇔ SX ∩ TX 6= ∅

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 24 / 32

Page 192: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Construction Of Auxiliary Graph

Fig 13.2.(Korte and Vygen, 2007, p.

324)

For X ∈ I, e ∈ E define C (X , e) ={

C ⊆ X ∪ {e} C ∈ C , if X ∪ {e} 6∈ I∅ , else

Ci (X , e) = {C (X , e)| for Ii} (i ∈ {1, 2})

Initialize X = ∅ ∈ I1 ∩ I2

A(1)X := {(x , y)|y ∈ E \X ,x ∈ C1(X , y)\{y}}

A(2)X := {(y , x)|y ∈ E \X ,x ∈ C2(X , y)\{y}}

GX := (E ,A(1)X ∪ A

(2)X )

SX :={y ∈ E \ X |X ∪ {y} ∈ I1}

TX :={y ∈ E \ X |X ∪ {y} ∈ I2}

P shortest Path from SX to TX .|P | = 0 ⇔ SX ∩ TX 6= ∅

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 24 / 32

Page 193: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Construction Of Auxiliary Graph

Fig 13.2.(Korte and Vygen, 2007, p.

324)

For X ∈ I, e ∈ E define C (X , e) ={

C ⊆ X ∪ {e} C ∈ C , if X ∪ {e} 6∈ I∅ , else

Ci (X , e) = {C (X , e)| for Ii} (i ∈ {1, 2})

Initialize X = ∅ ∈ I1 ∩ I2

A(1)X := {(x , y)|y ∈ E \X ,x ∈ C1(X , y)\{y}}

A(2)X := {(y , x)|y ∈ E \X ,x ∈ C2(X , y)\{y}}

GX := (E ,A(1)X ∪ A

(2)X )

SX :={y ∈ E \ X |X ∪ {y} ∈ I1}

TX :={y ∈ E \ X |X ∪ {y} ∈ I2}

P shortest Path from SX to TX .|P | = 0 ⇔ SX ∩ TX 6= ∅

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 24 / 32

Page 194: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Construction Of Auxiliary Graph

Fig 13.2.(Korte and Vygen, 2007, p.

324)

For X ∈ I, e ∈ E define C (X , e) ={

C ⊆ X ∪ {e} C ∈ C , if X ∪ {e} 6∈ I∅ , else

Ci (X , e) = {C (X , e)| for Ii} (i ∈ {1, 2})

Initialize X = ∅ ∈ I1 ∩ I2

A(1)X := {(x , y)|y ∈ E \X ,x ∈ C1(X , y)\{y}}

A(2)X := {(y , x)|y ∈ E \X ,x ∈ C2(X , y)\{y}}

GX := (E ,A(1)X ∪ A

(2)X )

SX :={y ∈ E \ X |X ∪ {y} ∈ I1}

TX :={y ∈ E \ X |X ∪ {y} ∈ I2}

P shortest Path from SX to TX .|P | = 0 ⇔ SX ∩ TX 6= ∅

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 24 / 32

Page 195: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Construction Of Auxiliary Graph

Fig 13.2.(Korte and Vygen, 2007, p.

324)

For X ∈ I, e ∈ E define C (X , e) ={

C ⊆ X ∪ {e} C ∈ C , if X ∪ {e} 6∈ I∅ , else

Ci (X , e) = {C (X , e)| for Ii} (i ∈ {1, 2})

Initialize X = ∅ ∈ I1 ∩ I2

A(1)X := {(x , y)|y ∈ E \X ,x ∈ C1(X , y)\{y}}

A(2)X := {(y , x)|y ∈ E \X ,x ∈ C2(X , y)\{y}}

GX := (E ,A(1)X ∪ A

(2)X )

SX :={y ∈ E \ X |X ∪ {y} ∈ I1}

TX :={y ∈ E \ X |X ∪ {y} ∈ I2}

P shortest Path from SX to TX .|P | = 0 ⇔ SX ∩ TX 6= ∅

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 24 / 32

Page 196: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Construction Of Auxiliary Graph

Fig 13.2.(Korte and Vygen, 2007, p.

324)

For X ∈ I, e ∈ E define C (X , e) ={

C ⊆ X ∪ {e} C ∈ C , if X ∪ {e} 6∈ I∅ , else

Ci (X , e) = {C (X , e)| for Ii} (i ∈ {1, 2})

Initialize X = ∅ ∈ I1 ∩ I2

A(1)X := {(x , y)|y ∈ E \X ,x ∈ C1(X , y)\{y}}

A(2)X := {(y , x)|y ∈ E \X ,x ∈ C2(X , y)\{y}}

GX := (E ,A(1)X ∪ A

(2)X )

SX :={y ∈ E \ X |X ∪ {y} ∈ I1}

TX :={y ∈ E \ X |X ∪ {y} ∈ I2}

P shortest Path from SX to TX .|P | = 0 ⇔ SX ∩ TX 6= ∅

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 24 / 32

Page 197: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Edmonds’ Intersection Algorithm

Fig 13.2.(Korte and Vygen, 2007, p.

324)

Algorithm

Set X := ∅

∀y ∈ E \ X compute Ci (X , y)

Compute SX ,TX , and GX

Find shortest SXTX -path P inGX

If no P exists stop, else setX = X△V (P) and repeat

More details in (Papadimitriou andSteiglitz, 1982, p. 297)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 25 / 32

Page 198: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Edmonds’ Intersection Algorithm

Fig 13.2.(Korte and Vygen, 2007, p.

324)

Algorithm

Set X := ∅

∀y ∈ E \ X compute Ci (X , y)

Compute SX ,TX , and GX

Find shortest SXTX -path P inGX

If no P exists stop, else setX = X△V (P) and repeat

More details in (Papadimitriou andSteiglitz, 1982, p. 297)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 25 / 32

Page 199: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Edmonds’ Intersection Algorithm

Fig 13.2.(Korte and Vygen, 2007, p.

324)

Algorithm

Set X := ∅

∀y ∈ E \ X compute Ci (X , y)

Compute SX ,TX , and GX

Find shortest SXTX -path P inGX

If no P exists stop, else setX = X△V (P) and repeat

More details in (Papadimitriou andSteiglitz, 1982, p. 297)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 25 / 32

Page 200: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Edmonds’ Intersection Algorithm

Fig 13.2.(Korte and Vygen, 2007, p.

324)

Algorithm

Set X := ∅

∀y ∈ E \ X compute Ci (X , y)

Compute SX ,TX , and GX

Find shortest SXTX -path P inGX

If no P exists stop, else setX = X△V (P) and repeat

More details in (Papadimitriou andSteiglitz, 1982, p. 297)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 25 / 32

Page 201: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Edmonds’ Intersection Algorithm

Fig 13.2.(Korte and Vygen, 2007, p.

324)

Algorithm

Set X := ∅

∀y ∈ E \ X compute Ci (X , y)

Compute SX ,TX , and GX

Find shortest SXTX -path P inGX

If no P exists stop, else setX = X△V (P) and repeat

More details in (Papadimitriou andSteiglitz, 1982, p. 297)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 25 / 32

Page 202: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Counterexample Travelling Salesman Problem

The travelling salesman problem can be formulated as intersection of threematroids. Let G be a directed graph and E = E (G )

1 F is independent if no two edges in F are directed to the same vertex:I1 := {F ⊆ E : |δ+F (x)| ≤ 1 ∀x ∈ V (G )}

2 F is independent if no two edges in F are directed from the samevertex: I1 := {F ⊆ E : |δ−F (x)| ≤ 1 ∀x ∈ V (G )}

3 F is independent if the elements in F (with direction ignored) form anindependent set in T , the matroid of 1-trees.

Proof of 1. and 2. in (Korte and Vygen, 2007, p. 307) and generalproperties in (Lee, 2004, p. 89) and Held and Karp (1969).

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 26 / 32

Page 203: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Counterexample Travelling Salesman Problem

The travelling salesman problem can be formulated as intersection of threematroids. Let G be a directed graph and E = E (G )

1 F is independent if no two edges in F are directed to the same vertex:I1 := {F ⊆ E : |δ+F (x)| ≤ 1 ∀x ∈ V (G )}

2 F is independent if no two edges in F are directed from the samevertex: I1 := {F ⊆ E : |δ−F (x)| ≤ 1 ∀x ∈ V (G )}

3 F is independent if the elements in F (with direction ignored) form anindependent set in T , the matroid of 1-trees.

Proof of 1. and 2. in (Korte and Vygen, 2007, p. 307) and generalproperties in (Lee, 2004, p. 89) and Held and Karp (1969).

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 26 / 32

Page 204: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Counterexample Travelling Salesman Problem

The travelling salesman problem can be formulated as intersection of threematroids. Let G be a directed graph and E = E (G )

1 F is independent if no two edges in F are directed to the same vertex:I1 := {F ⊆ E : |δ+F (x)| ≤ 1 ∀x ∈ V (G )}

2 F is independent if no two edges in F are directed from the samevertex: I1 := {F ⊆ E : |δ−F (x)| ≤ 1 ∀x ∈ V (G )}

3 F is independent if the elements in F (with direction ignored) form anindependent set in T , the matroid of 1-trees.

Proof of 1. and 2. in (Korte and Vygen, 2007, p. 307) and generalproperties in (Lee, 2004, p. 89) and Held and Karp (1969).

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 26 / 32

Page 205: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Counterexample Travelling Salesman Problem

The travelling salesman problem can be formulated as intersection of threematroids. Let G be a directed graph and E = E (G )

1 F is independent if no two edges in F are directed to the same vertex:I1 := {F ⊆ E : |δ+F (x)| ≤ 1 ∀x ∈ V (G )}

2 F is independent if no two edges in F are directed from the samevertex: I1 := {F ⊆ E : |δ−F (x)| ≤ 1 ∀x ∈ V (G )}

3 F is independent if the elements in F (with direction ignored) form anindependent set in T , the matroid of 1-trees.

Proof of 1. and 2. in (Korte and Vygen, 2007, p. 307) and generalproperties in (Lee, 2004, p. 89) and Held and Karp (1969).

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 26 / 32

Page 206: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Counterexample Travelling Salesman Problem

The travelling salesman problem can be formulated as intersection of threematroids. Let G be a directed graph and E = E (G )

1 F is independent if no two edges in F are directed to the same vertex:I1 := {F ⊆ E : |δ+F (x)| ≤ 1 ∀x ∈ V (G )}

2 F is independent if no two edges in F are directed from the samevertex: I1 := {F ⊆ E : |δ−F (x)| ≤ 1 ∀x ∈ V (G )}

3 F is independent if the elements in F (with direction ignored) form anindependent set in T , the matroid of 1-trees.

Proof of 1. and 2. in (Korte and Vygen, 2007, p. 307) and generalproperties in (Lee, 2004, p. 89) and Held and Karp (1969).

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 26 / 32

Page 207: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Counterexample Travelling Salesman Problem

The travelling salesman problem can be formulated as intersection of threematroids. Let G be a directed graph and E = E (G )

1 F is independent if no two edges in F are directed to the same vertex:I1 := {F ⊆ E : |δ+F (x)| ≤ 1 ∀x ∈ V (G )}

2 F is independent if no two edges in F are directed from the samevertex: I1 := {F ⊆ E : |δ−F (x)| ≤ 1 ∀x ∈ V (G )}

3 F is independent if the elements in F (with direction ignored) form anindependent set in T , the matroid of 1-trees.

Proof of 1. and 2. in (Korte and Vygen, 2007, p. 307) and generalproperties in (Lee, 2004, p. 89) and Held and Karp (1969).

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 26 / 32

Page 208: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Complexity

Complexity of Edmonds’ algorithm is polynomiel on the oracle:O(|E |c · O), where O is the maximum complexity of the two oracles.

Intersection of three matroids like the TSP is an NP-hard problem

There exists a polynomial algorithm for a matching problem which isin general intersection of at least four matroids Firla and Spille (2002)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 27 / 32

Page 209: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Complexity

Complexity of Edmonds’ algorithm is polynomiel on the oracle:O(|E |c · O), where O is the maximum complexity of the two oracles.

Intersection of three matroids like the TSP is an NP-hard problem

There exists a polynomial algorithm for a matching problem which isin general intersection of at least four matroids Firla and Spille (2002)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 27 / 32

Page 210: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Complexity

Complexity of Edmonds’ algorithm is polynomiel on the oracle:O(|E |c · O), where O is the maximum complexity of the two oracles.

Intersection of three matroids like the TSP is an NP-hard problem

There exists a polynomial algorithm for a matching problem which isin general intersection of at least four matroids Firla and Spille (2002)

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 27 / 32

Page 211: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Outlook

Outlook

There exists a weighted matroid intersection algorithm with polynomialcomplexity on the oracles.(More see (Korte and Vygen, 2007, p. 329))

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 28 / 32

Page 212: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Outlook

Literature I

[Edmonds 1979] Edmonds, Jack: Matroid Intersection. In: Anal ofDiscrete Mathematics 4 (1979), S. 39–49

[Firla and Spille 2002] Firla, Robert T. ; Spille, Bianca: MatchingAs The Intersection Of Matroids / Math. Methods Oper. Res. URLhttp://www.math.uni-magdeburg.de/~firla/matching.ps, 2002.– Forschungsbericht

[Held and Karp 1969] Held, Michael ; Karp, Richard M.: Thetraveling-salesman problem and minimum spanning trees. URLwww.cse.wustl.edu/~chen/7102/Karp-TSP.pdf, 1969. –Forschungsbericht

[Korte and Vygen 2007] Korte, Bernhard ; Vygen, Jens:Combinatorial Optimization: Theory and Algorithms. 21. SpringerBerlin Heidelberg, 12 2007. – ISBN 9783642090929

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 29 / 32

Page 213: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Outlook

Literature II

[Lawler 1976] Lawler, Eugene: Combinatorial Optimization: Networksand Matroids. Dover Publications, 1976. – 384 S

[Lee 2004] Lee, Jon: A First Course in Combinatorial Optimization.Cambridge University Press, 2004. – ISBN 0521010128

[Oxley 2006] Oxley, James G.: Matroid Theory (Oxford GraduateTexts in Mathematics). Oxford University Press, USA, 8 2006. – ISBN9780199202508

[Papadimitriou and Steiglitz 1982] Papadimitriou, Christos H. ;Steiglitz, Kenneth: Combinatorial Optimization: Algorithms andComplexity. Prentice Hall, Inc, 1982. – ISBN 0131524623

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 30 / 32

Page 214: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Correctnes of the Algorithm

Idea Of The Proof I

Lemma 1

(E ,I) matroid, X ∈ I, x1, ..., xs ∈ X and y1, ..., ys 6∈ X with

1 xk ∈ C (X , yk) for k = 1, ..., s

2 xj 6∈ C (X , yk) for j with 1 ≤ j < k ≤ s.

Then (X \ {x1, ..., xs}) ∪ {y1, ..., ys} ∈ I

Lemma 2

X ∈ I1 ∩ I2 and y0, x1, y1, ..., xs , ys vertices of a shortest y0ys-path P inGX , with y0 ∈ SX and ys ∈ TX

Then X ′ := (X ∪ {y0, ..., ys}) \ {x1, ..., xs} ∈ I1 ∩ I2

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 31 / 32

Page 215: Greedy Algorithm And Edmonds Matroid Intersection Algorithm

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Correctnes of the Algorithm

Idea Of The Proof II

Lemma 3

Let (E ,I1) and (E ,I2) be two matroids with rank functions r1 an r2.Then for any F ∈ I1 ∩ I2 and any Y ⊆ E we have:|F | ≤ r1(Q) + r2(E \ Q).

Lemma

X ∈ I1 ∩ I2 is maximum iff there is no SXTX -path in GX .

Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 32 / 32