Applied Algorithm Design Lecture 3
Pietro Michiardi
Eurecom
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 1 / 75
Applied Algorithm Design Lecture 3 Pietro Michiardi Eurecom - - PowerPoint PPT Presentation
Applied Algorithm Design Lecture 3 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 1 / 75 PART I : GREEDY ALGORITHMS Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 2 / 75 Greedy
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 1 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 2 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 3 / 75
◮ Greedy stays ahead: here we measure the progress of the greedy
◮ Exchange argument: here we consider any possible solution to
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 4 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 5 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 6 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 7 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 8 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 9 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 10 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 11 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 12 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 13 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 14 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 15 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 16 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 17 / 75
!"##$% &'()*+,
3./012 3./2 Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 18 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 19 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 20 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 21 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 22 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 23 / 75
!"#$
% %&'( )( )(&'( )) ))&'( )* )*&'( ) )&'( * *&'(
+ ,
$ / 1 " 2
' '&'( 3 3&'(
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 24 / 75
!"#$
% %&'( )( )(&'( )) ))&'( )* )*&'( ) )&'( * *&'(
+ ,
. / "
' '&'( 1 1&'(
2 3 Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 25 / 75
Proof. Suppose a set of intervals has depth d Let I1, ..., Id pass over a common point in time Each of these intervals must be scheduled on different resources, so the whole schedule needs at least d resources Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 26 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 27 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 28 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 29 / 75
Proof. Focus on interval Ij , suppose there are t earlier intervals in the sorted order that overlap it We have a set of t + 1 intervals that all cross at the start time of Ij , hence t + 1 ≤ d Since t ≤ d − 1, at least one of the d labels is not excluded → no interval ends up un-labeled Now, focus on intervals I and I′ that overlap, and suppose I comes before I′ When I′ is considered by the algorithm, I is in the set of intervals whose labels are excluded, hence I and I′ will have different labels → no two overlapping intervals will have the same label Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 30 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 31 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 32 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 33 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 34 / 75
$ % & ' ( ) * + ,
%% %& %' %( %)
.)/0/%( .&/0/, .*/0/%) .%/0/* .(/0/- .'/0/-
12345466/0/$ 12345466/0/&
.7 * 37 ' % , & &
'
( %( ' ) %) & *
82"/12345466/0/* Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 35 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 36 / 75
!"#$%&'&()*+,&
%. /00 / / /0 /0 1 Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 37 / 75
!"#$%&'&()*+,&
%. / 01 01 / Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 38 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 39 / 75
! " # $ % & ' ( ) * "! "" "# "$ "% "&
+&,-,"% +#,-,) +',-,"& +",-,' +%,-,* +$,-,*
./0,1/234355,-,"
!" # $" % & ' ( ( ) & % ) * * &* % + &+ ( # Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 40 / 75
! " # $ % & '
()*)% ()*)'
+ ,
""
()*)"#
! " # $ % & '
()*)% ()*)'
+ ,
""
()*)"#
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 41 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 42 / 75
#$%&'$()*+,
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 43 / 75
Proof. If two schedules have no inversions nor idle time, they might not produce exactly the same order of jobs But, they can only differ in the order in which jobs with identical deadlines are scheduled Consider such a deadline d In both schedules, the jobs with deadline d are all scheduled consecutively Among the jobs with deadline d, the last one has the greatest lateness, and this lateness does not depend on the order
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 44 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 45 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 46 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 47 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 48 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 49 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 50 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 51 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 52 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 53 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 54 / 75
, 1 , 1 . 1 . 1 . 1 , 1 , 1 . 1 . , , 1 , , 1 1 .,./0 203405+5 Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 55 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 56 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 57 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 58 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 59 / 75
◮ In any step i, where S brings in an item d that has not been
◮ ˆ
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 60 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 61 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 62 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 63 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 64 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 65 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 66 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 67 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 68 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 69 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 70 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 71 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 72 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 73 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 74 / 75
Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 75 / 75