This preview shows pages 1–7. Sign up to view the full content.
Greedy Algorithms
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document The Greedy Technique(Method)
The greedy technique
Problems explored
The coin changing problem
Activity selection
Optimization problems
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 in the knapsack problem we require that the
items in the knapsack will not exceed a given weight
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document The Greedy Technique(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.
Pseudocode 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
}
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document Pseudo code for greedy cont.
select
This is the end of the preview. Sign up
to
access the rest of the document.
This document was uploaded on 01/04/2010.
 Spring '09
 Algorithms

Click to edit the document details