discussion midterm exam
play

Discussion Midterm Exam Algorithm Theory WS 2013/14 Fabian Kuhn P1: - PowerPoint PPT Presentation

Discussion Midterm Exam Algorithm Theory WS 2013/14 Fabian Kuhn P1: Maximum Subarray Sum (18pt) Algorithm Theory, WS 2013/14 Fabian Kuhn 2 P1: Maximum Subarray Sum (18pt) Divide & Conquer Split array in two parts (left & right):


  1. Discussion Midterm Exam Algorithm Theory WS 2013/14 Fabian Kuhn

  2. P1: Maximum Subarray Sum (18pt) Algorithm Theory, WS 2013/14 Fabian Kuhn 2

  3. P1: Maximum Subarray Sum (18pt) Divide & Conquer • Split array � in two parts (left & right): • Optimal subinterval can have 3 forms: • Cases 1 & 2: get from recursive calls on left and right half • Case 3: – Find best subarrays of left/right part starting at right/left end of part – Only need to check ���� cases ⟹ time ���� Algorithm Theory, WS 2013/14 Fabian Kuhn 3

  4. P1: Maximum Subarray Sum (18pt) Divide & Conquer Analysis • Array � of length � ⁄ . 1. Divide into two parts of length � 2 2. Solve recursively on the two parts 3. Find optimal interval for Case 3 in � � time ⁄ • Recurrence relation: � � � 2� � 2 � ���� • Same recurrence relation as merge sort, closest pair of points, number of inversions, … ⟹ time: � � � � � log � Algorithm Theory, WS 2013/14 Fabian Kuhn 4

  5. P1: Maximum Subarray Sum (18pt) Fast Divide & Conquer • Recursively compute best intervals of the following 4 forms: • Combine in ��1� time: 1. 2. 3. 4. Algorithm Theory, WS 2013/14 Fabian Kuhn 5

  6. P1: Maximum Subarray Sum (18pt) Fast Divide & Conquer Analysis • Array � of length � ⁄ . 1. Divide into two parts of length � 2 2. Solve all 4 cases recursively on the two parts 3. Find optimal intervals for all 4 cases in time ��1� • Recurrence relation: ⁄ � � � 2� � 2 � � ⁄ � 4� � 4 � 2� � � ⁄ � 8� � 8 � 4� � 2� � � � � ⋅ � 1 � � ⋅ � ⟹ time: � � � � � Algorithm Theory, WS 2013/14 Fabian Kuhn 6

  7. P1: Maximum Subarray Sum (18pt) Dynamic Programming Solution • For all � ∈ 1, … , � : ���� : value of best interval ending at ���� • Recursive formulation: � � � max � � , � � � 1 � � � • Compute all � � in time � � – sum of optimal interval is max � � � • Get indexes of best interval in the obvious way – Store for each � � also where the best interval ending at � starts Algorithm Theory, WS 2013/14 Fabian Kuhn 7

  8. P2: Exponentiating Polynomials (13pt) Simplest solution: 1. Convert ���� into point ‐ value repr. using the DFT alg. � � for all � � 0, … , � � 1 (and appropriate � ) – Gives ��� � 2. Compute � � ��� in point ‐ value repr.: � � � � � � � � � � � 3. Convert back to coefficient representation using the inverse DFT alg. Time: ��� ⋅ ��� �� … but what is � ? Algorithm Theory, WS 2013/14 Fabian Kuhn 8

  9. P2: Exponentiating Polynomials (13pt) Time: ��� ⋅ ��� �� … but what is � ? • If the degree of the polynomial � � ��� is � , � has to be at least � � 1 • Degree of � � � is � ⋅ � – Hence: � � �� � 1 • Time: � �� ⋅ ��� �� Algorithm Theory, WS 2013/14 Fabian Kuhn 9

  10. P2: Exponentiating Polynomials (13pt) Alternative Solution • Compute � � � � p � ℓ ��� as � � � � � ℓ � � � � ⋯ • Square the polynomial ℓ � log � times • Degree after squaring � times: � ⋅ 2 � • Time for � �� squaring: � � ⋅ 2 � ⋅ log �2 � � 2 � ⋅ � � ⋅ log �� Algorithm Theory, WS 2013/14 Fabian Kuhn 10

  11. P2: Exponentiating Polynomials (13pt) Alternative Solution • Square the polynomial ℓ � log � times • Time for � �� squaring: � � ⋅ 2 � ⋅ log �2 � � 2 � ⋅ � � ⋅ log �� • Total time: ℓ ⋅ � � � � � ⋅ ��� �� � � �� ⋅ ��� �� ��� Algorithm Theory, WS 2013/14 Fabian Kuhn 11

  12. P3: Placing Radio Signal Antennas (27 pt) Algorithm Theory, WS 2013/14 Fabian Kuhn 12

  13. P3: Placing Radio Signal Antennas (27 pt) Greedy Algorithm • Place antennas as far to the right as possible: – First antenna at position � � � � (first house needs to be covered) – Let � be the first house that’s not covered by the first antenna – Place antenna at position � � � � – etc. Algorithm Theory, WS 2013/14 Fabian Kuhn 13

  14. P3: Placing Radio Signal Antennas (27 pt) Greedy Algorithm (formally) • Position of � �� antenna: � � • Define for each � � 1,2, … � � ≔ 1, � � ≔ min � � � � ��� � � for � � 1 � • Position of � �� antenna: � � ≔ � � � � � Algorithm Theory, WS 2013/14 Fabian Kuhn 14

  15. P3: Placing Radio Signal Antennas (27 pt) Greedy Algorithm Example � � � � � � � � � � � � � � � � � � � � � � Optimality • Show : In any solution, � �� antenna has position � � � • Follows by induction because – Induction hypothesis: first � � 1 antennas do not cover house at � � � – House at � � � needs to be covered! Algorithm Theory, WS 2013/14 Fabian Kuhn 15

  16. P3: Placing Radio Signal Antennas (27 pt) • Greedy algorithm does not work any more • Use dynamic programming! • Observation: – can shift last antenna such that its range ends at position � � (last house) – Can shift every antenna to the left such that its coverage ends at a house Algorithm Theory, WS 2013/14 Fabian Kuhn 16

  17. P3: Placing Radio Signal Antennas (27 pt) • Observation: – can shift last antenna such that its range ends at position � � (last house) – Can shift every antenna to the left such that its coverage ends at a house • Define ��� � : opt. cost to cover � � , … , � � – Can assume that coverage of last antenna ends at � � – Two cases: Last antenna has reach � : 1. Last antenna has reach 3� : 2. Algorithm Theory, WS 2013/14 Fabian Kuhn 17

  18. P3: Placing Radio Signal Antennas (27 pt) • ��� � : opt. cost to cover � � , … , � � • Define functions ���� and � � � � � ≔ max � � � � � � 2� � � � � ≔ max � � � � � � 6� � • Recursive definition for ��� � ��� � � �, ��� � � ��� ��� � � � �, ��� � � � � � � Algorithm Theory, WS 2013/14 Fabian Kuhn 18

  19. P3: Placing Radio Signal Antennas (27 pt) • Recursive definition for ��� � ��� � � �, ��� � � ��� ��� � � � �, ��� � � � � � � Dynamic programming algorithm • Compute ������ for all � � 1, … , � (in that order) • Need to have ���� and � ���� – Binary search: � log � time for each ���� and � ���� – All ���� and � ���� can also be computed in time ���� – Left as an exercise ; ‐ ) Algorithm Theory, WS 2013/14 Fabian Kuhn 19

  20. P4: Binomial Heaps (18pt) min � � , � � � , � � � , � � � , � � � , � � � , �� � � , � � � , � � � , �� Algorithm Theory, WS 2013/14 Fabian Kuhn 20

  21. P4: Binomial Heaps (18pt) min • delete ‐ min � � , � � � , � � � , � � � , � � � , � � � , � � � , � � � , � � � , �� Algorithm Theory, WS 2013/14 Fabian Kuhn 21

  22. P4: Binomial Heaps (18pt) • Idea: just have a global variable � with an offset for all keys • Problem: merge operation! – Merging two heaps with different offsets is very expensive • Change idea: have an offset for every node • Problem: add ‐ value operation becomes very expensive • Combine ideas: Have an offset for every subtree (stored at root) – One value per node, but – Changing offset for all nodes: just change root list ( � log � nodes) Algorithm Theory, WS 2013/14 Fabian Kuhn 22

  23. P4: Binomial Heaps (18pt) Solution: Offset for each subtree • Key of a node � can be obtained by: – Key stored at node � plus sum of offsets on path to root Algorithm Theory, WS 2013/14 Fabian Kuhn 23

  24. P4: Binomial Heaps (18pt) Solution: Offset for each subtree • Link operation Algorithm Theory, WS 2013/14 Fabian Kuhn 24

  25. P5: Amortized Analysis (14pt) Algorithm Theory, WS 2013/14 Fabian Kuhn 25

  26. P5: Amortized Analysis (14pt) Φ � ≔ � � log � � � log � � �∈� � : � �� Algorithm Theory, WS 2013/14 Fabian Kuhn 26

  27. P5: Amortized Analysis (14pt) Φ � ≔ � � log � � � log � � �∈� � : � �� Algorithm Theory, WS 2013/14 Fabian Kuhn 27

  28. P5: Amortized Analysis (14pt) Φ � ≔ � � log � � � log � � �∈� � : � �� Algorithm Theory, WS 2013/14 Fabian Kuhn 28

  29. P5: Amortized Analysis (14pt) Φ � ≔ � � log � � � log � � �∈� � : � �� Algorithm Theory, WS 2013/14 Fabian Kuhn 29

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