• Keine Ergebnisse gefunden

July17,2010 wilhelm@math.hu-berlin.de PaulWilhelm GreedyAlgorithmAndEdmondsMatroidIntersectionAlgorithm

N/A
N/A
Protected

Academic year: 2022

Aktie "July17,2010 wilhelm@math.hu-berlin.de PaulWilhelm GreedyAlgorithmAndEdmondsMatroidIntersectionAlgorithm"

Copied!
215
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Greedy Algorithm And

Edmonds Matroid Intersection Algorithm

Paul Wilhelm wilhelm@math.hu-berlin.de

Institut f¨ ur Mathematik Humboldt-Universit¨ at zu Berlin

July 17, 2010

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

(2)

Content I

1 Greedy Algorithm Prerequisites Algorithm

Feasibility In Matroids

Proof ’Greedy ⇒ Matroid’

Proof ’Matroid ⇒ Greedy’

2 Transversal Matroids Job Scheduling

Job Scheduling Problem Mathematical Describtion

Transversal Matroids

Definition Transversal Matroids Proof

Greedy Algorithm In Transversal Matroids

(3)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Content II

Prerequisites

Example Intersection Of Two Matriods

Algorithm

Counterexample Intersection Of Three Matriods Complexity Of Edmonds’ Algorithm

Outlook

Correctnes of the Algorithm

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

(4)

Remind

Independence System / Matroid (E , I)

∅ ⊆ I (nonempty)

Y ⊆ I , XYX ⊆ I (hereditary)

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

(5)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Remind

Independence System / Matroid (E , I)

∅ ⊆ I (nonempty)

Y ⊆ I , XYX ⊆ 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

(6)

Remind

Independence System / Matroid (E , I)

∅ ⊆ I (nonempty)

Y ⊆ I , XYX ⊆ I (hereditary)

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

(7)

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 ) = P

e∈X

w (e) is maximum

Minimization Problem

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

e∈X

w (e ) is minimum

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

(8)

Min/Max - Problem

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

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

e∈X

w (e) is maximum

Minimization Problem

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

e∈X

w (e ) is minimum

(9)

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 ) = P

e∈X

w (e) is maximum

Minimization Problem

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

e∈X

w (e ) is minimum

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

(10)

Examples

Many combinatorial optimization problems can be formulated as min/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

(11)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated as min/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

(12)

Examples

Many combinatorial optimization problems can be formulated as min/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

(13)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated as min/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

(14)

Examples

Many combinatorial optimization problems can be formulated as min/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

(15)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated as min/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

(16)

Examples

Many combinatorial optimization problems can be formulated as min/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

(17)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated as min/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

(18)

Examples

Many combinatorial optimization problems can be formulated as min/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

(19)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Prerequisites

Examples

Many combinatorial optimization problems can be formulated as min/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

(20)

Examples

Many combinatorial optimization problems can be formulated as min/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

(21)

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 FE is in I or not.

∀F ⊆ E O (F ) :=

1 ,if F ∈ I 0 ,else

Basis-Superset Oracle

An oracle which decides whether BE is an basis for I or not.

∀B ⊆ E O (B ) :=

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

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

(22)

Oracle

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

Independence Oracle

An oracle which decides whether FE is in I or not.

∀F ⊆ E O (F ) :=

1 ,if F ∈ I 0 ,else

Basis-Superset Oracle

An oracle which decides whether BE is an basis for I or not.

∀B ⊆ E O (B ) :=

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

0 ,else

(23)

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 FE is in I or not.

∀F ⊆ E O (F ) :=

1 ,if F ∈ I 0 ,else

Basis-Superset Oracle

An oracle which decides whether BE is an basis for I or not.

∀B ⊆ E O (B ) :=

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

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

(24)

Oracle

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

Independence Oracle

An oracle which decides whether FE is in I or not.

∀F ⊆ E O (F ) :=

1 ,if F ∈ I 0 ,else

Basis-Superset Oracle

An oracle which decides whether BE is an basis for I or not.

∀B ⊆ E O (B ) :=

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

0 ,else

(25)

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 FE is in I or not.

∀F ⊆ E O (F ) :=

1 ,if F ∈ I 0 ,else

Basis-Superset Oracle

An oracle which decides whether BE is an basis for I or not.

∀B ⊆ E O (B ) :=

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

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

(26)

Oracle

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

Independence Oracle

An oracle which decides whether FE is in I or not.

∀F ⊆ E O (F ) :=

1 ,if F ∈ I 0 ,else

Basis-Superset Oracle

An oracle which decides whether BE is an basis for I or not.

∀B ⊆ E O (B ) :=

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

0 ,else

(27)

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 FE is in I or not.

∀F ⊆ E O (F ) :=

1 ,if F ∈ I 0 ,else

Basis-Superset Oracle

An oracle which decides whether BE is an basis for I or not.

∀B ⊆ E O (B ) :=

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

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

(28)

Algorithm

Best-In-Greedy

Sort E = {e 1 , ..., e n } s.t. w (e 1 ) ≥ ... ≥ w (e n ) Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {e

i

}∈ I then set F := F ∪ {e

i

} Output: F ∈ I

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

Have to ask oracle in each step! Complexity of algorithm depends

mainly on complexity of oracle (O( O )).

(29)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Algorithm

Best-In-Greedy

Sort E = {e 1 , ..., e n } s.t. w (e 1 ) ≥ ... ≥ w (e n ) Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {e

i

}∈ I then set F := F ∪ {e

i

} Output: F ∈ I

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

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

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

(30)

Algorithm

Best-In-Greedy

Sort E = {e 1 , ..., e n } s.t. w (e 1 ) ≥ ... ≥ w (e n ) Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {e

i

}∈ I then set F := F ∪ {e

i

} Output: F ∈ I

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

Have to ask oracle in each step! Complexity of algorithm depends

mainly on complexity of oracle (O( O )).

(31)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Algorithm

Best-In-Greedy

Sort E = {e 1 , ..., e n } s.t. w (e 1 ) ≥ ... ≥ w (e n ) Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {e

i

}∈ I then set F := F ∪ {e

i

} Output: F ∈ I

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

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

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

(32)

Algorithm

Best-In-Greedy

Sort E = {e 1 , ..., e n } s.t. w (e 1 ) ≥ ... ≥ w (e n ) Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {e

i

}∈ I then set F := F ∪ {e

i

} Output: F ∈ I

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

Have to ask oracle in each step! Complexity of algorithm depends

mainly on complexity of oracle (O( O )).

(33)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Algorithm

Best-In-Greedy

Sort E = {e 1 , ..., e n } s.t. w (e 1 ) ≥ ... ≥ w (e n ) Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {e

i

}∈ I then set F := F ∪ {e

i

} Output: F ∈ I

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

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

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

(34)

Algorithm

Best-In-Greedy

Sort E = {e 1 , ..., e n } s.t. w (e 1 ) ≥ ... ≥ w (e n ) Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {e

i

}∈ I then set F := F ∪ {e

i

} Output: F ∈ I

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

Have to ask oracle in each step! Complexity of algorithm depends

mainly on complexity of oracle (O( O )).

(35)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Algorithm

Algorithm

Best-In-Greedy

Sort E = {e 1 , ..., e n } s.t. w (e 1 ) ≥ ... ≥ w (e n ) Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {e

i

}∈ I then set F := F ∪ {e

i

} Output: F ∈ I

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

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

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

(36)

Algorithm

Best-In-Greedy

Sort E = {e 1 , ..., e n } s.t. w (e 1 ) ≥ ... ≥ w (e n ) Set F := ∅∈ I

For i:=1 to n do:

If F ∪ {e

i

}∈ I then set F := F ∪ {e

i

} Output: F ∈ I

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

Have to ask oracle in each step! Complexity of algorithm depends

mainly on complexity of oracle (O( O )).

(37)

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 finds for all weight functions an optimum solution for the maximization problem.

If not a matroid:

find only locally optimum

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

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

(38)

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 finds for all weight functions an optimum solution for the maximization problem.

If not a matroid:

find only locally optimum

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

no superset)

(39)

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 finds for all weight functions an optimum solution for the maximization problem.

If not a matroid:

find only locally optimum

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

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

(40)

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 finds for all weight functions an optimum solution for the maximization problem.

If not a matroid:

find only locally optimum

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

no superset)

(41)

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 finds for all weight functions an optimum solution for the maximization problem.

If not a matroid:

find only locally optimum

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

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

(42)

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 eX 1 , if eY \ X 0 , if eE \ {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.

(43)

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 eX 1 , if eY \ X 0 , if eE \ {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

(44)

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 eX 1 , if eY \ X 0 , if eE \ {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.

(45)

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 eX choose first |X | steps 1 , if eY \ X

0 , if eE \ {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

(46)

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 eX choose first |X | steps

1 , if eY \ X can’t choose

0 , if eE \ {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.

(47)

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 eX choose first |X | steps

1 , if eY \ X can’t choose

0 , if eE \ {X ∪ Y } don’t change the weight

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

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

to w (F ) maximum for all weight functions.

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

(48)

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 eX choose first |X | steps

1 , if eY \ X can’t choose

0 , if eE \ {X ∪ Y } don’t change the weight

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

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

to w (F ) maximum for all weight functions.

(49)

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 eX choose first |X | steps

1 , if eY \ X can’t choose

0 , if eE \ {X ∪ Y } don’t change the weight

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

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

to w (F ) maximum for all weight functions.

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

(50)

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 eX choose first |X | steps

1 , if eY \ X can’t choose

0 , if eE \ {X ∪ Y } don’t change the weight

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

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

to w (F ) maximum for all weight functions.

(51)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f 1 , ..., f r } the output of the greedy algorithm w.l.o.g. w (f 1 ) ≥ ... ≥ w (f r ) (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

(52)

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f 1 , ..., f r } the output of the greedy algorithm w.l.o.g. w (f 1 ) ≥ ... ≥ w (f r ) (if not change numbering) first prove that F has maximum cardinality

then prove by contradiction that w (F ) is maximum

(53)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f 1 , ..., f r } the output of the greedy algorithm w.l.o.g. w (f 1 ) ≥ ... ≥ w (f r ) (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

(54)

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f 1 , ..., f r } the output of the greedy algorithm w.l.o.g. w (f 1 ) ≥ ... ≥ w (f r ) (if not change numbering) first prove that F has maximum cardinality

then prove by contradiction that w (F ) is maximum

(55)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f 1 , ..., f r } the output of the greedy algorithm w.l.o.g. w (f 1 ) ≥ ... ≥ w (f r ) (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

(56)

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f 1 , ..., f r } the output of the greedy algorithm w.l.o.g. w (f 1 ) ≥ ... ≥ w (f r ) (if not change numbering) first prove that F has maximum cardinality

then prove by contradiction that w (F ) is maximum

(57)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f 1 , ..., f r } the output of the greedy algorithm w.l.o.g. w (f 1 ) ≥ ... ≥ w (f r ) (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. {f 1 , ..., f t , g , f t+1 , ..., f s } = F ∪ {g } ∈ I with w (f t ) ≥ w (g ) ≥ w (f t+1 )

⇒ {f 1 , ..., f t } ⊆ {f 1 , ..., f t , g } ∈ I

g should been choosen in step t + 1 of greedy algorithm

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

(58)

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f 1 , ..., f r } the output of the greedy algorithm w.l.o.g. w (f 1 ) ≥ ... ≥ w (f r ) (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. {f 1 , ..., f t , g , f t+1 , ..., f s } = F ∪ {g } ∈ I with w (f t ) ≥ w (g ) ≥ w (f t+1 )

⇒ {f 1 , ..., f t } ⊆ {f 1 , ..., f t , g } ∈ I

g should been choosen in step t + 1 of greedy algorithm

(59)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f 1 , ..., f r } the output of the greedy algorithm w.l.o.g. w (f 1 ) ≥ ... ≥ w (f r ) (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. {f 1 , ..., f t , g , f t+1 , ..., f s } = F ∪ {g } ∈ I with w (f t ) ≥ w (g ) ≥ w (f t+1 )

⇒ {f 1 , ..., f t } ⊆ {f 1 , ..., f t , g } ∈ I

g should been choosen in step t + 1 of greedy algorithm

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

(60)

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f 1 , ..., f r } the output of the greedy algorithm w.l.o.g. w (f 1 ) ≥ ... ≥ w (f r ) (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. {f 1 , ..., f t , g , f t+1 , ..., f s } = F ∪ {g } ∈ I with w (f t ) ≥ w (g ) ≥ w (f t+1 )

⇒ {f 1 , ..., f t } ⊆ {f 1 , ..., f t , g } ∈ I

g should been choosen in step t + 1 of greedy algorithm

(61)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Feasibility In Matroids

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f 1 , ..., f r } the output of the greedy algorithm w.l.o.g. w (f 1 ) ≥ ... ≥ w (f r ) (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. {f 1 , ..., f t , g , f t+1 , ..., f s } = F ∪ {g } ∈ I with w (f t ) ≥ w (g ) ≥ w (f t+1 )

⇒ {f 1 , ..., f t } ⊆ {f 1 , ..., f t , g } ∈ I

g should been choosen in step t + 1 of greedy algorithm

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

(62)

Proof ’Matroid ⇒ Greedy’

let w be an abitrary weight function

let F = {f 1 , ..., f r } the output of the greedy algorithm w.l.o.g. w (f 1 ) ≥ ... ≥ w (f r ) (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. {f 1 , ..., f t , g , f t+1 , ..., f s } = F ∪ {g } ∈ I with w (f t ) ≥ w (g ) ≥ w (f t+1 )

⇒ {f 1 , ..., f t } ⊆ {f 1 , ..., f t , g } ∈ I

g should been choosen in step t + 1 of greedy algorithm

(63)

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 = {g 1 , ..., g r } ∈ I s.t. w (G ) > w (F ) and w(g i ) ≥ w (g i+1 )

⇒ P

g

i

∈G

w (g i ) > P

f

i

∈F

w (f i )

⇒ ∃ k : w (g k ) > w (f k ) (because |G | ≤ |F |)

take X := {f 1 , ..., f k−1 } (= ∅ if k = 1) and Y := {g 1 , ..., g k }

|X | < |Y | (augmentation property) ⇒ ∃ g t ∈ Y \ X with tk s.t.

{f 1 , ..., f k−1 , g t } = X ∪ {g t } ∈ I

Because w (g t ) ≥ w (g k ) > w (f k ) g t should been choosen before step k of the greedy algorithm

to correctness of greedy algorithm

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

(64)

Proof ’Matroid ⇒ Greedy’

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

Assume ∃G = {g 1 , ..., g r } ∈ I s.t. w (G ) > w (F ) and w(g i ) ≥ w (g i+1 )

⇒ P

g

i

∈G

w (g i ) > P

f

i

∈F

w (f i )

⇒ ∃ k : w (g k ) > w (f k ) (because |G | ≤ |F |)

take X := {f 1 , ..., f k−1 } (= ∅ if k = 1) and Y := {g 1 , ..., g k }

|X | < |Y | (augmentation property) ⇒ ∃ g t ∈ Y \ X with tk s.t.

{f 1 , ..., f k−1 , g t } = X ∪ {g t } ∈ I

Because w (g t ) ≥ w (g k ) > w (f k ) g t should been choosen before step k of the greedy algorithm

to correctness of greedy algorithm

(65)

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 = {g 1 , ..., g r } ∈ I s.t. w (G ) > w (F ) and w(g i ) ≥ w (g i+1 )

⇒ P

g

i

∈G

w (g i ) > P

f

i

∈F

w (f i )

⇒ ∃ k : w (g k ) > w (f k ) (because |G | ≤ |F |)

take X := {f 1 , ..., f k−1 } (= ∅ if k = 1) and Y := {g 1 , ..., g k }

|X | < |Y | (augmentation property) ⇒ ∃ g t ∈ Y \ X with tk s.t.

{f 1 , ..., f k−1 , g t } = X ∪ {g t } ∈ I

Because w (g t ) ≥ w (g k ) > w (f k ) g t should been choosen before step k of the greedy algorithm

to correctness of greedy algorithm

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

(66)

Proof ’Matroid ⇒ Greedy’

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

Assume ∃G = {g 1 , ..., g r } ∈ I s.t. w (G ) > w (F ) and w(g i ) ≥ w (g i+1 )

⇒ P

g

i

∈G

w (g i ) > P

f

i

∈F

w (f i )

⇒ ∃ k : w (g k ) > w (f k ) (because |G | ≤ |F |)

take X := {f 1 , ..., f k−1 } (= ∅ if k = 1) and Y := {g 1 , ..., g k }

|X | < |Y | (augmentation property) ⇒ ∃ g t ∈ Y \ X with tk s.t.

{f 1 , ..., f k−1 , g t } = X ∪ {g t } ∈ I

Because w (g t ) ≥ w (g k ) > w (f k ) g t should been choosen before step k of the greedy algorithm

to correctness of greedy algorithm

(67)

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 = {g 1 , ..., g r } ∈ I s.t. w (G ) > w (F ) and w(g i ) ≥ w (g i+1 )

⇒ P

g

i

∈G

w (g i ) > P

f

i

∈F

w (f i )

⇒ ∃ k : w (g k ) > w (f k ) (because |G | ≤ |F |)

take X := {f 1 , ..., f k−1 } (= ∅ if k = 1) and Y := {g 1 , ..., g k }

|X | < |Y | (augmentation property) ⇒ ∃ g t ∈ Y \ X with tk s.t.

{f 1 , ..., f k−1 , g t } = X ∪ {g t } ∈ I

Because w (g t ) ≥ w (g k ) > w (f k ) g t should been choosen before step k of the greedy algorithm

to correctness of greedy algorithm

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

(68)

Proof ’Matroid ⇒ Greedy’

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

Assume ∃G = {g 1 , ..., g r } ∈ I s.t. w (G ) > w (F ) and w(g i ) ≥ w (g i+1 )

⇒ P

g

i

∈G

w (g i ) > P

f

i

∈F

w (f i )

⇒ ∃ k : w (g k ) > w (f k ) (because |G | ≤ |F |)

take X := {f 1 , ..., f k−1 } (= ∅ if k = 1) and Y := {g 1 , ..., g k }

|X | < |Y | (augmentation property) ⇒ ∃ g t ∈ Y \ X with tk s.t.

{f 1 , ..., f k−1 , g t } = X ∪ {g t } ∈ I

Because w (g t ) ≥ w (g k ) > w (f k ) g t should been choosen before step k of the greedy algorithm

to correctness of greedy algorithm

(69)

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 = {g 1 , ..., g r } ∈ I s.t. w (G ) > w (F ) and w(g i ) ≥ w (g i+1 )

⇒ P

g

i

∈G

w (g i ) > P

f

i

∈F

w (f i )

⇒ ∃ k : w (g k ) > w (f k ) (because |G | ≤ |F |)

take X := {f 1 , ..., f k−1 } (= ∅ if k = 1) and Y := {g 1 , ..., g k }

|X | < |Y | (augmentation property) ⇒ ∃ g t ∈ Y \ X with tk s.t.

{f 1 , ..., f k−1 , g t } = X ∪ {g t } ∈ I

Because w (g t ) ≥ w (g k ) > w (f k ) g t should been choosen before step k of the greedy algorithm

to correctness of greedy algorithm

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

(70)

Proof ’Matroid ⇒ Greedy’

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

Assume ∃G = {g 1 , ..., g r } ∈ I s.t. w (G ) > w (F ) and w(g i ) ≥ w (g i+1 )

⇒ P

g

i

∈G

w (g i ) > P

f

i

∈F

w (f i )

⇒ ∃ k : w (g k ) > w (f k ) (because |G | ≤ |F |)

take X := {f 1 , ..., f k−1 } (= ∅ if k = 1) and Y := {g 1 , ..., g k }

|X | < |Y | (augmentation property) ⇒ ∃ g t ∈ Y \ X with tk s.t.

{f 1 , ..., f k−1 , g t } = X ∪ {g t } ∈ I

Because w (g t ) ≥ w (g k ) > w (f k ) g t should been choosen before step k of the greedy algorithm

to correctness of greedy algorithm

(71)

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 = {g 1 , ..., g r } ∈ I s.t. w (G ) > w (F ) and w(g i ) ≥ w (g i+1 )

⇒ P

g

i

∈G

w (g i ) > P

f

i

∈F

w (f i )

⇒ ∃ k : w (g k ) > w (f k ) (because |G | ≤ |F |)

take X := {f 1 , ..., f k−1 } (= ∅ if k = 1) and Y := {g 1 , ..., g k }

|X | < |Y | (augmentation property) ⇒ ∃ g t ∈ Y \ X with tk s.t.

{f 1 , ..., f k−1 , g t } = X ∪ {g t } ∈ I

Because w (g t ) ≥ w (g k ) > w (f k ) g t should been choosen before step k of the greedy algorithm

to correctness of greedy algorithm

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

(72)

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 least one job

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

(73)

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 least one 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

(74)

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 least one job

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

(75)

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 least one 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

(76)

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 least one job

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

(77)

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 least one 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

(78)

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 least one job

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

(79)

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

W i is the set of jobs worker i can do W := {W i |i ∈ I , W i ⊆ J} (family of subsets)

Vertex set J ∪ W and the edge set

{jW i |j ∈ J, W i ∈ W} define the graph △[W]

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

(80)

Mathematical Describtion

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

J j 1j 2 ◦ j 3j 4j 5 ◦

J-set of jobs in order of priority W-set of workers

W i is the set of jobs worker i can do W := {W i |i ∈ I , W i ⊆ J} (family of subsets)

Vertex set J ∪ W and the edge set

{jW i |j ∈ J, W i ∈ W} define the graph △[W]

(81)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

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

J W

j 1

j 2 ◦ ◦W 1

j 3 ◦ ◦W 2

j 4 ◦ ◦W 3

j 5 ◦ ◦W 4

j 6

J-set of jobs in order of priority W-set of workers

W i is the set of jobs worker i can do W := {W i |i ∈ I , W i ⊆ J} (family of subsets)

Vertex set J ∪ W and the edge set

{jW i |j ∈ J, W i ∈ W} define the graph △[W]

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

(82)

Mathematical Describtion

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

J W

j 1

j 2 ◦ ◦W 1

j 3 ◦ ◦W 2

j 4 ◦ ◦W 3

j 5 ◦ ◦W 4

J-set of jobs in order of priority W-set of workers

W i is the set of jobs worker i can do W := {W i |i ∈ I , W i ⊆ J} (family of subsets)

Vertex set J ∪ W and the edge set

{jW i |j ∈ J, W i ∈ W} define the graph △[W]

(83)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

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

J W

j 1

j 2 ◦ ◦W 1

j 3 ◦ ◦W 2

j 4 ◦ ◦W 3

j 5 ◦ ◦W 4

j 6

J-set of jobs in order of priority W-set of workers

W i is the set of jobs worker i can do W := {W i |i ∈ I , W i ⊆ J} (family of subsets)

Vertex set J ∪ W and the edge set

{jW i |j ∈ J, W i ∈ W} define the graph △[W]

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

(84)

Mathematical Describtion

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

J W

j 1

j 2 ◦ ◦W 1

j 3 ◦ ◦W 2

j 4 ◦ ◦W 3

j 5 ◦ ◦W 4

J-set of jobs in order of priority W-set of workers

W i is the set of jobs worker i can do W := {W i |i ∈ I , W i ⊆ J} (family of subsets)

Vertex set J ∪ W and the edge set

{jW i |j ∈ J, W i ∈ W} define the graph △[W]

(85)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

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

J W

j 1

j 2 ◦ ◦W 1

j 3 ◦ ◦W 2

j 4 ◦ ◦W 3

j 5 ◦ ◦W 4

j 6

J-set of jobs in order of priority W-set of workers

W i is the set of jobs worker i can do W := {W i |i ∈ I , W i ⊆ J} (family of subsets)

Vertex set J ∪ W and the edge set

{jW i |j ∈ J, W i ∈ W} define the graph △[W]

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

(86)

Mathematical Describtion

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

J W

j 1

j 2 ◦ ◦W 1

j 3 ◦ ◦W 2

j 4 ◦ ◦W 3

j 5 ◦ ◦W 4

J-set of jobs in order of priority W-set of workers

W i is the set of jobs worker i can do W := {W i |i ∈ I , W i ⊆ J} (family of subsets)

Vertex set J ∪ W and the edge set

{jW i |j ∈ J, W i ∈ W} define the graph △[W]

(87)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

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

J W

j 1

j 2 ◦ ◦W 1

j 3 ◦ ◦W 2

j 4 ◦ ◦W 3

j 5 ◦ ◦W 4

j 6

J-set of jobs in order of priority W-set of workers

W i is the set of jobs worker i can do W := {W i |i ∈ I , W i ⊆ J} (family of subsets)

Vertex set J ∪ W and the edge set

{jW i |j ∈ J, W i ∈ W} define the graph △[W]

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

(88)

Mathematical Describtion

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

J W

j 1

j 2 ◦ ◦W 1

j 3 ◦ ◦W 2

j 4 ◦ ◦W 3

j 5 ◦ ◦W 4

J-set of jobs in order of priority W-set of workers

W i is the set of jobs worker i can do W := {W i |i ∈ I , W i ⊆ J} (family of subsets)

Vertex set J ∪ W and the edge set

{jW i |j ∈ J, W i ∈ W} define the graph △[W]

(89)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

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

J W

j 1

j 2 ◦ ◦W 1

j 3 ◦ ◦W 2

j 4 ◦ ◦W 3

j 5 ◦ ◦W 4

j 6

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

TJ partial transversal : ⇔ ∃ injective map ψ : T ։ I s.t. tW ψ(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 jobs that can be done simultaneously in the example.

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

(90)

Mathematical Describtion

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

J W

j 1

j 2 ◦ ◦W 1

j 3 ◦ ◦W 2

j 4 ◦ ◦W 3

j 5 ◦ ◦W 4

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

TJ partial transversal : ⇔ ∃ injective map ψ : T ։ I s.t. tW ψ(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 jobs

that can be done simultaneously in the

example.

(91)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

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

J W

j 1

j 2 ◦ ◦W 1

j 3 ◦ ◦W 2

j 4 ◦ ◦W 3

j 5 ◦ ◦W 4

j 6

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

TJ partial transversal : ⇔ ∃ injective map ψ : T ։ I s.t. tW ψ(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 jobs that can be done simultaneously in the example.

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

(92)

Mathematical Describtion

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

J W

j 1

j 2 ◦ ◦W 1

j 3 ◦ ◦W 2

j 4 ◦ ◦W 3

j 5 ◦ ◦W 4

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

TJ partial transversal : ⇔ ∃ injective map ψ : T ։ I s.t. tW ψ(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 jobs

that can be done simultaneously in the

example.

(93)

Greedy Algorithm Transversal Matroids Edmonds’ Intersection Algorithm References

Job Scheduling

Mathematical Describtion

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

J W

j 1

j 2 ◦ ◦W 1

j 3 ◦ ◦W 2

j 4 ◦ ◦W 3

j 5 ◦ ◦W 4

j 6

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

TJ partial transversal : ⇔ ∃ injective map ψ : T ։ I s.t. tW ψ(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 jobs that can be done simultaneously in the example.

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

Referenzen

ÄHNLICHE DOKUMENTE

Graph theory: Euler graphs, spanning trees, shortest paths, Travelling- Salesman-Problem.. Search problems: Sorting,

In this article, we proposed a variable neighborhood search approach for the gen- eralized traveling salesman problem utilizing two large neighborhood structures.. They can be seen

To verify Bondy and Jackson’s conjecture for small graphs we study properties of a minimum counter example, i.e., a minimum graph according to the number of vertices and edges that

Indepen- dent of the size or scope of its aid program, the US government should explicitly commit to maintaining policy engagement at the federal and provincial levels on

Protokolle sind nicht auf einzelne Algorithmen festgelegt Vorhandene OpenSSL Funktionen k¨onnen benutzt werden Komplexe Datenstrukturen.. Widerrufung von Karten noch

drei Parteien Protokoll mit Bank B, Nutzer U und H¨ andler M, mit jeweils ¨ offentlichen Schl¨ ussel pk (.) und privaten Schl¨ ussel sk (.) Bezahlung soll ohne Interaktion mit der

Camenisch und Lysyanskaya: Signature Schemes and Anonymous Credentials from Bilinear

Okamoto und Ohta (1991) haben sechs Kriterien f¨ ur ideales elektronische Geld aufgestellt (erg¨ anzt nach Schmidt, Schunter und Weber (1999)):?. 1