greedy algorithms
play

Greedy Algorithms Algorithm Theory WS 2013/14 Fabian Kuhn Greedy - PowerPoint PPT Presentation

Chapter 2 Greedy Algorithms Algorithm Theory WS 2013/14 Fabian Kuhn Greedy Algorithms No clear definition, but essentially: In each step make the choice that looks best at the moment! Depending on problem, greedy algorithms can give


  1. Chapter 2 Greedy Algorithms Algorithm Theory WS 2013/14 Fabian Kuhn

  2. Greedy Algorithms • No clear definition, but essentially: In each step make the choice that looks best at the moment! • Depending on problem, greedy algorithms can give – Optimal solutions – Close to optimal solutions – No (reasonable) solutions at all • If it works, very interesting approach! – And we might even learn something about the structure of the problem Goal: Improve understanding where it works (mostly by examples) Algorithm Theory, WS 2013/14 Fabian Kuhn 2

  3. Interval Scheduling • Given: Set of intervals, e.g. [0,10],[1,3],[1,4],[3,5],[4,7],[5,8],[5,12],[7,9],[9,12],[8,10],[11,14],[12,14] [0,10] [0,10] [11,14] [11,14] [1,3] [1,3] [4,7] [4,7] [7,9] [7,9] [9,12] [9,12] [1,4] [1,4] [5,8] [5,8] [8,10] [8,10] [12,14] [12,14] [3,5] [3,5] [5,12] [5,12] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 • Goal: Select largest possible non ‐ overlapping set of intervals – Overlap at boundary ok, i.e., [4,7] and [7,9] are non ‐ overlapping • Example: Intervals are room requests; satisfy as many as possible Algorithm Theory, WS 2013/14 Fabian Kuhn 3

  4. Greedy Algorithms • Several possibilities… Choose first available interval: [0,10] [0,10] [11,14] [11,14] [1,3] [1,3] [4,7] [4,7] [7,9] [7,9] [9,12] [9,12] [1,4] [1,4] [5,8] [5,8] [8,10] [8,10] [12,14] [12,14] [3,5] [3,5] [5,12] [5,12] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Choose shortest available interval: [1,7] [1,7] [8,14] [8,14] [6,9] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Algorithm Theory, WS 2013/14 Fabian Kuhn 4

  5. Greedy Algorithms Choose available request with earliest finishing time: [0,10] [0,10] [11,14] [11,14] [11,14] [11,14] [1,3] [1,3] [1,3] [1,3] [4,7] [4,7] [7,9] [7,9] [9,12] [9,12] [1,4] [1,4] [5,8] [5,8] [5,8] [5,8] [8,10] [8,10] [8,10] [8,10] [12,14] [12,14] [3,5] [3,5] [3,5] [3,5] [5,12] [5,12] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 � ≔ set of all requests; � ≔ empty set; while � is not empty do choose � ∈ � with smallest finishing time add � to � delete all requests from � that are not compatible with � // � is the solution end Algorithm Theory, WS 2013/14 Fabian Kuhn 5

  6. Earliest Finishing Time is Optimal • Let � be the set of intervals of an optimal solution • Can we show that � � � ? – No… [0,10] [0,10] [11,14] [11,14] [1,3] [1,3] [4,7] [4,7] [7,9] [7,9] [9,12] [9,12] [1,4] [1,4] [5,8] [5,8] [8,10] [8,10] [12,14] [12,14] [3,5] [3,5] [5,12] [5,12] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Greey Solution Greey Solution Alternative Optimal Sol. Alternative Optimal Sol. • Show that � � � . Algorithm Theory, WS 2013/14 Fabian Kuhn 6

  7. Greedy Stays Ahead • Greedy Solution: � � , � � , � � , � � , … , � � , � � , where � � � � ��� • Optimal Solution: ∗ , … , � � ∗ , � � ∗ � � ��� ∗ , � � ∗ ∗ ∗ , � � ∗ , � � � � , where � � ∗ � ∞ for � � |�| • Assume that � � � ∞ for � � |�| and � � ∗ Claim: For all � � 1 , � � � � � [0,10] [0,10] [11,14] [11,14] [1,3] [1,3] [4,7] [4,7] [7,9] [7,9] [9,12] [9,12] [1,4] [1,4] [5,8] [5,8] [8,10] [8,10] [12,14] [12,14] [3,5] [3,5] [5,12] [5,12] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Algorithm Theory, WS 2013/14 Fabian Kuhn 7

  8. Greedy Stays Ahead ∗ Claim: For all � � 1 , � � � � � Proof (by induction on � ): Corollary: Earliest finishing time algorithm is optimal. Algorithm Theory, WS 2013/14 Fabian Kuhn 8

  9. Weighted Interval Scheduling Weighted version of the problem: • Each interval has a weight • Goal: Non ‐ overlapping set with maximum total weight Earliest finishing time greedy algorithm fails: • Algorithm needs to look at weights • Else, the selected sets could be the ones with smallest weight… No simple greedy algorithm: • We will see an algorithm using another design technique later. Algorithm Theory, WS 2013/14 Fabian Kuhn 9

  10. Interval Partitioning • Schedule all intervals : Partition intervals into as few as possible non ‐ overlapping sets of intervals – Assign intervals to different resources, where each resource needs to get a non ‐ overlapping set • Example: – Intervals are requests to use some room during this time – Assign all requests to some room such that there are no conflicts – Use as few rooms as possible • Assignment to 3 resources: [1,3] [1,3] [4,7] [4,7] [9,12] [9,12] [1,4] [1,4] [5,8] [5,8] [9,11] [9,11] [12,14] [12,14] [2,4] [2,4] [5,12] [5,12] Algorithm Theory, WS 2013/14 Fabian Kuhn 10

  11. Depth Depth of a set of intervals: • Maximum number passing over a single point in time • Depth of initial example is 4 (e.g., [0,10],[4,7],[5,8],[5,12]): [0,10] [0,10] [11,14] [11,14] [1,3] [1,3] [4,7] [4,7] [7,9] [7,9] [9,12] [9,12] [1,4] [1,4] [5,8] [5,8] [8,10] [8,10] [12,14] [12,14] [3,5] [3,5] [5,12] [5,12] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Lemma: Number of resources needed � depth Algorithm Theory, WS 2013/14 Fabian Kuhn 11

  12. Greedy Algorithm Can we achieve a partition into “depth” non ‐ overlapping sets? • Would mean that the only obstacles to partitioning are local… Algorithm: • Assigns labels 1, … to the sets; same label  non ‐ overlapping sort intervals by starting time: � � , � � , … , � � 1. for � � 1 to � do 2. assign smallest possible label to � � 3. (possible label: different from conflicting intervals � � , � � � ) 4. end Algorithm Theory, WS 2013/14 Fabian Kuhn 12

  13. Interval Partitioning Algorithm Example: • Labels: [0,10] [0,10] [0,10] [0,10] [0,10] [0,10] [11,14] [11,14] [11,14] [11,14] [1,3] [1,3] [1,3] [1,3] [4,7] [4,7] [4,7] [4,7] [7,9] [7,9] [7,9] [7,9] [9,12] [9,12] [9,12] [9,12] [1,4] [1,4] [1,4] [1,4] [5,8] [5,8] [5,8] [5,8] [8,10] [8,10] [8,10] [8,10] [12,14] [12,14] [12,14] [12,14] [3,5] [3,5] [3,5] [3,5] [5,12] [5,12] [5,12] [5,12] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 • Number of labels = depth = 4 Algorithm Theory, WS 2013/14 Fabian Kuhn 13

  14. Interval Partitioning: Analysis Theorem: a) Let � be the depth of the given set of intervals. The algorithm assigns a label from 1, … , � to each interval. b) Sets with the same label are non ‐ overlapping Proof: • b) holds by construction • For a): – All intervals � � , � � � overlapping with � � , overlap at the beginning of � � – At most � � 1 such intervals  some label in �1, … , �� is available. Algorithm Theory, WS 2013/14 Fabian Kuhn 14

  15. Traveling Salesperson Problem (TSP) Input: • Set � of � nodes (points, cities, locations, sites) • Distance function �: � � � → � , i.e., ���, �� : dist. from � to � • Distances usually symmetric, asymm. distances  asymm. TSP Solution: • Ordering/permutation � � , � � , … , � � of nodes ��� • Length of TSP path: ∑ � � � , � ��� ��� ��� • Length of TSP tour: � � � , � � � ∑ � � � , � ��� ��� Goal: • Minimize length of TSP path or TSP tour Algorithm Theory, WS 2013/14 Fabian Kuhn 15

  16. Example 1 Optimal Tour: 32 Length: 86 3 9 10 33 4 13 3 Greedy Algorithm ? 2 6 2 Length: 121 1 3 17 9 19 8 2 1 20 18 21 Algorithm Theory, WS 2013/14 Fabian Kuhn 16

  17. Nearest Neighbor (Greedy) • Nearest neighbor can be arbitrarily bad, even for TSP paths 1 2 2 1 2 1000 Algorithm Theory, WS 2013/14 Fabian Kuhn 17

  18. TSP Variants • Asymmetric TSP – arbitrary non ‐ negative distance/cost function – most general, nearest neighbor arbitrarily bad – NP ‐ hard to get within any bound of optimum • Symmetric TSP – arbitrary non ‐ negative distance/cost function – nearest neighbor arbitrarily bad – NP ‐ hard to get within any bound of optimum • Metric TSP – distance function defines metric space: symmetric, non ‐ negative, triangle inequality: � �, � � � �, � � ���, �� – possible to get close to optimum (we will later see factor � � ⁄ ) – what about the nearest neighbor algorithm? Algorithm Theory, WS 2013/14 Fabian Kuhn 18

  19. Metric TSP, Nearest Neighbor Optimal TSP tour: 1 12 3 1.7 Nearest ‐ Neighbor TSP tour: 4 1.3 7 2.1 1.1 0.8 3.1 5 2 4.0 2.1 1.9 11 9 1.2 3.4 1.3 6 8 10 Algorithm Theory, WS 2013/14 Fabian Kuhn 19

  20. Metric TSP, Nearest Neighbor Optimal TSP tour: 1 12 3 Nearest ‐ Neighbor TSP tour: cost = 24 1.3 4 7 2.1 1.7 0.8 2.1 5 2 1.9 1.1 3.1 1.3 11 9 4.0 1.2 3.4 6 8 10 Algorithm Theory, WS 2013/14 Fabian Kuhn 20

  21. Metric TSP, Nearest Neighbor Triangle Inequality: optimal tour on remaining nodes 12 � 7 overall optimal tour 1.7 2.1 3.1 1.3 11 9 3.4 10 Algorithm Theory, WS 2013/14 Fabian Kuhn 21

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend