Approximations for hard problems

595
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 Search ethz.ch Search Person

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

Page 1: 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">
Page 2: Approximations for hard problems

• GRAPE

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

Page 3: Approximations for hard problems

?(?? ?®/?� �

Page 4: Approximations for hard problems

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

Page 5: Approximations for hard problems

0? &�

Page 6: Approximations for hard problems

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

Page 7: Approximations for hard problems

0? &�

Page 8: Approximations for hard problems

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

Page 9: Approximations for hard problems

0? &�

Page 10: Approximations for hard problems

0h¤ `ÿÿÿÿ¥�

Page 11: Approximations for hard problems

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

Page 12: Approximations for hard problems

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

Page 13: Approximations for hard problems

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

Page 14: Approximations for hard problems

0D?h±¼?4ddddg?

Page 15: Approximations for hard problems

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

Page 16: Approximations for hard problems

? ? ?

Page 17: Approximations for hard problems

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

Page 18: Approximations for hard problems

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

Page 19: Approximations for hard problems

p£>£>�

Page 20: Approximations for hard problems

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

Page 21: Approximations for hard problems

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

Page 22: Approximations for hard problems

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

Page 23: Approximations for hard problems

ÿ?0??? ? ??¢

Page 24: Approximations for hard problems

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

Page 25: Approximations for hard problems

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

Page 26: Approximations for hard problems

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

Page 27: Approximations for hard problems

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

Page 28: Approximations for hard problems

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

Page 29: Approximations for hard problems

w ? @?? ? ? ?

Page 30: Approximations for hard problems

Page 31: Approximations for hard problems

? £ ?đ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??¢� ��� ��� � ���� ��� ���

Page 32: Approximations for hard problems

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

Page 33: Approximations for hard problems

?

Page 34: Approximations for hard problems

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

Page 35: Approximations for hard problems

?

Page 36: Approximations for hard problems

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

Page 37: Approximations for hard problems

?

Page 38: Approximations for hard problems

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

Page 39: Approximations for hard problems

?

Page 40: Approximations for hard problems

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

Page 41: Approximations for hard problems

?

Page 42: Approximations for hard problems

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

Page 43: Approximations for hard problems

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

Page 44: Approximations for hard problems

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

Page 45: Approximations for hard problems

( ? P??? ? ??¢

Page 46: Approximations for hard problems

? £ ?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??¢

Page 47: Approximations for hard problems

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

Page 48: Approximations for hard problems

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

Page 49: Approximations for hard problems

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

Page 50: Approximations for hard problems

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

Page 51: Approximations for hard problems

?

Page 52: Approximations for hard problems

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

Page 53: Approximations for hard problems

? £ ?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? ?`

Page 54: Approximations for hard problems

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

Page 55: Approximations for hard problems

þ? ?d?? ? ?d?¢

Page 56: Approximations for hard problems

?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??¢�

Page 57: Approximations for hard problems

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

Page 58: Approximations for hard problems

?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� ���� � � � ��� �

Page 59: Approximations for hard problems

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

Page 60: Approximations for hard problems

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

Page 61: Approximations for hard problems

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

Page 62: Approximations for hard problems

? 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 ?� ���� � � � ��� �

Page 63: Approximations for hard problems

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

Page 64: Approximations for hard problems

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

Page 65: Approximations for hard problems

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

Page 66: Approximations for hard problems

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

Page 67: Approximations for hard problems

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

Page 68: Approximations for hard problems

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

Page 69: Approximations for hard problems

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

Page 70: Approximations for hard problems

Page 71: Approximations for hard problems

???!l?

Page 72: Approximations for hard problems

? ? ?l?¢

Page 73: Approximations for hard problems

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

Page 74: Approximations for hard problems

?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� �   ?¢

Page 75: Approximations for hard problems

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

Page 76: Approximations for hard problems

?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?¢� ���� � � � ���� � ����Ԕ Ԕ Ԕ

Page 77: Approximations for hard problems

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

Page 78: Approximations for hard problems

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

Page 79: Approximations for hard problems

? l £ ? ��

Page 80: Approximations for hard problems

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

Page 81: Approximations for hard problems

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

Page 82: Approximations for hard problems

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

Page 83: Approximations for hard problems

???p?? ? ?p?¢

Page 84: Approximations for hard problems

?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� �

Page 85: Approximations for hard problems

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

Page 86: Approximations for hard problems

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

Page 87: Approximations for hard problems

?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

Page 88: Approximations for hard problems

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

Page 89: Approximations for hard problems

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

Page 90: Approximations for hard problems

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

Page 91: Approximations for hard problems

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

Page 92: Approximations for hard problems

??|?? ? ?|?¢�

Page 93: Approximations for hard problems

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

Page 94: Approximations for hard problems

? � 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.¡[/ª| ? ?|�

Page 95: Approximations for hard problems

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

Page 96: Approximations for hard problems

d???? ? ??¢� �

Page 97: Approximations for hard problems

? £ ?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|? ?� �

Page 98: Approximations for hard problems

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

Page 99: Approximations for hard problems

d???? ? ??¢� �

Page 100: Approximations for hard problems

? £ ??]¿¿?ÿ? ?º ?� � � � �� � � ¾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? ?� �

Page 101: Approximations for hard problems

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

Page 102: Approximations for hard problems

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

Page 103: Approximations for hard problems

? £ ?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.¡$? ?? ? �

Page 104: Approximations for hard problems

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

Page 105: Approximations for hard problems

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

Page 106: Approximations for hard problems

? £ ?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�

Page 107: Approximations for hard problems

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

Page 108: Approximations for hard problems

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

Page 109: Approximations for hard problems

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

Page 110: Approximations for hard problems

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

Page 111: Approximations for hard problems

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

Page 112: Approximations for hard problems

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

Page 113: Approximations for hard problems

? £ ?]¿¿?ÿ?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`ª »¦? @` � ? ? �

Page 114: Approximations for hard problems

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

Page 115: Approximations for hard problems

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

Page 116: Approximations for hard problems

?´ £ ?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? ¦? @`� � ? ?´

Page 117: Approximations for hard problems

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

Page 118: Approximations for hard problems

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

Page 119: Approximations for hard problems

? £ ?°]¿¿?ÿ?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�

Page 120: Approximations for hard problems

ª,

Page 121: Approximations for hard problems

/?¦? @` � ? ? �

Page 122: Approximations for hard problems

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

Page 123: Approximations for hard problems

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

Page 124: Approximations for hard problems

? £ ??¿¿?ÿ? 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(?? ? �

Page 125: Approximations for hard problems

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

Page 126: Approximations for hard problems

p?�? ?? ? ? ?¢

Page 127: Approximations for hard problems

?  £ ?°?¿¿?ÿ? 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(??¢

Page 128: Approximations for hard problems

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

Page 129: Approximations for hard problems

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

Page 130: Approximations for hard problems

®? ?¤?? ? ?¤?¢

Page 131: Approximations for hard problems

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

Page 132: Approximations for hard problems

?¤ £ ?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? ?¤

Page 133: Approximations for hard problems

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

Page 134: Approximations for hard problems

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

Page 135: Approximations for hard problems

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

Page 136: Approximations for hard problems

? � ?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 +©? ?¨�

Page 137: Approximations for hard problems

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

Page 138: Approximations for hard problems

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

Page 139: Approximations for hard problems

?¸ £ ?_¿¿?ÿ??^ ?¨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.ª> ?? ?¸

Page 140: Approximations for hard problems

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

Page 141: Approximations for hard problems

???¬?? ? ?¬?¢

Page 142: Approximations for hard problems

?¬ £ ??_¿¿?ÿ?:?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? ?¬�

Page 143: Approximations for hard problems

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

Page 144: Approximations for hard problems

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

Page 145: Approximations for hard problems

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

Page 146: Approximations for hard problems

?¨£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ª%|? ?¼� �

Page 147: Approximations for hard problems

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

Page 148: Approximations for hard problems

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

Page 149: Approximations for hard problems

?° £ ??_¿¿?ÿ? ?� � � �� � � � 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?¢�

Page 150: Approximations for hard problems

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

Page 151: Approximations for hard problems

? � & is NP-hard? ?°

Page 152: Approximations for hard problems

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

Page 153: Approximations for hard problems

®????? ? ???¢

Page 154: Approximations for hard problems

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

Page 155: Approximations for hard problems

?? £ ?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&?¢� � � �

Page 156: Approximations for hard problems

?

Page 157: Approximations for hard problems

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

Page 158: Approximations for hard problems

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

Page 159: Approximations for hard problems

¸????? ? ???¢

Page 160: Approximations for hard problems

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

Page 161: Approximations for hard problems

?? £ ?¤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ÿ?@`� ���� � �

Page 162: Approximations for hard problems

? ??

Page 163: Approximations for hard problems

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

Page 164: Approximations for hard problems

? ???? ? ???¢

Page 165: Approximations for hard problems

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

Page 166: Approximations for hard problems

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

Page 167: Approximations for hard problems

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

Page 168: Approximations for hard problems

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

Page 169: Approximations for hard problems

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

Page 170: Approximations for hard problems

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

Page 171: Approximations for hard problems

?? £ ?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@?¦? @` � ? ??

Page 172: Approximations for hard problems

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

Page 173: Approximations for hard problems

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

Page 174: Approximations for hard problems

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

Page 175: Approximations for hard problems

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

Page 176: Approximations for hard problems

?`???? ? ???¢

Page 177: Approximations for hard problems

?? £ ??¿¿?ÿ?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? ??

Page 178: Approximations for hard problems

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

Page 179: Approximations for hard problems

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

Page 180: Approximations for hard problems

?? £ ??¿¿?ÿ? ¶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�

Page 181: Approximations for hard problems

? ??�

Page 182: Approximations for hard problems

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

Page 183: Approximations for hard problems

????? ? ???¢�

Page 184: Approximations for hard problems

?? £ ?°_¿¿?ÿ? ¶¶? ?� � � � �� � 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� �

Page 185: Approximations for hard problems

q³�

Page 186: Approximations for hard problems

? ??

Page 187: Approximations for hard problems

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

Page 188: Approximations for hard problems

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

Page 189: Approximations for hard problems

?? £ ??¿¿?ÿ? ¶¶ ?� � �� � � � � :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� � � �

Page 190: Approximations for hard problems

q³)6 ? ??�

Page 191: Approximations for hard problems

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

Page 192: Approximations for hard problems

z? ???? ? ???¢

Page 193: Approximations for hard problems

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

Page 194: Approximations for hard problems

?? £ ??¿¿?ÿ??³? ?¨? = 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ÿ??????¢� ���� �

Page 195: Approximations for hard problems

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

Page 196: Approximations for hard problems

?¨?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¦?� @` � ? ??

Page 197: Approximations for hard problems

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

Page 198: Approximations for hard problems

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

Page 199: Approximations for hard problems

?? £ ?¬`¿¿?ÿ?? ?� �� �� � � � ?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¡*?´<ª,-,? ??�

Page 200: Approximations for hard problems

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

Page 201: Approximations for hard problems

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

Page 202: Approximations for hard problems

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

Page 203: Approximations for hard problems

?(?? ?®/?� �

Page 204: Approximations for hard problems

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

Page 205: Approximations for hard problems

Verwendete SchriftartenEntwurfsvorlage

Page 206: Approximations for hard problems

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

Page 207: Approximations for hard problems

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

Page 208: Approximations for hard problems

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

Page 209: Approximations for hard problems

0$?h±¼?4ddddg?

Page 210: Approximations for hard problems

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

Page 211: Approximations for hard problems

? ? ?

Page 212: Approximations for hard problems

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

Page 213: Approximations for hard problems

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

Page 214: Approximations for hard problems

?? £ ?(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

Page 215: Approximations for hard problems

k?¢

Page 216: Approximations for hard problems

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

Page 217: Approximations for hard problems

? �̈

Page 218: Approximations for hard problems

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? ??� � �

Page 219: Approximations for hard problems

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

Page 220: Approximations for hard problems

????? ? ??¢

Page 221: Approximations for hard problems

? £ ?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? ?� �

Page 222: Approximations for hard problems

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

Page 223: Approximations for hard problems

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

Page 224: Approximations for hard problems

0t? &

Page 225: Approximations for hard problems

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

Page 226: Approximations for hard problems

0t? &

Page 227: Approximations for hard problems

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

Page 228: Approximations for hard problems

0t? &

Page 229: Approximations for hard problems

0h¤ `ÿÿÿÿ¥�

Page 230: Approximations for hard problems

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

Page 231: Approximations for hard problems

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

Page 232: Approximations for hard problems

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

Page 233: Approximations for hard problems

0$?h±¼?4ddddg?

Page 234: Approximations for hard problems

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

Page 235: Approximations for hard problems

? ? ?

Page 236: Approximations for hard problems

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

Page 237: Approximations for hard problems

L???? ? ??¢

Page 238: Approximations for hard problems

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

Page 239: Approximations for hard problems

? � 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 �

Page 240: Approximations for hard problems

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

Page 241: Approximations for hard problems

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

Page 242: Approximations for hard problems

0t? &

Page 243: Approximations for hard problems

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

Page 244: Approximations for hard problems

0t? &

Page 245: Approximations for hard problems

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

Page 246: Approximations for hard problems

0t? &

Page 247: Approximations for hard problems

0h¤ `ÿÿÿÿ¥�

Page 248: Approximations for hard problems

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

Page 249: Approximations for hard problems

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

Page 250: Approximations for hard problems

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

Page 251: Approximations for hard problems

0$?h±¼?4ddddg?

Page 252: Approximations for hard problems

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

Page 253: Approximations for hard problems

? ? ?

Page 254: Approximations for hard problems

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

Page 255: Approximations for hard problems

?`???? ? ???¢

Page 256: Approximations for hard problems

?? £ ??¿¿?ÿ?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? ??

Page 257: Approximations for hard problems

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

Page 258: Approximations for hard problems

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

Page 259: Approximations for hard problems

?? £ ?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 "

Page 260: Approximations for hard problems

-?? ??

Page 261: Approximations for hard problems

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

Page 262: Approximations for hard problems

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

Page 263: Approximations for hard problems

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

Page 264: Approximations for hard problems

? � 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ª,® @�

Page 265: Approximations for hard problems

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

Page 266: Approximations for hard problems

Page 267: Approximations for hard problems

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

Page 268: Approximations for hard problems

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

Page 269: Approximations for hard problems

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

Page 270: Approximations for hard problems

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

Page 271: Approximations for hard problems

6Uj ?¨s1?¢�

Page 272: Approximations for hard problems

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

Page 273: Approximations for hard problems

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

Page 274: Approximations for hard problems

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

Page 275: Approximations for hard problems

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

Page 276: Approximations for hard problems

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

Page 277: Approximations for hard problems

 

Page 278: Approximations for hard problems

?????

Page 279: Approximations for hard problems

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

Page 280: Approximations for hard problems

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

Page 281: Approximations for hard problems

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

Page 282: Approximations for hard problems

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

Page 283: Approximations for hard problems

?

Page 284: Approximations for hard problems

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

Page 285: Approximations for hard problems

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

Page 286: Approximations for hard problems

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

Page 287: Approximations for hard problems

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

Page 288: Approximations for hard problems

?? £ ??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ª,¾ ? ??� � � �

Page 289: Approximations for hard problems

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

Page 290: Approximations for hard problems

?(?? ?®/?� �

Page 291: Approximations for hard problems

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

Page 292: Approximations for hard problems

0t? &

Page 293: Approximations for hard problems

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

Page 294: Approximations for hard problems

0t? &

Page 295: Approximations for hard problems

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

Page 296: Approximations for hard problems

0t? &

Page 297: Approximations for hard problems

0h¤ `ÿÿÿÿ¥�

Page 298: Approximations for hard problems

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

Page 299: Approximations for hard problems

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

Page 300: Approximations for hard problems

`h ¼? ?��

Page 301: Approximations for hard problems

?

Page 302: Approximations for hard problems

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

Page 303: Approximations for hard problems

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

Page 304: Approximations for hard problems

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

Page 305: Approximations for hard problems

#

Page 306: Approximations for hard problems

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

Page 307: Approximations for hard problems

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

Page 308: Approximations for hard problems

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

Page 309: Approximations for hard problems

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

Page 310: Approximations for hard problems

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

Page 311: Approximations for hard problems

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

Page 312: Approximations for hard problems

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

Page 313: Approximations for hard problems

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

Page 314: Approximations for hard problems

0t? &

Page 315: Approximations for hard problems

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

Page 316: Approximations for hard problems

0t? &

Page 317: Approximations for hard problems

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

Page 318: Approximations for hard problems

0t? &

Page 319: Approximations for hard problems

0h¤ `ÿÿÿÿ¥�

Page 320: Approximations for hard problems

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

Page 321: Approximations for hard problems

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

Page 322: Approximations for hard problems

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

Page 323: Approximations for hard problems

0$?h±¼?4ddddg?

Page 324: Approximations for hard problems

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

Page 325: Approximations for hard problems

? ? ?

Page 326: Approximations for hard problems

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

Page 327: Approximations for hard problems

? ??? ? ??¢

Page 328: Approximations for hard problems

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

Page 329: Approximations for hard problems

?@8º___PPT9¬� � �

Page 330: Approximations for hard problems

?¨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

Page 331: Approximations for hard problems

¦? @` � ? ?

Page 332: Approximations for hard problems

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

Page 333: Approximations for hard problems

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

Page 334: Approximations for hard problems

0t? &

Page 335: Approximations for hard problems

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

Page 336: Approximations for hard problems

0t? &

Page 337: Approximations for hard problems

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

Page 338: Approximations for hard problems

0t? &

Page 339: Approximations for hard problems

0h¤ `ÿÿÿÿ¥�

Page 340: Approximations for hard problems

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

Page 341: Approximations for hard problems

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

Page 342: Approximations for hard problems

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

Page 343: Approximations for hard problems

0$?h±¼?4ddddg?

Page 344: Approximations for hard problems

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

Page 345: Approximations for hard problems

? ? ?

Page 346: Approximations for hard problems

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

Page 347: Approximations for hard problems

???? ? ??¢�

Page 348: Approximations for hard problems

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

Page 349: Approximations for hard problems

? � 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¦? @`� � ? ?

Page 350: Approximations for hard problems

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

Page 351: Approximations for hard problems

(? ??? ? ??¢

Page 352: Approximations for hard problems

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

Page 353: Approximations for hard problems

?@8º___PPT9¬� � �

Page 354: Approximations for hard problems

?¨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

Page 355: Approximations for hard problems

¦? @` � ? ?

Page 356: Approximations for hard problems

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

Page 357: Approximations for hard problems

?0??? ? ?

Page 358: Approximations for hard problems

Page 359: Approximations for hard problems

? £ ?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? ?� � �� ���� �

Page 360: Approximations for hard problems

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

Page 361: Approximations for hard problems

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

Page 362: Approximations for hard problems

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

Page 363: Approximations for hard problems

0t? &

Page 364: Approximations for hard problems

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

Page 365: Approximations for hard problems

0t? &

Page 366: Approximations for hard problems

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

Page 367: Approximations for hard problems

0t? &

Page 368: Approximations for hard problems

0h¤ `ÿÿÿÿ¥�

Page 369: Approximations for hard problems

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

Page 370: Approximations for hard problems

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

Page 371: Approximations for hard problems

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

Page 372: Approximations for hard problems

0$?h±¼?4ddddg?

Page 373: Approximations for hard problems

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

Page 374: Approximations for hard problems

? ? ?

Page 375: Approximations for hard problems

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

Page 376: Approximations for hard problems

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

Page 377: Approximations for hard problems

? £ ? �? ^*??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 ?��� ��� � �� ���

Page 378: Approximations for hard problems

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

Page 379: Approximations for hard problems

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

Page 380: Approximations for hard problems

? £ ? �

Page 381: Approximations for hard problems

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

Page 382: Approximations for hard problems

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

Page 383: Approximations for hard problems

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

Page 384: Approximations for hard problems

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

Page 385: Approximations for hard problems

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

Page 386: Approximations for hard problems

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

Page 387: Approximations for hard problems

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

Page 388: Approximations for hard problems

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

Page 389: Approximations for hard problems

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

Page 390: Approximations for hard problems

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

Page 391: Approximations for hard problems

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

Page 392: Approximations for hard problems

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

Page 393: Approximations for hard problems

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

Page 394: Approximations for hard problems

y§�

Page 395: Approximations for hard problems

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

Page 396: Approximations for hard problems

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

Page 397: Approximations for hard problems

' ¨

Page 398: Approximations for hard problems

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

Page 399: Approximations for hard problems

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

Page 400: Approximations for hard problems

Page 401: Approximations for hard problems

Page 402: Approximations for hard problems

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

Page 403: Approximations for hard problems

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

Page 404: Approximations for hard problems

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

Page 405: Approximations for hard problems

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

Page 406: Approximations for hard problems

0t? &

Page 407: Approximations for hard problems

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

Page 408: Approximations for hard problems

0t? &

Page 409: Approximations for hard problems

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

Page 410: Approximations for hard problems

0t? &

Page 411: Approximations for hard problems

0h¤ `ÿÿÿÿ¥�

Page 412: Approximations for hard problems

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

Page 413: Approximations for hard problems

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

Page 414: Approximations for hard problems

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

Page 415: Approximations for hard problems

0$?h±¼?4ddddg?

Page 416: Approximations for hard problems

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

Page 417: Approximations for hard problems

? ? ?

Page 418: Approximations for hard problems

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

Page 419: Approximations for hard problems

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

Page 420: Approximations for hard problems

܌? £ ? �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 ?��� ��� � �� ���

Page 421: Approximations for hard problems

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

Page 422: Approximations for hard problems

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

Page 423: Approximations for hard problems

? £ ? �

Page 424: Approximations for hard problems

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

Page 425: Approximations for hard problems

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

Page 426: Approximations for hard problems

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

Page 427: Approximations for hard problems

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

Page 428: Approximations for hard problems

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

Page 429: Approximations for hard problems

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

Page 430: Approximations for hard problems

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

Page 431: Approximations for hard problems

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

Page 432: Approximations for hard problems

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

Page 433: Approximations for hard problems

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

Page 434: Approximations for hard problems

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

Page 435: Approximations for hard problems

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

Page 436: Approximations for hard problems

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

Page 437: Approximations for hard problems

y§�

Page 438: Approximations for hard problems

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

Page 439: Approximations for hard problems

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

Page 440: Approximations for hard problems

' ¨

Page 441: Approximations for hard problems

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

Page 442: Approximations for hard problems

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

Page 443: Approximations for hard problems

Page 444: Approximations for hard problems

Page 445: Approximations for hard problems

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

Page 446: Approximations for hard problems

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

Page 447: Approximations for hard problems

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

Page 448: Approximations for hard problems

? �

Page 449: Approximations for hard problems

¶ ?P?'? ? ? ??¢

Page 450: Approximations for hard problems

? £ ?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?¢�� � �

Page 451: Approximations for hard problems

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

Page 452: Approximations for hard problems

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

Page 453: Approximations for hard problems

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

Page 454: Approximations for hard problems

?`??? ? ??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 ?��� ��� ��� �

Page 455: Approximations for hard problems

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? ?�

Page 456: Approximations for hard problems

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

Page 457: Approximations for hard problems

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

Page 458: Approximations for hard problems

0t? &

Page 459: Approximations for hard problems

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

Page 460: Approximations for hard problems

0t? &

Page 461: Approximations for hard problems

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

Page 462: Approximations for hard problems

0t? &

Page 463: Approximations for hard problems

0h¤ `ÿÿÿÿ¥�

Page 464: Approximations for hard problems

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

Page 465: Approximations for hard problems

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

Page 466: Approximations for hard problems

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

Page 467: Approximations for hard problems

0$?h±¼?4ddddg?

Page 468: Approximations for hard problems

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

Page 469: Approximations for hard problems

? ? ?

Page 470: Approximations for hard problems

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

Page 471: Approximations for hard problems

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

Page 472: Approximations for hard problems

? £ ?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.¡$? ?? ? �

Page 473: Approximations for hard problems

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

Page 474: Approximations for hard problems

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

Page 475: Approximations for hard problems

H

Page 476: Approximations for hard problems

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

Page 477: Approximations for hard problems

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

Page 478: Approximations for hard problems

??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�� � ��� ��� ���

Page 479: Approximations for hard problems

7

Page 480: Approximations for hard problems

§?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?³ÿ¿??ÿ?� � �� � � ��  @

Page 481: Approximations for hard problems

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

Page 482: Approximations for hard problems

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

Page 483: Approximations for hard problems

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

Page 484: Approximations for hard problems

?? £ ?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;?]?#?"?;]� � � � � �

Page 485: Approximations for hard problems

? ?�

Page 486: Approximations for hard problems

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

Page 487: Approximations for hard problems

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

Page 488: Approximations for hard problems

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

Page 489: Approximations for hard problems

0t? &

Page 490: Approximations for hard problems

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

Page 491: Approximations for hard problems

0t? &

Page 492: Approximations for hard problems

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

Page 493: Approximations for hard problems

0t? &

Page 494: Approximations for hard problems

0h¤ `ÿÿÿÿ¥�

Page 495: Approximations for hard problems

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

Page 496: Approximations for hard problems

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

Page 497: Approximations for hard problems

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

Page 498: Approximations for hard problems

0$?h±¼?4ddddg?

Page 499: Approximations for hard problems

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

Page 500: Approximations for hard problems

? ? ?

Page 501: Approximations for hard problems

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

Page 502: Approximations for hard problems

Z? ?(?? ? ?(?¢

Page 503: Approximations for hard problems

?( £ ?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? ?(� � � � � � � �

Page 504: Approximations for hard problems

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

Page 505: Approximations for hard problems

?°?,?? ? ?,?¢

Page 506: Approximations for hard problems

?, £ ?(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/? ?,� � �

Page 507: Approximations for hard problems

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

Page 508: Approximations for hard problems

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

Page 509: Approximations for hard problems

0t? &

Page 510: Approximations for hard problems

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

Page 511: Approximations for hard problems

0t? &

Page 512: Approximations for hard problems

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

Page 513: Approximations for hard problems

0t? &

Page 514: Approximations for hard problems

0h¤ `ÿÿÿÿ¥�

Page 515: Approximations for hard problems

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

Page 516: Approximations for hard problems

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

Page 517: Approximations for hard problems

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

Page 518: Approximations for hard problems

0$?h±¼?4ddddg?

Page 519: Approximations for hard problems

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

Page 520: Approximations for hard problems

? ? ?

Page 521: Approximations for hard problems

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

Page 522: Approximations for hard problems

- ? ??0?

Page 523: Approximations for hard problems

? ? ?0?¢

Page 524: Approximations for hard problems

?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 �� �

Page 525: Approximations for hard problems

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

Page 526: Approximations for hard problems

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

Page 527: Approximations for hard problems

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

Page 528: Approximations for hard problems

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

Page 529: Approximations for hard problems

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

Page 530: Approximations for hard problems

??¢

Page 531: Approximations for hard problems

?

Page 532: Approximations for hard problems

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

Page 533: Approximations for hard problems

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

Page 534: Approximations for hard problems

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

Page 535: Approximations for hard problems

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

Page 536: Approximations for hard problems

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

Page 537: Approximations for hard problems

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

Page 538: Approximations for hard problems

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

Page 539: Approximations for hard problems

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

Page 540: Approximations for hard problems

0t? &

Page 541: Approximations for hard problems

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

Page 542: Approximations for hard problems

0t? &

Page 543: Approximations for hard problems

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

Page 544: Approximations for hard problems

0t? &

Page 545: Approximations for hard problems

0h¤ `ÿÿÿÿ¥�

Page 546: Approximations for hard problems

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

Page 547: Approximations for hard problems

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

Page 548: Approximations for hard problems

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

Page 549: Approximations for hard problems

0$?h±¼?4ddddg?

Page 550: Approximations for hard problems

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

Page 551: Approximations for hard problems

? ? ?

Page 552: Approximations for hard problems

? ???????????????? ?!?"?# ?$!?%"?&#?.+?'$?(%?)&?*'?+(?/,?,)?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? �

Page 553: Approximations for hard problems

???0?? ? ?0?¢

Page 554: Approximations for hard problems

?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 �� �

Page 555: Approximations for hard problems

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

Page 556: Approximations for hard problems

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

Page 557: Approximations for hard problems

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

Page 558: Approximations for hard problems

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

Page 559: Approximations for hard problems

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

Page 560: Approximations for hard problems

??¢

Page 561: Approximations for hard problems

?

Page 562: Approximations for hard problems

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

Page 563: Approximations for hard problems

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

Page 564: Approximations for hard problems

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

Page 565: Approximations for hard problems

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

Page 566: Approximations for hard problems

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

Page 567: Approximations for hard problems

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

Page 568: Approximations for hard problems

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

Page 569: Approximations for hard problems

?0 £ ? �

Page 570: Approximations for hard problems

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

Page 571: Approximations for hard problems

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

Page 572: Approximations for hard problems

² ?� � 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

Page 573: Approximations for hard problems

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

Page 574: Approximations for hard problems

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 ?¿?ÿ?`(?¢� � �

Page 575: Approximations for hard problems

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

Page 576: Approximations for hard problems

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

Page 577: Approximations for hard problems

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

Page 578: Approximations for hard problems

?

Page 579: Approximations for hard problems

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

Page 580: Approximations for hard problems

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

Page 581: Approximations for hard problems

?¨e?¢�

Page 582: Approximations for hard problems

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

Page 583: Approximations for hard problems

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

Page 584: Approximations for hard problems

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

Page 585: Approximations for hard problems

?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� �

Page 586: Approximations for hard problems

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

Page 587: Approximations for hard problems

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

Page 588: Approximations for hard problems

?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

Page 589: Approximations for hard problems

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

Page 590: Approximations for hard problems

???D?? ? ?D?¢

Page 591: Approximations for hard problems

?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� � �

Page 592: Approximations for hard problems

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

Page 593: Approximations for hard problems

|? ?H?? ? ?H?¢

Page 594: Approximations for hard problems

?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�

Page 595: Approximations for hard problems

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