Download presentation
1
Approximation Algorithms
Pasi Fränti
2
Approximation algorithms
Optimal algorithm too slow Heuristic algorithm too uncertain Provide result with guarantee:
3
Bin packing problem Consider a set of bins (capacity 1) and a set of items xi of size wi[0,1]. GOAL: pack the items into as few bins as possible Finding the optimal solution is a NP-hard problem (exponential time)
4
1-approximation algorithm!
Bin packing example Greedy algorithm Items: [0.4, 0.7, 0.5, 0.2, 0.9, 0.6] 0.9 0.9 1.0 0.9 0.7 0.6 0.4 1-approximation algorithm!
5
Traveling Salesman Problem
ASSUMPTION: All pairwise distances exist and they obey triangular inequality: w(a,c) ≤ w(a,b)+w(b,c) GOAL: find the shortest possible route that visits each city once and returns to the origin city Finding optimal route is slow (NP-hard)
6
Approximation algorithm
TSP-appro(V, E) T MST(V, E); R WALK-OF-TREE(T); //depth-first A-B-C-B-H-B-A-D-E-F-E-G-E-D-A S SHORTCUTS(R); // skip redundant A-B-C-H-D-E-F-G-A A D E B F G C H
7
Algorithm example Graph with N=8 nodes
F H C B 7
8
Algorithm example Minimum spanning tree
2 A D E G F H C B 11.9 2 2 2 2 2 5 8
9
Algorithm example Tree traversal
2 A D E G F H C B 23.8 2 2 2 2 2 2 2 2 2 2 5 2 5 A-B-C-B-H-B-A-D-E-F-E-G-E-D-A 9
10
Algorithm example Shortcuts
D E G F H C B 19.1 20 2 2 2 17 2 2 5 A-B-C-B-H-B-A-D-E-F-E-G-E-D-A 10
11
Algorithm example Final result
D E G F H C B 19.1 A-B-C-H-D-E-F-G-A 11
12
Analysis of error bound 1-approximation algorithm
Tree traversal includes all edges twice: Cutting one link from TSP is spanning tree, but not necessarily the minimum: Tree traversal includes all edges twice:
13
Christofides algorithm
Christofides(V, E) T MST(V, E); Find Euler tour: D FindOddNodes(T); M PerfectMatch(D); H T+M; R EulerTour(H); S SHORTCUTS(R);
14
Christofides example Minimum spanning tree
2 A D E G F H C B 11.9 2 2 2 2 2 5 14
15
Christofides example Detect the nodes with odd degree
B 15
16
Christofides example Matching the nodes
B 2 2 5 16
17
Christofides example Merging MST and the matching
B 17
18
Christofides example Euler tour
2 A D E G F H C B 17.0 2 2 2 2 2 2 5 2 5 A-B-C-B-H-F-E-G-E-D-A 18
19
Christofides example Shortcuts
2 A D E G F H C B 15.5 2∙2 2 2 2 2 5 5 A-B-C-B-H-F-E-G-E-D-A 19
20
Christofides example Shortcuts
G F H C B 20
21
Error bounds for Christofides MST + Matching
Christofides produces TSP which is at most 50% longer than the optimum: Proof: The algorithm combines MST with the minimum-weight perfect matching: Shortcuts can only shorten the tour. 21
22
Error bounds for Christofides Links from matching
Let v1, v2, …, v2m be the odd nodes of T. Skipping the rest of the nodes in TSP gives path that consists of two matchings: M1 ={(v1, v2), …, (v2m-1, v2m)} M2 ={(v2, v3), …, (v2m, v1)} Odd nodes Due to optimality of matching: TSP v1 v2 v3 v4 v2m v2m-1 … Links complementing tour Links from matching
23
Error bounds for Christofides 0.5-approximation algorithm
Cutting one link from TSP is spanning tree, but not necessarily the minimum: Combining this with the matching: Thus we have:
24
Empty space for notes
25
Pseudo polynomial knapsack
Input: Weight of N items {w1, w2, ..., wn} Cost of N items {c1, c2, ..., cn} Knapsack limit s Goal: Select for knapsack: {x1,x2,…xn} so that Problem is NP hard Pseudo polynomial solution exist Used for approximation algorithm
26
Pseudo polynomial knapsack Dynamic programming algorithm
KNAPSACK (c[1,n], w[1,n], s} RETURNS x[1,n] R {(∅,0)} FOR i 1 TO n DO FOR (S,c) R DO IF ΣjS wj+wi ≤ s THEN R R∪{(S∪{i},c+ci)} FOR (S,c), (S’,c) R DO IF ΣjS wj ≤ ΣjS’ wj THEN R R\{(S’,c)} ELSE R R\{(S,c)} (S,c) (S,c’)R for which c’ is max! FOR i1 TO n DO IF iS THEN x[i]1 ELSE x[i]0 RETURN x; Include if item fits in If same cost prune out weaker solution New comby
27
Pseudo polynomial knapsack Time complexity
Sample input: wi={1,1,2,4,12} ci ={1,2,2,10,4} s=15 All combinations: ∅ {1} {2} {1,2} {3} {1,3} {2,3} {1,2,3} … 1 2 3 Time complexity: O(nc) where c = cost of optimal solution …but
28
Approximation algorithm Scaling the input
Original input: Scale down input Modified input: Solve by DP Solve by DP wi ={1,1,2,4,12} ci ={1,2,2,10,4} S =15 wi ={1,1,2,4,12} ci/d ={1,1,1,5,2} S =15
29
Approximation algorithm Error bound
Optimal for original Optimal for scaled ∙ d/d Truncate xi optimal for scaled and thus bigger z ≥ z-1 = c Σyi≤ n
30
Approximation algorithm nd/c-approximation algorithm
Result of algorithm: Optimal result: Revise Choosing d = ε∙c/n, we can get any ε-approximation Value c is not known but upper limited: c ≤ n∙cmax Time complexity: Note:
31
Empty space for notes 1 2 4 A B C D 3 4 1 3 E F ?
32
Acknowledgements Contributions by Sharon Guardado and Pekka T. Kilpeläinen to TSP example and its proof appreciated.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.