Presentation is loading. Please wait.

Presentation is loading. Please wait.

אחד במחיר של שניים : גישה מאוחדת לפיתוח אלגוריתמי קירוב ראובן בר - יהודה מכללת ת " א יפו לזכרו של פרופ ' שמעון אבן מורי ורבי.

Similar presentations


Presentation on theme: "אחד במחיר של שניים : גישה מאוחדת לפיתוח אלגוריתמי קירוב ראובן בר - יהודה מכללת ת " א יפו לזכרו של פרופ ' שמעון אבן מורי ורבי."— Presentation transcript:

1

2 אחד במחיר של שניים : גישה מאוחדת לפיתוח אלגוריתמי קירוב ראובן בר - יהודה מכללת ת " א יפו לזכרו של פרופ ' שמעון אבן מורי ורבי

3 בעית אופטימיזציה ידועה : מסלול זול ביותר בין 2 ערים S  T Shotest path distance label S E T A B C G F 23 18 2 9 14 15 5 30 20 44 16 11 6 19 6 0

4 בעית אופטימיזציה ידועה : מסלול זול ביותר בין 2 ערים S  T Shotest path S E T A B C G F 23 18 2 9 14 15 5 30 20 44 16 11 6 19 6 0 distance label

5 בעית אופטימיזציה ידועה : מסלול זול ביותר בין 2 ערים S  T Shotest path S E T A B C G F 23 18 2 9 14 15 5 30 20 44 16 11 6 19 6 0 distance label

6 בעית אופטימיזציה ידועה : מסלול זול ביותר בין 2 ערים S  T Shotest path S E T A B C G F 23 18 2 9 14 15 5 30 20 44 16 11 6 19 6 0 distance label $14 + $30 + $16 = $60

7 בעית אופטימיזציה ידועה : מסלול זול ביותר בין 2 ערים S  T Shotest path S E T A B C G F 23 18 2 9 14 15 5 30 20 44 16 11 6 19 6 0 distance label $15+ $44 = $59

8 בעית אופטימיזציה ידועה : מסלול זול ביותר בין 2 ערים S  T Shotest path S E T A B C G F 23 18 2 9 14 15 5 30 20 44 16 11 6 19 6 0 distance label $9 + $23 + $19 = $61

9 בעית אופטימיזציה ידועה : מסלול זול ביותר בין 2 ערים S  T Shotest path S E T A B C G F 23 18 2 9 14 15 5 30 20 44 16 11 6 19 6 0 distance label $14 + $18 + $2 + $16 = $50

10 מסלול זול ביותר בין 2 ערים לאיזה מערכת מחירים כל המסלולי הם אופטימאליים ? S E T A B C G F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 distance label אפשרות טריביאלית : כולם אפסים ! יש עוד ?...

11 מסלול זול ביותר בין 2 ערים לאיזה מערכת מחירים כל המסלולים הם אופטימאליים ? S E T A B C G F 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 distance label אפשרות טריביאלית : כולם אפסים ! יש עוד ?... כן ! הכבישים היוצאים מהמקור מחיר אחיד ( ולכל השאר 0)

12 מסלול זול ביותר בין 2 ערים לאיזה מערכת מחירים כל המסלולים הם אופטימאליים ? S E T A B C G F 0 0 0        0 0 0 0 0 0 0 0 0 distance label אפשרות טריביאלית : כולם אפסים ! יש עוד ?... כן ! הכבישים היוצאים מהמקור מחיר אחיד ( ולכל השאר 0), יש עוד ??

13 מסלול זול ביותר בין 2 ערים לאיזה מערכת מחירים כל המסלולים הם אופטימאליים ? S E T A B C G F 0 0 0      0 0 0     0 0       distance label הצעה : הכבישים היוצאים מהמקור מחיר אחיד הכבישים הנכנסים למטרה מחיר אחיד ( ולכל השאר 0) וכביש ישיר ?  + 

14 ונחזור למערך מחירים המקורי... רוצים לעשות " מבצע הנחות " כך שלכל המסלולים תתקבל אותה הנחה S E T A B C G F 23 18 2 9-1=8 14-1=13 15-1=14 5 30 20 44 16 11 6 19 6 0 distance label $14 -$1+ $18 + $2 + $16 = $50-$1

15 כל המסלולים הוזלו ב 9$ כולל האופטימאלי, לכן מציאת מסלול " כחול " מינימום שקול לבעיה המקורית S E T A B C G F 23 18 2 9-9=0 14-9=5 15-9=6 5 30 20 44 16 11 6 19 6 0 distance label $14 -$9+ $18 + $2 + $16 = $50-$9 = $41 למה לא יותר?

16 מה עושים עם כביש חינם ? S E T A B C G F 23 18 2 9-9=0 14-9=5 15-9=6 5 30 20 44 16 11 6 19 6 0 distance label $5 (+$9)+ $18 + $2 + $16 = $41 (+$9)

17 והבעיה החדשה... ונמשיך באותה שיטה : מבצע הנחות של 5$ S E T A B C G F 23 18 2 9-9=0 14-9=5 15-9=6 5 30 20 44 16 11 6 19 6 0 distance label $5 (+$9)+ $18 + $2 + $16 = $41 (+$9)

18 והבעיה החדשה... ונמשיך באותה שיטה : מבצע הנחות של 5$ S E T A B C G F 18 2 5-5=0 6-5=1 5 30 20 44 16 11 6 19 6 0 distance label $5-$5 (+$9)+ $18 + $2 + $16 = $41-$5 (+$9) 23-5=18

19 ושוב... מה עושים עם כביש חינם ? S E T A B C G F 18 2 5-5=0 6-5=1 5 30 20 44 16 11 6 19 6 0 distance label $5-$5 (+$9)+ $18 + $2 + $16 = $41-$5 (+$9) 23-5=18

20 וכן הלאה.. ( קיבלנו והוכחנו את האלגוריתם של דיקסטרה ) S E T A B C G F 18 2 5-5=0 6-5=1 5 30 20 44 16 11 6 19 6 0 distance label $5(+$14)+ $18 + $2 + $16 = $36(+$14) 23-5=18

21 Min Path פורמלית: מסלול קצר ביותר Given digraph G(V,E) s,t  V and p e  Z for each e  E Minimize  p e ·x e Subject to: x e  {0,1}  x e  1  s  t cut P e  P

22 VC דוגמא נוספת: כיסוי בצמתים Given a graph G=(V,E) penalty p v  Z for each v  V Min  p v ·x v S.t.: x v  {0,1} x v + x u  1  {v,u}  E

23 15 5 8 12 20 6 10 Min 5x ביסלי +8x תה +12x מים +10x במבה +20x שמפו +15x פופקורן +6x שוקולד s.t. x שמפו + x מים  1 נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! 0 +8 + 12 +10 + 0 + 15 + 0 = 45 פתרון פיזיבילי

24 15 5 8 12 20 6 10 Min 5x ביסלי +8x תה +12x מים +10x במבה +20x שמפו +15x פופקורן +6x שוקולד s.t. x שמפו + x מים  1 נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! 5 +0 + 0 +10 + 20 + 0 + 6 = 41 פתרון פיזיבילי

25 15 5 8 12 20 6 10 Min 5x ביסלי +8x תה +12x מים +10x במבה +20x שמפו +15x פופקורן +6x שוקולד s.t. x שמפו + x מים  1 נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! 0 +8 + 12 +0 + 0 + 15 + 6 = 41 פתרון פיזיבילי

26 0 0 0 0 0 0 0 נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! 0 +0 + 0 +0 + 0 + 0 + 0 = 0 לאיזה מערכת מחירים כל הפתרונות הם אופטימאליים? אפשרות טריביאלית : כולם אפסים ! יש עוד ?... לא ! מה עם פשרה ??

27 0 1 1 0 0 0 0 נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! 0 +0 + 1 +0 + 0 + 0 + 0 = 1 לאיזה מערכת מחירים כל הפתרונות הם כמעט אופטימאליים? פשרה : עד כדי פקטור 2

28 0 1 1 0 0 0 0 נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! 0 +1 + 1 +0 + 0 + 0 + 0 = 2 לאיזה מערכת מחירים כל הפתרונות הם כמעט אופטימאליים? פשרה : עד כדי פקטור 2 נמכר ! SOLD!

29 15 5 8 12 20 6 10 נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! 0 +8 -1 + 12 +0 + 0 + 15 + 6 = 41 -1 פתרון פיזיבילי ונחזור למערך מחירים המקורי...רוצים לעשות "מבצע הנחות כך שלכל הפתרונות תתקבל כמעט אותה הנחה

30 15 5 8 12 20 6 10 נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! 5 -1 +8 -1 + 12 +0 + 0 + 15 + 6 = 46 -2 פתרון פיזיבילי ונחזור למערך מחירים המקורי...רוצים לעשות "מבצע הנחות כך שלכל הפתרונות תתקבל כמעט אותה הנחה נמכר ! SOLD!

31 Movie: 1 4 the price of 2

32 Linear Programming (LP) תכנות לינארי Integer Programming (IP)תכנות בשלמים Linear Programming (LP) תכנות לינארי Integer Programming (IP)תכנות בשלמים Given a penalty [profit] vector p נתון וקטור קנסות [ פרסים ] Minimize [Maximize] p·x מצא מינימום [ מקסימום ] Subject to: Linear Constraints F(x) תחת אלוצים לינאריים IP: where “x is an integer vector” is a constraints תכנות בשלמים : כאשר הוקטור מאולץ להיות וקטור שלמים

33 Example: VC דוגמא: כיסוי בצמתים Given a graph G=(V,E) and penalty vector p  Z n Minimize p·x Subject to: x  {0,1} n x i + x j  1  {i,j}  E

34 Example Min Path Given digraph G(V,E) s,t  V and length vector p  Z |E| Minimize p·x Subject to: x  {0,1} |E|  x e  1  s  t cut P e  P

35 Example MST (Minimum Spanning Tree) Given graph G(V,E) and length vector p  Z |E| Minimize p·x Subject to: x  {0,1} |E|  x e  1  cut P e  P

36 Example Minimum Steiner Tree Given graph G(V,E) T  V and length vector p  Z |E| Minimize p·x Subject to: x  {0,1} |E|  x e  1  T’s cut P e  P

37 Example Generalized Steiner Forest Given graph G(V,E) T 1 T 1 …T k  V and length vector p  Z |E| Min p·x S.t.: x  {0,1} |E|  x e  1  i  T i ’s cut P e  P

38 The Local-Ratio Technique:טכניקת היחס המקומי: Basic definitions הגדרות בסיסיות The Local-Ratio Technique:טכניקת היחס המקומי: Basic definitions הגדרות בסיסיות Given a penalty [profit] vector p נתון וקטור קנסות [ פרסים ] Minimize [Maximize] p·x מצא מינימום [ מקסימום ] Subject to: feasibility constraints F(x) תחת אלוצים x is r-approximation if F(x) and p·x  r · p·x* An algorithm is r-approximation if for any p, F it returns an r-approximation

39 The Local-Ratio Theorem:משפט היחס המקומי: The Local-Ratio Theorem:משפט היחס המקומי: x is an r-approximation with respect to p 1 x is an r-approximation with respect to p- p 1  x is an r-approximation with respect to p Proof : (For minimization) p 1 · x  r × p 1 * p 2 · x  r × p 2 *  p · x  r × ( p 1 *+ p 2 *)  r × ( p 1 + p 2 )*

40 Special case: Optimization is 1-approximation מקרה פרטי: אופטימיזציה היא 1-קירוב Special case: Optimization is 1-approximation מקרה פרטי: אופטימיזציה היא 1-קירוב x is an optimum with respect to p 1 x is an optimum with respect to p- p 1 x is an optimum with respect to p אם פתרון מסוים הוא אופטימאלי ביחס לווקטור מחירים כתום ואותו פתרון הוא גם אופטימאלי ביחס לווקטור מחירים כחול אז פתרון זה יהיה אופטימאלי גם ביחס לווקטור המתקבל מסכומם

41 A Local-Ratio Schema for Minimization[Maximization] problems: A Local-Ratio Schema for Minimization[Maximization] problems: Algorithm r-ApproxMin[Max]( Set, p ) If Set = Φ then return Φ ; If  I  Set p(I)=0 then return {I}  r-ApproxMin( Set-{I}, p ) ; [If  I  Set p(I)  0 then return r-ApproxMax( Set-{I}, p ) ;] Define “good” p 1 ; REC = r-ApproxMax[Min]( Set, p- p 1 ) ; If REC is not an r-approximation w.r.t. p 1 then “fix it”; return REC;

42 The Local-Ratio Theorem: Applications Applications to some optimization algorithms (r = 1): ( MST) Minimum Spanning Tree (Kruskal) MST ( SHORTEST-PATH) s-t Shortest Path (Dijkstra) SHORTEST-PATH (LONGEST-PATH) s-t DAG Longest Path (Can be done with dynamic programming)(LONGEST-PATH) (INTERVAL-IS) Independents-Set in Interval Graphs Usually done with dynamic programming)(INTERVAL-IS) (LONG-SEQ) Longest (weighted) monotone subsequence (Can be done with dynamic programming)(LONG-SEQ) ( MIN_CUT) Minimum Capacity s,t Cut (e.g. Ford, Dinitz) MIN_CUT Applications to some 2-Approximation algorithms: (r = 2) ( VC) Minimum Vertex Cover (Bar-Yehuda and Even) VC ( FVS) Vertex Feedback Set (Becker and Geiger) FVS ( GSF) Generalized Steiner Forest (Williamson, Goemans, Mihail, and Vazirani) GSF ( Min 2SAT) Minimum Two-Satisfibility (Gusfield and Pitt) Min 2SAT ( 2VIP) Two Variable Integer Programming (Bar-Yehuda and Rawitz) 2VIP ( PVC) Partial Vertex Cover (Bar-Yehuda) PVC ( GVC) Generalized Vertex Cover (Bar-Yehuda and Rawitz) GVC Applications to some other Approximations: ( SC) Minimum Set Cover (Bar-Yehuda and Even) SC ( PSC) Partial Set Cover (Bar-Yehuda) PSC ( MSP) Maximum Set Packing (Arkin and Hasin) MSP Applications Resource Allocation and Scheduling : ….

43 VC (V, E, p) If E=  return  ; If  p(v)=0 return {v}+VC(V-{v}, E-E(v), p); Let (x,y)  E; Let  = min{p(x), p(y)}; Define p 1 (v) =  if v=x or v=y and 0 otherwise; Return VC(V, E, p- p 1 ) VC: Recursive implementation (edge by edge) כיסוי בצמתים: מימוש רקורסיבי (קשת קשת)   0 0 0 0 0 0

44 VC: Iterative implementation (edge by edge)   מימוש איטרטיבי VC (V, E, p) for each e  E; let  = min{p(v)| v  e}; for each v  e p(v) = p(v) -  ; return {v| p(v)=0};   0 0 0 0 0 0

45 15 5 8 12 20 6 10 Min 5x ביסלי +8x תה +12x מים +10x במבה +20x שמפו +15x פופקורן +6x שוקולד s.t. x שמפו + x מים  1

46 VC: Iterative implementation (edge by edge)   BarYehuda+Even 81 (V, E, p) for each e  E; let  = min{p(v)| v  e}; for each v  e p(v) = p(v) -  ; return {v| p(v)=0}; 10 15 100 2 30 90 50 80 -10

47 VC: Iterative implementation (edge by edge)   BarYehuda+Even 81 (V, E, p) for each e  E; let  = min{p(v)| v  e}; for each v  e p(v) = p(v) -  ; return {v| p(v)=0}; 0 15 100 2 30 80 50 80

48 VC: Iterative implementation (edge by edge)   BarYehuda+Even 81(V, E, p) for each e  E; let  = min{p(v)| v  e}; for each v  e p(v) = p(v) -  ; return {v| p(v)=0}; 0 15 100 2 30 80 50 80 -80

49 VC: Iterative implementation (edge by edge)   BarYehuda+Even 81(V, E, p) for each e  E; let  = min{p(v)| v  e}; for each v  e p(v) = p(v) -  ; return {v| p(v)=0}; 0 15 20 2 30 0 50 80

50 VC: Iterative implementation (edge by edge)   BarYehuda+Even 81(V, E, p) for each e  E; let  = min{p(v)| v  e}; for each v  e p(v) = p(v) -  ; return {v| p(v)=0}; 0 15 20 2 30 0 50 80 -50

51 VC: Iterative implementation (edge by edge)   BarYehuda+Even 81(V, E, p) for each e  E; let  = min{p(v)| v  e}; for each v  e p(v) = p(v) -  ; return {v| p(v)=0}; 0 15 20 2 30 0 0

52 VC: Iterative implementation (edge by edge)   BarYehuda+Even 81(V, E, p) for each e  E; let  = min{p(v)| v  e}; for each v  e p(v) = p(v) -  ; return {v| p(v)=0}; 0 15 20 2 30 0 0 -15

53 VC: Iterative implementation (edge by edge)   BarYehuda+Even 81(V, E, p) for each e  E; let  = min{p(v)| v  e}; for each v  e p(v) = p(v) -  ; return {v| p(v)=0}; 0 0 20 2 15 0 0 30

54 אחד במחיר של שניים : גישה מאוחדת לפיתוח אלגוריתמי קירוב ראובן בר - יהודה מכללת ת " א יפו לזכרו של פרופ ' שמעון אבן מורי ורבי מודים לכם על תשומת הלב


Download ppt "אחד במחיר של שניים : גישה מאוחדת לפיתוח אלגוריתמי קירוב ראובן בר - יהודה מכללת ת " א יפו לזכרו של פרופ ' שמעון אבן מורי ורבי."

Similar presentations


Ads by Google