greedy algorithm and edmonds matroid intersection algorithm
TRANSCRIPT
Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References
Greedy AlgorithmAnd
Edmonds Matroid Intersection Algorithm
Paul [email protected]
Institut fur MathematikHumboldt-Universitat zu Berlin
July 17, 2010
Paul Wilhelm (Math – HU Berlin) Greedy Algorithm July 17, 2010 1 / 32
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