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

Slides:



Advertisements
Similar presentations
Unit-iv.
Advertisements

Introduction to Algorithms 6.046J/18.401J/SMA5503
The Primal-Dual Method: Steiner Forest TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A AA A A A AA A A.
Algorithm Design Methods (I) Fall 2003 CSE, POSTECH.
Algorithm Design Methods Spring 2007 CSE, POSTECH.
C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
* Bellman-Ford: single-source shortest distance * O(VE) for graphs with negative edges * Detects negative weight cycles * Floyd-Warshall: All pairs shortest.
Introduction to Algorithms
Chapter 4 The Greedy Approach. Minimum Spanning Tree A tree is an acyclic, connected, undirected graph. A spanning tree for a given graph G=, where E.
MS&E 211, Lecture 11 The dual of Min-Cost Flow Ashish Goel.
Optimization Problems 虞台文 大同大學資工所 智慧型多媒體研究室. Content Introduction Definitions Local and Global Optima Convex Sets and Functions Convex Programming Problems.
Chapter 3 The Greedy Method 3.
Reuven Bar-Yehuda Gleb Polevoy Gleb Polevoy Dror Rawitz Technion Technion 1.
Reuven Bar-Yehuda Gleb Polevoy Gleb Polevoy Dror Rawitz Technion Technion 1.
Seminar : Approximation algorithms for LP/IP optimization problems Reuven Bar-Yehuda Technion IIT Slides and papers at:
A general approximation technique for constrained forest problems Michael X. Goemans & David P. Williamson Presented by: Yonatan Elhanani & Yuval Cohen.
Approximation Algorithms
1 Seminar : Approximation algorithms for LP optimization problems Reuven Bar-Yehuda Technion IIT Slides and paper at:
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
1 A Unified Approach to Approximating Resource Allocation and Scheduling Amotz Bar-Noy.……...AT&T and Tel Aviv University.
ISMP LP Rounding using Fractional Local Ratio Reuven Bar-Yehuda
1 New Developments in the Local Ratio Technique Reuven Bar-Yehuda
A Unified Approach to Approximating Resource Allocation and Scheduling Amotz Bar-Noy.……...AT&T and Tel Aviv University Reuven Bar-Yehuda….Technion IIT.
ECE LP Duality 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Using Homogeneous Weights for Approximating the Partial Cover Problem
Linear Programming – Max Flow – Min Cut Orgad Keller.
1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen.
Assignment 4. (Due on Dec 2. 2:30 p.m.) This time, Prof. Yao and I can explain the questions, but we will NOT tell you how to solve the problems. Question.
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
Design Techniques for Approximation Algorithms and Approximation Classes.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
Review for E&CE Find the minimal cost spanning tree for the graph below (where Values on edges represent the costs). 3 Ans. 18.
Chapter 8 PD-Method and Local Ratio (4) Local ratio This ppt is editored from a ppt of Reuven Bar-Yehuda. Reuven Bar-Yehuda.
1 New Developments in the Local Ratio Technique Reuven Bar-Yehuda
LR for Packing problems Reuven Bar-Yehuda
알고리즘 설계 및 분석 Foundations of Algorithm 유관우. Digital Media Lab. 2 Chap4. Greedy Approach Grabs data items in sequence, each time with “best” choice, without.
Chapter 2 Greedy Strategy I. Independent System Ding-Zhu Du.
Chap 10. Integer Prog. Formulations
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
1 A Unified Approach to Approximating Resource Allocation and Scheduling Amotz Bar-Noy.……...AT&T and Tel Aviv University.
Algorithm Design Methods 황승원 Fall 2011 CSE, POSTECH.
Review for E&CE Find the minimal cost spanning tree for the graph below (where Values on edges represent the costs). 3 Ans. 18.
Steiner Tree Problem Given: A set S of points in the plane = terminals
Exploiting Locality: Approximating Sorting Buffers Reuven Bar Yehuda Jonathan Laserson Technion IIT.
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Approximation Algorithms Duality My T. UF.
Chapter 8 PD-Method and Local Ratio (5) Equivalence This ppt is editored from a ppt of Reuven Bar-Yehuda. Reuven Bar-Yehuda.
Greedy Technique.
Greedy function greedy { S <- S0 //Initialization
Algorithm Design Methods
Chapter 8 Local Ratio II. More Example
Lecture 22 Network Flow, Part 2
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Seminar : Approximation algorithms for LP/IP optimization problems
Marina Kogan Sadetsky –
ICS 353: Design and Analysis of Algorithms
Analysis of Algorithms
Chapter 23 Minimum Spanning Tree
CS 583 Analysis of Algorithms
Lecture 11 Overview Self-Reducibility.
A Unified Approach to Approximating Resource Allocation and Scheduling
Text Book: Introduction to algorithms By C L R S
Autumn 2016 Lecture 10 Minimum Spanning Trees
Algorithm Design Methods
Lecture 19 Linear Program
Winter 2019 Lecture 10 Minimum Spanning Trees
Lecture 22 Network Flow, Part 2
Algorithm Design Methods
Presentation transcript:

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

בעית אופטימיזציה ידועה : מסלול זול ביותר בין 2 ערים S  T Shotest path distance label S E T A B C G F

בעית אופטימיזציה ידועה : מסלול זול ביותר בין 2 ערים S  T Shotest path S E T A B C G F distance label

בעית אופטימיזציה ידועה : מסלול זול ביותר בין 2 ערים S  T Shotest path S E T A B C G F distance label

בעית אופטימיזציה ידועה : מסלול זול ביותר בין 2 ערים S  T Shotest path S E T A B C G F distance label $14 + $30 + $16 = $60

בעית אופטימיזציה ידועה : מסלול זול ביותר בין 2 ערים S  T Shotest path S E T A B C G F distance label $15+ $44 = $59

בעית אופטימיזציה ידועה : מסלול זול ביותר בין 2 ערים S  T Shotest path S E T A B C G F distance label $9 + $23 + $19 = $61

בעית אופטימיזציה ידועה : מסלול זול ביותר בין 2 ערים S  T Shotest path S E T A B C G F distance label $14 + $18 + $2 + $16 = $50

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

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

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

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

ונחזור למערך מחירים המקורי... רוצים לעשות " מבצע הנחות " כך שלכל המסלולים תתקבל אותה הנחה S E T A B C G F =8 14-1= = distance label $14 -$1+ $18 + $2 + $16 = $50-$1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! = פתרון פיזיבילי ונחזור למערך מחירים המקורי...רוצים לעשות "מבצע הנחות כך שלכל הפתרונות תתקבל כמעט אותה הנחה

נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! נמכר ! SOLD! = פתרון פיזיבילי ונחזור למערך מחירים המקורי...רוצים לעשות "מבצע הנחות כך שלכל הפתרונות תתקבל כמעט אותה הנחה נמכר ! SOLD!

Movie: 1 4 the price of 2

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 תכנות בשלמים : כאשר הוקטור מאולץ להיות וקטור שלמים

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

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

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

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

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

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

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 )*

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 אם פתרון מסוים הוא אופטימאלי ביחס לווקטור מחירים כתום ואותו פתרון הוא גם אופטימאלי ביחס לווקטור מחירים כחול אז פתרון זה יהיה אופטימאלי גם ביחס לווקטור המתקבל מסכומם

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;

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 : ….

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) כיסוי בצמתים: מימוש רקורסיבי (קשת קשת)  

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};  

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

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};

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};

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};

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};

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};

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};

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};

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};

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