54
Greedy Design Technique

Main Greedy Mid Sem 2011

Embed Size (px)

Citation preview

Page 1: Main Greedy Mid Sem 2011

Greedy Design Technique

Page 2: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Contents

The basic paradigm The greedy control abstraction Elements of greedy strategy Characteristics

Some optimization problems

Applications Greedy technique to various problems

2/180

Page 3: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Introduction

The movie Wall Street, Michael Douglas quotes Greed is good…Greed is right…Greed works !!

We want to verify whether is it really so ?!!!!!

Take a number of computational problems investigate the pros & cons of short-sighted greed

How to we define a greedy algorithm ?

3/180

Page 4: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Basic paradigm

Two important components builds up the small solution in small steps choose a decision myopically to optimize some underlying criterion

choose what is best for the moment typically works in stages

a decision made in one stage can’t be changed later the choice must lead to the feasible solution

expected to be an optimal solution

4/180

Page 5: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Basic paradigm (contd)

When a greedy algorithm succeeds it typically implies something interesting about the

structure of a problem true even if the algorithm produces suboptimal solutions

To prove greedy algorithms work stays ahead

either establish that the algorithm succeeds at each step

exchange argument proceed with solution and gradually transform it to optimal

solution

5/180

Page 6: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Terminologies

Greedy criterion optimal solution feasible solution suboptimal solution constraints optimization problems heuristics

bounded performance approximation algorithms

6/180

Page 7: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

The Thirsty Baby problem

An intelligent baby wants to quench her thirst….!!!

Input: n,t,si,ai; 1≤i≤n; n integer

Output: Real nos xi; 1≤i≤nsuch that is maximum optimization func

Constraints: is true and 0≤xi≤ai; 1≤i≤n

What is meant by irrevocability in this case ?

n

i

iixs1

txn

i

i 1

7/180

Page 8: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

The control abstrationAlgorithm Greedy(Type a[], int n)

solution=EMPTY;

i=1;

for i=1 to n

do

Type x = select(a);

if feasible(solution, x)

solution=solution U x;

done

return solution

8/180

Page 9: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Greedy algorithms

Optimization problems solved through a sequence of choices that are:

feasible locally optimal

irrevocable

Not all optimization problems can be approached in this manner!

9/180

Page 10: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Applications

Optimal solutions simple scheduling problems change making Minimum Spanning Tree (MST) Single-source shortest paths Huffman codes

Approximations Traveling Salesman Problem (TSP) Knapsack problem other combinatorial optimization problems

10/180

Page 11: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Simple Activity Selection

Simple Machine Scheduling Interval Scheduling

selecting maximal set of mutually compatible activities simple & elegant method

mutually compatible activities if each activity i occurs during the half open intveral [si,fi)

When do [si,fi) and [sj,fj) not overlap ? i<j or j<i

11/180

Page 12: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Problem definition

Interval scheduling. Job j starts at sj and finishes at fj. Two jobs are compatible if they don't overlap. Goal: find maximum subset of mutually compatible jobs.

12/180

Page 13: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Illustrating

4

g

h

f

e

d

c

a

b

0 1 2 3 4 5 6 7 8 9 10 11

13/180

Page 14: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Variations Greedy template

Consider jobs in some order. Take each job provided it's compatible with the ones already taken.

[Earliest start time] Consider jobs in ascending order of start time sj. Can this work ?

[Shortest interval] Consider jobs in ascending order of interval length fj - sj. Can this work ?

14/180

breaks earliest start time

breaks shortest interval

Page 15: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Variations….. Greedy template

Consider jobs in some order. Take each job provided it's compatible with the ones already taken.

[Fewest conflicts] For each job, count the number of conflicting jobs cj. Schedule in ascending

order of conflicts cj. Can this work ?

That leaves with only one option !!............... [Earliest finish time]

Consider jobs in ascending order of finish time fj. Must work obviously.

15/180

breaks fewest conflicts

Page 16: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Greedy algorithm Consider jobs in increasing order of finish time. Take each job provided it's compatible with the ones already taken.

What is the time taken by the algorithm to execute? O(n log n)

Remember job j* that was added last to A. Job j is compatible with A if sj fj*.

Sort jobs by finish times so that f1 f2 ... fn.

A for j = 1 to n {

if (job j compatible with A)A A {j}

}return A

jobs selected

Solution approach

16/180

Page 17: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Interval Scheduling: Analysis

For the interval scheduling problem, Let the set A=i1,i2,i3,…ik with |A|=k be the set of

intervals returned by the algorithm as the answer and

Let the set O=j1,j2,j3,…jm be the optimal set of intervals

What should be our goal to prove that our interval scheduling algorithm is optimal ? The goal is to prove that k = m. Our greedy rule guarantees that f(i1) <= f(j1). Why ? Hence, eventually we should show that for every r >=1, the rth request in the

algorithm’s schedule finishes no later than the one in the optimal schedule And eventually this is equivalent to ……………..?

17/180

Page 18: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Interval Scheduling: Analysis

For the interval scheduling problem, if the set A=i1,i2,i3,…ik with |A|=k is the set of intervals

returned by the algorithm as the answer and

the set O=j1,j2,j3,…jm be the optimal set of intervals then

Theorem: For all indices r≤k, we have f(ir)≤f(jr) Use induction on r to prove the result. Basis: f(i1)≤f(j1). Why? Hypothesis: f(ir-1)≤f(jr-1)

Proof How are f(jr-1) and s(jr) related ?

How are f(ir-1) and s(jr) related ?

Therefore, interval jr is in set R of available intervals to the algorithm at the time the greedy algorithm selects ir.

Now, if interval ir and jr both are available for the algorithm to select, which out of the two, the greedy algorithm A would select ?

Therefore, the proof.

18/180

Page 19: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Interval Scheduling: Analysis

Theorem. Greedy algorithm is optimal. Proof: (by contradiction) ………i.e. m > k in the following

Assume greedy is not optimal, and let's see what happens.

Let i1,i2,...ik denote a set of jobs selected by greedy.

Let j1,j2,...jm denote a set of jobs in the optimal solution with i1=j1, i2=j2,..,ir=jr for the largest possible value of r.

j1 j2 jr

i1 i2 ir ir+1

. . .

Greedy:

OPT: jr+1

why not replace job jr+1 with job ir+1?

job ir+1 finishes before jr+1

19/180

Page 20: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

j1 j2 jr

i1 i1 ir ir+1

Interval Scheduling: Analysis

Theorem. Greedy algorithm is optimal. Proof. (by contradiction)

Assume greedy is not optimal, and let's see what happens.

Let i1,i2,...ik denote set of jobs selected by greedy.

Let j1,j2,...jm denote set of jobs in the optimal solution withi1=j1, i2=j2,...,ir=jr for the largest possible value of r.

. . .

Greedy:

OPT:

solution still feasible and optimal, but contradicts maximality of r.

ir+1

job ir+1 finishes before jr+1

20/180

Page 21: Main Greedy Mid Sem 2011

Machine Scheduling Problem

Minimize average completion time

Page 22: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Second variation Jobs j1,j2,j3…jn with running times t1, t2, t3,….tn

to be scheduled on a single processor such as to minimize the avg completion time

Schedule 1:

What is the avg completion time? Is it optimal assignment?

j1 j2 j3 j4

15 8 3 10

j1 j2 j3 j4

15 8 3 10

22/180

Page 23: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Second variation (contd) Jobs j1,j2,j3…jn with running times t1, t2, t3,….tn

to be scheduled on a single processor such as to minimize the avg completion time

Schedule 2:

What is the average completion time? Is it optimal assignment?

j1 j2 j3 j4

15 8 3 10

j3 j2 j4 j1

3 8 10 15

23/180

Page 24: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Second variation (contd)

Prove that the shortest job first assignment for Jobs j1,j2,j3…jn with running times t1, t2, t3,….tn

to be scheduled on a single processor such as to minimize the avg completion time

is an optimal assignment.

How to implement the above algorithm ? What is the time complexity?

24/180

Page 25: Main Greedy Mid Sem 2011

15:36:18 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:18

Third variation

Jobs j1,j2,j3…jn with running times t1, t2, t3,….tn to be scheduled on multiprocessors such as to minimize the average completion time

A typical schedule and time completion of each job

j1 j2 j3 j4 j5 j6 j7 j8 j9

3 5 6 10 11 14 15 18 20

25/180

Page 26: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

A typical schedule

j1 j4 j7 3 13 28

j2 j5 j8 5 16 34

j3 j6 j9 6 20 40

M1 M2 M3 M1 M2 M3 M1 M2 M3

j1 j2 j3 j4 j5 j6 j7 j8 j9

3 5 6 10 11 14 15 18 203 5 6 13 16 20 28 34 40

26/180

Page 27: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

Fourth Variation Processes

j1,j2,j3…jm with running times t1,t2,t3,…to

to be scheduled on specified m no of machines m1,m2,m3,……mmsuch that

no machine processes more than one process at a time

no process is executed by more than one machine

there is non-preemptive scheduling

the final completion time is minimized.

27/180

Page 28: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

Fourth Variation - Illustration

Jobs j1,j2,j3…jn with running times t1, t2, t3,….tn to be scheduled on multiprocessors such as to minimize the final completion time

A typical schedule and time completion of each job

j1 j2 j3 j4 j5 j6 j7 j8 j9

3 5 6 10 11 14 15 18 20

28/180

Page 29: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

Fourth Variation – Typical Schedule

j2 j5 j8 5 16 34

j6 j9 14 34

j1 j3 j4 j7 3 9 19 34

M3 M1 M3 M3 M1 M2 M3 M1 M2

j1 j2 j3 j4 j5 j6 j7 j8 j9

3 5 6 10 11 14 15 18 20

29/180

Page 30: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

Fourth Variation (contd) The problem is NP-hard

No polynomial time algorithm to run in O(nkml) for any constants k and l

Employ LPT algorithm

schedule lengths are though not optimal but at the most of the optimal schedule

m3

1

3

4

30/180

Page 31: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

Fourth Variation

Theorem

31/180

Page 32: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

Summary of variations Before we proceed further

First…. Activity Selection problem/Interval Scheduling Problem…… maximize the compatible number of activities/intervals selected

Second…Machine Scheduling Problem… Multiple jobs, Single machine……

minimize the average completion time

Third…Machine Scheduling Problem… Multiple jobs, Multiple machines……

minimize the average completion time

Fourth…Machine Scheduling Problem… Multiple jobs, Multiple machines……

minimize the final completion time

Fifth…Interval Partitioning/Interval Coloring Problem… Multiple partitions (jobs), Multiple resources (machines)……

for compatible partitions, minimize the number of resources (machines) used

Sixth…Deadline Scheduling.. Multiple jobs, Multiple machines…… scheduling to meet the deadline

32/180

Page 33: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

Interval Partitioning Lecture j starts at sj and finishes at fj

find minimum number of classrooms to schedule all lectures

so that no two occur at the same time in the same room.

This schedule uses 4 classrooms to schedule 10 lectures

Time9 9:30 10 10:30 11 11:30 12 12:30 1 1:30 2 2:30

h

c

b

a

e

d g

f i

j

3 3:30 4 4:30

33/180

Page 34: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

Interval Partitioning Lecture j starts at sj and finishes at fj.

This schedule uses only 3.

Time9 9:30 10 10:30 11 11:30 12 12:30 1 1:30 2 2:30 3 3:30 4 4:30

h

c

a e

f

g i

jd

b

34/180

Page 35: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

Interval Partitioning

One solution strategy Arrange the lectures in their increasing order of start

times

Keep track of availability times of classrooms. i.e. availability time of a classroom M1,

assigned lecture l1, completing at time t1 – has availability time t1 when scheduling the next lecture l2.

35/180

Page 36: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

A Typical Schedule

task start_time

finish_time

time required

availability time now on

respectiveclassroom

scheduling order

A 0 2 2 2(M1) 1

B 3 7 4 7(M1) 3

C 4 7 3 7(M3) 4

D 9 11 2 11(M3) 7

E 7 10 3 10(M1) 6

F 1 5 4 5(M2) 2

G 6 8 2 8(M2) 5

• Sort using heap sort and use a minimum heap to maintain the availability times of machines.

36/180

Page 37: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

IP: Lower Bound on Optimal Solution

def: The depth of a set of open intervals is the maximum

number of the intervals contained, at a unique time

Key observation Prove that the number of resources (classrooms) needed

is at least the depth.

37/180

Page 38: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

IP: Lower Bound on Optimal Solution

e.g. Depth of schedule below = 3 schedule below is

optimal. Does there always exist a schedule equal to depth of intervals?

Time9 9:30 10 10:30 11 11:30 12 12:30 1 1:30 2 2:30 3 3:30 4 4:30

h

c

a e

f

g i

jd

b

a, b, c all contain 9:30

38/180

Page 39: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

IP: Greedy Algorithm Consider lectures in increasing order of start time

assign lecture to any compatible classroom.

Implementation. For each classroom k, maintain the finish time of the last job

added. Keep the classrooms in a priority queue.

39/180

Page 40: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

IP: ImplementationSort intervals by starting time so that s1 s2 ...

sn.

d 0

for j = 1 to n {if (lecture j is compatible with some classroom k)

schedule lecture j in classroom kelse

allocate a new classroom d + 1schedule lecture j in classroom d + 1d d + 1

}

number of allocated classrooms

O(n log n).40/180

Page 41: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

IP: Greedy Analysis

Theorem: IF we use the greedy algorithm above, every lecture

will be assigned a classroom and no two overlapping lectures will receive the same classroom

41/180

Page 42: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

The Optimal tape storage problem

Given n files of length m1, m2, m3, m4…. mn find the best order in which the files can be stored on a sequential storage device. e.g. if n=3 and m1=5, m2=10 and m3=3 There can be 3! possible ordering. Which one is the best ?

The optimal ordering necessitates only 29 records to be read.

42/180

Page 43: Main Greedy Mid Sem 2011

4.2 Scheduling to Minimize Lateness

Page 44: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

Scheduling to Minimizing Lateness Minimizing lateness problem – EDF scheduling

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 the maximum lateness L = max j.

e.g.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

d5 = 14d2 = 8 d6 = 15 d1 = 6 d4 = 9d3 = 9

lateness = 0lateness = 2

dj 6

tj 3

1

8

2

2

9

1

3

9

4

4

14

3

5

15

2

6

max lateness = 6

44/180

Page 45: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

Minimizing Lateness

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.

45/180

Page 46: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

Greedy template. Consider jobs in some order. [Shortest processing time first] Consider jobs in ascending order of

processing time tj.

Can we and if so how can one achieve lateness 0 above?

[Smallest slack] Consider jobs in ascending order of slack dj - tj.

Can we and if so how can one achieve lateness 0 above?

counterexample

dj

tj

100

1

1

10

10

2

counterexampledj

tj

2

1

1

10

10

2

Minimizing Lateness

46/180

Page 47: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

d5 = 14d2 = 8 d6 = 15d1 = 6 d4 = 9d3 = 9

max lateness = 1

Sort n jobs by deadline so that d1 d2 … dn

t 0

for j = 1 to nAssign job j to interval [t, t + tj]sj t, fj t + tjt t + tj

output intervals [sj, fj]

Minimizing Lateness

Earliest deadline first.

47/180

Page 48: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

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.

48/180

Page 49: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-1215:36:19

Greedy Algorithm Strategies

Heuristic Strategies followed solution which is the best for the moment.

Can we always know whether a greedy algorithm will solve a particular optimization

problem or not ? Two vital properties

Greedy-choice property a globally optimal solution can be arrived from a locally

optimal choice. algorithm proceeds in a top down fashion – reducing the

given problem instance into smaller ones

Optimal Sub-structure property an optimal solution to a problem contains within it other

optimal solutions to smaller subproblems

49/180

Page 50: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-12 50/180

Page 51: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-12 51/180

Page 52: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-12 52/180

Page 53: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-12 53/180

Page 54: Main Greedy Mid Sem 2011

15:36:19 Mr D C Jinwala, Algorithms Analysis and Design, B Tech III(CO) - 5th Semester, SVNIT, 2011-12 54/180