Greedy Algorithm And Edmonds Matroid Intersection Algorithmwilhelm/greedy-vortrag.pdf · Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References Content

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