Approximations for hard problems

Post on 14-Jan-2016

32 views 0 download

description

Approximations for hard problems. … just a few examples … what is an approximation algorithm … quality of approximations: from arbitrarily bad to arbitrarily good. Example: Scheduling. Given: n jobs with processing times, m identical machines. - PowerPoint PPT Presentation

Transcript of Approximations for hard problems

Department of Computer Science | Institute of Theoretical Computer Science

Theory of Combinatorial Algorithms Prof. Emo Welzl

• People

• Personnel

• Guests

• Alumni

• Reports

• Current Report

• Previous Reports

• Research

• Grants

• Dissertations

• Master/Bachelor Theses

• Publications 2016

• Publications up to 2015

• Mittagsseminar

• Teaching

• Courses

• Theses + Topics

• Workshops

• current

• previous

• Social Activities

• SOLA

• GREDA

Search ethz.ch

Search Person

, 04/21/23,
HTML: <meta http-equiv="X-UA-Compatible" content="IE=edge">

• GRAPE

??þÿ ??þÿÿÿ<??ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?

?(?? ?®/?� �

0???·DTimes New Roman|°¼?|?d§�

0? &�

0·DSymbolew Roman|°¼?|?d§�

0? &�

0h ·DWingdingsRoman|°¼?|?d§�

0? &�

0h¤ `ÿÿÿÿ¥�

.© @£nÿ?" dd@ÿÿ?ÿÿÿÿÿÿ @@`` H???<); ��

" !"#$%'()*+-.&',0123456789:c ?¿?ÿ?ÿ@?ÿÿÿÿÿ????7ºu?ʚ;2N?ʚ;?gþ?4CdCdd§�� �

0?¬ÿÿÿ ÿÿÿp?pp?@ ?4!d!dg?�

0D?h±¼?4ddddg?

0D?h±¼ÿ?X??????? ? ? ?

? ? ?

? ???????????????? ?!?"?# ?$!?%"?&#?.+?'$?(%?)&?*'?+(?/,?,)?0-?-*?1.?2/?30?41?52?63?74?85?96?:7?;8?<9???? `? ÿÿÿÿÿÿÿÿÿÿ`? ÿÿÿ33??ÿ²²²`? ÿÿÿ333??MMM??`? ÿÿ?ff3333?ÿ?`? ÿÿÿÿ?ÿ????`? � ��� ��� ��� �� � � ���ÿÿÿ??fÿÿ`? ÿÿÿ3ÿÿ???²²²£>ÿ?" dd@ÿÿ?ÿÿÿÿÿÿ,£|ÿ?" dd?@ÿÿ?ÿÿÿÿÿÿ ? " ?@ ?`» £nÿ?" dd@ÿÿ?ÿÿÿÿÿÿ��� � � �� � � � � � � �

@@``P£R @ ` `£�� �

p£>£>�

$? ??? ? ?? ? ??¼¿?ÿ ?°?P??¼ ?¨ Click to edit Master title style¢!ª !? ? ??¿?ÿ ??°???¼ ?¨RClick to edit � � � ��� � � � ��� �� �Master text styles Second level Third level Fourth level Fifth level¢!

ª S? ? ?d?¿?ÿ ?`°`??¼ ?� �� �� � � *¡?ª? ? ?� �� X¿?ÿ ?`°??? X ?�� � � *¡?ª? ? ?`X¿?ÿ ?` ???X ?� �� � � � � *¡?ª? ?

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²² ºDefault Design?O?� �� �

ÿ?0??? ? ??¢

? £ ?$VX¿¿?ÿ??¦ i ?¨ Approximations for hard problems¡!! ?¢� �� �� �

? £ ?TZX¿¿?ÿ?` a ?¨Example: Scheduling¡?¢� �� �� � � �

? £ ??X¿¿?ÿ?@ t, ?¨tGiven: n jobs with processing times, m identical machines. Problem: Schedule so as � �� �� � �to minimize makespan.¡uuª,% ;?¢

? £ ?`X¿¿?ÿ??¦¬ ?�� �� �� � �  & just a few examples & what is an approximation algorithm & quality of approximations: from arbitrarily bad to arbitrarily good? ?

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²???� �� �

w ? @?? ? ? ?

? £ ?đX¿¿?ÿ?j??< ?¨Algorithm: List scheduling Basic idea: In a list of jobs, schedule the next one as soon � �� �� � �as a machine is free¡* g? ? s ?¿?ÿ??@p°? ? s ?¿?ÿ??@ ?? ? ?¿?ÿ? @°?? ? s ?¿?ÿ? @p ? ? s ?¿?ÿ?? P??¢� ��� ��� � ���� ��� ���

? £ ?<X¿¿?ÿ?p9° ?¨a?¢� � �� �� � �

?

£ ?xX¿¿?ÿ?°pD? ?¨b?¢� � �� �� �

?

£ ? �� X¿¿?ÿ??p9? ?¨c?¢�� �� �

?

£ ?£X¿¿?ÿ??pD ?¨d?¢� � �� �� �

?

£ ?¼¥X¿¿?ÿ?°� �� ��  i? ?¨e¡?¢�

?

£ ??¿¿?ÿ?z?c ?¨ machine 1? ? ³ ?,� �� � � � � �� X¿¿?ÿ???m ?¨ machine 4? ? ³ ?t°X¿¿?ÿ???m? ?¨ machine 3? ? ³ ?¼³X¿¿?�� �� � �� �� �� � �� �� ��ÿ?°?m? ?¨ machine 2?¢�

? £ ??¿¿?ÿ?P ?p ?¨ Good or bad ?¡? ?� � � �� �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?x ?� �� �

( ? P??? ? ??¢

? £ ?4½X¿¿?ÿ?j??< ?¨Algorithm: List scheduling Basic idea: In a list of jobs, schedule the next one as � �� �� � �soon as a machine is free¡* g? ? s ?¿?ÿ??@p°? ? s ?¿?ÿ??@ ?? ? ?¿?ÿ? @°?? ? s ?¿?ÿ? @p ? ? s ?¿?ÿ?? � ��� ��� � ���� ��� ���P??¢

? £ ?¬?¿¿?ÿ?p9° ?¨a?¢� �� �� � �

? £ ??X¿¿?ÿ?°pD? ?¨b?¢� �� �� �

? £ ??¿¿?ÿ??p9? ?¨c?¢� � � �� �

? £ ?xFX¿¿?ÿ??pD ?¨d?¢� �� �� �

?

£ ??¿¿?ÿ?°� � �� � �  i? ?¨e¡?¢�

? £ ?D?¿¿?ÿ?z?c ?¨ machine 1? ? ³ ?? ?¨xTheorem: k-center is NP-complete (decision version). Proof: � �� �� � � �� �Vertex cover reduces to dominating set reduces to k-center.¡yy? ?`

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?N?� �� �

þ? ?d?? ? ?d?¢

?d £ ??\¿¿?ÿ? !¤ ?� �� �� � � >Example Problem: k-center. Given: G = (V,E); E = V x V; c(i,j) for all edges (i,j) with i ¹?j; positive integer number k of clusters. Compute set S of k cluster centers, S a subset of V, such that the distance of any point to its closest cluster center is minimum.¡: R??¢�

?d £ ??¿¿?ÿ???>? ?¨xTheorem: k-center is NP-complete (decision version). Proof: Vertex cover reduces � � � �� �to dominating set reduces to k-center.¡yy?¢

?d £ ? ?¿¿?ÿ? ?� � � �� � � � � ?For G=(V,E), find a smallest subset V of V such that every vertex is either itself in V or has a neighbor in V .? ?d ?¿??oÿ?P ???? ?d ?¿??oÿ?p P P ? ?d� ���� � � � ��� �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²???� �� �

? °?h? ? ? ?h?¢�

?h £ ??\¿¿?ÿ???>? ?¨D Proof: Vertex cover reduces to dominating set reduces to k-center.¡EEªD?¢� �� �� �

? h £ ?\?¿¿?ÿ? ?� �� �� � �� � ?For G=(V,E), find a smallest subset V of V such that every vertex is either itself in V or has a neighbor in V .? ? h ?¿??oÿ?P ???? ? h ?¿??oÿ?p P P ?B ?� ���� � � � ��� �

h s ?D¿??oÿ?@@@@?2 ?h ?¿?? ÿ??@p?2 ?h ?¿?? ÿ?@� � � ���� � ����Ԕ Ԕ  p?2 ?h ?¿?? ÿ?0 p?2 ?h ?¿?? ÿ? ?@ ?� � ��� � � � ��� �Ԕ Ԕ2 ?h ?¿?? ÿ?`� ���� Ԕ

?p?B ?h s ?D¿??oÿ?@ `� � �

@?B ?h s ?D¿??oÿ? ??B ?h s ?D¿??oÿ?P@ `� � � �� � �

?2 ?h ?¿??oÿ?° ?2 ?h ?¿??oÿ?� � ��� � � � ���� �   ????B ?h?s ?D¿??oÿ??@� �   ?¢

?h £ ??¿¿?ÿ?ZVz ?¨V C?¢�� � � �� �

?h £ ??\¿¿?ÿ?Z? z ?¨D S? ?h� �� �� � �

?� �������h¿ÿ ??? ÿÿÿ33??ÿ²²²???��� �

???!l?

? ? ?l?¢

?l £ ?4X\¿¿?ÿ???>? ?¨D Proof: Vertex cover reduces to dominating set reduces to k-center.¡EEªD?¢� �� �� �

?l £ ?,?¿¿?ÿ? ?� �� �� � �� � ?For G=(V,E), find a smallest subset V of V such that every vertex is either itself in V or has a neighbor in V .? ?l ?¿??oÿ?P ???? ?l ?¿??oÿ?p P P ?B ?l s ?D¿??oÿ?° ° ?2 ?l ?¿?? ÿ?PP ° °?2 ?l � ���� � � ���� � � � � � � ���� Ԕ ?¿?? ÿ?P° °?2 ?l ?¿??oÿ?°0 ?2 ?l ?¿??oÿ?� � ��� � ���� � � � ���� �Ԕ   ? ??B ?l?s ?D¿??oÿ??P� �   ?¢

?l £ ?´?¿¿?ÿ?Zf z ?¨D S?¢� �� �� �

?l £ ??\¿¿?ÿ?Zz ?¨ k-center?2 ?l ?¿?? ÿ??P ° 0?2 ?l ?¿?? ÿ??° 0?B ?l s ?D¿??oÿ??2 ?l ?¿?? ÿ?P°°?� �� �� � � ���� � � ��� � � �� � � ���Ԕ Ԕ Ԕ2 ?l ?¿?? ÿ?Pp°?B ?l s ?D¿??oÿ??2 ?l ?¿?? ÿ??°0?2 ?l ?¿?? ÿ??p0?¢� ���� � � � ���� � ����Ԕ Ԕ Ԕ

?l £ ?]¿¿?ÿ?zV* ?¨1?¢� �� �� � �

?l £ ?X ]¿¿?ÿ??V* ?¨2?¢� �� � � �

? l £ ? ��

]¿¿?ÿ?J¦ºj ?¨ bound 1?¢�� � � �

?!l £ ?]¿¿?ÿ?V¹� �� �� �   ?¨on cluster radius? ?l�

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?p?� �� �

???p?? ? ?p?¢

?p £ ??]¿¿?ÿ?jF? ?¨®Non-approximability Theorem: Finding a ratio-M-approximation for fixed M is NP-� � � �� �hard for k-center. Proof: Replace 2 in the construction above by more than M.¡ ¯ª? ?p� �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²??� �� �

????t?? ? ?t?¢

?t £ ??]¿¿?ÿ?jF?R ?¨QNon-approximability Theorem: Finding a ratio-M-approximation for fixed M is � �� �� �NP-hard for k-center. Proof: Replace 2 in the construction above by more than M. Theorem: Finding a ratio-less-than-2-approximation is NP-hard for k-center with triangle inequality. Proof: Exactly as in the reduction above.¡R² ª>? ?t

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²???� �� �

???x?? ? ?x?¢�

?x £ ?¸+]¿¿?ÿ?¦?� �� �� �   ?¨YTheorem: A 2-approximation for k-center with triangle inequality exists.¡ZZ? ?x�

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²???� �� �

??|?? ? ?|?¢�

?| £ ?4]¿¿?ÿ?¦?� �� � � � �

? � Theorem: A 2-approximation for k-center with triangle inequality exists. Proof: Gonzalez algorithm. Pick v1 arbitrarily as the first cluster center. Pick v2 farthest from v1. Pick v3 farthest from the closer of v1 and v2. & Pick vi farthest from the closest of the v1,& vi-1. & until vk is picked.¡[/ª| ? ?|�

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?´?� �� �

d???? ? ??¢� �

? £ ?t5X¿¿?ÿ? ? ?� � �� � � � � � ?Example Problem: Traveling salesperson with triangle inequality. Given: G = (V,E); E = V x V; c(i,j) for all edges (i,j) with i ¹?j. Compute a round trip that visits each vertex exactly once and has minimum total cost. Comment: is NP-hard.¡:þ x|? ?� �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?´?� �� �

d???? ? ??¢� �

? £ ??]¿¿?ÿ? ?º ?� � � � �� � � ¾Example Problem: Traveling salesperson with triangle inequality. Given: G = (V,E); E = V x V; c(i,j) for all edges (i,j) with i ¹?j. Compute a round trip that visits each vertex exactly once and has minimum total cost. Approximation algorithm Find a minimum spanning tree. Run around it and take shortcuts to avoid repeated visits.¡T` xlZª?s? ?� �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?«?� �� �

[? ??? ? ?? ? S ??]¿ÿ?°?P??ÿÿÿÿ ] ?¨qApproximation algorithm Find a minimum spanning tree. Run � � � �� � �around it and take shortcuts to avoid repeated visits.¡"rZªq?¢

? £ ?W]¿¿?ÿ???_^ ?¨?Quality ? Theorem: This is a 2-approximation. Proof: (1) OPT-TSP minus 1 edge is � � � � �� �spanning tree. (2) MST is not longer than any spanning tree. (3) APX-TSP <= 2 MST <= 2 ST <= 2 OPT-TSP.¡$? ?? ? �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²??� �� � �

F?0??? ? ??¢� �

? £ ?a]¿¿?ÿ?¦S¶ ?ldº___PPT9F¬> ?� �� � � �� � � � � � Better quality ? Christofides algorithm. Find MST. Find all odd �degree vertices V in MST. Comment: There is an even number of them. Find a minimum cost perfect matching for V in the induced subgraph of G (no even vertices present). Call this M. In MST + M, find an Euler circuit. Take shortcuts in the Euler circuit.¡,20;=HbxH�

ªP¯ B ¦? @` � ? ? �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²??� �� � �

8?@?�?? ? ?�?¢

? £ ?e]¿¿?ÿ?v?� �� � � �� �   ? � ?Theorem: Christofides algorithm is a 1.5-approximation of TSP with triangle inequality.¡iiª R? ?�

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²???� �� �

¤?P??? ? ??¢� �

? £ ?]¿¿?ÿ?v? ?H@º___PPT9"¬ ?� ��� �� � � � � � � � ¢Theorem: Christofides algorithm is a 1.5-approximation of TSP with triangle inequality. Proof: MST <= TSP. M <= TSP / 2 & . as we see soon. 3. Shortcuts make the tour only shorter.¡Br6*j`ª »¦? @` � ? ? �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?¶?� �� �

f?`?´?? ? ?´?¢

?´ £ ?0]¿¿?ÿ?� � �� � �  P?T?XPº___PPT92¬* ?� � � � *Proof of M <= TSP / 2: consider the subgraph induced by odd degree vertices V ; consider TSP restricted to that subgraph, and compare with the sub-TSP(V ) found there: sub-TSP(V ) <= TSP; picking alternate edges in sub-TSP(V ) gives two perfect matchings for V , call them M1 and M2; pick the cheaper of M1, M2, call it M, with M <= TSP / 2.¡H ? ?ª>4 R? ¦? @`� � ? ?´

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²???� �� �

©?p??? ? ??¢� �

? £ ?°]¿¿?ÿ?j¦IR ?xpº___PPT9R¬J ?¨!Notes: Christofides algorithm may be as bad as 1.5 really. It is � � � �� � � � � � �unkown whether this is best possible. For Euclidean TSP, a better bound is known: any quality above 1 can be achieved. For TSP without triangle inequality, no fixed approximation is possible. ¡ a,3< b_V�

ª,

/?¦? @` � ? ? �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²??� �� � �

F???? ? ??¢� � �

? £ ??¿¿?ÿ? N¤ ?� �� � � �� � � ?Example Problem: Set cover. Given: Universe U of elements e1, e2, & , en; collection of subsets S1, S2, & , Sk of U, nonnegative cost per Si. Find a collection of subsets that cover U with minimum cost.¡? ?ª,x(?? ? �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²???� �� �

p?�? ?? ? ? ?¢

?  £ ?°?¿¿?ÿ? N¤ ?� �� � � � � ?Example Problem: Set cover. Given: Universe U of elements e1, e2, & , en; collection of subsets S1, S2, & , Sk of U, nonnegative cost per Si. Find a collection of subsets that cover U with minimum cost.¡? ?ª,x(??¢

?  £ ?¸?¿¿?ÿ?J ? ?¨Idea for an approximation: Repeat greedily choose a best set (cheapest per new covered� �� � � � � element) until all of U is covered.¡? ?��  

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?þ?� �� �

®? ?¤?? ? ?¤?¢

?¤ £ ?L?¿¿?ÿ?jv? ?¨ Quality ?¡ ?¢� �� �� � �

?¤ £ ?x?¿¿?ÿ??v? ?¨YConsider a step in the iteration. The greedy algorithm has selected some of the Sj, � � � �� �with covered C = union of all selected Sj so far. Choose Si in this step. Price per new element in Si is cheapest: price(i) = cost(Si) / (number of new elements of Si) is minimum. Consider the elements in the order they are chosen.ªtQ1(&L? ?¤

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²??� �� �

??°?¨?? ? ?¨?¢

?¨ £ ? ?¿¿?ÿ??mx� � � �� �

? � ?Consider the elements in the order they are chosen, and rename: e1, e2, e3, & ., ek, & . en Consider ek, call the set in which ek is chosen Si. What is the price of ek? Bound the price from above: Instead of Si, the greedy algorithm could have picked any of the sets in OPT that have not been picked yet (there must be one), but at which price? ? compare with the optimum¡$|aªtP +©? ?¨�

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²???� �� �

???¸?? ? ?¸?¢�

?¸ £ ?_¿¿?ÿ??^ ?¨Instead of Si, the greedy algorithm could have picked any of the sets in OPT that have � �� � � � � �not been picked yet (there must be one), but at which price? Take all elements not covered yet, and their total cost will be at most all of OPT. Across all sets in OPT not picked yet, the average cost is therefore at most OPT / size of U-C. Hence, at least one of the sets in OPT not picked yet has at most this average price. This set could have been picked. Hence, the price of ek is at most OPT / size of U-C.ª> ?? ?¸

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?n?� �� �

???¬?? ? ?¬?¢

?¬ £ ??_¿¿?ÿ?:?V ?¨zFor the k-th picked element, the size of U-C is at least n-k+1. Therefore, price(ek) � �� �� �<= OPT / (n-k+1) for each ek. The sum of all prices of ek gives the total cost of the greedy solution: SUM(k=1,..,n) price(ek) <= SUM(k=1,..,n) OPT / (n-k+1) <= OPT SUM(k=1,..,n) 1 / k <= OPT (1 + ln n) ªt EC? ?¬�

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?w?� �� �

'???¼?? ? ?¼?¢

?¼ £ ?<_¿¿?ÿ?:J� �� ��

?¨£Theorem: Greedy set cover gives a (1+ln n)- approximation. Notes: It can really be that bad. That is �also a best possible approximation for set cover.¡2¤<gª%|? ?¼� �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²???� �� �

???°?? ? ?°?¢�

?° £ ??_¿¿?ÿ? ?� � � �� � � � tExample Problem: Knapsack. Given: n objects with weights and values, and weight bound: positive integers w1,w2, & , wn, W (weights, total weight); positive integers v1, v2, & , vn (values). Find a subset of the set of objects with total weight at most W and maximum total value.¡; 2ª,Gp?¢�

?° £ ??_¿¿?ÿ???� � � �� �

? � & is NP-hard? ?°

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?þ?� �� �

®????? ? ???¢

?? £ ??]¿¿?ÿ?P?� �� � � �   ?ª ?¢�

?? £ ?1_¿¿?ÿ?)D ?� � � �� � � � >An exact algorithm for knapsack A 1 2 3 v n vmax 1 2 3 j nª,h( ?B ?? c ?D¿?ÿ??º??�B ?? c ?D¿?ÿ?vªª&?B ?? c ?D¿?ÿ?vjj&?B ?? c ?D¿?ÿ?v* * &?B ?? c ?D¿?ÿ?vJJ&?B ? ? c ?D¿?ÿ?6 º6 ?� � � � �B ? ? c ?D¿?ÿ? º ?B ? ? c ?D¿?ÿ?&?J&?¢� � � �

?

? £ ?¨9_¿¿?ÿ?0?P ?� �� � � � � A(j,v ) = smallest weight subset of objects 1,& ,j with total value =v .? ?? � ?����¿??� ÿ?Ԕ0`?P? ?? ?¿?? ÿ?P ? p ? ??� ���� Ԕ

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²??� �� �

¸????? ? ???¢

?? £ ??_¿¿?ÿ??° ?� �� � � �� � A(j,v ) = smallest weight subset of objects 1,& ,j with total value =v .?¢�

?? £ ?¤D_¿¿?ÿ?ª¶[x ?� �� �� � binductively: A(1,v) = If v = v1 then w1 else infinity A(i+1,v) = min ( A(i,v) , A(i, v v(i+1)) + w(i+1) ) if >= 0 & the result is: max v such that A(n,v) <= W & the runtime is: O(n2 vmax) & . pseudopolynomial¡d2| = ÿþFÿþª>I?? ?? ?¿??oÿ?@`� ���� � �

? ??

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?Y?� �� �

? ???? ? ???¢

?? £ ?S_¿¿?ÿ?:F?? ?¨ pseudopolynomial ? polynomial if numbers are small = value is polynomial in input� � �� � � � � length¡<^ª? ??� �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?§?� �� �

W?0???? ? ???¢

?? £ ?P^_¿¿?ÿ?:F?¤ ?¨? pseudopolynomial ? polynomial if numbers are small = value is polynomial in � �� �� �input length Idea: scale numbers down, i.e., ignore less significant digits.¡*?<`@ª?? ??

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²???� �� �

?@???? ? ???¢�

?? £ ?j_¿¿?ÿ?Z¦z ?H@º___PPT9"¬ ?¨*Approximation algorithm for knapsack (FPTAS) Given error � � �� �� � � � � �bound eps > 0, define K := eps vmax / n . For each object i, define vi := rounded down (vi / K). Use dynamic programming to find optimal solution S for the rounded problem version. 4. Return max (original value for S , vmax).¡n.£Z.RMO ªP@?¦? @` � ? ??

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?¤?� �� �

T?P???? ? ???¢

?? £ ?¸_¿¿?ÿ?j¯V ?� � � � �� � ?Theorem: Let A be the set of objects so computed. Then value(A) >= (1 eps) OPTvalue. ¡jiª,Z? ??

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?V?� �� �

?`???? ? ???¢

?? £ ??¿¿?ÿ?j~ ?� �� � � � ?Theorem: Let A be the set of objects so computed. Then value(A) >= (1 eps) OPTvalue. Proof: Observe the rounding effect: (1) K vi <= vi (2) vi K <= K vi Sum all objects in OPT, with value(OPT) = SUM(I in OPT) vi: value(OPT) K value(OPT) <= K n But: for the rounded values, S is at least as good as OPT¡¬|j>) ª,Z? ??

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²??� �� � �

@?p???? ? ???¢

?? £ ??¿¿?ÿ? ¶J? ?� �� � � � ?But: for the rounded values, S is at least as good as OPT: value(S) >= value(S) K >= value(OPT) K >= value(OPT) K n = value(OPT) eps vmax.¡²? ªbE�

? ??�

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?f?� �� �

????? ? ???¢�

?? £ ?°_¿¿?ÿ? ¶¶? ?� � � � �� � bBut: for the rounded values, S is at least as good as OPT: value(S) >= value(S) K >= value(OPT) K >= value(OPT) K n = value(OPT) eps vmax. But: dynamic programming delivers A (and not necessarily S): value(A) >= value (S) >= value(OPT) eps value(A) & because vmax <= value(A)¡?2 9tjªE� �

q³�

? ??

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?¨?� �� �

X?�???? ? ???¢

?? £ ??¿¿?ÿ? ¶¶ ?� � �� � � � � :But: for the rounded values, S is at least as good as OPT: value(S) >= value(S) K >= value(OPT) K >= value(OPT) K n = value(OPT) eps vmax. But: dynamic programming delivers A (and not necessarily S): value(A) >= value (S) >= value(OPT) eps value(A) & because vmax <= value(A) value(A) >= ( 1 / (1+eps) ) value(OPT) that s all, since ( 1 / (1+eps) ) >= 1 eps .¡*3.?=? ??. ª¼E� � � �

q³)6 ? ??�

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²???� �� �

z? ???? ? ???¢

?? £ ?¸?¿¿?ÿ??v?? ?¨9Theorem: This is a fully polynomial approximation scheme.¡&:%ÿþ?¢� �� � � �

?? £ ??¿¿?ÿ??³? ?¨? = given eps, delivers solution with ratio (1-eps) for max and ratio (1+eps) for min, � � �� � � � �and runs in time polynomial in the input size and (1/eps)ªP "ID? ?? ?¿?ÿ?oÿ??????¢� ���� �

?? £ ?`¿¿?ÿ??¦[?LDº___PPT9&¬� � � �� � � �

?¨?Proof: Quality of the solution: above. Runtime of dynamic programming: O( n2 vmax / K) = O(n2 �rounded down (n / eps)) = O(n3 / eps). Comment: nothing better can exist unless P = NP.¡@³XI 1ª>c"65¦?� @` � ? ??

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²???� �� �

|?°???? ? ???¢

?? £ ?¬`¿¿?ÿ?? ?� �� �� � � � ?Summary Problems in NPO have very different approximability properties: & some are impossible to approximate (k-center, TSP) & some are hard, with a bound depending on the input size (set cover) & some can be approximated with some constant ratio (vertex cover, k-center with triangle inequality, TSP with triangle inequality) & and some can be approximated as closely as you like (knapsack) Approximability has its own hierarchy of complexity classes¡*?´<ª,-,? ??�

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²r?? � ��

?R!$¡1A?JMJU¸\bihlpÿsx±{ԁ¥K?O/� � � � � � � �� ?S1· ??±?¨??>??� � ?K????4?? ?? x� �

???\$ '?-?7?±GN?¯WT<?m� � �

?(?? ?®/?� �

0???·DTimes New Roman|°¼ts New RomanSymbol WingdingsDefault DesignPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationrApproximation algorithm Find a minimum spanning tree. Run around it and take shortcuts to avoid repeated visits.PowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr??,_???jProf. Peter WidmayerProf. Peter Widmayer. 33?sentationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entationPowerPoint-Pr?entation

Verwendete SchriftartenEntwurfsvorlage

FolientitelK .=2 ?P$ what is an approxiÿÿ @@`` p??AV@ � ��

" !"#$%'()*+-.&',0123456789:<=>?@c ?¿?ÿ?ÿ@?ÿÿÿÿÿ????7ºu?ʚ;2N?ʚ;?gþ?4CdCdd§� � �

0h?¬ÿÿÿ ÿÿÿp?pp?@ ?4!d!dg?

0$?h±¼?4ddddg?

0$?h±¼ÿ????????? ? ? ?

? ? ?

? ???????????????? ?!?"?# ?$!?%"?&#?.+?'$?(%?)&?*'?+(?/,?,)?0-?-*?1.?2/?30?41?52?63?74?85?96?:7?;8?<9?=:?>;??<?@=?A>??¬? �

\?????? ? ???¢

?? £ ?(eP¿¿?ÿ??s? ?� � � �� � ?Bin packing Given n items with sizes a1, a2, & . ,an in [0,1] Minimize the number of unit size bins to pack the items.¡$w

k?¢

?? £ ??¿¿?ÿ??F¹4� �� � �

? �̈

Algorithm First Fit (FF) Pack the next item in the leftmost bin that can take it. Quality Out of the m bins that FF uses, at least m-1 are more than half full. (m-1)/2 < sum of all ai <= OPT number of bins m-1 < 2 OPT m <= 2 OPT 2-approximation¡^¡l?:G\ª¶T? ??� � �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?(?� �� �

????? ? ??¢

? £ ?l?¿¿?ÿ? ? ?� �� �� � <Lower bound on the approximation ratio? Theorem: No bin packing approximation algorithm with ratio less than 1.5 exists. Proof: Reduce from PARTITION with a1, a2, & an and bins of size half the sum of all ai. Answer yes if 2 bins are enough, no otherwise. ? approx better than 3/2 must solve exactly. But: Small instances are boring. Large instances, high number of bins?¡8)T£~ª,?nP? ?� �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²rL@ ½?>¯(?A???(?? ?®/?� �� � � � � � �

0???·DTimes New Roman|°¼t?\?d§

0t? &

0·DSymbolew Roman|°¼t?\?d§

0t? &

0h ·DWingdingsRoman|°¼t?\?d§

0t? &

0h¤ `ÿÿÿÿ¥�

.© @£nÿ?" dd@ÿÿ?ÿÿÿÿÿÿ @@`` x??BXA ��

" !"#$%'()*+-.&',0123456789:<=>?@Ac ?¿?ÿ?ÿ@?ÿÿÿÿÿ????7ºu?ʚ;2N?ʚ;?gþ?4CdCdd§�� �

0h?¬ÿÿÿ ÿÿÿp?pp?@ ?4!d!dg?

0$?h±¼?4ddddg?

0$?h±¼ÿ???????? ? ? ?

? ? ?

? ???????????????? ?!?"?# ?$!?%"?&#?.+?'$?(%?)&?*'?+(?/,?,)?0-?-*?1.?2/?30?41?52?63?74?85?96?:7?;8?<9?=:?>;??<?@=?A>?B????� �

L???? ? ??¢

? £ ?° c¿¿?ÿ????LDº___PPT9&¬� � � �� �� � � �

? � Theorem For any e(psilon), 0 < e <= ½, there is an algorithm Ae with runtime polynomial in n that finds a packing with <= (1 + 2 e) OPT + 1 bins. asymptotic PTAS : for any eps > 0 exists N > 0 s.t. approx <= (1 + eps) OPT Proof: The algorithm The quality analysis¡4?#X#ªP%o �

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ��������������������������������� ¡¢£¤¥¦§¨©ª?¬-®¯þÿÿÿ±²³´µ¶·¸¹º»¼½¾¿?????ÿÿ?ÿÿ?þÿÿÿ????????????????????????°þÿÿÿ??????«?????????????????????þ?ÿÿRoot EntryÿÿÿÿÿÿÿÿdO??ª¹)?�� � �  [W2¸{???Current UserÿÿÿÿÿÿÿÿÿÿÿÿW\SummaryInformation(ÿÿÿÿÿÿÿÿd

PowerPoint Document(ÿÿÿÿ?DocumentSummaryInformation8ÿÿÿÿÿÿÿÿÿÿÿÿ2´ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?\?d§

0t? &

0·DSymbolew Roman|°¼t?\?d§

0t? &

0h ·DWingdingsRoman|°¼t?\?d§

0t? &

0h¤ `ÿÿÿÿ¥�

.© @£nÿ?" dd@ÿÿ?ÿÿÿÿÿÿ @@`` `????Q> ��

" !"#$%'()*+-.&',0123456789:<=>c ?¿?ÿ?ÿ@?ÿÿÿÿÿ????7ºu?ʚ;2N?ʚ;?gþ?4CdCdd§�� �

0h?¬ÿÿÿ ÿÿÿp?pp?@ ?4!d!dg?

0$?h±¼?4ddddg?

0$?h±¼ÿ?¬??????? ? ? ?

? ? ?

? ???????????????? ?!?"?# ?$!?%"?&#?.+?'$?(%?)&?*'?+(?/,?,)?0-?-*?1.?2/?30?41?52?63?74?85?96?:7?;8?<9?=:?>;??<??V? �

?`???? ? ???¢

?? £ ??¿¿?ÿ?js ?� �� � � � ?Theorem: Let A be the set of objects so computed. Then value(A) >= (1 eps) OPTvalue. Proof: Observe the rounding effect: (1) K vi <= vi (2) vi K <= K vi Sum all objects in OPT, with value(OPT) = SUM(i in OPT) vi: value(OPT) K value(OPT) <= K n But: for the rounded values, S is at least as good as OPT¡¬|j>) ª,Z? ??

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?.?� �� �

??????? ? ???¢

?? £ ?l|j¿¿?ÿ?:Fº ?� �� �� � � ´Example: Use set cover to solve other problems approximately Shortest superstring: Given set of strings s1, s2, & , sn. Find a shortest superstring s. Cleanup: No si is a substring of an sj. For superstring instance, create set cover instance: - each si is an element ei of the universe in set cover; - each legal nonzero overlap of two strings is a set representing all given strings that it contains TCGCG and GCGAA overlap as GCGAA and as GCGAA ¡H?>D)?CªªG "

-?? ??

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²? ?� �� � �

0 ? ???? ? ? ???¢

?? ?j¿¿?ÿ?:v?" ?LDº___PPT9&¬� � �� �� � � �

? � Cost of a set = string length of the overlap string . Algorithm: Solve set cover approximately. �Concatenate strings of chosen sets in any order. The solution is a superstring. Quality of the solution? Quality Lemma: For OPT solution of superstring problem, there is a set cover of string length at most 2 OPT. Proof: ¡l8{8c: dª,® @�

J¦? @` � ? ?? ?¿??jJÿ?p °� ����  0

?? £ ??P¿¿?ÿ?* ?¿0 ?¨OPT superstringª ? ?? ?¿?ÿ?� � � �� � � ���� �

°?P ? ?? ?¿?ÿ?P p°? ? ? ?¿?ÿ???? ? ? ?¿?ÿ?0p??B ? ? c ?D¿?ÿÿ?P ????r ? ? ?¦ÿ¿?ÿÿ??°p0?¢� ���� � ���� � � � � ��� � � ����

?? £ ?´>P¿¿?ÿ??? ?¨group 1?¢� �� �� � �

?? £ ?Pj¿¿?ÿ?J� � �� ��

6Uj ?¨s1?¢�

?? £ ?j¿¿?ÿ? ??* ?¨s2?¢� � �� �� �

?? £ ??¿¿?ÿ???? ?¨s3?¢� �� � � �

?? £ ?^P¿¿?ÿ?J� �� ��

Fºj ?¨= first occ. of an si in OPTª,? ??�

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²???� �� �

 

?????

? ? ??? ?? ?¿??jJÿ?°@0p? ?? ?¿?ÿ??@? ?? ?¿?ÿ?@P? ?? ?¿?ÿ?P?? ?? ?¿?ÿ?P??B ?? c ?D¿?ÿÿ??r ?? ?� ���� � ���� �� � ���� � � ���� � � ��� � ��� �¦ÿ¿?ÿÿ?@p?¢����

? ? £ ??P¿¿?ÿ?*f*J ?¨group 1?¢� � � �� �

? ? £ ?pP¿¿?ÿ???ª ?¨s1?¢� �� � � � �

? ? £ ??P¿¿?ÿ?JVuj ?¨s2?¢� � � �� �

?

? £ ?¨wP¿¿?ÿ? v* ?¨s3?¢� �� �� � �

? ? £ ?¸?P¿¿?ÿ??$� � � �� �   ?¨OPT superstringª ? ?? ?¿?ÿ??p°? ?? ?¿?ÿ??P?B ?? s ?D¿?ÿ? ÿ?@PP ?r ?? ?¦ÿ¿?� � ���� � � ���� �� � � ����Ԕÿÿ??° ?¢

?? £ ?CP¿¿?ÿ??°t ?¨group 2?r ?? ?¦ÿ¿?ÿÿ?@ ??¢� �� � � � � ���� ��

?? £ ??¿¿?ÿ???? ?¨group 3?B ?? s ?D¿?ÿ? ÿ?@ ?B ?? s ?D¿?ÿ? ÿ?@ ?¢� �� � � � � �� �Ԕ Ԕ

?? £ ??P¿¿?ÿ??fx ?� � � �� � ¨per group: the proper set covers the group All these group sets form a set cover. It s string has length at most 2 OPT (only adjacent groups can overlap). ? Approx set cover <= 2 (1 + ln n) OPT superstring.¡V,>?k?,>73ª,¾ ? ??� � � �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²r wU7?=0Jgmy?<¯SU??µ� �� � �

?(?? ?®/?� �

0???·DTimes New Roman|°¼t?\?d§

0t? &

0·DSymbolew Roman|°¼t?\?d§

0t? &

0h ·DWingdingsRoman|°¼t?\?d§

0t? &

0h¤ `ÿÿÿÿ¥�

.© @£nÿ?" dd@ÿÿ?ÿÿÿÿ

!"#$%&'()*+,-./01þÿÿÿ3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVYXþÿÿÿZ[\]^þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ??Oh«+'³?4�

`h ¼? ?��

?

?PowerPoint Presentation Gruppe TI PProf. Peter Widmayeron32fMicrosoft PowerPointon@?¾@@½?�xþ?@k=2¸{? G ÿÿÿÿg�

C&ÿÿÿÿ?? &ÿÿÿÿ&#ÿÿÿÿTNPP,¼2ÿÿOMi & TNPP? &ÿÿÿÿ&TNPP�

?? ?ÿÿÿ-?-- !???-?ÿÿÿ-??-&ÿÿÿÿG?&ÿÿÿÿ??q?@ LS?US?0- &ÿÿÿÿGy?&ÿÿÿÿ ?--h?*F-- ??¼@Times � � � �New RomanLS?US?0-? .72 XP Approximations for hard problems

#

$.--?g�@-- ??�@Times New RomanLS?US?0-? 33?.$2 ³JExample: Scheduling .--^¿?@-- 33? 33?.=2 J$Given: n jobs with processing times,

. 33?.'2 *«m identical machines. . 33?.=2 PJ$Problem: Schedule so as to minimize

. 33?.2 P-makespan . 33?. 2 P¬..--Ho¤F-- 33? .'2 ?P just a few examples �

. .=2 ?P$ what is an approximation algorithm . .12 P quality of approximations: . .C2 ;x(from arbitrarily � �bad to arbitrarily good .--?¼"System 0-?&TNPP

&ÿÿÿÿþÿ? .+,? °??? (08 @՜ �� � ��

?Bildschirmpr?entation.Swiss Federal Institute of Technology, Z?ichoi?MK2 OTime'2¦? @` � ? ?

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²r-Bª??¯ ²®B???(?? ?®/?� �� � � � �

0???·DTimes New Roman|°¼t?\?d§

0t? &

0·DSymbolew Roman|°¼t?\?d§

0t? &

0h ·DWingdingsRoman|°¼t?\?d§

0t? &

0h¤ `ÿÿÿÿ¥�

.© @£nÿ?" dd@ÿÿ?ÿÿÿÿÿÿ @@`` ??CZB �� �

" !"#$%'()*+-.&',0123456789:<=>?@ABc ?¿?ÿ?ÿ@?ÿÿÿÿÿ????7ºu?ʚ;2N?ʚ;?gþ?4CdCdd§�� �

0h?¬ÿÿÿ ÿÿÿp?pp?@ ?4!d!dg?

0$?h±¼?4ddddg?

0$?h±¼ÿ???????? ? ? ?

? ? ?

? ???????????????? ?!?"?# ?$!?%"?&#?.+?'$?(%?)&?*'?+(?/,?,)?0-?-*?1.?2/?30?41?52?63?74?85?96?:7?;8?<9?=:?>;??<?@=?A>?B??C@??g? �

? ??? ? ??¢

? £ ?<c¿¿?ÿ? J� �� �� �

?@8º___PPT9¬� � �

?¨AThe algorithm 1. Remove all items of size < e(psilon). 2. Round the item sizes [see B] so that only a �constant number of different item sizes remains. 3. Find an optimal packing for the rounded items [see A and B]. 4. Use this packing for the original items. 5. Pack the items with size < e with First Fit.¡3Bª0

¦? @` � ? ?

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²r?C??@¯ʮb¿C?! ?(?? ?®/?� �� � �

0???·DTimes New Roman|°¼t?\?d§

0t? &

0·DSymbolew Roman|°¼t?\?d§

0t? &

0h ·DWingdingsRoman|°¼t?\?d§

0t? &

0h¤ `ÿÿÿÿ¥�

.© @£nÿ?" dd@ÿÿ?ÿÿÿÿÿÿ @@`` ??D\C �� �

" !"#$%'()*+-.&',0123456789:<=>?@ABCc ?¿?ÿ?ÿ@?ÿÿÿÿÿ????7ºu?ʚ;2N?ʚ;?gþ?4CdCdd§�� �

0h?¬ÿÿÿ ÿÿÿp?pp?@ ?4!d!dg?

0$?h±¼?4ddddg?

0$?h±¼ÿ?8??????? ? ? ?

? ? ?

? ???????????????? ?!?"?# ?$!?%"?&#?.+?'$?(%?)&?*'?+(?/,?,)?0-?-*?1.?2/?30?41?52?63?74?85?96?:7?;8?<9?=:?>;??<?@=?A>?B??C@?DA???? �

???? ? ??¢�

? £ ?° c¿¿?ÿ????LDº___PPT9&¬� � � �� �� � � �

? � XTheorem For any e(psilon), 0 < e <= ½, there is an algorithm Ae with runtime polynomial in n that finds a packing with <= (1 + 2 e) OPT + 1 bins. asymptotic PTAS : for any eps > 0 exists N > 0 s.t. approx <= (1 + eps) OPT Proof: The structure of the algorithm The details and quality analysis¡4?@X@ªP%o'O¦? @`� � ? ?

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?x?� �� �

(? ??? ? ??¢

? £ ?<c¿¿?ÿ? J� �� �� �

?@8º___PPT9¬� � �

?¨RThe structure of the algorithm 1. Remove all items of size < e(psilon). 2. Round the item sizes [see B] �so that only a constant number of different item sizes remains. 3. Find an optimal packing for the rounded items [see A and B]. 4. Use this packing for the original items. 5. Pack the items with size < e with First Fit.¡ 3SªA

¦? @` � ? ?

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?n?� �� �

?0??? ? ?

? £ ?Tc¿¿?ÿ???|Z ?� �� �� � D(2) The details and quality analysis [A] Find optimal packing for special case of <= K different item sizes and each item size >= e Lemma: This can be done optimally in polynomial time, for fixed values of K and e. Proof: per bin: number m of items is <= floor of 1/e ? number t of different bin types (no. of items per size) is function of m and K only ? constant. Total number of bins used <= n ? total number of possible feasible packings is polynomial in n (but not in 1/e). Algorithm enumerates them all and picks the best.¡#V ¾3ª? Z? ?� � �� ���� �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²r¿B0?¥?%??A¯z¿?D?E ?(?? � �� � � � �

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ?®/?

0???·DTimes New Roman|°¼t?\?d§

0t? &

0·DSymbolew Roman|°¼t?\?d§

0t? &

0h ·DWingdingsRoman|°¼t?\?d§

0t? &

0h¤ `ÿÿÿÿ¥�

.© @£nÿ?" dd@ÿÿ?ÿÿÿÿÿÿ @@`` ??*ED �� � �

" !"#$%'()*+-.&',0123456789:<=>?@ABCD*c ?¿?ÿ?ÿ@?ÿ????7ºu?ʚ;2N?ʚ;?gþ?4CdCdd§�� �

0h?¬ÿÿÿ ÿÿÿp?pp?@ ?4!d!dg?

0$?h±¼?4ddddg?

0$?h±¼ÿ?T??????? ? ? ?

? ? ?

? ???????????????? ?!?"?# ?$!?%"?&#?.+?'$?(%?)&?*'?+(?/,?,)?0-?-*?1.?2/?30?41?52?63?74?85?96?:7?;8?<9?=:?>;??<?@=?A>?B??C@?DA?EB???? �

¢?@?$)?? ? ??¢

? £ ? �? ^*??c¿¿?ÿ܌� � �� � � [B] Lemma: Given items with size >= e, there is an algorithm with runtime polynomial in n and approximation factor 1+e. Proof: let input instance be I = {a1, a2, & . , an}. - Sort items by increasing size. - Partition items into K= ceiling(1/e^2) groups:¡Jw8 &?2 ? s ?¿?ÿ?@?p?2 ? s ?¿?� �� � ���ÿ?@Pp?2 ? s ?¿?ÿ?@� ���  ?p?2 ? s ?¿?ÿ?@0`p?2 ? s ?¿?ÿ?@? p?2 ? s ?¿?ÿ?@ P p?2 ? s ?¿?ÿ?@0p?2 ?��� ��� � �� ���

s ?¿?ÿ?@ Pp?2 ? s ?¿?ÿ?@@p?B ? c ?D¿?ÿÿ?° ?B ? c ?D¿?ÿÿ?°pp ?B ? c ?D¿?ÿÿ?° ?¢��� ��� � � �

? £ ?\P¿¿?ÿ?J ¶j ?¨' each group has <= floor (n e^2) items.¡"(?'?¢� � �� �� � � � �

? £ ? �

?¿¿?ÿ???? ?¨=- Round up the size of each item to the largest in its group:¡$>4?2 ? s ?¿?ÿ?� � �� � ��� �

???2 ? s ?¿?ÿ?� ��� �

P??2 ? s ?¿?ÿ?� ��� �

 ???2 ? s ?¿?ÿ?��� �

0`??2 ? s ?¿?ÿ?��� �

? ??2 ? s ?¿?ÿ?��� �

P ??2 ? s ?¿?ÿ?��� �

0??2 ? s ?¿?ÿ?��� �

P??2 ? s ?¿?ÿ?��� �

@??B ? c ?D¿?ÿÿ?�

P ?B ? c ?D¿?ÿÿ?�

ppP ?B ? c ?D¿?ÿÿ?�

P ?b ?!@ £ ?ZGv/H I?¿??ÿ??¨¸??b ?" £ ?G`;?H{?I`ay¿??ÿ?� � � � �

y§�

?b ?#@ £ ?ZGHNI?³ÿ¿??ÿ?¹

Y8 ??r ?$ ?G0)H?Im?¿??ÿ?� � �

' ¨

?r ?% ?G.(H�  NIu?¿??ÿ?¨

0(??r ?'@ £ ?´G?ÿÿH?I?¿??ÿ?� �

?( £ ?"c¿¿?ÿ??¶*? ?¨.this instance J has <= K different item sizes.¡"/?.?¢� � � �� � � �

?) £ ?P?¿¿?ÿ??: ?¨4By [A], J can be solved optimally in time poly in n.¡$5? ?� �� � � � �

?� �������h¿ÿ ?o??!?"?#?$? %?'? ÿÿÿ33??ÿ²²²r?E,??B¯»?&?E? ?(?? ?®/?��� � � �

0???·DTimes New Roman|°¼t?\?d§

0t? &

0·DSymbolew Roman|°¼t?\?d§

0t? &

0h ·DWingdingsRoman|°¼t?\?d§

0t? &

0h¤ `ÿÿÿÿ¥�

.© @£nÿ?" dd@ÿÿ?ÿÿÿÿÿÿ @@`` ��  ??G¨F

" !"#$%'()*+-.&',0123456789:<=>?@ABCD*E(Fc ?¿?ÿ?ÿ@?ÿ????7ºu?ʚ;2N?ʚ;?gþ?4CdCdd§�� �

0h?¬ÿÿÿ ÿÿÿp?pp?@ ?4!d!dg?

0$?h±¼?4ddddg?

0$?h±¼ÿ???????? ? ? ?�

? ? ?

? ???????????????? ?!?"?# ?$!?%"?&#?.+?'$?(%?)&?*'?+(?/,?,)?0-?-*?1.?2/?30?41?52?63?74?85?96?:7?;8?<9?=:?>;??<?@=?A>?B??C@?DA?EB?FC?GD???? �

¢?@?$)?? ? ??¢

܌? £ ? �c¿¿?ÿ?4 ?� � �� � � � [B] Lemma: Given items with size >= e, there is an algorithm with runtime polynomial in n and approximation factor 1+e. Proof: let input instance be I = {a1, a2, & . , an}. - Sort items by increasing size. - Partition items into K= ceiling(1/e^2) groups:¡Jw8 &?2 ? s ?¿?ÿ?@?p?2 ? s ?¿?ÿ?@Pp?��� � � �� �2 ? s ?¿?ÿ?@���  ?p?2 ? s ?¿?ÿ?@0`p?2 ? s ?¿?ÿ?@? p?2 ? s ?¿?ÿ?@ P p?2 ? s ?¿?ÿ?@0p?2 ?��� ��� � �� ���

s ?¿?ÿ?@ Pp?2 ? s ?¿?ÿ?@@p?B ? c ?D¿?ÿÿ?° ?B ? c ?D¿?ÿÿ?°pp ?B ? c ?D¿?ÿÿ?° ?¢��� ��� � � �

? £ ?\P¿¿?ÿ?J ¶j ?¨' each group has <= floor (n e^2) items.¡"(?'?¢� � �� �� � � � �

? £ ? �

?¿¿?ÿ???? ?¨=- Round up the size of each item to the largest in its group:¡$>4?2 ? s ?¿?ÿ?� � �� � ��� �

???2 ? s ?¿?ÿ?� ��� �

P??2 ? s ?¿?ÿ?� ��� �

 ???2 ? s ?¿?ÿ?��� �

0`??2 ? s ?¿?ÿ?��� �

? ??2 ? s ?¿?ÿ?��� �

P ??2 ? s ?¿?ÿ?��� �

0??2 ? s ?¿?ÿ?��� �

P??2 ? s ?¿?ÿ?��� �

@??B ? c ?D¿?ÿÿ?�

P ?B ? c ?D¿?ÿÿ?�

ppP ?B ? c ?D¿?ÿÿ?�

P ?b ?!@ £ ?ZGv/H I?¿??ÿ??¨¸??b ?" £ ?G`;?H{?I`ay¿??ÿ?� � � � �

y§�

?b ?#@ £ ?ZGHNI?³ÿ¿??ÿ?¹

Y8 ??r ?$ ?G0)H?Im?¿??ÿ?� � �

' ¨

?r ?% ?G.(H�  NIu?¿??ÿ?¨

0(??r ?'@ £ ?´G?ÿÿH?I?¿??ÿ?� �

?( £ ?"c¿¿?ÿ??¶*? ?¨.this instance J has <= K different item sizes.¡"/?.?¢� � � �� � � �

?) £ ?P?¿¿?ÿ??: ?¨4By [A], J can be solved optimally in time poly in n.¡$5? ?� �� � � � �

?� �������h¿ÿ ?o??!?"?#?$? %?'? ÿÿÿ33??ÿ²²²?���

? �

¶ ?P?'? ? ? ??¢

? £ ?oc¿¿?ÿ?z¶Zþ ?�� � � �� � jSolution for J is valid for the original items; is it good? Quality lemma: OPT(J) <= (1+e) OPT (I). Proof: Define J in analogy with J, but rounded to the lowest value per group:¡2¶=)O?2 ? s ?¿?ÿ?@?p?2 ? s ?¿?ÿ?@Pp?2 ? s ?¿?ÿ?@��� � ��� � � ��  ?p?2 ? s ?¿?ÿ?@0`p?2 ? s ?¿?ÿ?@? p?2 ? s ?¿?ÿ?@ P p?2 ? ��� ��� � ��s ?¿?ÿ?@0p?2 ? s ?¿?ÿ?@ Pp?2 ? s ?¿?ÿ?@@p?B ? c ?D¿?ÿÿ?° ?B ? c ?D¿?ÿÿ?°pp ?B ? c ?D¿?ÿÿ?° ?��� ��� ��� � � �b ?! £ ?ZGI8?HYþÿIn?¿??ÿ?i¹¸p?b ?"@ £ ?GHuWI©?¿??ÿ?@¨yG?r ?#? ?G?ÿH� � � �  NIO¿??ÿ?@H X?b ?$ £ ?ZGv/H2KÿÿIˡ???ÿ?pH8 q?b ?%?£ ?GI8?HIn~?¿??ÿ?@)8G?b ?& £ ?ZGI8?HYþÿII?¿??ÿ?i)(p?¢�� � �

?' £ ? ��P¿¿?ÿ? ? ?� � �� � � ?& obvious: OPT(J ) <= OPT(I). Trick: Discard highest group of J and lowest group of J , and match the remaining groups.? ?

?� �������h¿ÿ ?o??!? "?

#?$?%?&? ÿÿÿ33??ÿ²²²?`?��� �

?`??? ? ??2 ? s ?¿?ÿ?@?p?2 ? s ?¿?ÿ?@Pp?2 ? s ?¿?ÿ?@��� � ��� � � ��  ?p?2 ? s ?¿?ÿ?@0`p?2 ? s ?¿?ÿ?@? p?2 ? s ?¿?��� ��� � ��ÿ?@ P p?2 ? s ?¿?ÿ?@0p?2 ? s ?¿?ÿ?@ Pp?2 ? s ?¿?ÿ?@@p?B ? c ?D¿?ÿÿ?° ?B ?��� ��� ��� �

c ?D¿?ÿÿ?°pp ?B ? c ?D¿?ÿÿ?° ?b ? £ ?ZGI8?HYþÿIn?¿??ÿ?i¹¸p?b ?@ £ ?GHuWI©?¿??ÿ?@¨yG?r ?? ?� � � � �G?ÿH�  NIO¿??ÿ?@H X?b ? £ ?ZGv/H2KÿÿIˡ???ÿ?pH8 q?b ??£ ?GI8?HIn~?¿??ÿ?@)8G?b ? £ ?ZGI8?� � �HYþÿII?¿??ÿ?i)(p? ?�

?� �������h¿ÿ ?o?????? ? ? ÿÿÿ33??ÿ²²²rb?E0??ÿ(?D¯>?g1G?��� ?(?? ?®/?� �

0???·DTimes New Roman|°¼t?\?d§

0t? &

0·DSymbolew Roman|°¼t?\?d§

0t? &

0h ·DWingdingsRoman|°¼t?\?d§

0t? &

0h¤ `ÿÿÿÿ¥�

.© @£nÿ?" dd@ÿÿ?ÿÿÿÿÿÿ @@`` ???$J?F ��

" !"#$%'()*+-.&',0123456789:<=>?@ABCD*E(F@c ?¿?ÿ0?ÿÿf@?ÿf????7ºu?ʚ;2N?ʚ;?gþ?4CdCdd§�� � � �

0h?¬ÿÿÿ ÿÿÿp?pp?@ ?4!d!dg?

0$?h±¼?4ddddg?

0$?h±¼ÿ???????? ? ? ?�

? ? ?

? ???????????????? ?!?"?# ?$!?%"?&#?.+?'$?(%?)&?*'?+(?/,?,)?0-?-*?1.?2/?30?41?52?63?74?85?96?:7?;8?<9?=:?>;??<?@=?A>?B??C@?DA?EB?FC?GD??«? �

[? ??? ? ?? ? S ??]¿ÿ?°?P??ÿÿÿÿ ] ?¨qApproximation algorithm Find a minimum spanning tree. Run � � � �� � �around it and take shortcuts to avoid repeated visits.¡"rZªq?¢

? £ ?W]¿¿?ÿ???_^ ?¨?Quality ? Theorem: This is a 2-approximation. Proof: (1) OPT-TSP minus 1 edge is � � � � �� �spanning tree. (2) MST is not longer than any spanning tree. (3) APX-TSP <= 2 MST <= 2 ST <= 2 OPT-TSP.¡$? ?? ? �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²??� �� �

¸?`?,??? ? ??2 ? s ?¿?ÿ?���  ¸??2 ? s ?¿?ÿ?� ���  Hx??2 ? s ?¿?ÿ?���  ???2 ? s ?¿?ÿ?� ���  (X??2 ? s ?¿?ÿ?���  ????2 ? s ?¿?ÿ?���  

H

??2 ? s ?¿?ÿ?���  ?(??2 ? s ?¿?ÿ?���  H??2 ? s ?¿?ÿ?���  8??B ? c ?D¿?ÿÿ???`?B ?�

c ?D¿?ÿÿ?hh`?B ? c ?D¿?ÿÿ? `?b ? £ ?ZGI8?HYþÿIn?¿??ÿ??±°??b ?@ £ ?GHuWI©?¿??ÿ?� � � �   q§?r ?? ?G?� �ÿH NIO¿??ÿ? @?¸?b ? £ ?ZGv/H2KÿÿIˡ???ÿ??@0

??b ??£ ?GI8?HIn~?¿??ÿ?��  !0§?b ? £ ?ZGI8?HYþÿII?¿??ÿ??! ??2 ? s ?¿?ÿ?ww§§?2 ? s ?¿?ÿ?w7g§?2 ? s ?� � ��� ��� �¿?ÿ?w·§?2 ? s ?¿?ÿ?wG§?2 ? s ?¿?ÿ?w· ?§?2 ? s ?¿?ÿ?w�� � ��� ��� ���

7

§?2 ? s ?¿?ÿ?w?§?2 ? s ?¿?ÿ?w7§?2 ? s ?¿?ÿ?w?'§?B ? c ?D¿?ÿÿ????7?B ? c ?D¿?ÿÿ??WW7?B ? c ?D¿?��� ��� ��� � � �ÿÿ????7?b ?!@ £ ?ZGv/H I?¿??ÿ?§¨?b ?" £ ?G`;?H{?I`ay¿??ÿ?~`?b ?#@ £ ?ZGHNI?³ÿ¿??ÿ?� � �� � � ��  @

§?r ?$ ?G0)H?Im?¿??ÿ?~?� �

?r ?% ?G.(H� �  NIu?¿??ÿ?§?r ?&@ £ ?´G?ÿÿH?I?¿??ÿ?~ ?¢� � �

?' £ ?¼c¿¿?ÿ???? ?� � �� �� � � J J ?2 ?: ?ÿf¿?ÿ?°???2 ?; ?ÿf¿?ÿ?°??B ?< ?D¿??jJ??ÿ?`?@°?B ?= ?D¿??jJ??ÿ?p ???� ��� � �� � � �� � � � � � � � � � �B ?> ?D¿??jJ??ÿ? ??¢� � � �

?? £ ?X?¿¿?ÿ?*9 ?� �� �� � � � ¸A packing for J yields a packing for all except the group of largest size items of J. & pack each of these floor (n e^2) large items in its own bin OPT(J) <= OPT(J ) + floor (n e^2) <= OPT(I) + floor (n e^2) ¡v;?]?#?"?;]� � � � � �

? ?�

?� �������h¿ÿ ???????? ? ?!?"? #? $? %?

&? ÿÿÿ33??ÿ²²²r«1#`?GC?D¯1#XG???(?? ?®/?��� � � �

0???·DTimes New Roman|°¼t?\?d§

0t? &

0·DSymbolew Roman|°¼t?\?d§

0t? &

0h ·DWingdingsRoman|°¼t?\?d§

0t? &

0h¤ `ÿÿÿÿ¥�

.© @£nÿ?" dd@ÿÿ?ÿÿÿÿÿÿ @@`` ???,L?H ��

" !"#$%'()*+-.&',0123456789:<=>?@ABCD*E(F@JKc ?¿?ÿ0?ÿÿf@?ÿf????7ºu?ʚ;2N?ʚ;?gþ?4CdCdd§�� � � �

0h?¬ÿÿÿ ÿÿÿp?pp?@ ?4!d!dg?

0$?h±¼?4ddddg?

0$?h±¼ÿ????????? ? ? ?

? ? ?

? ???????????????? ?!?"?# ?$!?%"?&#?.+?'$?(%?)&?*'?+(?/,?,)?0-?-*?1.?2/?30?41?52?63?74?85?96?:7?;8?<9?=:?>;??<?@=?A>?B??C@?DA?EB?FC?GD?HE?IF??ª? �

Z? ?(?? ? ?(?¢

?( £ ?Lc¿¿?ÿ? ?? ?� � �� �� � ªWe have: OPT(J) <= OPT(I) + floor (n e^2) Since no small items are present: OPT (I) >= n e floor (n e^2) <= e OPT (I) OPT (J) <= OPT(I) + e OPT (I) = (1 + e) OPT (I). & this proves the quality lemma. ¡`??2?%? CW? ?(� � � � � � � �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?T?� �� �

?°?,?? ? ?,?¢

?, £ ?(U¿¿?ÿ? P ? ?� �� �� � 6Remainder of the algorithm: Step 5 {situation: we have approx solution for input I without small items} Put small items of original input origI by first fit into bins. Case 1: no extra bins are needed for this. number of bins is <= (1+e) OPT(I) <= (1+e) OPT(origI). Case 2: extra bins are needed, totalling M bins. ? at least M-1 of them are full to at least level 1-e ? sum of all item sizes >= (M-1)(1-e) ? OPT(origI) >= (M-1)(1-e) ? M <= OPT(origI) / (1-e) + 1 <= (1+2e) OPT(origI) + 1. & PTAS for bin packing, but not FPTAS.¡"??(ªtu# n/? ?,� � �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²rgXH dfj?F¯CXrpI??(?? ?®/?� �� � �

0???·DTimes New Roman|°¼t?\?d§

0t? &

0·DSymbolew Roman|°¼t?\?d§

0t? &

0h ·DWingdingsRoman|°¼t?\?d§

0t? &

0h¤ `ÿÿÿÿ¥�

.© @£nÿ?" dd@ÿÿ?ÿÿÿÿÿÿ @@`` ???0M?I ��

" !"#$%'()*+-.&',0123456789:<=>?@ABCD*E(F@JKLc ?¿?ÿ0?ÿÿf@?ÿÿÿÿ????7ºu?ʚ;2N?ʚ;?gþ?�� � �4CdCdd§

0h?¬ÿÿÿ ÿÿÿp?pp?@ ?4!d!dg?

0$?h±¼?4ddddg?

0$?h±¼ÿ????????? ? ? ?

? ? ?

? ???????????????? ?!?"?# ?$!?%"?&#?.+?'$?(%?)&?*'?+(?/,?,)?0-?-*?1.?2/?30?41?52?63?74?85?96?:7?;8?<9?=:?>;??<?@=?A>?B??C@?DA?EB?FC?GD?HE?IF?JG??} ? �

- ? ??0?

? ? ?0?¢

?0 £ ?U¿¿?ÿ? ??t ?�� �� �� � nTSP: Huge difference from triangle inequality& . New approximation algorithm for TSP Idea: Build MST and go around it. Take shortcuts differently. ¡&¸W!@ª¶?2 ?0 s ?¿?ÿ?p@p���  ?2 ?0 s ? �¿?ÿ?P �� �

? ?2 ?0 s ?¿?ÿ???? ?2 ?0 s ?¿?ÿ?� ��� ���  p ?? ?0 S ?¿?ÿ?@??? ?0 S ?¿?ÿ? ?� �

y ? ? 0 S ?¿?ÿ???h ? ? 0 ? ?BLC¿DE?F?¿???o?ÿII?A£<p2=/ *¶+b&%?? ??º?«º� � ��� � � Mr?b7N9<6? P=?¾��

|]@ ?C?Qfv??Mr|cºQ?NM7H[Dz+$¬?&`y ?$?r&?¿?¹ µ%�� � � � � N i~n?M?7&«? ????þ?±$48rD1L?A£48@¯ ¯ ¯ � � � �¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯`?P?�

? ? 0 ?BLC¿DE?F?¿???o?ÿII?A£<p2=/ *¶+b&%?? ??º?«º��� � � � Mr?b7N9<6? P=?¾��

|]@ ?C?Qfv??Mr|cºQ?NM7H[Dz+$¬?&`y ?$?r&?¿?¹ µ%�� � � � � N i~n?M?7&«? ????þ?±$48rD1L?A£48@¯ ¯ ¯ � � � �¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯`? ?�

??¢

?

0 £ ??¿¿?ÿ??&?? ?¨p?¢� �� � � �

? 0 £ ??U¿¿?ÿ? ?º * ?¨q?¢� �� �� �

?0 £ ?@U¿¿?ÿ?¦ºº ?� � �� �� � � p ?¢

?0 £ ?(?¿¿?ÿ?fzº ?� � � �� � � q ?¢

?0 £ ??c¿¿?ÿ?: V Z ?¨e?¢� �� � � �

?0 £ ??¿¿?ÿ?0 @?P ?¨MST edge? ?0� � � �� �

?� �������h¿ÿ ????000?000?00 0? ÿÿÿ33??ÿ²²²r²pJ??G¯pXJ??(?? ?®/?��� � � � � �

0???·DTimes New Roman|°¼t?\?d§

0t? &

0·DSymbolew Roman|°¼t?\?d§

0t? &

0h ·DWingdingsRoman|°¼t?\?d§

0t? &

0h¤ `ÿÿÿÿ¥�

.© @£nÿ?" dd@ÿÿ?ÿÿÿÿÿÿ @@`` ??HS?L ��

" !"#$%'()*+-.&',0123456789:<=>?@ABCD*E(F@JKLMNQRc ?¿?ÿ0?ÿÿf@?ÿÿÿÿÿ????7ºu?ʚ;2N?ʚ;?�� � �gþ?4CdCdd§

0h?¬ÿÿÿ ÿÿÿp?pp?@ ?4!d!dg?

0$?h±¼?4ddddg?

0$?h±¼ÿ?4??????? ? ? ?

? ? ?

? ???????????????? ?!?"?# ?$!?%"?&#?.+?'$?(%?)&?*'?+(?/,?,)?0-?-*?1.?2/?30?41?52?63?74?85?96?:7?;8?=:?>;??<?@=?A>?B??C@?DA?EB?FC?GD?HE?IF?JG?KH?LI?NL?OM??i? �

???0?? ? ?0?¢

?0 £ ?U¿¿?ÿ? ??t ?�� �� �� � nTSP: Huge difference from triangle inequality& . New approximation algorithm for TSP Idea: Build MST and go around it. Take shortcuts differently. ¡&¸W!@ª¶?2 ?0 s ?¿?ÿ?p@p���  ?2 ?0 s ? �¿?ÿ?P �� �

? ?2 ?0 s ?¿?ÿ???? ?2 ?0 s ?¿?ÿ?� ��� ���  p ?? ?0 S ?¿?ÿ?@??? ?0 S ?¿?ÿ? ?� �

y ? ? 0 S ?¿?ÿ???h ? ? 0 ? ?BLC¿DE?F?¿???o?ÿII?A£<p2=/ *¶+b&%?? ??º?«º� � ��� � � Mr?b7N9<6? P=?¾��

|]@ ?C?Qfv??Mr|cºQ?NM7H[Dz+$¬?&`y ?$?r&?¿?¹ µ%�� � � � � N i~n?M?7&«? ????þ?±$48rD1L?A£48@¯ ¯ ¯ � � � �¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯`?P?�

? ? 0 ?BLC¿DE?F?¿???o?ÿII?A£<p2=/ *¶+b&%?? ??º?«º��� � � � Mr?b7N9<6? P=?¾��

|]@ ?C?Qfv??Mr|cºQ?NM7H[Dz+$¬?&`y ?$?r&?¿?¹ µ%�� � � � � N i~n?M?7&«? ????þ?±$48rD1L?A£48@¯ ¯ ¯ � � � �¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯`? ?�

??¢

?

0 £ ??¿¿?ÿ??&?? ?¨p?¢� �� � � �

? 0 £ ??U¿¿?ÿ? ?º * ?¨q?¢� �� �� �

?0 £ ?@U¿¿?ÿ?¦ºº ?� � �� �� � � p ?¢

?0 £ ?(?¿¿?ÿ?fzº ?� � � �� � � q ?¢

?0 £ ??c¿¿?ÿ?: V Z ?¨e?¢� �� � � �

?0 £ ??¿¿?ÿ?0 @?P ?¨MST edge?¢� � � �� �

?0 £ ??U¿¿?ÿ??V? ?¨T1¡?¢� �� �� � �

?0 £ ? �

)U¿¿?ÿ????? ?¨T2¡?¢�� �� �

?0 £ ?,*U¿¿?ÿ?ª� �� ��

² ?� � T1, T2 are two parts of the MST. Invariant in the induction: path within T1 contains edge (p,p ) once and each other edge of T1 twice.? ?0

?� �������h¿ÿ ????000?000?00 0? ÿÿÿ33??ÿ²²²???��� �

t ? ??4?? ? ?4?2 ?4 s ?¿?ÿ? ?P?2 ?4 s ?¿?ÿ?0`0?2 ?4 s ?¿?ÿ?��� ��� ���  ` ??2 ?4 s ?¿?ÿ?P@? ?4 S ?¿?ÿ?8?g §? ?4 S ?� ��� �¿?ÿ?? 7)? ?4 S ?¿?ÿ?`(?¢� � �

? 4 £ ?sU¿¿?ÿ?? ª ?¨p?¢�� �� �� � � �

? 4 £ ??U¿¿?ÿ?ºZ? ?¨q?¢� �� �� � �

? 4 £ ?¨U¿¿?ÿ?JFZj ?� � �� �� � p ?¢

?

4 £ ?xU¿¿?ÿ?Jj ?� � �� �� � q ?¢

? 4 £ ?ȔU¿¿?ÿ???¿� �� ��

?¨e?¢�

?4 £ ?¸?¿¿?ÿ?:¦}Z ?¨inductive step:? ?4 ? ?B¯C?DE?F?¿?ÿ??o?ÿ++?-q??);0@j?*ª«°,?¿>¹Sªl� � � �� � ��� � ����� � � � �  }j¥7?????��

???¾)»1´;¬AL]~slf¯c¯c @¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¬?1???¢� � � ����� � � � �

?4 £ ?¼Fj¿¿?ÿ?¦º ?� �� �� � � 2add the path p , p, q, q ?¢

?4 £ ??P¿¿?ÿ?J ??´ ?� �� � � � ?preserves the invariant: edge (p,q) once, any other edge twice. Induction: Basis: 1 vertex ? vacuously true 2 vertices p, p ? path is edge (p,p ) Rest by induction as above& . ? effect: shortcuts only for three edges at a time. ¡$?\? ?4� �

?� �������h¿ÿ ????444?444?444? ÿÿÿ33??ÿ²²²??��� �

´???8?? ? ?8?¢

?8 £ ??U¿¿?ÿ? ??TLº___PPT9.¬& ?� �� �� � � � � � 0Algorithm (Sekanina) Build MST T. Build T^3. Find round trip in T^3 such that each of T appears exactly twice (induction, and a single extra edge at the very end). Quality for TSP with slight violation of triangle inequality? cost(i,j) <= (1+r) (cost(i,k) + cost(k,j)) for all i,j,k Shortcut increases length by factor <= (1+r)^2 Approximation ratio 2 (1+r)^2 & stability of the approximation¡¦Y¹O?"?¨ÿþÿþ./Bª, ?¦? @`� � � � � ? ?8

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²?2?� �� �

???D?? ? ?D?¢

?D £ ?hU¿¿?ÿ?:v/? ?¨Stability of approximation what about r < 0, e.g. r = -1/2 in the extreme ? - what � � �� �� � �about other problems with stable approximations ?¡,2-9-? ?D� � �

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²???� �� �

|? ?H?? ? ?H?¢

?H £ ?¤?¿¿?ÿ?``? ?� �� �� � ?Summary Problems in NPO have very different approximability properties: & some are impossible to approximate (k-center, TSP) & some are hard, with a bound depending on the input size (set cover) & some can be approximated with some constant ratio (vertex cover, k-center with triangle inequality, TSP with triangle inequality) & and some can be approximated as closely as you like (knapsack) Approximability has its own hierarchy of complexity classes¡*?´<ª,-,? ?H�

?� �������h¿ÿ ?? ÿÿÿ33??ÿ²²²r$J09ª«v·N ½¼¿?M¯p?O� �� � � � � ��Imprint Disclaimer Copyright