GREEDY ALGORITHMS
DETAILED EXPLANATION WITH EXAMPLES
GREEDY ALGORITHM
• A PROBLEM-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.
KEY FEATURES
• GREEDY-CHOICE PROPERTY: 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.
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).
→
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.
ELEMENTS OF GREEDY STRATEGY
• 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.
HUFFMAN CODING
• A GREEDY 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.
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.
MATROIDS AND GREEDY METHODS
• 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.
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.
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.

Greedy_Algorithm_Detailed_Presentation_in_DAA.pptx

  • 1.
  • 2.
    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.