GREEDY ALGORITHM
• APROBLEM-SOLVING APPROACH THAT BUILDS A SOLUTION STEP BY
STEP.
• AT EACH STEP, THE ALGORITHM PICKS THE BEST AVAILABLE OPTION.
• WORKS WHEN LOCAL CHOICES LEAD TO A GLOBALLY BEST SOLUTION.
• FASTER AND SIMPLER THAN DYNAMIC PROGRAMMING IN MANY
CASES.
• EXAMPLES: ACTIVITY SELECTION, HUFFMAN CODING, KRUSKAL’S MST.
3.
KEY FEATURES
• GREEDY-CHOICEPROPERTY: CHOOSING THE LOCALLY BEST IS SAFE.
• OPTIMAL SUBSTRUCTURE: OPTIMAL SOLUTION CAN BE BUILT FROM
OPTIMAL SUBPROBLEMS.
• EFFICIENT: OFTEN WORKS IN O(N LOG N) OR O(N).
• NOT ALWAYS CORRECT: ONLY WORKS ON PROBLEMS THAT FIT
GREEDY STRUCTURE.
4.
ACTIVITY SELECTION PROBLEM
•WE HAVE ACTIVITIES WITH START AND FINISH TIMES.
• GOAL: SELECT MAXIMUM ACTIVITIES WITHOUT OVERLAP.
• EXAMPLE:
• ACTIVITIES: (1,4), (3,5), (0,6), (5,7), (8,9).
• GREEDY SOLUTION: PICK EARLIEST FINISHING (1,4), (5,7), (8,9).
→
5.
WHY GREEDY WORKS?
•GREEDY-CHOICE PROPERTY HOLDS: PICKING EARLIEST FINISHING
LEAVES SPACE FOR OTHERS.
• OPTIMAL SUBSTRUCTURE: REMAINING PROBLEM IS SMALLER VERSION
OF SAME TASK.
• SO GREEDY GIVES THE MAXIMUM NUMBER OF ACTIVITIES.
6.
ELEMENTS OF GREEDYSTRATEGY
• 1. GREEDY-CHOICE PROPERTY: MAKING ONE LOCAL CHOICE IS
ALWAYS SAFE.
• 2. OPTIMAL SUBSTRUCTURE: REMAINING PROBLEM IS SIMILAR TO
ORIGINAL.
• 3. ITERATIVE APPROACH: KEEP APPLYING LOCAL BEST CHOICE UNTIL
DONE.
7.
HUFFMAN CODING
• AGREEDY METHOD USED FOR DATA COMPRESSION.
• ASSIGN SHORTER CODES TO MORE FREQUENT CHARACTERS.
• ASSIGN LONGER CODES TO LESS FREQUENT CHARACTERS.
• ENSURES MINIMUM TOTAL STORAGE LENGTH OF ENCODED DATA.
8.
HUFFMAN CODING EXAMPLE
•CHARACTERS: A(5), B(9), C(12), D(13), E(16), F(45).
• COMBINE LOWEST FREQUENCIES BUILD BINARY TREE.
→
• RESULT: F GETS SHORTEST CODE, A GETS LONGEST.
• USED IN ZIP, JPEG, MP3 COMPRESSION.
9.
MATROIDS AND GREEDYMETHODS
• MATROID = MATHEMATICAL STRUCTURE GENERALIZING
INDEPENDENCE.
• HELPS IN PROVING GREEDY CORRECTNESS.
• EXAMPLE: INDEPENDENT SETS IN VECTOR SPACES, SPANNING TREES IN
GRAPHS.
• IF A PROBLEM FITS MATROID STRUCTURE, GREEDY ALGORITHM
ALWAYS WORKS.
10.
TASK SCHEDULING PROBLEM
•WE HAVE MULTIPLE TASKS WITH DEADLINES AND PROFITS.
• GOAL: MAXIMIZE PROFIT BY FINISHING TASKS BEFORE DEADLINES.
• GREEDY METHOD: CHOOSE MOST PROFITABLE TASKS FIRST.
• MATROID THEORY PROVES GREEDY ALWAYS GIVES THE BEST
SOLUTION HERE.
11.
ADVANTAGES & LIMITATIONS
•ADVANTAGES:
• - SIMPLE AND EASY TO IMPLEMENT.
• - OFTEN VERY FAST (O(N LOG N)).
• - WORKS WELL FOR MANY OPTIMIZATION PROBLEMS.
• LIMITATIONS:
• - DOES NOT ALWAYS GUARANTEE GLOBAL OPTIMUM.
• - ONLY WORKS IF GREEDY-CHOICE PROPERTY HOLDS.