greedy algorithm and edmonds matroid intersection algorithm

Post on 03-Feb-2022

12 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Greedy AlgorithmAnd

Edmonds Matroid Intersection Algorithm

Paul Wilhelmwilhelm@math.hu-berlin.de

Institut fur MathematikHumboldt-Universitat zu Berlin

July 17, 2010

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

top related