If you can't read please download the document
Upload
buihuong
View
226
Download
1
Embed Size (px)
Citation preview
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 ) =
eX
w(e) is maximum
Minimization Problem
Find a basis B s.t. the weight w(X ) =
eX
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 ) =
eX
w(e) is maximum
Minimization Problem
Find a basis B s.t. the weight w(X ) =
eX
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 ) =
eX
w(e) is maximum
Minimization Problem
Find a basis B s.t. the weight w(X ) =
eX
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 dont 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 dont 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 dont 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 dont 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 dont 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 cant 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 cant choose0 , if e E \ {X Y } dont 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 cant choose0 , if e E \ {X Y } dont 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 cant choose0 , if e E \ {X Y } dont 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 cant choose0 , if e E \ {X Y } dont 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)
giG
w(gi ) >
fiF
w(fi )
k : w(gk) > w(fk) (because |G | |F |)take X := {f1, ..., fk1} (= if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) gt Y \ X with t k s.t.{f1, ..., fk1, 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)
giG
w(gi ) >
fiF
w(fi )
k : w(gk) > w(fk) (because |G | |F |)take X := {f1, ..., fk1} (= if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) gt Y \ X with t k s.t.{f1, ..., fk1, 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)
giG
w(gi ) >
fiF
w(fi )
k : w(gk) > w(fk) (because |G | |F |)take X := {f1, ..., fk1} (= if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) gt Y \ X with t k s.t.{f1, ..., fk1, 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)
giG
w(gi ) >
fiF
w(fi )
k : w(gk) > w(fk) (because |G | |F |)take X := {f1, ..., fk1} (= if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) gt Y \ X with t k s.t.{f1, ..., fk1, 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)
giG
w(gi ) >
fiF
w(fi )
k : w(gk) > w(fk) (because |G | |F |)take X := {f1, ..., fk1} (= if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) gt Y \ X with t k s.t.{f1, ..., fk1, 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)
giG
w(gi ) >
fiF
w(fi )
k : w(gk) > w(fk) (because |G | |F |)take X := {f1, ..., fk1} (= if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) gt Y \ X with t k s.t.{f1, ..., fk1, 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)
giG
w(gi ) >
fiF
w(fi )
k : w(gk) > w(fk) (because |G | |F |)take X := {f1, ..., fk1} (= if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) gt Y \ X with t k s.t.{f1, ..., fk1, 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)
giG
w(gi ) >
fiF
w(fi )
k : w(gk) > w(fk) (because |G | |F |)take X := {f1, ..., fk1} (= if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) gt Y \ X with t k s.t.{f1, ..., fk1, 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)
giG
w(gi ) >
fiF
w(fi )
k : w(gk) > w(fk) (because |G | |F |)take X := {f1, ..., fk1} (= if k = 1) and Y := {g1, ..., gk}|X | < |Y | (augmentation property) gt Y \ X with t k s.t.{f1, ..., fk1, 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} W2and {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} W2and {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} W2and {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} W2and {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} W2and {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} W2and {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} W2and {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} W2and {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} W2and {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} W2and {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} W2and {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} W2and {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 Inte