1 סיבוכיות ,סמסטר ב' 2009 אריאל סטולרמן סיכומים לקורס סיבוכיות פרופ' עודד רגב ופרופ' מולי ספרא ,סמסטר ב' 2009 חישוביות: משימה חישובית: , : 0,1לרוב פונקציות בוליאניות )טווח .( 0,1בצורה שקולה נגדיר שפה1 : 0,1 חישוב פונקציה | 0,1 .ידוע גם בשם בעיות החלטה/הכרעה .מודל חישובי :אלגוריתמים בשפת תכנות כלשהי /מכונת טיורינג ,אין מגבלת זיכרון. מכונת החישוב האוניברסלית: כל תוכנית בשפת תכנות כלשהי ניתן לייצג ע"י מחרוזת של . 0,1תהי משפט )טיורינג( :קיים אלג' Uשבהינתן 0,1 תתקע .רעיון ההוכחה U :עובר על התוכנית : , תוכנית ,נסמן ב- , את האלג' המייצג תוכנית זו. - כלומר Uמסמלץ את נתקע ,גם U על הקלט .xאם ומסמלץ כל שורה בה .טיורינג הראה שניתן להריץ תוכנית על מחשב. משפט טיורינג )לקיום פונ' לא חשיבה(: : 0,1 קיימת פונ' 0,1 ומחזיר את שלא ניתנת לחישוב ע"י אף אלגוריתם )פונ' חשיבה :פונ' fשקיים עבורה אלג' Mכך שלכל קלט :x עוצר (. הוכחה: דרך א' :חישובי עוצמות – גודל קבוצת הפונקציות היא א לעומת גודל קבוצת התוכניות שהיא א. דרך ב' :שיטת הלכסון :נציב בטבלה את כל האלג' … 1 0, 1, / , , , אל מול כל הקלטים … 0,1,00,01,ונגדיר את UCבאופן הבא: -כלומר מחזיר תוצאה הפוכה לאלכסון ,או תוצאה כלשהי ) 0או (1אם התוצאה על האלכסון מתבדרת .לפי בניה זו ,אף אלג' לא יחשב נכון את UCלכל קלט .מניחים בשלילה שקיים קלט עבורו מחשב את ,UCומגיעים לסתירה מבניית UCעל הקלט . משפט HALT :אינה ניתנת לחישוב. | , , .נניח בשלילה שקיים ,ונראה כיצד ניתן לחשב את :UCבהינתן קלט , מריץ את .אם התוצאה לא עוצרת ,נעצור ונוציא .1אם התוצאה עוצרת ,נחשבה ונחזיר את ההיפך. פרק ראשון :סיבוכיות זמן ריצה: נסתכל לרוב על מחלקות של שפות ,כלומר של פונקציות בוליאניות. הגדרה: :נגדיר עבור פונ' בתור אוסף השפות שניתן לפתור אותן בעזרת אלגוריתם שרץ בזמן · עבור קבוע cכלשהו. המחלקה :P • :הגדרה זו תקפה לכל מודל חישובי ,כגון שפת TM ,JAVA ,Cוכו' . • :BPPמחלקת אלגוריתמים הרצים בזמן פול' ומשתמשים באקראיות )שאלה פתוחה: • מחלקת ) BQPשימוש בפיסיקה קוונטית( . ( . המחלקה :NP מחלקת השפות שניתן לוודא שייכות אליהן בזמן פולינומיאלי .כלומר ,שפה 0,1 בזמן פולי' כך שלכל קלט 0,1 1: , . | | 0,1 היא ב NP-אם קיים פולינום :ואלגוריתם Mהרץ .כלומר ,האלג' בהינתן הקלט ועד באורך פולי' לאורך הקלט יחזיר (1) tאמ"מ xבשפה. דוגמאות לבעיות: • קבוצה ב"ת ) – (ISבעיה ב :NPC-בהינתן גרף לא מכוון Gומספר טבעי ,kהאם יש ב G-קבוצה ב"ת בגודל לפחות ) kקבוצת קודקודים ללא קשתות( .העד יכול להיות רשימה של kקודקודים .האלג' המוודא Mיעבור על העד ויבדוק את תקינותו . • – HamPathבעיה ב :NPC-בהינתן גרף לא מכוון ,Gהאם קיים בו מסלול המילטוני – מסלול המבקר בכל קודקוד בדיוק פעם אחת . • – HamCycleבעיה ב :NPC-כנ"ל רק בודק קיום מעגל המילטוני . • – MaxISבעיה ב- • – Linear Programmingבעיה ב :P-בהינתן אוסף אי-שוויונים ,האם יש להם פתרון מעל הממשיים . • – Integer Programmingבעיה ב :NPC-כמו קודם ,רק מעל השלמים . :בהינתן גרף Gומספר ,kהאם גודל הקבוצה הבלתי תלויה המקסימלית היא בגודל .k 2 סיבוכיות ,סמסטר ב' 2009 • אריאל סטולרמן – Graph Isomorphismבעיה ב :NP-לא הצליחו להראות שבעיה זו ב NPC-או ב .P-בהינתן שני גרפים ,H ,Gהאם הם איזומורפיים ,כלומר האם הם אותו גרף תחת שינוי שמות הקודקודים .העד יהיה פרמוטציה של שמות הקודקודים ,והמוודא יבדוק את תקינות הפרמוטציה ונכונותה .אם בעיה זו ב ,NPC-אז • . – Compositnessבעיה ב :P-בהינתן מספר Nהאם הוא פריק ,כלומר לא ראשוני .גודל הקלט הוא ב NP-בגלל שעד יכול להיות kמחלק כלשהו ,שגודלו הוא ,וביחס לגודל זה מוודאים יעילות. ,והמוודא בודק שהוא מחלק .ב P-בגלל : • :Primalityבהינתן מספר ,Nהאם הוא ראשוני .ב ,coNP-כי ניתן לתת מחלק .kעם הזמן גילו אלג' ב BPP-ולבסוף אלג' דטרמיניסטי ב .P- • – Factoringבעיה ב NP-וב :coNP-בהינתן מספרים ,N,kהאם ל N-יש מחלק ראשוני בתחום 1 . ,ב :NP-ניתן לתת כעד 1, … , מחלק ראשוני בתחום ,ולבדוק בזמן פולי' שהוא בתחום ,מחלק וראשוני .ב :coNP-ניתן לקבל רשימת מספרים ,…, ולוודא שמכפלתם היא ,Nשכל אחד מהם ראשוני ושכולם קטנים מ .k- טענה: 2 הוכחה: • :בונים מוודא שמתעלם מהעד – המוודא יהיה האלג' המקורי שפותר בזמן פולי' . • וכל המשתמע מכך .נבנה אלג' :תהי שמפעיל את האלג' המוודא Mעל כל | | 2העדים האפשריים .אם לפחות אחת מהריצות קיבלה ,נקבל .אחרת נדחה . הגדרה חלופית ל:NP- 0,1 ההגדרה החילופית משתמשת באי-דטר' .נגיד ששפה קיימת בחירה אי דטרמיניסטית שגורמת ל M-לקבל אם קיים 0 שייכת ל- .בנוסף Mעוצר אחרי וקיים אלג' לא דטר' Mכך שלכל :x · צעדים עבור כל בחירה אי דטר'. משפט: הוכחה :עבור ,נבנה אלג' מוודא :מריץ את האלג' האי דטר' המקורי ,אך במקום פיצולים אי דטר' ,מתפצל לפי העד הניתן לו ,נבנה אלג' לא דטר' :מריץ את האלג' המוודא תוך כדי שבונה עד באופן לא דטרמיניסטי באורך | | . )אלג' זה דטר'( .עבור תרגול: סגירות לפעולות : . נגדיר 1, … , … , | . . תרגיל :האם NPסגורה ל?*- פתרון :כן .עבור עד באופן הבא: ,נגדיר ל -קלט ל- … 0חלוקה ל x-ו- ,…, עדים לכל אחד ממחרוזות · בחלוקה של .xהאלג' המוודא ישתמש במוודא של Lלבדוק שכל קטע בחלוקה הוא מחרוזת ב .L-העד באורך ) pאורך עד ב (L-וזמן הריצה גם כן .נכונות ברורה. תרגיל :האם סגורה ל?*- … פתרון :כן .עבור מילה 0,1,2, … ,ולכל קטע בחלוקה מאינדקס iל j-נעביר קשת מכוונת נבנה גרף בו הצמתים בגרף יש מסלול מכוון מ 0-ל .n-זמן ריצה · . ,נבדוק אם -הרצת האלג' המכריע את Lעל כל הקטעים האפשריים ,בדיקת מסלול מכוון ע"י .BFS נכונות ברורה. תרגיל :האם coNPסגורה ל?*- פתרון :בהינתן קלט xבאורך nיש להוכיח כי ב- אין מסלול מכוון מ 0-ל .n-העד :אוסף זוגות הצמתים שאין ביניהם קשת ועדות לכך שאין ולכן קיימים עדים כאלה( .נקח את הגרף השלם ונסיר ממנו את אותן קשתות ,ונבדוק שאכן אין עליו מסלול מכוון מ 0-ל.n- ביניהם קשת ) רדוקציות ושלמות ב:NP- רדוקציית :Karp פולי' משפה Aלשפה Bהיא פונ' fחשיבה בזמן פולי' )בגודל הקלט( כך שלכל :x • • וגם אם :NPhard ו- אז . או אז או : . תהיה -NPקשה אם לכל A :NPCompleteתהיה NPCאם היא -NPקשה וגם בהתאם . . .נסמן . 3 סיבוכיות ,סמסטר ב' 2009 משפט: 0,1 קיים כך שהאלגוריתם מוציא 1על הקלט אונארי הוא כדי שהאלג' ירוץ בזמן פולי' ל n-ולא ל- תוך זמן | t (. :תהי | | תתרגם קלט xל L-ל: ,1 | | עם אלג' מוודא , ,1 , ,1 ,1 .הסיבה שמשתמשים בייצוג . :בונים מוודא המקבל uכעד ומסמלץ את הוכחה בקיצור: ) , אריאל סטולרמן , על למשך tצעדים .גודל הקלט וזמן הריצה פולי' עם עד בגודל | | . הרץ בזמן | | :הרדוקציה . משפט :CookLevin טענה :לכל פונק בוליאנית מעל lמשתנים 0,1 הוכחה: : 0,1יש נוסחת CNFשקולה בגודל :תהא Mמ"ט לא דטר' המחשבת את Lורצה בזמן | | ,עם שתי פונ' מעברים . :ברור. נתרגם קלט xל L-לנוסחה .לכל קלט xנבנה נוסחה המתארת טבלה בגודל | | כך ש- המכונה Mעל – xכל שורה בטבלה היא שלב .לייצוג כל תא נדרש למקום קבוע1 : השורות מורכבות באופן תקין )השורה הראשונה עם ע" פ או . ·2 | | | | . | | . , המתארת את ריצת תורכב מתנאים המוודאים שכל מעל התא הראשון ,השורה האחרונה מייצגת מצב קבלה ,מעברי השורות – מצבים – נכונים ( .סה"כ יתקבל מס' פולי' של תנאים מעל מס' קבוע של משתנים – סה"כ נוסחת בגודל פולי' והרדוקציה פולי' .יש להוכיח אמ"מ. טענה: הוכחה: 3 :ברור. 3 ) :( 3לכל עם mהסגרים ניצור גרף עם mמשולשים שקודקודי כל משולש הם הליטרלים בהסגר .בנוסף כל ליטרל יחובר לשלילתו .אם הנוסחה ספיקה אז יש בגרף קבוצה ב"ת בגודל – mלוקחים את אחד המשתנים המספקים בכל הסגר .אם יש קבוצה ב"ת בגודל ,mחייב להיות בה קודקוד אחד בכל שלישיה ולכן ישנה השמה מספקת ע"י סיפוק הליטרלים כפי שמופיעים בקבוצה הב"ת. , טענות נוספות: . תרגול: רדוקציות :Cook / Karp תרגיל :להראות רדוקציית :Karp פתרון :בהינתן Gהרדוקציה תחזיר . ו- כך ש- נכונות :אם ב G-מסלול המילטוני ,ב- )מוסיפים קודקוד ומחברים אותו לכולם(. .אם ב- מעגל המילטוני מעגל המילטוני ,מסירים את u ומקבלים מסלול המילטוני. טענה NP :סגורה לרדוקציות .Karp תרגיל :להראות רדוקציית :Cook פתרון :בהינתן , , . קלט לבעיית מעגל המילטון ,נבדוק האם , , , .אם כן ,נחזיר שאין מעגל המילטון .אם לא ,נבחר קשת כלשהי .אם מחזיר כן ,נחזיר כן – כי יחד עם הקשת , , ונריץ את ניתן להשלים מעגל המילטון .אחרת ,נסיר את הקשת הזו ונחזור לשלב ההתחלה. טענה NP :סגורה לרדוקציית Cookפולי' אמ"מ . הוכחה :אם NPסגורה לרדוקציית Cookפולי' ,והרי לכל ולכן Aאלג' המכריע את וגם .בהינתן קלט xלשפה : ולכן .אם ,תהיה ו- ,נראה ,יהי kמספר הקריאות של Aלאלג' המכריע את .Lהעד שנצפה לו הוא התשובות 0,1 של האלג' המכריע את ,Lוכן עדים לנכונות תשובות :L באמצעות עד .האלג' של ע"י החזרת התשובה ההפוכה לתשובת האלג' המכריע את ,Lנקבל כי ,…, ענו על הדרישה ו A-קיבל ,אז נקבל .אחרת נדחה. ,…, ,ניתן לוודא האם קלט שייך או לא שייך לL- .כיוון ש- יסמלץ את Aובכל קריאה לאלג' הפותר את Lיוודא בעזרת .יהי אם התשובה הנכונה .אם לאורך כל החישוב העדים 4 סיבוכיות ,סמסטר ב' 2009 חיפוש לעומת החלטה: משפט :אם יש אלג' פולי' שבהינתן אז לכל מוציא עבורו עד. הוכחה על :SATנסמן את האלג' הפולי' הפותר את SATב .A-בהינתן לנוסחה ונבדוק האם ספיקה .אם כן ,נמשיך עם אריאל סטולרמן ל t-ע"י הוספת נבדוק האם ספיקה .אם לא – נעצור .אם כן ,נקבע את )נוסיף את ,אחרת נמשיך עם ( .לבסוף מתקבלת השמה במקום מספקת .נדרשת הוכחת נכונות. עם אלג' מוודא .Mנתרגם את Mלמ"ט דטר' הוכחה כללית :תהא ,ולפי הוכחת ,CLבהינתן השמה מספקת ל- המחשבת את .Lלפי CLבהינתן xניתן לבנות כך ש- ניתן בזמן פולי' לשחזר את הבחירות הלא דטר' ומהן לבנות את העד שגורם ל M-לקבל. המחלקה :coNP .הגדרה חלופית :קיים פולינום pומ"ט פולי' Mכך שלכל | באופן שקול1 : . , | | NP .ידועה גם כ- 0,1 , | דוגמא: 0,1 . טענה: )תחת רדוקצית (Karp 1: 01 , ,ו coNP-ידועה גם כ- . | | 0,1 ,או . . PSPACE טענה: , : -הנוסחה השניה תמיד לא ספיקה .נכונות ברורה. המחלקות :EXP, NEXP 2 , 2 )ניתן להגדיר גם באמצעות עד(. ברור שמתקיים: . משפט :אם הוכחה: | אז נניח |2 . | | | ,1 ברור , כי . , נראה תהי נגדיר ,ומכאן קל לבנות אלג' אקספ' דטר' המכריע את .L .אם כן ,לפי הנחה, : :מחלקת השפות שיש עבורן מ"ט פולי' Mופולינום pכך שלכל -בהינתן נוסחת DNF דוגמא: )בעיה . , בשיטת ה:Padding- :בהינתן קלט נבדוק שהוא מהצורה הנדרשת ,ואם כן נפעיל עליו את האלג' הלא-דטר' הרץ בזמן .זמן הריצה הוא פולי' בגודל הקלט ב- המחלקות 1: 0,1 , , ומספר ,kהאם קיימת נוסחת DNF . | | . 0,1 | | בגודל לכל היותר kכך ש- 0,1 . . : . -שלמה(. :מוגדרת בצורה דומה עם החלפת ה -עם ה . -מתקיים: . דוגמא: | . . , .ניתן להביע את התנאי בשתי הצורות הנ"ל ,שייך ל- , הקרויה גם .DPבעיה זו היא -DPשלמה. ניתן להמשיך ולהוסיף תנאי ,ולהגדיר , וכן הלאה ,והיררכיה זו קרויה ההיררכיה הפולינומיאלית – .PH משפט: הוכחה :כיוון אחד ברור .אם נניח ש- 1 , , , 1 . . | | | | , 0,1 | | אז 1 ,ותהי 0,1 | , , , . | | .מהגדרה . 0,1 ,ונניח | | 0,1 .נגדיר הוא האלג' המוודא של .מכאן: .באופן דומה זו שפה ב NP-ולפי הנחה ב.P- 0,1 משפט היררכית הזמן: לכל פונקציות f,gכך ש- · הוכחה :נגדיר בעית החלטה :בהינתן אלג' הבעיה ב- ,נראה שאינה ב- ) gגדולה משמעותית יותר מ (f-מתקיים: האם הפעלת ) Uהמ"ט האוניברסלית( לסמלץ את . על למשך | | צעדים עוצרת? מהגדרה, .חסר. תרגול: -3צביעה: • בעיית הכרעה :בהינתן גרף ,Gהאם ניתן לצבוע את צמתיו בשלושה צבעים 1,2,3כך שכל שני צמתים סמוכים צבועים שונה? • בעיית חיפוש :בהינתן גרף ,Gמצא צביעה לקודקודיו בשלושה צבעים 1,2,3כך שכל שני צמתים סמוכים צבועים שונה . 5 סיבוכיות ,סמסטר ב' 2009 אריאל סטולרמן תרגיל :למצוא רדוקצייה עצמית ) (Cookמבעיית החיפוש לבעיית ההכרעה )כלומר :בהינתן אלג' מכריע ל ,3col-למצוא אלג' המוצא צביעה(. פתרון :בהינתן Gתחילה נבדוק האם גרף זה , , ,אם לא אז נדחה .אם כן ,נוסיף לו שלושה צמתים חדשים נפעיל את אלג' ההכרעה על שלושה גרפים עם צמתי ’ Gוקשתות ’ ,Gכאשר לראשון נוסיף הקשתות .לכל , 3 , , שנחברם במשולש ונסמן , ולשלישי . ,מתוך הגרפים האלה נבחר גרף כלשהו , )3 , , , ,לשני (1שהוא -3צביע ונסמנו ’ .Gהצבע של הצומת vיהיה i הוא הגרף שנבחר מהאיטרציה על .vנכונות-3 G’ :צביע ולכן ל v-צביעה בצבע מבין ,1,2,3ולכן הוספת 2קשתות לצמתים מבין , , כאשר שאינם צבועים בצבע זהה ,תשאיר את הגרף -3צביע לפי אותה צביעה. תרגיל :אם קיימת שפה אונארית -NPשלמה אז 1 הוכחה :תהא את • • אם • אם כאשר pפולינום ו n-מספר כאשר .נשתמש במערך Aשכל ערכיו מאותחלים ל .unknown-נגדיר : ,…, אם 0 .תהא fהרדוקציה שלכל ,ולכן מחזירה 1 /אורך .נראה אלג' ל SAT-הרץ בזמן פולי' ומכך נסיק משתני הנוסחה , . ) tאו .(f החזר את | , ,…, | , ,החזר את | , או | . נשים tב| - , ,…, | ונחזיר ,tאחרת נשים fונחזיר .f הרעיון :עבור קלט בגודל nיתכנו 2קלטים אפשריים ,אך fממפה אותם לקבוצה קטנה יחסית – בגודל )כי לכל i היחיד באורך iהוא 1ואין עוד קלטים אחרים אפשריים באורך .(iלכן שמירת הערכים ב A-תחסוך בדיקות בהמשך = תחסוך התפצלויות בעץ האלג' הנאיבי. ,…, נכונות :נובעת מכך ש- ספיקה אמ"מ ,…, / , ספיקה .זמן ריצה :בכל שלב נבחר צומת שמתאים לקריאה רקורסיבית בעץ צמתים .נעשה זאת עד שהעץ יתרוקן .כל קריאה רקורסיבית כזו הרקורסיה )לא עלה( ונסיר אותו ואת המסלול המוביל אליו מהשורש: הנמצאת בתחתית המסלול מתאימה לערך שונה מהמערך ,Aולכן לכל היותר יוסרו את fולכן סה"כ · · מסלולים .סה"כ: .בכל קריאה כזו מפעילים . אורקלים ומגבלת הלכסון: אורקל: תהא 0,1 זה יסומן שפה כלשהי .אלג' עם גישה לאורקל Oהוא אלג' שיש לו פקודה המאפשרת לו לפתור את Oבצעד אחד של קריאה לאורקל .אלג' .בצורה דומה נגדיר אלג' לא דטר' עם גישה לאורקל ומכאן את המחלקות .הוכחה :הפעלת האורקל על קלט טענה: טענה :עבור טענה: מתקיים 2 .הוכחה: 1, | , . והחזרת התשובה ההפוכה. -ניתן לסמלץ את האורקל ע"י מכונה ב P-ולהישאר בזמן פולי'. ברור., ,1 ; הוכחה: :תהי (1 עם מכונה באורך הקלט :על קלט xמחזיר את תשובת האורקל ל- (2 הפותרת את Lבזמן , ,1 2עבור cכלשהו .נבנה אלג' המשתמש ב EXPCOM-הרץ בזמן פולי' . :ברור. (3 :בזמן אקספ' ניתן לעבור על כל האפשרויות הלא-דטר' גם עם האורקל. משפט :BakerGillSolovayקיים אורקל Aכך ש- | |. הוכחה :לכל שפה Aנגדיר נותר לבנות Aכך ש- | 1 .לכל Aמתקיים כי העד יכול להגיד לנו איפה נמצא את המחרוזת . . תרגול: טענה: . הוכחה :נראה ש- הרצה בזמן 2 ואז לפי משפט היררכית הזמן: · 2ומכריעה את .Lנראה כי את תשובת האורקל .נשים לב כי .תהא אז קיימת מ"ט M 2 :בהינתן קלט xניצור את הקלט לאורקל , ,1 . .זמן הריצה של Mחסום ע"י 2ולכן , ,1 ונחזיר . 6 סיבוכיות ,סמסטר ב' 2009 אריאל סטולרמן פרק שני :סיבוכיות מקום: :פונקצית סיבוכיות מקום )מונוטונית לא יורדת(. תהי ע"י מ"ט דטרמניסטית. :מחלקת השפות שניתנות להכרעה במקום ע"י מ"ט לא דטרמיניסטית. :מחלקת השפות שניתנות להכרעה במקום המחלקות :NL ,L , .נגדיר מ"ט בעלת שלושה סרטים באופן הבא: .1 סרט קלט :קריאה בלבד . .2 סרט עבודה :קריאה וכתיבה .גודל סרט זה קובע את סיבוכיות המקום . .3 סרט פלט :לכתיבה בלבד . קונפיגורציות: | | מספר הקונפיגורציות עבור קלט בגודל Nוסרט עבודה בגודל :S המכונה מצב דוגמאות לשפות ב… :L- , שאלה פתוחה :האם קיימת שפה ב\ - , ; האם , מיקום הראש בסרט העבודה , | | תוכן סרט העבודה | | מיקום הראש בסרט הקלט תוכן סרט הקלט . . רדוקצית :logspace Karp :הרצה במקום לוגריתמי כך שלכל :w אם קיימת פונ' . משפט: המחלקות , , , , , סגורות תחת רדוקצית מקום לוגריתמי. רדוקציה לוגריתמית במקום מ A-אל :Bמסמלצים ריצה של ) fסרט ה out-לא חסום במקום ,לכן ניתן לסמלץ צעד צעד ,ולשמור על שימוש במקום לוגריתמי(. בעיית :CONN בהינתן גרף Gוקודקודים ,s,tהאם קיים מסלול מ s-ל.t- להלן אלג' במקום לוגריתמי לא דטר' :יהי : קודקוד התחלתי נבצע | | איטרציות :בכל שלב uבוחר שכן כלשהו וממשיך אליו .אם נקבל ,אחרת נמשיך .אם לא הגענו ל ,t-נדחה .את uואת ) iמספר הצעדים שביצענו עד כה ,עד שנגיע ל (| |-מחזיקים ב| |- , מקום. :NLTM .1 סרט קלט :קריאה בלבד . .2 סרט עבודה :קריאה וכתיבה . .3 סרט עדות :לקריאה בלבד ,רק משמאל לימין ,ללא אפשרות לחזור אחורה . : בהינתן מכונה Mוקלט xניצור את :G, s, tנגדיר קונפיגורציה מקבלת :נמחק את סרט העבודה ,ונגדיר קונ' זו כמקבלת. הקונפיגורציות ,שכל קודקוד בו יתאים לקונפיגורציה של Mעל הקלט .xמס' הקונ' הוא פולי' באורך .xקשת לפי , , יהיה גרף תהיה ב G-אם יש מעבר )פונ' מעברים לא דטר'( ב ,M-כלומר מעבר קונפיגורציות חוקי s .יהיה הקונ' ההתחלתית ו t-תהיה הקונ' היחידה )כפי שהוגדרה לעיל( המקבלת. , ניתן ליצירה במקום לוגריתמי :נחזיק את הגרף במט' שכנויות התופסת מקום לינארי ,אך נעבוד על קשת אחת בכל זמן נתון לפני הדפסתה לסרט הפלט – ולכן נזדקק לסרט עבודה לוגריתמי בלבד. נותר להוכיח כי , : , . משפט :Savitch : :כל מכונה המשתמשת במקום מקום .להלן אלג' דטר' ל CONN-המשתמש ב- לא דטר' ,ניתן לסמלץ ע"י מכונה דטר' עם מקום: נראה אלג' הבודק האם בגרף מכוון Gקיים מסלול מ u-אל vבאורך לכל היותר ,dואז נבדוק על | | 1 | | ,נדחה .אחרת ,נבדוק האם לכל מתקיים האלג' על , ,ועל : , ,אם , ,נקבל .אחרת ,אם . , ,אם כן ,נקבל .אחרת נדחה .עומק הרקורסיה באלג' הוא .בכל רמה של הרקורסיה צריך לשמור – wדורש מקום לוגריתמי בלבד .סה"כ| | : מקום. 7 סיבוכיות ,סמסטר ב' 2009 תרגול: אריאל סטולרמן : :2 2 בהינתן בעלת nמשתנים ,נבנה גרף עם 2nמשתנים )לכל משתנה ושלילתו( .נייצג את האילוצים בגרף ע"י קשתות מתאימות באופן הבא :כדי שהסגר כלשהו יסופק צריך להתקיים שאם שלילת הליטרל הראשון מקבל ,tאז הליטרל השני צריך לקבל .tכמו כן אם שלילת הליטרל השני מקבלת ,tהליטרל הראשון צריך לקבל ) tכדי שיהיה לפחות ליטרל אחד מתוך ה 2-בהסגר שמקבל .(tלכל הסגר , את הקשתות , ו- . טענה :ל -אין השמה מספקת שיש מסלול ממנו ל- קיים משתנה :2 )ומסלול הפוך גם כן( .אם הטענה נכונה ,קל להראות ש- ,וננחש באופן לא דטר' ,כמו באלג' המכריע את ,CONNמסלול מ- ננחש באופן אי דטר' את נסמן אם כן בגרף אל לא ולהיפך .אלג' זה עובד עם מקום דטר'. הוכחת הטענה: אם קיים iכך שיש מסלול מ- אל ,וכמו כן אם נקבל כי גם ולהיפך ,אז לפי הגדרת הגרף כל צומת שניתן להגיע אליו מ , -אם אז נניח כעת כי לכל iלא קיים מסלול מ- במתן ערכי אמת ל- אל מסלול מ- 2 , אז גם אותו צומת מקבל .tלפיכך ,וזו סתירה .לפיכך ל -אין השמה מספקת. אל .כאמור ,אם קיבלנו סתירה לערכו של ,כל שיש מסלול מ- .מכאן שקיימים מסלולים מ- להיות ,tקבענו בכך את ערכו של .לכן ,כאשר קבענו את ערכו של אליו מקבל .tנראה שלא יתכן שנקבל סתירה .נניח כי ל- ומ- ל . -לפיכך ,יש גם מסלול מ- להיות ,fומכאן שלא היתה סתירה בקביעת ל- ,ולכן . : בהינתן G,s,tנגדיר את באופן הבא: .אם קיים מסלול בין sל ,t-אז כדי ש -תסופק s ,חייב להיות tוt- , חייב להיות fוכל צומת שיש מסלול מ s-אליו חייב להיות .tלכן ,לא יתכן שיש השמה מספקת ל . -אם אין ב G-מסלול מ s-ל ,t-ניתן ערך tל s-ולכל המשתנים שיש מסלול מ s-אליהם .נשים לב שאין קשת מצומת uשיש מסלול מ s-אליו לצומת vשאין מסלול מ s-אליו )אחרת היה מסלול ,אם ( .לכן ,כל ההסגרים מהצורה ,ומכיוון שיש מסלול מ s-אל vאז גם אז .לכן כל ההסגרים יסתפקו. הרדוקציה במקום לוגריתמי - : סימולציית חישוב לא דטר' בחישוב דטר': נבנה מכונת טיורינג דטר' : • סרט קלט . • סרט סימולציה . • סרט – Guideאורכו בדיוק )זמן הריצה של המכונה הלא דטר'( .יחזיק מספר שיהווה את העדות .נסמלץ לפי העדות ,ובכל פעם שלא -1ים( .אם בסוף לא קיבלנו ,נדחה . מקבלים מעלים את העדות ב ,1-כך עד מיצוי כל האפשרויות ) מקום :מקום סרט הסימולציה וסרט ה- הוא סה"כ .סרט הסימולציה – הסימולטור רץ בזמן ,ולכן זהו מספר התוים שלכל היותר יכתוב ,והעדות – כאמור בגודל זה גם כן. : רדוקציה מ- 3באופן הבא :עבור 3 , בעלת mהסגרים נבנה כך שב:G- • :Vקודקוד לכל מופע של כל ליטרל ,כלומר סה"כ 3mקודקודים . • :Eאין קשתות בין מופע של ליטרל למופע ההפוך לו ,ובין כל שלישית קודקודים מאותו הסגר .כל שאר הקשתות קיימות . שלמות :אם ספיקה ,אז הקליקה מכילה לכל הסגר קודקוד אחד לפחות – זה שמספק את ההסגר )מקבל .(t תקפות :בהינתן קליקה ב G-בגודל ,kלכל משתנה מהנוסחה או שמופיע במופע שלילי או בחיובי ,אך לא שניהם יחד – כי לפי הבניה של Gאין ביניהם קשת .נציב באותם משתנים בקליקה tוכך כל ההסגרים יסתפקו ,כי לכל הסגר יש "נציג" בקליקה .ההצבה במשתנים שלא בקליקה לא משנה. מקום :הרדוקציה היא ,logspaceמיידי. Scaleupלמשפט :Savitch יהיו , פונקציות זיכרון ,ותהי . פונקצית הרחבה .אם אז 8 סיבוכיות ,סמסטר ב' 2009 הוכחה: ,נבצע :padding תהי | שהקלט אכן מהצורה הזו )בדיקת | | ,חישוב | | | | | | וחישוב | | את הבעיה .האלג' רץ עבור קלט בגודל | | לפי ההנחה ,קיים אלג' דטר' המכריע את -הופכים את גודל הקלט ל| | - # | | במקום | | .האלג' יבדוק ולבסוף בדיקת הקלט עצמה( ולאחר מכן נפעיל את האלג' הפותר ב- ולכן אלג' זה להכרעת . גורר ש- ,נסמן את המ"ט שעושה זו ב .M’-נסמלץ את מכונת ’ Mב- במקום בלבד ,המכונה תסמלץ את פעולת ’ Mכך שתספור כאילו | | ,באופן הבא :בהינתן קלט מונה עד | | .כיוון שיש אריאל סטולרמן תוי ,#אך למעשה פשוט תריץ ,הרי שיש מספיק מקום להחזיק מונה עד | | .ומכאן מכונה הרצה במקום מקום ,ו- המכריעה את .L טענה: : ,כלומר הבעיה :האם אין מסלול בין sל ,t-שהיא נראה זאת ע"י כך שנראה ש- ב.NL- נסתכל על מודל מכונת NLבו יש סרט עדות שניתן לקריאה משמאל לימין ללא חזרה .נבנה את העד בצורה אינדוקטיבית: משפט :ImmermanSzelepcsenyi | נגדיר את הקבוצה , -קבוצת כל הקודקודים הנגישים מ .s-נשאל האם \ ,שהוא גרף ללא ,tונשאל: מספיק להראות ש- #עבור rכלשהו. | נגדיר: בסיס1 : # ? .נסתכל על .#אם כן ,אזי .אינדוקציה על כשלבסוף | | , , יכסה את כל . . sהקודקוד הנגיש לעצמו ב 0-צעדים.# מעבר :נניח יש לנו עדות ל- ,נראה הרחבת העדות ל- מתאים לעדות .העדות עד כה , # #ונרחיבה :לכל | | שייך ל- ) 1אם כן 0 ,אם לא( ,ו- .העדות מהצורה # # 1נשרשר לעדות עד כה את $ $ עדות ביט העדות לכך .בדיקת השייכות ל- • • אי שייכות: תהיה עדות לכך שכל הקשתות שנכנסות לקודקוד iאינן מתחילות מקודקוד ששייך ל- לכל | | 1ישורשר תהיה מסלול באורך ביט כאשר הביט מסמל האם הקודקוד i : שייכות: 1 שהוא כאשר האלג' מקבל רק אם אותו יוודא האלג' .אם המסלול הניתן לא טוב ,נדחה .אם כן נוסיף 1למונה . .העדות תהיה אם כן: ,כאשר הביט מייצג האם הקודקוד jלא נגיש מ s-ב l-צעדים ,ואם כן – שאין קשת . ,לשלב זה נחזיק מונה שמתחיל מ :0- o אם jנגיש מ s-ב l-צעדים: יהיה מסלול באורך ,ונבדוק שאין קשת שהוא . ,אם יש קשת כזו ,נדחה .אחרת נעלה את המונה ב .1- o אם jלא נגיש מ s-ב l-צעדים: תהיה עדות ריקה . כל מה שצריך כדי לוודא שזה נכון הוא לבדוק בסוף שמספר הנגישים שספרנו לפי עדויות ה -השונות הכולל )המונה שהחזקנו( שווה בדיוק ל- שחושב קודם לפי הנחת האינדוקציה .אם לא – נדחה .אם כן – נמשיך. לבסוף ,לאחר מעבר על כל | | 1נוודא שעבור ,התקבל אותו | | .אם כן – נקבל ,ואחרת נדחה. תרגול: לאיזו מחלקת סיבוכיות שייכת הבעיה: תרגיל :בהינתן גרף ,Gהאם יש בו לכל היותר 2009רכיבי קשירות חזקים.NL : פתרון :מנחשים )האלג' מנחש באופן אי דטר'( קבוצה .sאם נמצאו מסלולים כנ"ל לכל של 2009קודקודים .לכל :מנחשים ומנחשים מסלול בין sל v-וחזרה ל- ,נקבל .אחרת ,נדחה .הנכונות מכך שאם Gבשפה ,קיים ניחוש אי דטר' שמוצא 2009נציגים לכל אחד מ- 2009רכיבי הקשירות ,כך שלכל קודקוד נוכל למצוא את הנציג שלו ,ונוודא זאת ע"י מציאת מסלול אליו וחזרה .אם בגרף יותר מ 2009-רכיבי קשירות ,אז קיים vכך שלכל שנבחר מתוך 2009הקודוקדים ב ,S-אף אחד לא נציג של ,vולכן לא נמצא מסלולים , תרגיל :האם ב G-לפחות 2009רכיבי קשירות חזקיםNL : ,ולכן גם בעיה זו ב.NL- פתרון :בעיה זו היא הבעיה המשלימה של התרגיל הקודם ,שזו בעיה ב .NL-לפי ,Immerman תרגיל :ב G-בדיוק 2009רכיבי קשירותNL : פתרון :בעיה זו חיתוך של השתיים הקודמות ,ו NL-סגורה לחיתוך ) .( , . 9 סיבוכיות ,סמסטר ב' 2009 אריאל סטולרמן תרגיל :בעיית CONNלגרפים לא מכוונים – L :הוכח ע"י .Reingold, 2005 תרגיל :בהינתן Gמכוון עם nצמתים ,האם קיים מעגל פשוט באורך NPC : :יוצרים ’ Gשהוא הכפלת הגרף .Gב G’-מעגל פשוט באורך אמ"מ ב G-מעגל המילטוני )פשוט באורך .(n פתרון: תרגיל :בהינתן Gגרף מכוון ,האם קיימים ,כך שאורך המסלול הקצר ביותר שמחבר אותם הוא באורך -בעיה ב :NL-עוברים על כל זוגות הצמתים ומנחשים מסלול באורך כזה. פתרון :הבעיה המשלימה :האם כל שני צמתים במרחק | | תרגיל :בהינתן גרף ,Gהאם קיימת בו Iשהיא ISו C-שהיא Cliqueכך ש2009- | |L : צמתים יש קליק או ISבגודל .2009הפתרון כאן :עוברים על כל iובודקים האם יש פתרון :יש פתרון גם בזמן קבוע :בכל גרף עם לפחות קליק בגודל iו IS-בגודל NL : ,2009כל זה במקום לוגריתמי. בעיות שלמות ב:PSPACE- בעיות שניתן לפתור במקום פולי' .ידוע ש- )אם היה שוויון PHהיתה קורסת(. ,אך לא יודעים להוכיח 1 טענה :השפה , ,1 מקום | תוך שימוש ב .המחלקה PSPACEסגורה לרדוקציה במקום לוגריתמי ,וזו הרדוקציה בה נשתמש )רדוקציה במקום פולי' חזקה מדי(. נוסחה מכומתת לחלוטין – ):Truly Quantified Boolean Formula (TQBF ,…, נוסחה מהצורה: . /כאשר … / נוסחה ללא כמתים.השפה – TQBFשפת הנוסחאות הללו שהן נוסחאות אמתSAT . היא תת שפה של – TQBFהכמתים תמיד ישיים והנוסחאות הן מצורת .CNF : טענה: בגודל mב :TQBF-נקרא בצורה רקורסיבית לנוסחה פעם אחת עם הצבת הוכחה :להלן פרוצדורה לפתרון נוסחה • אם הכמת הוא ,נקבל אמ"מ לפחות אחת מהקריאות מחזירה .t • אם הכמת הוא ,נקבל אמ"מ שתי הקריאות מחזירות .t · נכונות :קל לראות נכונות ,והזיכרון בו משתמשים הוא n -עומק הרקורסיה ו- . ופעם עם זיכרון להצבת ערכים ב. - מסקנה: השוני בין PSPACEל PH-הוא שב PH-מספר החלפות הכמתים ידוע מראש ,בעוד שב PSPACE-הוא תלוי הנוסחה המתקבלת כקלט. כי מספר החלפות הכמתים ב TQBF-יכול להיות nולא קבוע כמו ב.PH- הערה :לא מאמינים ש- : משפט: נראה ש- עבור פולינום sכלשהו המחושבת ע"י ,Mלכל xנבנה :בהינתן .נסתכל על נוסחת אמת אמ"מ .(2נבנה )מספר הקודקודים , נסמן את גרף הקונפיגורציות של ריצת , 2מקודקוד הבודקת מסלול באורך כנוסחה הבודקת האם יש מסלול בגרף , מ- אל ,ויהי נוסחה , זו מתפתחת . , , אקספ', ולכן , … , כדי . לקצרה מספר הביטים הנדרשים לייצוג קודקוד בגרף לקודקוד : , )מעבר חוקי של קונ'( ,והיא בגודל פולי' .נגדיר רקורסיבית , כנוסחה האומרת :קיים מסלול חוקי בין cל d-באורך ,2ונקח לבסוף את נהפוך נוחסת TQBFכך שהיא כל : זוג , הופעות , של . בהופעה , . בודדת: ,כאשר החלק המסומן הוא מגודל קבוע. , פרק שלישי :אלגוריתמי קירוב ,בעיות אופטימיזציה: אלגוריתמי קירוב: אלגוריתם קירוב ל VC-בפקטור :2 האלג' :בונים קבוצת זיווג מקסימלי ,נוסיף לקבוצה זו קשתות שלא נוגעות בקשתות שכבר בקבוצה עד שלא ניתן .המקסימלי יכול להשתנות בהתאם לבחירת הקשתות ,אין זה משנה כאן .נגדיר את ה:VC- . . | זמן ריצה :ברור שפולי' ,כיוון שמציאת זיווג מקסימלי נעשית בזמן פולי'. נכונות :אכן מתקבלת קבוצת כיסוי חוקית כיוון שכל קשת ב E-חייבת לגעת ב M-כיוון ש M-מקסימלית. -קבוצת הקודקודים של קשתות .M 10 סיבוכיות ,סמסטר ב' 2009 יחס הקירוב |2 :2מתקיים | | | | אריאל סטולרמן | :גודל הפלט הוא | | |·2 | האופטימום הוא לפחות Mכי האופטימום מכיל לפחות קודקוד אחת מכל קשת ב .M-כלומר| : | | ,ולכן | | הערה :ידוע שזה -NPקשה לקרב ביחס 1.36וכמו כן שזה קשה )לא -NPקשה( לקרב עד כדי | | .מכיוון ש M-זיווג ,גודל | |. |2 .2 בעיות תכנות לינארי :בעיות LPניתנות לפתרון פולינומיאלי בעזרת אלגוריתם האליפסואיד. אלגוריתם קירוב ל VC-בעזרת :LP בהינתן קלט ל VC-נכתוב את תוכנית האופטימיזציה הבאה: 1, כאשר 0, / בעיה זו היא בעיית ) Integer Programming (IPוהיא .NPC קודקוד .בגלל שהאילוץ האחרון הוא לינארי, נקח בעיה מקורבת המחליפה את האילוץ האחרון באילוץ לינארי0,1 : subject to: ∑Minimize . לכל קשת לפחות קודקוד אחד 1 – • , בכיסוי • . 0,1 , .כלומר הקלנו בתנאים .נסמן את האופטימום המקורי בOPT- ואת האופטימום של הבעיה המקורבת )בעיית ה (LP-ב .OPT*-ברור כי ,…, האלג' :נמצא פתרון 0,1 .בנוסף * OPTניתנת לחישוב בזמן פולי' עם האליפסואיד. ∑ ,ונגדיר את הכיסוי0.5 : כך ש- | . זמן ריצה :פולי' בעזרת האליפסואיד. נכונות :הפלט הוא כיסוי חוקי של צמתים כי לכל קשת ניתוח קירוב: 2 ∑2 2 1 : , ולכן לפחות אחד מהם ,0.5ולכן קשת זו מכוסה. | | -כי כל 1ב C-תורם לפחות 0.5ב - OPT*-יחס קירוב גם כן .2 תרגול: בעית מקסימיזציה :אלג' Aמהווה -cקירוב אם לכל xערך הפתרון ש A-מספק מקיים: בעית מינימיזציה :אלג' Aמהווה -cקירוב אם לכל xערך הפתרון ש A-מספק מקיים: . · . בעיית :TSP בהינתן גרף מלא , :יש למצוא מעגל פשוט העובר בכל קודקוד הגרף בעל משקל מינימלי. עם פונ' משקלות טענה :בעיה זו לא ניתנת לקירוב לכל קבוע cשהוא .נראה -2קירוב לבעית TSPכאשר wמקיימת אשמ"ש: , , , : -2קירוב ל TSP-עם אשמ"ש: הוכחה :בהינתן Gנמצא עפ"מ .לאחר מכן נכפיל כל קשת בגרף כולו – ,Gונמצא מעגל אויילר בעץ המוכפל .נלך על המעגל ,ובכל פעם שאמורים לבקר בצומת בו היינו ,נדלג דרך קשת מוכפלת לצומת בו טרם היינו .בצומת האחרון נקפוץ לצומת ההתחלה ע"י קשת מוכפלת. נכונות :משקל מסלול מינימלי משקל עפ"מ ,ולכן אשמש ·2 בגלל האשמ"ש על ,wולכן האלג' הולך במסלול השוקל לכל היותר · .2כל קפיצה במהלך המסלול לא מעלה את משקל המסלול הכולל · .2 קירוב לTSP-עם אשמ"ש:בהינתן גרף Hשידוך מושלם לגרף הוא כך שכל צומת מופיע בדיוק בקשת אחת ב.E’- טענה :בגרף מולא עם מספר זוגי של צמתים ניתן למצוא שידוך מושלם עם משקל מינימלי בזמן פולי'. טענה :בכל גרף ,אם Oקבוצת צמתים מדרגה אי זוגית אז | | זוגי. האלג' :נמצא עפ"מ ב ,G-נסמנו .Tעבור Oקבוצת הצמתים מדרגה אי זוגית נמצא שידוך מושלם במשקל מינימלי בתת הגרף ונסמנו .Mב- יש דרגה זוגית לכל צומת .נבנה עליו מעגל אויילרני ונפעל כמו האלג' הקודם )הכפלת קשתות וכו'(. ניתוח קירוב: .משקל סיור TSPאופטימלי בO- נקח את כל הקשתות הזוגיות לשידוך אחד והאי זוגיות לשני .לפי אשמ"ש משקל TSPבG- קשתות 2 2משקל שידוך מינימלי ב) O-כי סיור ניתן להפריד לשני שידוכים – עבור מעגל משקל .Mמכאן: · משקל TSPב- . בעיות אופטימיזציה: דוגמאות – Clique :מקסימיזציה )מציאת קליקה גדולה ביותר( – SAT ,מקסימיזציה )רוצים לספק כמה שיותר פסוקיות( – VC ,מינימיזציה )מציאת כיסוי קודקודים קטן ביותר( .לכל בעיה קלט ופרמטר אותו בודקים כמדד .למשל| - Clique : |- SAT , האלג' צריך להחזיר פתרון חוקי שמתוכם את הכי טוב. הגדרה :קירוב : -אלגוריתם לבעית מקסי'/מיני' עם פתרון אופטימלי ,Oהמחזיר פתרון )מקסי'( או · )מיני'(. | - VC ,# |. 11 סיבוכיות ,סמסטר ב' 2009 בעית :SetCover בהינתן קבוצת איברים Uו- כך ש- -NPקשה: אריאל סטולרמן מינימלית המכסה את כל :U רוצים למצוא .זו בעית מינימיזציה :בהינתן גרף ,Gנבנה אינסטנציה ל SetCover-באופן הבא :ב U-יהיה אלמנט לכל קשת ב ,E-וב F-תהיה קבוצה לכל קודקוד .כמו שכל קודקוד מתאים לקשתות ,כך כל קבוצה מ F-מתאימה לאלמנטים ב.U- אלג' קירוב לבעית – SetCoverאלג' חמדן: מתחילים מ C-קבוצה ריקה ו- המאותחלת ל .U-כל עוד כך ש|- :ניקח | מקסימלי ,כלומר Sהמכסה את מקסימום האלמנטים שנותרו שטרם כוסו .נוסיף את Sל .C-חמדנות האלג' נובעת מכך שמבצע את מה שהכי טוב בכל שלב בנפרד. יהי kהאופטימום ,כלומר כל תת קבוצה של ) Uו U-עצמה( ניתנת לכיסוי ע"י kתתי-קבוצות .מסקנה :בכל צעד נלקחת קבוצה המכסה לפחות מהאלמנטים שנותרו. :לאחר kצעדים מכוסים לפחות מהקודקודים ,ולכן לאחר הקירוב הוא לפחות · קודקודים :נניח בשלילה שלא ,אז לאחר kצעדים נשארים הקבוצה הבאה שתלקח תהיה קירוב :יהיו ,…, · קודקודים לא מכוסים .כיוון שבכל שלב נלקחים לפחות מהנותרים, .מצד שני פונ' מספר הקודקודים שנלקחים בכל שלב לא עולה מונוטונית )בכל שלב נלקחים פחות ופחות קודקודים ,וסה"כ לאחר kצעדים ראשונים: פריטים( ,ולכן כל שלב כיסה הקבוצות שנבחרו, || | · . | |· 1 קבוצת הקודקודים שנותרו לאחר iצעדים .מתקיים: .מכאן1 : והחסם העליון הוא כיוון שהורדנו לפחות מהקודקודים בהורדת חסם עליון טוב ביותר: צעדים תכוסה כל .Uמדוע לאחר kצעדים מכוסים ∑ 1: |· 1 ·| | · ,כלומר הפקטור הוא | | | | | |, |. של גודל הקבוצה המקסימלית ב :F-כל קבוצה Sשמכניסים ל C-תורמת 1לגודל ,Cוהיחס בין מספר זה ל k-הוא פקטור הקירוב .נחלק את ה" "1שכל קבוצה בגודל Lתורמת על פני כל האלמנטים בה ,כאשר כל אחד תורם .במקרה הגרוע ,כל אלמנט משלם בתורו סה"כ ישולמו קבוצה מקסימלית גודל נוכחי . כלומר סה"כ הקבוצה משלמת · . בעיות :GAP תהי Aבעית אופטימיזציה .נגדיר סף כך שכל הפתרונות מעל הסף טובים ,ומתחתיו לא טובים :בעית המקורית ולכן . טענה :לכל ,Cאלג' -hקירוב ל A-מבטיח פתרון לבעית • , מינימיזציה :נגדיר שלכל קלט ,xאם בעית • , , : נקבל ,אחרת נדחה )אם מינימיזציה :מקבלים לפלטים מקסימיזציה :נגדיר שלכל קלט ,xאם בעית , .בעית GAPקלה מהבעיה ,דוחים לפלטים . נקבל ,אחרת נדחה )אם מקסימיזציה :מקבלים לפלטים ,מובטח ש- ,דוחים לפלטים מסקנה :אם בעית ה GAP-היא -NPקשה ,כך גם בעית הקירוב )אלא אם , ,מובטח ש- ,ולכן נקבל( . ,ולכן נקבל( . . (. : קלט טוב 100% :מההסגרים מסתפקים; קלט לא טוב :פחות מ- מההסגרים :בכל הסגר מהסגרים מסתפקים .נראה שלכל נוסחת 3CNFיש השמה המספקת בו בדיוק 3משתנים שונים נסמן משתנה אינדיקציה שמקבל 0אם · · .לכן כן .לכל הסגר כזה המקרה היחיד שלא יסופק הוא עבור השמה fלכל משתניו ,בסיכוי · מלינאריות של התוחלת: ∑ ∑ ,כלומר משפט ה:PCP- לכל 0 3 ,1 : ; .אם בנוסחה mהסגרים, מהסגרי הנוסחה יסופקו .ההוכחה לכך שיש הצבה כזו :כיוון שהממוצא הוא מההסגרים מסתפקים ,חייבת להיות הצבה שלפחות כמו הממוצע. 3 לא מסתפקת מהצבה רנדומית כלשהי ו 1-אם היא -NPקשה .כך ניתן לבצע רדוקציה מכל . : 12 סיבוכיות ,סמסטר ב' 2009 תרגול: , דוגמא :נניח אריאל סטולרמן היא -NPקשה ,אזי קשה לקרב את ISבפקטור תרגיל :בעית . / : ידוע ש 2SAT-פולי' ,ולכן לכל 1 2 0הבעיה , 1 3 פולי' .רדוקציה מ, 1 - :כל הסגר מהצורה יועבר ל 10-הסגרים עם wמשתנה חדש מהצורה: . בהינתן השמה ל: , , - • אם היא לא מספקת אף אחד מ , , , -אז לכל בחירה של wלא יותר מ 6-מההסגרים יסופקו בעשיריה החדשה . • אם היא מספקת ליטרל אחד בדיוק ,לא יותר מ 7-הסגרים יסופקו בהשמה החדשה . • אם 2ליטרלים מסופקים נקבל 7הסגרים מסופקים לכל בחירה של .w • אם כל הליטרלים מסופקים נקבל לכל היותר 7הסגרים מסופקים . אם במקור היו mהסגרי ,3CNFאז אם יכולנו לספק את כולם ,נוכל לספק בבעיה החדשה 7mמתוך 10mהסגרים .אם לא יכולנו לספק יותר מ- ·6 מההסגרים המקוריים ,לא נוכל לספק יותר מ- משפט ה:PCP- 2 , לכל 0 הסגרים מתוך 10mהסגרים .לפי ·7 . / ,ומסקנה :קשה לקרב את max2SATבפקטור וריפיקציה פרובביליסטית: טענה: , 1 ,1 . נשתמש במכונת טיורינג עם סרט קלט ,סרט עבודה וסרט עדות .כל הוכחה ניתנת לרדוקציה לנוסחת ,3CNFוסרט העדות יהיה הצבה מספקת .נבחר ביטים )הצבות( מסרט העדות ,למשל ,100כאשר ידוע לפי משפט ה PCP-שהסיכוי לספק הסגר מסוים כאשר ההצבה שניתנה באופן רנדומי 1 )העדות( אינה מספקת ,הוא .ואז הסיכוי לטעות בבדיקה ולזהות הצבה לא מספקת כמספקת הוא: , משפט: -סיכוי קטן מאוד. : הקלט :גרף בו mקבוצות ב"ת בגודל .3הפרמטר הוא הקליקה המקסימלית בגרף .במקרה זה קלטים טובים הם כאלה עם בדיוק mקודקודים בקליקה המקס' .בעיה זו אינה NPכיוון שאינה בעית הכרעה ,אך היא -NPקשה .נראה זאת ע"י רדוקציה משמרת Gapמ:3SAT- רדוקציה משמרת :Gapמעבירה קלטים טובים לטובים ,רעים לרעים ו don’tcares-לא משנה לאן. כל הסגר הופך לשלושה קודקודים לא מחוברים ביניהם ואין קשתות בין ליטרלים הפוכים ,כל שאר הקשתות קיימות m .מספר ההסגרים. נכונות :אם יש השמה מספקת לכל היותר .אם יש השמה מספקת לכל מההסגרים ,הקליקה המקסימלית היא בגודל לכל היותר ההסגרים ,הקליקה היא בגודל .m :Graph Constraints Problems – CSG קלט: • כאשר , , , ,גרף, :פונקצית אילוצי צביעה על קשתות הגרף .שתי אפשרויות : קבוצת צבעים ו- : :גרסת הקודקודים ,נותנים השמה )צביעה( , כך שלכל , מתקיים , . המטרה היא למקסם את כמות הצמתים שמקבלים צבע מ) -ולא ( . • , :המטרה למקסם כמות הקשתות :גרסת קשתות: אופטימיזציה :בגרסת הקודקודים נרצה למקסם את רדוקציה מ- -ההסתברות שקודקוד יקבל צבע מ -ולא . אז , , )שלושה צבעים בדיוק( .עבור שני הסגרים , 1,2המייצג שאת הליטרל ה (a) 1-מספק ,ואת :MaxCutרדוקציה לבעית CSGעם שני צבעים ,צבע לכל קבוצה בחתך ,ולכל )כאשר אלו ליטרלים( ,אם הליטרל ה (y) 2-מספק ,שכן זו תהיה סתירה. , יתקיים 1,2 , 2,1 טענה: ,1 3 היא -NPקשה :עולה ישירת מהרדוקציה משמרת ה GAP-מ- טענה: , , : לכל הסגר יהיה קודקוד1,2,3 , למשל , המקיימות את האילוצים: , . ,1 . 3 לעיל. , . 13 סיבוכיות ,סמסטר ב' 2009 הוכחה :לכל ,…, יהיו kקודקודים אריאל סטולרמן קליקה )קודקוד לכל צבע( ,כאשר כל הקודקודים האלו מחוברים בקליקה )לכל קודקוד .שאר הקשתות בגרף יוגדרו : משלו( – • לכל • אם , אז , קליקה עבור כל הקודקודים החדשים לכל קודקוד מהגרף המקורי ., ,אז -אם הצביעה , ,אינה חוקית ל- , ,נעביר קשת בגרף ’ .G עבור צביעה הצובעת חלק מקודקודי ,Gב G’-יש קשת היכן שהאילוץ לא מתקיים – היכן שאין קשת ב .G-בהינתן ISב G’-נמצא צביעה חוקית ל- בצבע .iה GAP-חלקי kכיוון שגודל הקבוצה נשאר זהה ,בעוד גודל הגרף גדל פי .k :Gנצבע קודקוד uשעבורו ב IS-ב G’-נמצא הקודקוד משפט: ,1 ,1 . מסקנה מהמשפט :בעית ISלא ניתנת לקירוב ע"י פקטור קבוע כלשהו. הוכחה :הרדוקציה :נגדיל את Vואת פי .lכל -lית קודקודים ב U-היא קודקוד אחד ב .U’-האילוצים: • כל קודקוד uהמופיע בכל -lיה יהיה באותו צבע ) uלא יופיע פעם אחת בצבע iופעם אחרת בצבע .(j • האילוצים המקוריים יהיו תקפים גם בין -lיות שונות . צבעים כי צביעת כל קודקוד למעשה צובעת -lיה שלמה. ב U’-יש נכונות :שלמות – אם ב U-מתקיימים כל האילוצים על כל הקודקודים ,ניתן ב U’-לכל -lיה את הצביעה המקורית ,וכל האילוצים יתקיימו .תקפות – מהקודקודים ,נייצר צביעה ל U-באופן הבא :כל האילוצים מתקיימים על כל אם יש צביעה הצובעת נצבע לפי צביעת ’ Uאותם .כל שאר הקודקודים לא יצבעו .יהי מהקודקודים ,ולכן כל קודקוד שמופיע ב- אחוז הצביעה שהתקבל כתוצאה מכך ב ,U-נבדוק את היחס : /מתקיים חסום ע"י הגודל היחסי של כל ה-l-יות הכוללות את אחוז הקודקודים .ומכאן ,אם כי .דרך נוספת לראות זאת :אם אז · … · – -סיכוי לכל קודקוד להיות ב-l-יה. יש לנו אחוז צבוע ב ,U-הסיכוי של כל -lיה רנדומית להצבע הוא מסקנה :כיוון שמספר הצבעים קבוע למרות שגדל ,קיבלנו GAPקרוב ל 1-כרצוננו. תרגול: בעיות – Gapהמשך: , טענה :אם היא -NPקשה ,אז: , .1 היא -NPקשה . ,1 .2 היא -NPקשה . 1 הוכחה: .1 נשתמש ברדוקציה משמרת GAP-הבאה: .2 טענה S:היא ISאמ"מ \ היא .VCאם Sהיא ISומניחים כי \ אינה ,VCאז קיימת קשת \ , , .נכונות מיידית IS :בגודל kב G-אמ"מ Cliqueבגודל kב .G’- , שאותה לא מכסה ,ולכן , ,אז זו כך ש- ,ולכן S סתירה לכך ש S-היא .ISאם \ היא ,VCאז לכל קשת לפחות אחד מקודקודיה ב . \ -לכן ,לא תתכן קשת היא .ISלכן הרדוקציה :בהינתן , דוגמאות למסקנות: תרגיל: , , , קלט לבעית ה ,IS-נחזיר , , , קלט לבעית ה .VC- / הן -NPקשות ,קשה לקרב את VCבפקטור לכל 0 . . , הוכחה :הבעיה שקולה לבעיה שהיא ב ,P-היות וקיים אלג' -2קירוב לבעית .VC השיטה ההסתברותית: :MaxCutטענה :בכל גרף קיים חתך שגודלו לפחות הוכחה :כל צומת יושם ב- . בהסתברות חצי ,כל בחירה ב"ת באחרות .נסמן לכל ,ולפי לינאריות התוחלת| | · : אחרת .מתקיים גודל החתך הוא לפחות או | | | | . ∑ ∑ משתנה | | שיקבל 1אם , ו0- .כיוון שזהו ממוצע ,קיימת הגרלה בה 14 סיבוכיות ,סמסטר ב' 2009 בעיות :CSG אריאל סטולרמן בעית צביעת גרפים :בהינתן Gופרמטר ,kהאם קיימת ל G-צביעה חוקית ב k-צבעים :תיאור באמצעות )הגדרת ( :כל צביעה בה זוג הצמתים מקבלים ערכים שונים .המטרה :למקסם צביעה חוקית ולא :MaxCutייצוג בעזרת :ISייצוג בעזרת 1,2 : 1 : ,לכל 1, … , : .צביעה חוקית לצמתים. צביעה חוקית היא כזו בה שני הצמתים מקבלים צבע שונה אחד מהשני. ,כלומר אף זוג מעל 1אינו צביעה חוקית 1 .ינתן לצמתים ב IS-ו -לשאר. ,לכל קשת מתקיים :Cliqueהפוך מ .IS- בעיות : . :האילוצים יקבעו בבעיות אלו ע"פ ההפרש בין ערך ה q-של הקודקודים .האילוצים: תהי ,1 טענה, 1 : ,כאשר , | , . . קודקודים .לכל שני קודקודים ,אם נוסיף לשניהם ,dההפרש ישמר · הרדוקציה :יהי מספר הקודקודים בגרף ה- .mנבנה גרף חדש בו ולכן ימשיכו לקיים את האילוצים בגרף ה- ,ויצרו ISנוספת .אם אין קשת , , אז גם לא תהיה קשת ולהיפך .לכן לכל קבוצה ב"ת שנוסיף לצבעי הקודקודים בה ,dנקבל קבוצה ב"ת חדשה. מסקנה :מכאן שבעיה זו -NPקשה ,ולכן בעית צביעה )חלוקת גרף ל k-קבוצות (ISהיא -NPקשה. תוצאה: , :כאשר ,1 , הוכחה: הוא מספר הצביעה של הגרף )המס' המינימלי הדרוש לצבוע את הגרף צביעה חוקית(. , :לוקחים את ההצבה Aלקודקודי ,Vומגדירים .שמירת האילוצים מתקיימת כיוון שההפרשים נשארים זהים .אם בגרף המקורי ניתן לצבוע את כל הקודקודים ,ברור דגם בגרף החדש .אם היה ניתן לצבוע לכל היותר · מהקודקודים ,בגרף החדש ניתן יהיה לצבוע לכל היותר · מהקודקודים .סה"כ הצביעה: # . · ייחודיות בשלשות: עבור | | , ניתן לבנות באופן יעיל 1 , , :כך ש : 0,1, … , , ,…, : .כלומר ,פונ' הנותנת לכל קודקוד מספר מתוך qמספרים ,כך שלכל שלישית קודקודים סכום ייחודי לה ,וניתן לשחזר ממנה את הקודקודים המשתתפים בה. נניח שנתנו מספרים ל -קודקודים .בשלב ה1- צבע מספר חוקי ,צריך לבדוק לכל זוג מ l-הקודמים שהמספר :כדי לתת לקודקוד ה1- שניתן לו בצירוף עם הזוג ,אינו מפר סכום כל שלישיה מתוך ה .l-לפיכך נזדקק ל- בדיקות בשלב זה ,וזהו מספר המספרים המקסימלי שנפסל. הערה :ניתן לזהות בודדים וזוגות ע"י השלמתם לשלישיה וזיהוי המשתתפים בה .ולכן Tייחודית בבודדים ,זוגות ושלישיות. חזרה להוכחת הטענה, 1 : נבנה 1, ,1 , , 0,1, … , כך שלכל קודקוד | | נקבע לפי הוכחת חסם למציאת ,Tוהוא נגדיר את האילוצים: , ההפרש , | , , ל- , , תקפות :נוכיח שלכל . , , -אם , מקיים את אילוצי , בגרף המקורי ,נאפשר את בגרף שבונים. 1, … , שלמות :אם אפשר לצבוע את כל הגרף המקורי ע"י הצביעה , :אז בגרף החדש תתאים הצביעה , ,יש הזזה dכך ש- צביעה של מתאימים צבע מ 0-עד 1 ,כך שכל שלישיה יחודית בסכומה .הגודל q , . כאשר Aהיא צביעה מתאימה ל .U-הדרך היחידה לקבל צביעה ל U’-היא לקחת צביעה של הגרף המקורי ,להפעיל Tעל הקודקוד והצבע שלו ולהזיז את כולם ב d-כלשהו – וכאן בדיוק הפעולה ההפוכה .כעת ידוע שמתקיים: , ,ורוצים להגיד שקיים , זוג צבעים יחיד כך ש- .מהסבר ארוך בסופו של דבר מגיעים לכך שמייחודיות Tנובעת תקפות )עמודים 9-10ב.(PCP writeup- תרגול: המשך בעיות :CSG רדוקציה :1 , רדוקציה :2אמפליפיקציה, 1 : ,1 .מסקנה :קשה לקרב את בעית MaxISלכל פקטור קבוע. ,1 לכל 1 . , , 15 סיבוכיות ,סמסטר ב' 2009 תרגיל :נניח 4 ,1 , פתרון: ,1 .איזו תוצאת קושי קירוב מתקבלת עבור ?VCהאם משתפר בעזרת אמפליפיקציה? 1 את VCיהיה פקטור של אריאל סטולרמן , · לכל 0 ,1 אם היינו משתמשים באמפליפיקציה: 4 ,1 .מכאן שתוצאת הקירוב שקשה לקרב . , 1 4 ,1 – ותוצאה זו לא משפרת, כיוון שה GAP-הצטמצם ולכן מתקבל שקשה לקרב פקטור שקרוב יותר ל (OPT) 1-מאשר הפקטור שהתקבל קודם – ולכן לא נוסף מידע חדש )אם ,ברור שקשה לקרב בפקטור קרוב ממנו ל ,1-כפי שהאמפליפיקציה נתנה(. קשה לקרב ב- תרגול )אותו נושא(: טענה: גודל ISמקסימלית, יהי Gגרף פשוט, :מקרה פרטי של מספר הצביעה n ,צמתים .מתקיים: , בו לקשת 1 קיימת · 0,1, . . , . , כך ש- צביעה חוקית ל- , אמ"מ . ,1 מהטענה מההרצאה, 1 : ,1 , היא -NPקשה .נתבונן ברדוקציה נובע ש, 1 - כאשר גרף האילוצים הוא מהצורה הנ"ל. שלמות :אם ניתן היה לצבוע את כל צמתי הגרף כך שכל הקשתות יהיו טובות ,אז קיימת לנו בגרף הקלסטרים )החדש( קבוצה ב"ת עם נציג מכל קלסטר .אם מוסיפים iלצביעה זו מקבלים עדיין צביעה חוקית שמגדריה קבוצה ב"ת חדשה עם נציג מכל קלסטר ,ו - .מקבלים k קבוצות ב"ת שמכסות את כל הקלסטרים ,ולכן . תקפות :אם בגרף המקורי לא יכולנו לצבוע יותר מ· - צמתים ,אז כל קבוצה ב"ת בגרף הקלסטרים היא מגודל · אז · .כיוון ש- כאשר גדול כרצוננו. · מסקנה :הבעיה ,1 היא -NPקשה ,ולכן קשה לקרב את בעית מספר הצביעה בכל פקטור קבוע. , : בעית גרף אילוצים בה לכל קשת , צביעת קודקוד אחת קובעת את הצביעה של השניה ,כאשר המטרה לספק כמה שיותר אילוצים על הקשתות שהן פרמוטציות צבעים .לא ידוע האם בעיה זו ב P-או ב- . מציאת הצבה מספקת :צובעים קודקוד כלשהו בכל אחד מרכיבי הקשירות ,והוא קובע את צבע שאר הקודקודים באותו רכיב ,ממשיכים כך עד שיתקיימו כמה שיותר אילוצים. בעית √ , : מציאת חתך בגרף כך שרק חלק מקשתות הגרף נמצאות לא באחד מצידי החתך ולא בחתך עצמו .האילוץ מתבטא באמצעות שני צבעים אפשריים Prהיא הסתברות הקשת לכל קודקוד כאשר 1.01 , 1 ידוע ש- 1 , רק עם שני צבעים. להימצא מחוץ לחתך .מקרה פרטי של בעית . פרק רביעי :חישובים פרובביליסטיים: המחלקה :BPPכל הבעיות הניתנות לפתרון פולי' עם שימוש בראנדומיות .לא ידוע האם . הגדרת :PH נגדיר את :Σתת קבוצה של המחלקה TQBFשל כל הנוסחאות מהצורה ההיררכיה הפולינומיאליתΣ : באופן דומה ניתן להגדיר Σ מתקיים: ,Π … -מתחילות ב -ולאחריהן 1 החלפות כמתים .נגדיר את . נשים לב שבניגוד ל ,TQBF-מספר ההחלפות לא תלוי בגודל הנוסחה .מחלקה זו סגורה תחת .Karp .Π ,Σולכל :i Σ Σ , Πוגם Π .Σ , Πכמו כן: .קריסת ההיררכיה הפולינומיאלית :אם ,באינדוקציה על . מחלקת :PP אם קיימת מכונה פרובביליסטית פולי' כך ש- , Pr ,ו- … Pr . 16 סיבוכיות ,סמסטר ב' 2009 מכונת טיורינג פרובביליסטית: אריאל סטולרמן בנוסף לסרט הקלט וסרט העבודה יש סרט רנדומי ,rוכדי להחליט האם המכונה מקבלת את xמסתכלים על ההסתברות , אמ"מ קיימת Mמכונה פרוב'-פולי' כך ש- טענה: , ,ו- .Pr , .Pr : 0למכונה פרוב': הפיכת מכונת NPהבודקת האם קיימת ריצה אי-דטר' מקבלת – כלומר מסתכלת על מספר הריצות המקבלות ומבדילה בין 0ל- מוסיפים למכונה צעד התחלתי המגריל מספר בין 0ל .1-אם ,0דוחים .אם ,1ממשיכים כרגיל .אם קיבלנו ,0במצטבר קיבלנו ,ודוחים )כי (. ,מקבלים. אם קיבלנו שההסתברות להצלחה היא אמפליפיקציה: טענה :אם 0,1 אז קיימת TMפרוב' פולי' ’ Mכך שלכל : , · של השפה )מחזירה 1אם xבשפה ו 0-אחרת( .כלומר :ההסתברות לטעות קטנה מ- משפטΣ : , . (: ,אז קיימת Mכמוגדר לעיל כך ש: תהי היא )כאמור לא ידוע · , Prכאשר היא פונ' הזהות ,ולכן ההסתברות של Mלקבל היא , 0,1 . 0,1 . ,והסתברות השגיאה של M ,…, Pr .ה xor-משמעותו הזזה של הביטים .נשתמש בתכונה ההסתברותית: . :במקרה זה רק מהממחרוזות rהן טובות ,ולכן גם אם נזיז את כולן )ע"י xorעם כלשהו( כך שכולן יהפכו לטובות ,תוך שימוש ב- ) union boundבמקרה הטוב ביותר שכל מחרוזת טובה שונה ממחרוזות טובה אחרת שמתקבלת( ,נקבל :כל המחרוזות rהאפשריות הן גורמת ל M-לקבל .נראה שההסתברות לבחירת ,…, 0 נסתכל על כל הr-ים ,וזה .overcountingאם זה יהיה הסת' קטנה ,זה טוב: , המעבר למכפלה מכך שהמאורעות ב"ת ,כי rו -רנד' ,ולכן גם מכאן שΣ - ולכן Σ 1 ,…, 0,1 0 · 2 , 0 0 מחרוזת רנדומית: ומכאן ההסתברות המשלימה גדולה מ ,0-ולכן קיימים נקבל שכל ) rמקורית או לאחר הזזה( כאלה גדולה מ 0-ולכן לפי התכונה ההסתברותית ,קיימים כאלה מחרוזות ,ו M-תקבל: הסתברות המקרה המשלים :ההסתברות שקיים rרע לכל בחירת -sים: 2הוא מס' ה r-האפשריים, · לא טובות .נראה שע"י הזזות עם mמחרוזות , 0,1ומתוכן מחרוזות ,ולכן Mתדחה. 0,1 , , , …, …, , Pr ,…, Pr ∏ , Pr ∑ , , Pr ∑ ∏· 2 כך שלכל rתתקיים הנוסחה ,ולכן הנוסחה נכונה. . UndirectedCONNב logspace-ע"י אלג' רנד': נניח הגרף קשיר .נוסיף לכל קודקוד קשת עצמית .נתחיל ב s-כאשר דרגתו ההתחלתית היא ונמשיך כך .יהי סימון הקודקוד בו נמצאים לאחר tצעדים, של sלהיות הקודקוד בו נמצאים בזמן 0הוא .1לכל iמתקיים: למה :אם ל t-כלשהו מתקיים לכל :i | | אז לכל :i | | נסיונות צפויים לבחור בשכן הנכון ,סה"כ2| | : Pr .נגדיר: | | .לפיכך ,התפלגות כל הקודקודים היא | |. | | .אם כן ,נבדוק כמה צעדים יקח מ s-ל) t-תוחלת מס' הצעדים(: ללכת בכיוון הנכון .אם לא ,יקח בממוצע | | · פונ' התפלגות .למשל1 : כי הסיכוי - limהתפלגות לינארית בדרגה )בגרף קשיר(. לכל קודקוד ,iתוחלת מספר הצעדים שנעבור מיציאה ממנו ועד חזרה אליו היא כדי להגיע מ s-לקודקוד הבא במסלול ל t-יש סיכוי .נבחר בהסתברות לכל אחד משכניו שכן אחד, | | לחזור ל s-ולבחור בשכן הבא .לכל היותר לאחר צעדים .לפיכך מסלול מ s-ל t-יקח לכל היותר )הסתברותית( | || |.2 האלג' :נתחיל ב s-ונבחר שכן באופן רנדומי ,וכך הלאה עד שנגיע ל .t-אם תוך | || | 2צעדים לא הגענו ל ,t-נדחה. 17 סיבוכיות ,סמסטר ב' 2009 תרגול: שיטת התוחלות המותנות: אריאל סטולרמן :MaxCut המטרה :למצוא באופן דטר' חתך שגודלו לפחות חצי מקשתות הגרף .בהינתן השמה חלקית של צמתי הגרף לצידי החתך ,ניתן לחשב את תוחלת גודל החתך עבור הגדרה רנדומית וב"ת של שאר הצמתים. הרעיון :נבנה השמה ב n-שלבים .בכל שלב נבחר צד לאחד הצמתים :נחשב את תוחלת גודל בחתך בשלב ה i-לכל בחירה של צד ,ובהינתן ההשמה ל- 1 1, … ,הצמתים הקודמים .שני הערכים שנקבל לא יכולים להיות קטנים מהתוחלת לאחר השלב ה1- ,ולכן תוחלת זו לא קטנה לאורך האלג' .לכן בזמן פולי' מקבלים פתרון שערכו לפחות כמו תוחלת פתרון מקרי. אלגוריתם רנדומי למציאת :(Karger, 94’) MinCut , המטרה :מציאת חלוקת Vלשתי קבוצות לא ריקות כך שמס' הקשתות ביניהן מינימלי )פתרון רנדומי ,לא כבעית זרימה(. אלגוריתם :כל עוד יש יותר משני צמתים בגרף ,נקח קשת ונכווץ אותה .קבוצת השכנים החדשה היא איחוד קב' השכנים של הצמתים המקוריים, ומספר הצמתים יורד ב .1-במהלך האלג' נוצרות קשתות כפולות ,עליהן שומרים ,ולולאות )מצומת לעצמו( זורקים בסיום הריצה .מתקבל גרף עם שני צמתים כאשר האינדקס המצטבר של כל אחד מהם הוא החלוקה של החתך. רעיון האלג' :בהינתן חתך ,Cאם במהלך האלג' כיווצנו קשת ששיכת לחתך ,לעולם לא יוחזר Cבסיום הריצה )"נדפק"( .אם בשום שלב לא בחרנו קשת מ ,C-בסוף הריצה הוא יוחזר .גודל חתך מינימלי לא יורד במהלך האלג' :כל חתך ששורד עד השלב ה ,i-מס' הקשתות בו לא יורד .אם גודל חתך מינימלי הוא ,kאז כל צומת מדרגה לפחות ) kאחרת יש חתך בו צומת מדרגה קטנה מ k-בצד אחד ושאר הקודקודים בשני( .אם בגרף n קודקודים אז מס' הקשתות הכולל הוא לפחות . יהי Cחתך מינימלי כלשהו בגרף המקורי .ההסתברות שישרוד את החתך הראשון )ששום קשת בו לא תלקח(: )1 השני יש לפחות 1 / להשרדות בשלב הi- log | | .1באופן כללי הסיכוי צמתים ,גודל חתך מינימלי לא יורד( קשתות בגרף ,וההסתברות לשרוד שלב שני .1ההסתברות שהחתך ישרוד עד הסוף הוא טור טלסקופי המצטמצם לכדי חזרה על ריצת האלג' 1 . 1בשלב 1/ . פעמים תתן את החתך המינימלי בהסתברות גבוהה. .1/בנוסף ,המאורעות בהם בחרנו חתכים שונים זרים .מכאן ,מספר מסקנה קומבינטורית :כל חתך מינימלי מתקבל באלג' בהסתברות לפחות החתכים המינימלי בגרף ,וזה חסם הדוק. חסם צ'רנוב: משפט צ'רנוב )חסם צ'רנוב(: יהיו 0,1 מתקיים: ,…, ∑ משתנים מקריים ב"ת, ln )תוחלת( .אז הסיכוי לטעות: · 2ולכן · ln 2 · · ln ·2 ∑ .Pr .מכאן ש -תלוי רק בגודל הודאות הנדרשת ולא בגודל המדגם. אלג' קירוב לבעית SetCoverתוך שימוש ב:L.P.- נעביר את הבעיה לבעית :LP • לכל קבוצה • אם • רוצים להביא למינימום את נתאים משתנה )הכיסוי( ,אז 1 1, … , • 0,1 ונקבל ,…, ,אחרת 0 . ∑ כך ש1- . .∑ : )כלומר :לפחות קבוצה אחת ב C-מכילה את ,jלכל 1, … , ( . . הבעיה לעיל היא IPולכן היא -NPקשה ,נעביר לבעיה מקורבת שהיא LPע"י הפיכת האילוץ האחרון ל0,1 - יהי Pפתרון אופטימלי לבעית ה) LP-שקיבלנו(: ,…, ∑ , בעיגול התוצאה כדי למצוא SCחוקית .מהפתרון נוציא SCעם tקבוצות: האלג' הרנדומי :משתמש ב- נקח כל קבוצה מפתרון ה LP-כהסתברויות לבחירת בהסתברות .OPTנחזור על פעולה זו · log אל הפתרון .Cתוחלת: .ידוע כי · log .פולי' עם אלג' האליפסואיד. .אלג' הקירוב ישתמש . שיכנסו לפתרון .C ∑ # פעמים כאשר dיקבע אח"כ .כדי להבטיח כיסוי מושלם לכל .j .כלומר ,תוחלת הפתרון לפי אלג' זה זהה ל- 18 סיבוכיות ,סמסטר ב' 2009 מתקיים: # · · log ∑ : נבצע · log ∑ . j נניח Π אריאל סטולרמן בf- נמצא Π קבוצות ·…· 1 איטרציות ובסיכוי גבוה נקבל שכל jמכוסים60% : · כך ש- :F מתוך Pr , 1כלומר לבסוף קיבלנו חסם קבוע. . Pr 1 .כדי שכל jיכוסו נבחר d .כל איטרציה ב"ת בקודמתה ובכל איטרציה הסיכוי לכל jשלא יכוסה הוא .הסיכוי שלא הצלחנו לתפוס את jבכל · האיטרציות: . Pr · .מכאן .יש -j nים שונים ,ולכן יש :unionbound הסתברות של לקבל SCטוב ,שהוא .C :(SemiDefinite Prog.) SDP מוגדרת כמו בעית LPאבל: · √ · · ∑ , , ,…, ,…, . · אילוצים הם מהצורה min ∑ , כאשר וקטורים .תזכורת, : , ,…, · ∑ ,עבור , 1, … , ,…, .ה SDP-מוצא וקטורים המביאים למינימום את . ל SDP-אלג' יעילים הפותרים אותו בזמן פולי'. MaxCutעם :SDP , בהינתן לא מכוון רוצים למצוא נתאים לכל הקשת אם נקח כך ש- · נקבל: כך ש- : ,אם 1 .מכאן שמתקיים לכל ,לא בחתך .באופן דומה ,אם מכפלת 1 1, , 0, , · 0.878 | כך שגודל קב' הקשתות קירוב המשתמש ב SDP-ונותן פקטור ,0.878כלומר נותן פתרון 1, 1, , כך ש- · | )| , , ( .נכתוב כ:IP- | אז ,נמצאים או לא נמצאים ב S-ביחד ,כלומר ,בחתך . אז הקשת · .הבעיה שנרצה למצוא: , · מקסימלית .בעיה זו .NPCלהלן אלג' , ∑ maxכך ש1, 1 - . . הפיכת הבעיה לבעית :SDP וקטורים · , , … ,הבעיה: , ∑ maxתחת האילוץ1 : · . ,כלומר לכל צומת מתאים וקטור יחיד .שאיפה שכולם יהיו הפוכים אחד לשני כדי שמכפלתם תהיה , 1אך זה כמובן לא אפשרי .בדוגמא עבור 3וקטורים : min ביניהם ,120כלומר 1 cos 120 · 1 1 ,ולכן הנ"ל שווה ל2- ,maxכאשר עבור 3וקטורים הפתרון האופטימלי יהיה אם ,כאשר 2הוא ה mincut-בדוגמא הזו. 2 אלג' :('94) GoemansWilliamson • קשת תחילה נפתור את בעית ה SDP-ונקבל ,…, כאשר , ∑ חתך . לכל צומת יש וקטור ,אותו נשים על מעגל )יותר נכון ספירה ,שכן במימד .(n • האלג' :מעבירים חתך רנדומי ,וכך הסיכוי הגדול ביותר לחתוך מקסימום מהקשתות .בשני מימדים – מעבירים חתך דרך .0 ב n-מימדים מעבירים – hyperplainמישור ממימד 1 במרחב ממימד .n n תיאור מישור רנדומי :כל מישור רנדומי מתואר ע"י וקטור נורמלי )יחיד( ) nהמישור עובר דרך .(0תיאור0 : מציאת מישור רנדומי שקולה למציאת הוקטור הנורמלי שלו nרנדומי1 , .בוחרים וקטור כלשהו מהספירה ,והוא יהיה .n כעת נבדוק כמה קשתות נחתכו ע"י המישור לאחר בחירת :n טענה: · 0.878 אם הטענה נכונה אז 2 2 , Pr … .Pr · 0.878 , ∑ · 0.878 , Pr ∑ , הוכחת הטענה: 0.878 מבדיקת מינימום · · | , .
© Copyright 2024