Algorithm Design and Analysis

1 / 14

# Algorithm Design and Analysis - PowerPoint PPT Presentation

L ECTURE 6 Greedy Algorithms Cont’d Minimizing lateness. Algorithm Design and Analysis. CSE 565. Adam Smith. Greedy Algorithms. Build up a solution to an optimization problem at each step shortsightedly choosing the option that currently seems the best. Sometimes good

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Algorithm Design and Analysis' - vine

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

LECTURE 6

• Greedy Algorithms Cont’d
• Minimizing lateness

### Algorithm Design and Analysis

CSE

565

A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne

Greedy Algorithms
• Build up a solution to an optimization problem at each step shortsightedly choosing the option that currently seems the best.
• Sometimes good
• Often does not work
• Proving correctness can be tricky, because algorithm is unstructured

A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne

Last lecture (KT, Chapter 4.1)

Two types of correctness arguments

• Interval scheduling problem
• “Structural argument”
• Interval partitioning
• Today: “exchange”

a

b

c

d

e

j

4

e

g

c

d

3

b

h

2

f

a

f

i

1

g

3

3:30

4

4:30

9:30

10

10:30

11

11:30

12

12:30

1

1:30

9

2

2:30

h

Time

0

1

2

3

4

5

6

7

8

9

10

11

A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne

### Scheduling to minimize lateness

A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne

1

2

3

4

5

6

tj

3

2

1

4

3

2

dj

6

8

9

9

14

15

Scheduling to Minimizing Lateness
• Minimizing lateness problem.
• Single resource processes one job at a time.
• Job j requires tj units of processing time and is due at time dj.
• If j starts at time sj, it finishes at time fj = sj + tj.
• Lateness: j = max { 0, fj - dj }.
• Goal: schedule all jobs to minimize maximumlateness L = max j.
• Ex:

lateness = 2

lateness = 0

max lateness = 6

d3 = 9

d2 = 8

d6 = 15

d1 = 6

d5 = 14

d4 = 9

12

13

14

15

0

1

2

3

4

5

6

7

8

9

10

11

### Greedy strategies?

Minimizing Lateness: Greedy Algorithms
• Greedy template. Consider jobs in some order.
• [Shortest processing time first] Consider jobs in ascending order of processing time tj.
• [Earliest deadline first] Consider jobs in ascending order of deadline dj.
• [Smallest slack] Consider jobs in ascending order of slack dj - tj.

1

1

2

2

1

1

10

10

2

100

10

10

Minimizing Lateness: Greedy Algorithms
• Greedy template. Consider jobs in some order.
• [Shortest processing time first] Consider jobs in ascending order of processing time tj.
• [Smallest slack] Consider jobs in ascending order of slack dj - tj.

tj

counterexample

dj

tj

counterexample

dj

d1 = 6

d2 = 8

d3 = 9

d4 = 9

d5 = 14

d6 = 15

Minimizing Lateness: Greedy Algorithm
• Greedy algorithm. Earliest deadline first.

Sort n jobs by deadline so that d1 d2 …  dn

t  0

for j = 1 to n

Assign job j to interval [t, t + tj]

sj t, fj  t + tj

t  t + tj

output intervals [sj, fj]

max lateness = 1

12

13

14

15

0

1

2

3

4

5

6

7

8

9

10

11

Minimizing Lateness: No Idle Time
• Observation. There exists an optimal schedule with noidle time.
• Observation. The greedy schedule has no idle time.

d = 4

d = 6

d = 12

0

1

2

3

4

5

6

7

8

9

10

11

d = 4

d = 6

d = 12

0

1

2

3

4

5

6

7

8

9

10

11

Minimizing Lateness: Inversions
• Def. An inversion in schedule S is a pair of jobs i and j such that:i < j but j scheduled before i.
• Observation. Greedy schedule has no inversions.
• Observation. If a schedule (with no idle time) has an inversion, it has one with a pair of inverted jobs scheduled consecutively.

inversion

before swap

j

i

Minimizing Lateness: Inversions
• Def. An inversion in schedule S is a pair of jobs i and j such that:i < j but j scheduled before i.
• Claim. Swapping two adjacent, inverted jobs reduces the number of inversions by one and does not increase the max lateness.
• Pf. Let  be the lateness before the swap, and let  ' be it afterwards.
• 'k = k for all k  i, j
• 'ii
• If job j is late:

inversion

fi

before swap

j

i

after swap

i

j

f'j

Minimizing Lateness: Analysis of Greedy Algorithm
• Theorem. Greedy schedule S is optimal.
• Pf. Define S* to be an optimal schedule that has the fewest number of inversions, and let's see what happens.
• Can assume S* has no idle time.
• If S* has no inversions, then S = S*.
• If S* has an inversion, let i-j be an adjacent inversion.
• swapping i and j does not increase the maximum lateness and strictly decreases the number of inversions
• this contradicts definition of S* ▪
Greedy Analysis Strategies
• Greedy algorithm stays ahead. Show that after each step of the greedy algorithm, its solution is at least as good as any other algorithm's.
• Exchange argument. Gradually transform any solution to the one found by the greedy algorithm without hurting its quality.
• Structural. Discover a simple "structural" bound asserting that every possible solution must have a certain value. Then show that your algorithm always achieves this bound.