0% found this document useful (0 votes)
52 views

Greedy Method Session 8

The document introduces the greedy method for solving optimization problems. It defines greedy algorithms as making locally optimal choices at each step to approximate a globally optimal solution. The greedy method is described as resulting in feasible but not necessarily optimal solutions. An example coin changing problem is provided. A greedy algorithm for this problem would select the largest remaining coin denomination at each step until the amount owed is reached or no more coins can be added without exceeding it.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views

Greedy Method Session 8

The document introduces the greedy method for solving optimization problems. It defines greedy algorithms as making locally optimal choices at each step to approximate a globally optimal solution. The greedy method is described as resulting in feasible but not necessarily optimal solutions. An example coin changing problem is provided. A greedy algorithm for this problem would select the largest remaining coin denomination at each step until the amount owed is reached or no more coins can be added without exceeding it.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Introduction to Greedy Method

• Introduction
• Optimization Problem – Definition
• The Greedy Method
• Pseudo-code for Greedy Algorithm
• Example: Coin Changing Problem
• A Greedy Solution for Coin Changing Problem
Introduction:
- A greedy algorithm is any algorithm that follows the problem-solving heuristic of making the locally
optimal choice at each stage.
- In many problems,
o a greedy strategy does not usually produce an optimal solution,
o but nonetheless a greedy heuristic may yield locally optimal solutions that approximate a
globally optimal solution in a reasonable amount of time.
Optimization Problem – Definition
An Optimization Problem:
• Given a problem instance, a set of constraints and an objective function.
• Find a feasible solution for the given instance for which the objective function has an optimal
value
• either maximum or minimum depending on the problem being solved.
• A feasible solution satisfies the problem’s constraints
• The constraints specify the limitations on the required solutions.
• For example:
the knapsack problem
the Coin-Change problem

The Greedy Method


Greedy algorithms make good local choices in the hope that they result in an optimal solution.
• They result in feasible solutions.
• Not necessarily an optimal solution.
• A proof is needed to show that the algorithm finds an optimal solution.
• A counter example shows that the greedy algorithm does not provide an optimal solution.

Pseudo-code for Greedy Algorithm:


set Greedy (Set Candidate)
{
solution= new Set( );
while (Candidate.isNotEmpty())
{
next = Candidate.select(); //use selection criteria
//remove from Candidate and return value
if(solution.isFeasible(next)) //constraints satisfied
solution.union( next);
if(solution.solves())
return solution
}
//No more candidates and no solution
return null
}
• select() chooses a candidate based on a local selection criteria, removes it from Candidate, and returns
its value.
• isFeasible() checks whether adding the selected value to the current solution can result in a feasible
solution (no constraints are violated).
• solves() checks whether the problem is solved.

Example: Coin Changing Problem:

A Greedy Solution for Coin Changing Problem:

Input: Set of coins of different denominations, amount-owed


change = {}
while (more coin-sizes && valueof(change) < amount-owed)
Choose the largest remaining coin-size // Selection // feasibility check
while (adding the coin does not make the valueof(change) exceed the amount-owed)
then
add coin to change //check if solved
if(valueof(change) equals amount-owed)
return change
else delete coin-size
return “failed to compute change”

You might also like