Kiril Solovey שיטות אלגוריתמיות – שיעור 06 הערה :קיים קודקוד שמקיים . ∈ 0,1⁄2 , 1 – Weighted Vertex Coverהמשך טענה-2 :קירוב הוא חסם הדוק. הוכחה .נבחר מעגל עם 2 − 1קודקודים .הפתרון האופטימלי הוא ,nאבל ה LPעלול לתת משקל 1⁄2עבור כל הקודקודים ,ולכן נבחר את כל הקודקודים .כלומר יחס הקרוב כאן הוא .2 Max-SAT נתונה נוסחת ,CNFמורכבת מאוסף הסגרים .כל הסגר ORשל תוים .כל תו ,משתנה או שלילתו. בעיית ההחלטה :רוצים לבדוק אם קיימת השמה מספקת ,כך שכל ההסגרים מתקיימים .בעיה זו היא .NPCompleteאם בכל הסגר יש לכל היותר 2תווים בעיה זו שייכת ל .P בעיית אופטימיזציה :לכל הסגר יש משקל .רוצים למצוא השמה שמספקת מקסימום משקל .בעייה זו יותר קשה מבעיית ההחלטה .כמו כן Max-2SATהיא גם .NPHard נתן השמה מקרית לכל המשתנים .באופן בלתי תלוי כל משתנה יהיה Tבהסתברות 1⁄2ו F בהסתברות .1⁄2 אלגוריתם קירוב רנדומי נסמן נוסחה ב ,cההסגר ה jיקרא ,השמה . נרצה לחשב את משקל ההשמה: , = , כאשר ,הוא אינדיקטור ,האם ההסגר jמסופק ע"י .נקח את התוחלת של הביטוי. , = , = , נשים לב ש ,ספיק בהסתברות 1 − 1⁄2כאשר מספר המשתנים ב .נשים לב שערך זה מקבל ערך מינימום עבור , = 1כלומר .1⁄2לכן נקבל: 1 1 ≥ , = 1 − ℓ # 2 "2 מכיוון ש ∑ ≤ '& %אזי קבלנו קירוב .1⁄2 * אם כל הסגר מכיל לפחות kתווים )שונים( אזי השמה מקרית תתן קירוב .1 − +, דה-רנדומיזציה נעזר בהסתברות מותנית )בתוחלת מותנית(. 1 1 *- , . = -/0 |* = 0, .2* + -/0 |* = 1, .2 2 2 אם נדע לחשב את התוחלות המותנות אזי נוכל לבחור השמה עבור * כך שהתוחלת המותנת רק תגדל. אם נדע לחשב תוחלת אזי נציב משתנה משתנה .נרצה לחשב את כאשר חלק מהמשתנים * , … , 5קיבלו ערכים ו 56* , … , .מקריים .מספיק לחשב את התוחלת של משתנה אינדיקטור לכל הסגר. מתקיים Kiril Solovey דוגמא: * = 0, … , 5 = 1, 56* , … , . ∈ 0,1 1, 89 ; < ;9 =ℎ< ?@A8@BC<D 8D D@98D98<E G. 1 =7 =<A ?@A8@BC<D @A< ;= D 1− F, 2 * ∨ + ∨ ̅K ̅* ∨ ̅+ ∨ ̅K * ∨ + ∨ K כל המשקלים הם .1בתוחלת מובטח שנקבל: 1 3 7 7 7 7 + + + + =3 2 4 8 8 8 8 נקבע :* = 0 1 3 3 1+ + +1+ =4 2 4 4 עבור :* = 1 3 3 0+1+1+ +1=3 4 4 לכן נבחר את .* = 0אם + = 0אז: 1 1 1+1+ +1+ =4 2 2 אם + = 1אז: בגלל שיוויון ,לא משנה מה נבחר. , ̅* * ∨ ̅+ 1+0+1+1+1=4 נחזור לאלגוריתם ,נקח נוסחה .cנוכל לצמצם מספר הסגרים בני משתנה אחד .אפשר לרכז תווים זהים לתו בודד .תווים נגדיים נחסר ) Pהקטן מבין השניים(. * ⟹ *̅ * *̅ * *K *Q *+ R+ *S W במקרה הכללי , → ′ :אז , , = , − Pכלומר , = , + Pויש הזזה X6Z X בקבוע .במילים אחרות ,אם Y ≤ Aאז ) Y6Z ≥ Aעבור ,(P ≥ 0כאשר xתוצאת האלגוריתם ,ו y האופטימלי. W * + נגריל כל משתנה באופן בלתי תלוי :בהסתברות < ℎנגריל 5לכיוון שהתו שלו מופיע )אם מופיע(. לכן , , = ℎכאשר הוא משתנה בודד .אם באורך גדול מ 2אז לפיכך: אז יחס הקירוב יהיה ≈ 0.618 , ≥ 1 − ℎ ≥ 1 − ℎ+ , ≥ \8 ℎ, 1 − ℎ+ *√^2 + = .ℎ תזכורת :אם אין הסגרים בגודל ,1השמה מקרית נותנת יחס קרוב .3/4 5 ∈ 0,1אינדיקטור משתנה b ∈ 0,1 .iאינדיקטור להסגר .jפונ' המטרה .\@ ∑ bכיצד נגדיר את האילוצים? עבור המקרה של * ∨ ̅+ ∨ Kנבקש .b ≤ * + 1 − + + Kבמקרה הכללי: פתרון בעזרת תכנות לינארי b ≤ 5 + 1 − 5 5∈c"/ 5∈c"d זוהי בעיה -NPקשה .לכן נבצע רלקסציה ונגדיר .0 ≤ 5 ≤ 1, 0 ≤ b ≤ 1נפתור ונקבל .5 = e5 Kiril Solovey נבצע עיגול :לכל משתנה ,באופן בלתי תלוי נגריל 5 = 1בהסתברות 5 = 0 ,e5בהסתברות 1 − .e5נחשב את ההסתברות הבאה: ∑5∈c d1 − e5 + ∑5∈c"/ e5 − b " j ≤k &Af = 0g = h1 − e5 h e5 ≤ i l / d "5∈c לכן b = 1 − b &Af = 1g ≥ 1 − 1 − וכמו כן , = . אם נטען ש נקבל ש "5∈c b 1 − 1 − ≥ P ⋅ b '& = b∗ P ≥ P b∗ = P ⋅ %&'FopqXor ≥ P ⋅ % טענה :לכל 0 ≤ b ≤ 1מתקיים: b 1 1 − 1 − ≥ s1 − 1 − # t b uvvvvwvv vvx Z, הוכחה :ב b = 0,1מקבלים שיוויון. בהסתברות 1⁄2נפתור בעזרת LPועיגול .בהסתברות 1⁄2נפתור בעזרת השמה מקרית. 1 1 1 1 1 = * + + = b∗ P + 1 − # 2 2 2 2 2 אלגוריתם משולב 1 1 1 3 ≥ P + 1 − # 2 2 4 2 אם נראה ש נקבל צריך להראות ש 1 1 1 3 3 b∗ k P + 1 − #l ≥ b∗ ≥ %&'. 2 2 2 4 4 1 1 1 1 3 1 1 1 ≤ k1 − 1 − # l + 1 − # ≥ ⟺ 1 − # + 2 2 2 4 2 2 עבור = 1מתקיים עבור : = 2 1 1 1 ≥ b∗ k P + 1 − #l 2 2 2 1 1 ≤ 2 2 0+ Kiril Solovey 1 1 1 = + 4 4 2 עבור גדול: 1 1 1 ≤ + < 8 2 נתון גרף z = {,עם קיבולות על הקשתות .: → ℝ6הבקשות ,E = 1 ,D5 , =5נקבל ערך ?5 אם נעביר מסלול בעובי 1מ D5ל .=5 Integer Multi-commodity Flow פתרון פיזיבילי לכל e5 – iמסלול מ D5ל =5או ∅ = ) e5לא משרתים את הבקשה(. נגדיר | ℓo = |8|< ∈ e5 ונדרוש .o ≥ ℓoערך הפתרון הוא .∑5│ ∅ ?5 נעשה כמה הנחות מקלות: .1אפשר להחליף את המסלול בזרימה מ D5ל .=5 .2אפשר להעביר שבר מהצורך ונקבל ערך בשבר המתאים. הפכנו את הבעיה ל - o5 :LPכמות הזרימה מסוג iעל קשת – 5 .eסה"כ זרימה מסוג .iפונ' המטרה .\@ ∑5 ?5 5האילוצים הם: o5 = 0 o5 ≤ o │o, o5 − 5 ∈ <∀ │o, ∀8∀ ∈ { ∖ D5 , =5 o5 − o5 = 5 o, כמו כן .0 ≤ 5 ≤ 1 ,0 ≤ o5 ≤ 1נפתור מערכת זו. o , ∀8 עתה ,את הפתרון לכל iנפרק את הזרימה מ D5ל =5למסלולים )לכל היותר ≥ || מסלולים( .גרף הזרימה הוא א-ציקלי. = {, , נקח מסלול כלשהו ,ונוריד אותו בגרף הזרימה )כמובן עם הפחתה של הזרימה( .לפחות אחת מהקשתות יורדת.
© Copyright 2024