Greedy Method
Greedy Method
Prepared by
Mrs.P.Anusha M.Sc(IT).,M.Phil.,D.P.T.T.,(Ph.D).,
Assistant professor,
Department of Information Technology,
Bon secours college for women,
Thanjavur.
GREEDY METHOD
Greedy Method
• General Approach
• Given a set of n inputs
• Find a subset called feasible solution of the n inputs
subject to some constraints and satisfying a given
objective function
• If the objective function is maximized or minimized the
feasible solution is optimal
• It is locally optimal method
Components of Greedy Algorithm
Greedy algorithms have the following five components −
• A candidate set − A solution is created from this set.
• A selection function − Used to choose the best candidate
to be added to the solution.
• A feasibility function − Used to determine whether a
candidate can be used to contribute to the solution.
• An objective function − Used to assign a value to a
solution or a partial solution.
• A solution function − Used to indicate whether a complete
solution has been reached.
Greedy method control Abstraction for the subset paradigm
Algorithm
• Step 1: Choose an input from the input set, based on some
criterion. If no more input exit.
• Step 2 : Check whether the chosen input yields to a feasible
solution. If no, discard the input and go to step 1
• Step 3 : Include the input into the solution vector and
update the objective function. Go to step 1.
Optimal Storage on Tapes
• There are n programs that are to be stored on a computer tape
of length L. Associated with each program i is length Li
• Assume the tape is initially positioned at the front. If the
programs are stored in the order I = i1,i2…in the time tj needed
to retrieve program ij
• If all programs are retrieved equally often, then the
Mean Retrieval Time (MRT) =
• This problem fits the ordering paradigm. Minimizing the MRT
is equivalent to minimizing
• d(I) =
Example:
• Let n = 3, (L1, L2, L3) = (5, 10, 3) 6 possible orderings. The
optimal is 3,1,2.
Assigning programs to tapes
Job Sequencing with Deadlines
Problem Statement
• In job sequencing problem, the objective is to find a sequence of
jobs, which is completed within their deadlines and gives
maximum profit.
Solution
• Let us consider, a set of n given jobs which are associated with
deadlines and profit is earned, if a job is completed by its deadline.
• These jobs need to be ordered in such a way that there is maximum
profit.
• It may happen that all of the given jobs may not be completed
within their deadlines.
• Assume, deadline of ith job Ji is di and the profit received from
Example
• Let us consider a set of given jobs as shown in the following table.
• We have to find a sequence of jobs, which will be completed within
their deadlines and will give maximum profit.
• Each job is associated with a deadline and profit.
Job J1 J2 J3 J4 J5
Deadline 2 1 3 2 1
Profit 60 100 20 40 20
Solution
• To solve this problem, the given jobs are sorted according to their
profit in a descending order.
• Hence, after sorting, the jobs are ordered as shown in the
following table.
Job J2 J1 J4 J3 J5
Deadline 1 2 2 3 1
Profit 100 60 40 20 20
• From this set of jobs, first we select J2, as it can be completed
within its deadline and contributes maximum profit.
• Next, J1 is selected as it gives more profit compared to J4.
• Thus, the solution is the sequence of jobs (J2, J1, J3), which are
being executed within their deadline and gives maximum profit.
• Total profit of this sequence is 100 + 60 + 20 = 180.
Optimal Merge Pattern
Problem Statement
• Merge a set of sorted files of different length into a single
sorted file.
• We need to find an optimal solution, where the resultant file
will be generated in minimum time.
• If the number of sorted files are given, there are many ways
to merge them into a single sorted file. This merge can be
performed pair wise. Hence, this type of merging is called
as 2-way merge patterns.
• As, different pairings require different amounts of time, in
this strategy we want to determine an optimal way of
merging many files together.
• At each step, two shortest sequences are merged.
• To merge a p-record file and a q-record file requires
possibly p + q record moves, the obvious choice being,
merge the two smallest files together at each step.
• Two-way merge patterns can be represented by binary merge
trees. Let us consider a set of n sorted files {f1, f2, f3, …, fn}.
• Initially, each element of this is considered as a single node
binary tree.
• To find this optimal solution, the following algorithm is used.
• At the end of this algorithm, the weight of the root node
represents the optimal cost.
Example
• Let us consider the given files, f1, f2, f3, f4 and f5 with 20,
30, 10, 5 and 30 number of elements respectively.
• If merge operations are performed according to the
provided sequence, then
• M1 = merge f1 and f2 => 20 + 30 = 50
Step-1
Step-2
Step-3
Step-4