מבוא לחלק I - Anat Etzion
Transcription
מבוא לחלק I - Anat Etzion
תורת החישוביות ( – )323232אביב תשע"א מבוא לחלק I בעיית העצירה: בהינתן קוד Mוקלט , xהאם Mמסיימת את ריצתה על ? X הוכחה שזוהי בעיה לא פתירה: נניח בשלילה שיש תוכנית Aשפותרת את הבעיה .נבנה תוכנית Bשעל קלט wפועלת כך :תריץ את Aעל הקלט ( w , w כלומר W :הוא גם המכונה וגם הקלט של המכונה). אם A w , w trueאז Bנכנסת ללולאה אינסופית. אם A w , w fa lseאז Bעוצרת מייד. עבור הקלט : Bאם Bעצרה ,סימן ש A ( A B , B fa lse -טוענת ש B -לא עוצרת) ,סתירה. אם Bלא עצרה ,אז A ( A B , B trueטוענת ש B -עוצרת) ,שוב סתירה. לכן ,לא קיימת תוכנית Aשפותרת את בעיית העצירה. דוגמא לבעיות לא פתירות: בעיית העצירה. בדיקת שקילות של תוכניות. בדיקת שקילות של דקדוקים חסרי הקשר. בהינתן אוסף (סופי) של מטריצות ריבועיות ,האם קיימת מכפלה שנותנת את מטריצת האפס? מכונת טיורינג: מכונת טיורינג בנויה מ 2-מרכיבים :סרט המחולק לתאים שכל אחד מהם יכול להכיל תו בודד ,כך שהוא אינסופי לכיוון ימין אך סופי לכיוון שמאל (ניתן למספר את תאיו ב ;)0,1,2,…-ראש קורא וכותב הנע על הסרט ויכול לנוע לכל היותר צעד אחד ימינה או שמאלה; וקבוצת מצבי בקרה סופית .נראה בהמשך שכוחו של המודל לא ישתנה באופן מהותי אם נרשה מספר רב של סרטים ,סרט אינסופי לשני הכיוונים ,ראש שיכול לנוע מספר צעדים לצדדים וכן הלאה .לעומת זאת ,סופיותה של קבוצת מצבי הבקרה היא קריטית. חישוב כל המכונה מתבצע כך :המכונה מתחילה את החישוב כאשר הראש נמצא בתא השמאלי ביותר ,ועל הסרט כתובה מילה סופית כלשהי החל מהתא השמאלי ביותר ,ושאר הסרט פרט למילה ריק .המכונה מבצעת סדרה של צעדים כאשר בכל צעד היא פועלת בהתאם למצב הבקרה הנוכחי שלה ולתוכן התא שמעליו נמצא הראש הקורא .בכל צעד המכונה יכולה לשנות את תוכן התא שמעליו נמצא הראש הקורא ,לשנות את מצב הבקרה שלה ,ולהזיז את הראש הקורא צעד אחד ימינה או שמאלה (או להותיר אותו במקום) .המכונה מסיימת את החישוב שלה אם היא נכנסת למצב בקרה המסומן כמצב סופי ,ובמקרה זה הפלט שלה על מילת הקלט הוא המילה שכתובה החל מהתא השמאלי ביותר בסרט ועד לתא שמשמאל לראש (אם הראש נמצא בתא השמאלי ביותר ,הפלט הוא "המילה הריקה"; הגדרת הפלט מהונדסת בכוונה כדי להבטיח שניתן יהיה להוציא את המילה הריקה כפלט). הגדרת המכונה :זוהי שביעייה . M Q , q 0 , F , , , b , : Qקבוצה סופית של מצבי בקרה (אם היא לא תהיה סופית ,היא תוכל לעשות כל חישוב). 1 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א : q 0 Qמצב הבקרה ההתחלתי. : F Qקבוצת מצבי הבקרה הסופיים (כאשר המכונה נכנסת אליהם ,החישוב נגמר). : קבוצה סופית של תווים (א"ב העבודה /א"ב הסרט). : א"ב הקלט. b \ נקרא רווח או בלנק (תו לסימון תא ריק) .במפורש דורשים ש b -לא תהיה חלקמא"ב הקלט כדי שיהיה ניתן לקבוע חד-משמעית היכן הקלט נגמר. : : Q \ F Q L , R , S פונקצית המעברים. דוגמא q , p , , :פירושו :אם המכונה במצב qורואה אז היא: עוברת למצב הבקרה , pשמה על הסרט במקום והולכת עם הראש בכיוון . קונפיגורציות: האופן הנוח ביותר לתיאור החישוב שמבצעת מכונה הוא באמצעות קונפיגורציות ,קונפיגורציה היא מעין צילום מסך של החישוב שכולל את כל האינפורמציה על אותו רגע. הגדרה קונפיגורציה של מכונה Mהיא שלשה כך ש C q , i , w :כאשר: : q Qמצב הבקרה הנוכחי של . M : i מיקום הראש : w * .תוכן הסרט. קונפיגורציה ההתחלתית של Mעל הקלט xהיא. C q 0 , 0, x : קונפיגורציה סופית :קונפיגורציה שבה . q Fבמקרה זה פלט המכונה הואi 1 : ( w 0תוכן wמתא 0ועד לתא .) i 1 צעד חישוב :לכל קונפיגורציה נקבעת הקונפיגורציה העוקבת שלה באופן יחיד ע"פ פונקצית המעברים . אם הקונפיגורציה הנוכחית היא: q , i , w ואם q , w i p , b , d אז הקונפיגורציה הבאה מוגדרת להיות p , j , w :כאשר w זהה ל w -פרט לכך ש. w [ i ] b - המצב qיוחלף במצב . p האות w iתוחלף באות . b -מיקום הראש ישתנה: אם d Rאז. i 1 : אם d Sאז. i : אם d Lאז. m ax 1 .i 1 : מסקנה :לכל קונפיגורציה לא סופית C 1קיימת קונפיגורציה עוקבת יחידה . C 2סימוןC 2 : הערה :באותו אופן אומרים שC 2 - * C 1אם יש סדרת צעדים שמובילה מ C 1 -ל. C 2 - חישוב :החישוב של מ"ט Mעל קלט xהוא סדרת קונפיגורציות- Ci , i 0 . C1 C 0 , C1 , C 2 ,המקיימת :לכל . C i 1אם הסדרה סופית את הקונפיגורציה האחרונה היא קונפיגורציה סופית. 2 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א הפונקציה של מ"ט :הפונקציה שמ"ט Mמחשבת מסומנת f M : * * :ומוגדרת באופן הבא: אם החישוב של Mעל xמסתיים ו C q , i , w -היא הקונפיגורציה הסופית אזי: . f M x w1 w 2 w i 1 אחרת (אם Mלא עוצרת על f M x ) xלא מוגדרת! פונקציה מלאה :נאמר שפונקציה fהיא מלאה אם היא מוגדרת לכל קלט .יכולות להיות פונקציות לא מלאות. דוגמא :נבנה מ"ט שמחשבת את הפונקציה f x 0 x :כאשר . x 0,1יש יותר מדרך אחת * לבנות את המכונה ,נציע דרך שמבצעת את המשימה במעבר אחד -כשבכל פעם "נזכור" את התו הבא שצריך לרשום .נגדיר M Q , q 0 , F , , b , :כאשר: Q q 0 , q1 , q 2 , F q 2 , 0,1 , 0,1, b משמעות המצבים: q 0מצב שזוכר 0לכתיבה בצעד הבא. q1מצב שזוכר 1לכתיבה בצעד הבא. פונקצית המעברים תתואר ע"י טבלה: b 1 0 q 2 , 0, S q1 , 0, R q 0 , 0, R q0 q 2 , 0, S q11, R q1 ,1, R q1 טענה :החישוב של Mעל xהוא סדרה של n 2קונפיגורציות- x n , C 0 q 0 ,1, x x i 1 x i 1 . C n 1 q 2 , n 2, 0 x , C i qx i , i 1, 0 x 1 3 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א שקילות של מודלים מודל חישוב :אוסף של אובייקטים כך שלכל אובייקט מתאימה הפונקציה שהוא מחשב. מודלים שקולים :שני מודלים ייקראו שקולים אם אוסף הפונקציות המחושבות על-ידם זהה. דוגמא -מ"ט זריזה :מוגדר בדומה למ"ט רגילה בתוספת שני מצבים של הראש L L , R R :שהם הליכת שני צעדים ימינה או שמאלה. טענה :מודל מ"ט זריזה מ"ט רגילה. הוכחה: נוכיח שקילות ע"י הכלה דו-כיוונית: כיוון :1-בהינתן מ"ט רגילה Mהמחשבת , f Mקיימת מ"ט זריזה המחשבת - f Mאותה ( Mמ"ט רגילה היא מקרה פרטי של מ"ט זריזה). כיוון :3-בהינתן מ"ט זריזה Mהמחשבת , f Mנבנה מ"ט רגילה M שמחשבת את אוןתה הפונקציה באופן הבא , Q L q L | q Q Q R q R | q Q Q Q Q L Q R :כלומר, הוספת מצבים שזוכרים ללכת צעד נוסף ימינה או צעד נוסף שמאלה לפני הגעה למצב. qL , a q, a, L qR , a q, a, R לכל , a , q Qאם q , a p , b , d אז: אם d L , R , S אז q , a p , b , d : אם d L Lאז q , a p L , b , L : אם d R Rאז. q , a p R , b , R : דוגמא -מ"ט דו סרטית :מ"ט שיש לה גישה לשני סרטים ,בכל סרט ראש קורא-כותב ,כאשר מיקום ראש אחד על סרט אחד לא תלוי במיקום הראש השני על הסרט השני. אתחול :סרט אחד מכיל את הקלט ואחריו , b -הסרט השני מכיל רק . b -שני הראשים במקום ה.1- פלט :משאל לראש בסרט העליון ,בזמן העצירה. פונקציית המעברים , : Q \ F 2 Q 2 L , R , S :היא מבוססת על שתי האותיות 2 (משני הסרטים) ואומרת מה לכתוב בכל אחד מהם ,לאיזה מצב לעבור ולאן להזיז כל אחד מהראשים. טענה :מודל מ"ט -kסרטית מ"ט רגילה. התזה של :Church כל מודל כללי וסביר של חישוב שקול למ"ט. כללי -מודל חזק לפחות כמו מ"ט ,סביר -לכל אובייקט במודל יש תיאור סופי. מ"ט אוניברסאלית :נרצה לבנות מ"ט שתוכל לבצע את המשימה של כל מ"ט אחרת ,מ"ט כזו צריכה לקבל כקלט הן את המכונה עצמה M -והן את הקלט , xולהחזר כפלט את. f M x : קידוד של מחרוזת - A :א"ב .בה"כ , | A | הקידוד של 1 n 0 : x x . A 1, 2,ואם x n x x1 x 2מחרוזת מעל A * x x . x 1 01 0 2 1 4 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א קידוד של מ"ט :תהי , M Q , q 0 , F , , , b , בה"כ, | Q | : , | | , F 2, 3 , q 0 1 , | | , 1, 2, , Q 1, 2, L , R , S 1, 2, 3 . 1, 2, p b d קידוד פונקצית המעברים :אם q , a p , b , d נקודד q , a qapbd 1 01 01 0 : קידוד המכונה0 | Q |, | | 00 : 00 1,1 0 1, 2 0 M הערות: בהינתן קידוד של מחרוזת או של מ"ט ,קל לבדוק תקינות ולשחזר את המחרוזת/מ"ט. מוסכמה :כל מחרוזת בינארית שאיננה "חוקית" ,נתייחס אליה כקידוד של מ"ט M STAMשעוברתמייד למצב 2ועוצרת. q , a : q , a 3, a , s : ולכן ,כל מחרוזת בינארית מתארת מ"ט. קידוד של קונפיגורציה :תהי C , q , i ו m - 0 a m 0 0, q a i 1 0 1 0 a i a i 1 , 1 2אז: C a1 a 2 הערה :קידוד ה- -ים מסתיים ב 0-ולכן ישנם שני אפסים לפני ה 1q -ובאותו אופן יש 2אפסים בסוף. נגדיר פונקציה: אם cקונפיגורציה סופית " c /לא מתאימה" ל/ M - אחרת ,תהי c הקונפיגורציה העוקבת לc - cלא חוקית 0 M , c next M , c טענה :הפונקציה nextניתנת לחישוב ,כלומר :קיימת M nextשמחשבת אותה. הוכחה: M nextעל קלט : M , c בדוק תקינות אם תקין ,מצא את qואת האות הנוכחית aבתוך ( cע"י 00בקידוד). מצא את q , a בתוך הקידוד Mוחלץ מההמשך את , p , b , dשנה את cל c -בהתאם. אם ( M , cע"פ הגדרת .) nextאם לא תקין ,עצור עם פלט .0 Mמתאים למ"ט , M STAMעבור לקונפיגורציה הסופית של . M STAM הפונקציה האוניברסאלית: xחוקי ו x -מתאים ל M -וחישוב Mעל xמסתיים x fM undefined אחרת M , x U טענה :הפונקציה האוניברסאלית , Uניתנת לחישוב. הוכחה: אם xלא חוקי או לא מתאים ל - M -בצע לולאה אינסופית. כתוב על הסרט השני את M , cכאשר cהקונפיגורציה ההתחלתית של Mעל . x 5 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א . M , c next M , c כל עוד cלא קונפיגורציה סופית ,חשב אם cקונפיגורציה סופית ,הוצא את הפלט שלה( f M x -מה שמשאל לראש ב.) c - הערות: כל מ"ט שמחשבת את Uתיקרא מ"ט אוניברסאלית. ל M U -יש איזשהו מספר מצבים ואיזשהו מספר אותיות ללא קשר למ"ט Mשהיא מקבלת כקלט. -אם Mלא עוצרת על , xגם M Uלא עוצרת על . M , x 6 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א בעיות הכרעה שפה :אוסף סופי או אינסופי של מחרוזות מתוך . * הגדרה :מ"ט לזיהוי שפות היא מ"ט רגילה Mשמקיימת . F q A , q R אומרים שמ"ט מקבלת את הקלט xאם Mעוצרת על xבמצב . q A אומרים שמ"ט דוחה קלט xאם Mעוצרת על xבמצב . q R ייתכן כמובן ש M -לא עוצרת על . x הערה :נקודד. q A 2, q R 3 - הגדרה :השפה ש M -מקבלת מסומנת. L M x | M a ccep ts x - אומרים ש M -מכריעה שפה Lאם L L M ובנוסף היא עוצרת לכל קלט. דוגמאות לשפות הניתנות להכרעה: * ( מ"ט שמייד עוברת ל q A -לכל קלט.) q , a q A , a , s - ( באופן דומה -מ"ט שמייד עוברת ל q R -לכל קלט). כל שפה סופית. שפת כל הגרפים הקשירים. מחלקות של שפות: ברירת מחדל( 0,1 :מוסכמה). { קיימת מ"ט המכריעה את L | R {L { קיימת מ"ט המקבלת את L | RE { L * * { קיימת מ"ט ש - x L :מקבלת /לא עוצרת- x L ,דוחה | C o RE { L | L RE } { L תכונות: ( R REב R -יש שפות ב R E -שקיימת להן מ"ט שגם עוצרת לכל קלט). Rסגורה למשלים (אם L Rאז גם .) L R Rסגורה לאיחוד (אם L1 , L 2 Rאז גם .) L1 L2 R R Eסגורה לאיחוד. . RE Co RE R הוכחה: כיוון :1-אם L Rאז היא בהכרח ב R E -וב( C o R E -נובע מההגדרה). כיוון :3-תהא . L R E C o R E L R Eקיימת מ"ט M 1כך ש M 1 x L -עוצרת ומקבלת את . x M 1 x Lעוצרת ודוחה או לא עוצרת על . x 7 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א L C R Eקיימת מ"ט M 2כך ש M 2 x L :עוצרת ודוחה את x M 2 x Lעוצרת ומקבלת או לא עוצרת על . x נבנה מ"ט Mשמכריעה את : Lבהינתן קלט , xנריץ במקביל את M 1ו M 2 -על . xהראשונה שתעצור ,נקבל או נדחה כמוה. הערות: Mעוצרת תמיד. M 1 , M 2כשהן עוצרות -התשובות שלהן נכונות.מכל אלה נובע. L L M : טענה. L R L , L RE : דוגמאות לשפות ב:RE- כל שפה ב. R - שפת העצירה M { :עוצרת על x השפה האוניברסאלית M { :מקבלת את x שפת האלכסון| M L M } : | HP { M , x | Lu { M , x M {= { Mמקבלת את M | . LD { M טענה. H P , Lu , L D RE : הערה :בהמשך הקורס נראה שכל השפות הללו גם לא נמצאות ב. R - 8 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א רדוקציה רדוקציה היא פיתרון לבעיה אחת ע"י אלגוריתם שפותר בעיה אחרת. הגדרה :תהיינה * L1 , L 2 שתי שפות .אומרים שפונקציה * f : * היא רדוקציה מ L1 -ל- L 2אם: f .1היא פונקציה מלאה (מוגדרת לכל קלט). f .3ניתנת לחישוב (קיימת מ"ט f Mשמחשבת את .) f ( .2תקפות) . x L1 f x L 2 סימון. L1 L 2 : הערה :ברדוקציה אין "הרצה" של המכונות .יש ייצור של קוד אחד מתוך קוד אחר ("קומפילציה"). טענה. L D Lu : הוכחה :פונקציה fמתאימה: תקפותM L D : M , M M L M u M L . fהיא מלאה וניתנת לחישוב. M , M u L M .f טענה. Lu H P : הוכחה :פונקציה fמתאימה: A , x M , x . fהיא מלאה וניתנת לחישוב. המכונה Aזהה ל M -למעט :אם Mעוברת ל q R -אז Aנכנסת ללולאה אינסופית. תקפות M M , x L u :מקבלת את A xעוצרת על A , x H P x HP M , x .f תכונות של רדוקציות: לכל Lמתקיים. L L : טרנזיטיביות. L1 L3 L1 L 2 and L 2 L3 : מסקנה. L D H P L D Lu and Lu H P : טענה( L1 L 2 L1 L 2 :ע"י שימוש באותה .) f מסקנה. L D L u H P : משפט הרדוקציה: נוסח-א :אם L1 L 2אזי: . L1 R L 2 R .1 . L1 RE L 2 RE .3 9 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א . L1 C o RE L 2 C o RE .2 נוסח-ב :אם L1 L 2אזי: . L 2 R L1 R .1 . L2 RE L1 RE .3 . L2 C o RE L1 C o RE .2 טענה :קיימות שפות שאינן ב. R E - הוכחה :נראה ע"י שיקולי ספירה ש {| -קבוצת כל המ"ט { | . | R E | |. | RE | | {0,1}* | |{ קבוצת כל השפות { | {| ממשיים בקטע ]| | { [0,1 הערה , | * | 0 :ומכיוון שכל מ"ט שקולה לקידוד בינארי מעל , מספר המ"ט הוא בן-מנייה. * קבוצת כל השפות מעל היא קבוצת החזקה של בעוצמה . 2 :ומכיוון שלכל מ"ט מתאימה 0 שפה אחת ,לא קיימות מספיק מ"ט לקבל את כל השפות הקיימות ולכן ישנן שפות שלא ב. R E - טענה . L D R :טענה מחוזקת. L D R E : הוכחה :1-נניח בשלילה ש L D R E -אז קיימת מ"ט מתאימה M Dשמקיימת. L M D L D : . M D L D M D L D M D L M D M D L Dהגענו לסתירה ולכן לא קיימת M Dכזו. הוכחה :3-ע"י לכסון .כל שורה בטבלה היא שפה ב R E -וכל עמודה בטבלה היא מילה הניתנת כקלט למכונה .נשים-לב כי L Dזה האלכסון של הטבלה (כאשר הקלט למכונה שווה לקידוד של המכונה). ולכן = L Dה NOT-של האלכסון .ולכן אף שורה בטבלה לא מייצגת אותה. מסקנה. L D , L u , H P R E :1- מסקנה. L D , Lu , H P RE \ R :2- L { M דוגמא M { :עוצרת לכל קלט | טענה. L R : הוכחה :נראה רדוקציה , H P L x M M , x M x . fתפעל על הקלט wבאופן הבא: תתעלם מ w -ותריץ את Mעל f . xמלאה וניתנת לחישוב .תקפותM M , x H P : עוצרת על M x xעוצרת לכל קלט L w x M L M , x .f דוגמא. L M | L M * : * טענה. L R : * הוכחה :אותה רדוקציה fמראה. L u L - * 10 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א דוגמא. L E Q M 1 , M 2 | L M 1 L M 2 : טענה. L E Q R : הוכחה :נראה רדוקציה , L L E Q * * M L * L M M , M0 L M 0 M . fתקפות: M , M 0 LEQ L M EQ L M f תכונות של שפות: תכונה של שפות :זוהי תת-קבוצה של שפות. S RE - תכונה לא טריוויאלית :תכונה המקיימת( S R E :תכונה שמקיימות רק חלק מן השפות). סימון. L S M | L M S : דוגמאות: . S1 L R E | L . S 2 L | L is finite .) L S * ( S 3 * ( S 4 תכונה שמכילה את השפה הריקה ,זה שונה מ.) S 4 - 3 אבחנה :אם Sטריוויאלית אז . L S R S LS M | L M R LS M | L M R E R S R E * משפט :Riceלכל Sלא טריוויאלית . L S R שימושים במשפט: . L M | L M .1נראה ש. L R - הוכחה :התכונה המתאימה L S L , S 1 -ו S 1 -תכונה לא טריוויאלית ( ) { } S 1 , S 1לכן 1 ממשפט . L R Rice . L 2 M | L M .3ע"י S 2ניתן לראות כי . L 2 R .2 . L LS R .3 L M | L M והתכונה המתאימה. S : 3 * 11 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א הוכחת טענות מהצורה : L R E ישירות (למשל.) L D - משפט הרדוקציה L R L RE L RE משפטים כלליים (למשל -משפט רייס). דוגמאות: L M | L M * L * M | L M L E Q M 1 , M 2 | L M 1 L M 2 טענה. L , L , L , L EQ , L EQ RE : * * משפט Riceלשפות :REתהי Sתכונה לא טריוויאלית של שפות המקיימת Sאזי. L S RE : (תזכורת.) L S M | L M S - הוכחה :בהוכחת משפט Riceמקרה ב'. L S R E H P L S - הערות: התנאי הנוסף על Sהוא הכרחי :למשל( L R E -למרות ש S -לא טריוויאלית). המשפט איננו אפיון לשפות המקיימות , L S REלמשל( L R E :למרות שהמשפט לא חל * עליו כי התכונה לא מכילה את .) קיים אפיון מלא לשפות L Sהמקיימות ( L S REלא עוברים על זה בהרצאה). הערה מתרגיל-בית: | L M RE M L S M | L M coR E 12 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א סוגים של בעיות חישוב בעיות הכרעה (שפות). פונקציות. בעיות חיפוש (יחסים). עד כה דיברנו על בעיות הכרעה או שפות ,כעת נעבור לדבר על פונקציות. פונקציות: סימון: x , y | f x y Lf משפט :תהי * f , f : * ניתנת לחישוב . L f R E הערות: אם בנוסף fמלאה אז f :ניתנת לחישוב . L f R קיימת fלא מלאה כך ש . L f R -למשל f :לא מוגדרת לשום קלט . L f R הוכחה: כיוון-א :נניח ש f -ניתנת לחישוב ע"י מ"ט f Mונבנה מ"ט Mהמקבלת את . L f Mעל הקלט : x , y - הרץ את - נסמן ב f x -את הפלט של הצעד הקודם ,ואם , f x yקבל. - אחרת ,דחה. f Mעל . x כיוון-ב L f R E :אז קיימת מ"ט המקבלת את . fנבנה f f Mהמחשבת את . f Mעל קלט ( : xהרצה מבוקרת) i 1, 2, 3, - עבור - הרץ את Mעל הזוגות , x , w i x , w1 , x , w 2 , כל אחד במשך iצעדים .אם M קיבלה x , w j כלשהו ,עצור עם פלט , w jאחרת -המשך. דוגמא: L M L M undefined otherw ise M f טענה f :לא ניתנת לחישוב. הוכחה לפי המשפט: . L f M , k | L M k , k מהמשפט ,מספיק להראות: . L f R Eמראים זאת ע"י רדוקציהM , 0 L L f : .g M 13 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א דוגמאות נוספות: M stops om x 1 otherw ise 0 - f1 M , xלא ניתנת לחישוב ,כי אם כן אז. H P R : M stops on x 1 otherw ise undefined M stops on x undefined otherw ise 0 - f 2 M , xניתנת לחישוב (ע"י מכונה שמראה .) H P R E - f 3 M , xלא ניתנת לחישוב ,כי אם כן אז. H P R E : בעיות חיפוש: * * דוגמא. L G , T | G graph , T spanning tree in G , L : בעית זיהוי :נתונים , G , T -האם הם מקיימים את היחס. בעיית חיפוש :נתון גרף , Gמצא עץ פורש , Tאם קיים אחד. * * הגדרה :יהא S יחס דו-מקומי. - אומרים שבעיית הזיהוי של Sניתנת לפיתרון אם . S R E - אומרים שבעיית החיפוש של Sניתנת לפיתרון אם קיימת מ"ט Mשלכל - x o אם קיים yכך ש M , x , y S -עוצרת עם yכזה (כלשהו) כפלט. o אם לא קיים yכזה M ,לא עוצרת. הגדרה :בהינתן פונקציה fנגדיר . S f x , y | f x y :בעיית החיפוש של S fשקולה לבעית החישוב של . f דוגמא -סיבוכיות קולמגורוב אקראיות היא ההפך מחוקיות ,לסדרה עם חוקיות קיים אלגוריתם (=מ"ט) קצר שמייצר את המחרוזת .ולכן הסדרה 001001001001 -נראית פחות אקראית מהסדרה.011101100010- * הגדרה . 0,1 0,1, b :עבור מחרוזת x סיבוכיות קולמגורוב היא מספר המצבים הקטן ביותר של מ"ט שעל קלט פולטת את . xסימון. k x : משפט :הפונקציה kלא ניתנת לחישוב. אבחנות: - kהיא פונקציה מלאה ,ולכל ( k x | x | 1 xמצב לכתיבת כל אות ב x -ובסוף צעד ימינה). - kהיא פונקציה לא חסומה ,כלומר לכל tקיים xך ש. k x t - הוכחה: נניח בשלילה ש k -ניתנת לחישוב ו M k -מ"ט המחשבת אותה ונגיע לסתירה ב 3-שלבים: .1נבנה מ"ט M 1שעל קלט tמוצאת xכך ש( k x t -קיים כזה כי הפונקציה לא חסומה). 14 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א נעבור על כל ה- x -ים לפי סדר לקסיקוגרפי ,לכל xנחשב k x ע"י ( M kשעוצרת תמיד) עד שנגיע ל x -המבוקש (קיים כזה) ונפלוט אותו. נסמן ב m -את מספר המצבים של . M 1 יהי nמספר מספיק גדול כך ש. 2 n n m 3 - .3נבנה M 2שעל קלט עובדת באופן הבא: - כותבת - מריצה את M 1על . 2 nנסמן ב x -את הפלט. n 1 0 0 0ומחזירה את הראש להתחלה. 2על הסרט שלה באופן הבא0 : מספר המצבים של n 2 : M 2מצבים לכתיבת 1 , 2 nלהחזרת הראש m ,להפעלת . M 1 בסה"כ n m 3 :מצבים. לפי אופן בחירת . n m 3 2 n n נסתכל על : x M 2על פולטת xבמספר מצבים הקטן מ . 2 n -ולכן: n k x 2 n M 1על קלט 2 nפולטת , xולכן. k x 2 : סתירה להנחה שקיימת , M kולכן הפונקציה kאינה ניתנת לחישוב. משפט :קיים פיתרון לבעית הזיהוי קיים פיתרון לבעית החיפוש. הוכחה :בהינתן קלט xנמצא בהרצה מבוקרת זוג x , y כך ש( x , y S -אם קיים). טענה :קיים פיתרון לבעית החיפוש קיים פיתרון לבעית הזיהוי. דוגמא , L E Q :בעיית הזיהוי קשה ( ) L E Q R Eאבל בעית החיפוש ניתנת לפיתרון- . M , M דוגמאות: . S 1 Lu M , x | M accepts x בעיות הזיהוי והחיפוש ניתנות לפיתרון. . S 2 Lu M , x | M does not accept x לא ניתנת לזיהוי ( . ) L u R Eגם לא ניתנת לחיפוש כי אם קיים לבעית החיפוש פיתרון אז גם ל L -בסתירה לכך ש. L R E - * * 15 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א מבוא לחלק II איזה מן הבעיות הניתנות לפיתרון (לפי חלק )Iניתנות לפיתרון יעיל? (במונחים של זמן או זיכרון). מפתה אולי למדוד יעילות לפי הזמן שלוקח לנו להריץ תוכנה ,אבל זה לא מדד טוב כי הוא תלוי מימוש ,תלוי חומרה שעליה אנחנו מריצים וכו' .לא ניתן להשתמש במדד כזה עבור הגדרה תיאורטית. אנחנו נשתמש במדד אחר -כמה צעדים דרושים למ"ט על-מנת לבצע את החישוב. סיבוכיות הזמן :סיבוכיות הזמן של מ"ט Mהיא פונקציה חלקית t M : * שמתאימה לכל * x את מספר הצעדים של Mעל xאם Mעוצרת עליו ,ואחרת היא לא מוגדת. חסם סיבוכיות :אומרים שפונקציה T :היא חסם סיבוכיות עבור מ"ט Mאם לכל x ( t M x T | x | מספר הצעדים שהמכונה עושה חסום ע"י פונקציה של אורך הקלט). נתעניין בשאלה -איזה חסם סיבוכיות ייחשב כיעיל? לכל מכונה לא טריוויאלית( T n n , | x | n ,כי צריך לקרוא את הקלט). n n 2 O 2 , O 2הם ערכים גדולים מאוד ל. n - מצד שני התאמה למציאות. "נוחות מתמטית". 16 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א חישוב יעיל הגדרה :מ"ט Mתיקרא יעילה/פולינומית אם קיים פולניום p n O n c המהווה חסם סיבוכיות עבורה. יתרונות ההגדרה: - כמעט כל אלגוריתם שנמצא בשימוש נופל להגדרה. - עמידות :מוש ג הפולינומיות לא רגיש למודל (הוכחות השקילות בין מ"א משמרות פולינומיות). - פולינומיות מקיימת תכונות סגור. דוגמא f , g :ניתנות לחישוב יעיל אז גם h x f g x ניתנת לחישוב יעיל. הוכחה f :ניתנת לחישוב יעיל קיימת gניתנת לחישוב יעיל קיימת f Mהמחשבת אותה בזמן . O n c Mהמחשבת אותה בזמן g .O nd נבנה M hשמחשבת את hעל קלט . x .1נריץ את f Mעל xלקבלת . y f x .3נריץ את g Mעל yלקבלת h x z g y ונפלוט אותו. סיבוכיות :בשלב 1 f Mרצה זמן O n c ומייצרת yשאורכו . | y | O n c בשלב3- g M רצה זמן . O | y |d O n cd סה"כ. O n cd : חסרונות ההגדרה: - ההתאמה למציאות היא לא מושלמת o במציאות נעדיף o סימפלקס -אלגוריתם שממומש בהרבה תוכנות במציאות ובמקרים מסויימים רץ בזמן אקספוננציאלי .אבל בפועל נתקלים כמעט אך ורק בקלטים עליהם האלגוריתם יעיל. log log n nעל-פני 1000 nלמרות שהראשון לא פולינומי והשני כן. מחלקות של חישוב יעיל: { קיימת מ"ט פולי Mכך ש. P { L | L M L - * { קיימת מ"ט פולי Mכך ש. PO LY { f : * * | f M f - תכונות f f PO LY , P R :מלאה .כל שפה סופית היא ב. P - הגדרה f :חסומה פולינומיאלית אם קיים פולינום p n כך ש. | f x | p | x | - קשר בין פונקציות לשפות: תזכורת :בהינתן פונקציה fמלאה הגדרנו L f x , y | y f x והוכחנו כי f :ניתנת לחישוב אם"ם . L f Rנרצה לדעת האם קיים קשר דומה מבחינת חישוב יעיל. הטענה f :ניתנת לחישוב יעיל אם"ם L f Pאינה נכונה. 17 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א דוגמא L f P - f x 12 :כי בהינתן x , y ניתן לחשב f x ולהשוות ל( y -יעיל) אבל || x f P O L Yכי אין מספיק זמן כדי לכתוב את הפלט ביעילות ,הקלט הוא רק xוחיפוש של y מתאים עבורו לא יכול להתבצע בזמן פולינומי בקלט. הערה :הטענה בעייתית גם עבור פונקציות שהן חסומות פולינומיאלית. הגדרה y { :היא הרישא של . L f { x , y | f x משפט f P O L Y :אם"ם fחסומה פולינומיאלית וגם . L f P הוכחה: כיוון f P O L Y :1-אז קיימת מ"ט f f Mלחישוב f fחסומה פולינומיאלית (כי הפונקציה של Mשהיא fהיא פולינומאלית) .מ"ט פולי עבור L fעל קלט x , y תחשב את f x ע"י f M ותשווה ל. y - כיוון f :3-חסומה פולינומיאלית קיים פולינום מתאים L f P . pקיימת מ"ט M עבור השפה אשר רצה זמן . qנבנה f Mהמחשבת את fעל קלט : x אתחול. y : איטרציה :עבור כל a בדוק האם ( x , ya L f ע"י .) M o אם כן y ya ,ומתחילים איטרציה חדשה. o אם לא ,מנסים את האות הבאה. o אם ניסינו את כל האותיות ,עוצרים עם פלט ( yגם רישא וגם הפיתרון). סיבוכיות :מספר האיטרציות -פולינומי (כי fחסומה פולינמיאלית) .בכל איטרציה החישוב הוא פולינומי (כי הוא נעשה ע"י M מ"ט פולינומית) .סה"כ: f Mרצה בזמן פולינומיאלי. בעיות חיפוש: * * הגדרה :יהי S יחס דו-מקומי. אומרים שבעית הזיהוי של Sניתנת לפיתרון יעיל אם . S P אומרים שבעית החיפוש של Sניתנת לפיתרון יעיל אם קיימת מ"ט פולינומיאלית Mכך שלכל * : x אם קיים y כך ש x , y S - אז Mעוצרת ב q A -עם פלט yכזה ,אחרת M עוצרת ב( q R -ואין חשיבות לפלט). אבחנה :חיפוש יעיל זיהוי יעיל. הגדרה :יחס Sהוא חסום פולינומיאלית אם קיים פולינום pכך שלכל x , y Sמתקיים: . | y | p | x | השאלה הפתוחה המרכזית של מדעי המחשב (נוסח:)1- עבור Sחסומה פולינומיאלית ,האם זיהוי יעיל חיפוש יעיל? 18 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א הגדרה :שפה Lשייכת למחלקה N Pאם קיים יחס דו-מקומי R Lהמקיים: .1 R Lחסום פולינומיאלית. .3 R Lניתן לזיהוי יעיל. .2 - L x | y : x , y R L ביחס כל ה x -והפיתרונות שלהם לבעית החיפוש. אבחנה. P N P :1- הוכחה :בהינתן L Pנראה יחס R Lמתאים( R L x , x | x L -הוא ניתן לזיהוי כי ניתן לבדוק אם y xוגם ניתן לבדוק אם x Lכי .) L P אבחנה. N P R :2- הוכחה :תהי L N Pויהי R Lהיחס המתאים .בפרט R Lחסומה פולינומיאלית ע"י פולינום , pוגם R Lניתן לזיהוי יעיל ע"י מ"ט פולינומיאלית . Mנתאר מ"ט M שמזהה את Lועוצרת תמיד: בהינתן xנעבור על כל ה-yים שאורכם קטן או שווה ל . p | x | -לכל אחד מהם נבדוק (ע"י ) M האם . x , y R Lאם מצאנו yכזה , x L ונקבל .אם עברנו על כל ה-yים ולא מצאנו x L ולכן נדחה .הנכונות נובעת מדרישה ( )2של R Lשהיא מכילה x , y אם . x L השאלה הפתוחה המרכזית במדעי המחשב (נוסח:)2- האם ? P N P משפט :שני הנוסחים של הבעיה הפתוחה המרכזית הם שקולים ,כלומר: P N Pלכל יחס פולינומיאלי ,זיהוי יעיל גורר חיפוש יעיל. הוכחה: כיוון :1-מספיק להוכיח ש( N P P -כי ההכלה ההפוכה קיימת) .תהי L N Pשפה כלשהי ,אז קיים R Lכמובטח מההגדרה .בפרט R Lחסום פולינומיאלית וניתן לזיהוי יעיל ומההנחה נובע שR L - ניתן לחיפוש יעיל .כלומר ,קיימת מ"ט פולינומיאלית Mכך שלכל , xאם קיים yכך ש- , x , y R Lהיא עוצרת ב( q A -עם פלט yכזה) ואם לא קיים היא עוצרת ב . q R -ולכן: .L P L M L כיוון :3-יהי Sיחס חסום פולינומיאלית הניתן לזיהוי יעיל ונרצה להראות שהוא ניתן לחיפוש יעיל. נגדיר . S x , z , w | x , zw S :עבורו מתקיים (בגלל תכונות S :) Sחסום פולינומיאלית וגם S ניתן לזיהוי יעיל . L S x , z | w : x , z , w S .מהגדרת . L S NP : N P מההנחה נובע ש L S P -ולכן קיימת M פולינומיאלית עבור . L S נתאר מ"ט Mשפותרת את בעית החיפוש של : Sבהינתן קלט xנבדוק האם ( x , L S כלומר ,האם יש פיתרון שמרחיב את המחרוזת הריקה -כל פיתרון הוא כזה ,אם קיים) .אם לא (אין פיתרון) ,עוצרים ב . q R -אם כן, y מתחילים באיטרציות :לכל a בדוק האם . x , ya L S אם כן , y ya ,אם לא- בדוק את האות הבאה .כשסיימנו לעבור על כל האותיות ,עוצרים ב q A -עם פלט . y 19 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א -NPCבעיות קשות :NPCהבעיות הקשות ביותר ב.NP- הערה :לא ידוע אם יש משהו ב NP-שלא נמצא ב.P- L1 L 2 L2 R משפט הרדוקציה המקורי: L2 R האם מתקיים גם: L1 L 2 ? L2 P L2 P לא מתקיים -ההוכחה המקורית לא עובדת וגם הטענה אינה נכונה. הגדרה :פונקציה fהיא רדוקציה פולינומית מ L1 -ל L 2 -ומסמנים L1 p L 2 :אם: .1 ( f P O L Yובפרט מלאה). .3תקפות. x L1 f x L 2 : תכונות בסיסיות: L1 p L 2 L1 P משפט הרדוקציה: L2 P הסבר :אותה הבניה ואותה הוכחה של משפט הרודקציה .הסיבוכיות פולינומית כי M f M 2מ"ט פולינומיות. L1 p L 2 טרנזיטיביות: L1 p L3 L L 2 p 3 הגדרה :שפה Lתיקרא -NPשלמה אם: .1 . L NP .3לכל L N Pמתקיים( L p L :שפה שמקיימת רק את 3נקראת-NP :קשה). קבוצת השפות הנ"ל תסומן.NPC : משפט :תהא L N P Cאז מתקיים. P N P L P : הוכחה: כיוון L N P C : אז מההגדרה L N P -אז מההנחה. L P - כיוון : מספיק להוכיח . N P Pתהי L N Pשפה כלשהי .אז ( L p Lכי Lהיא -NP שלמה) וגם L Pאז לפי משפט הרדוקציה . L P 20 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א דרכים להוכיח ששפה היא ב:NPC- .1ישירות ע"פ ההגדרה. .3הוכחה עקיפה על-סמך: טענה :אם L N Pוגם L1 NPCוגם מתקיים L1 p L :אז. L N P C : הוכחה :מטרנזיטיביות :לכל L N Pמתקיים. L p L L p L1 p L : דוגמאות לשפות -NPשלמות: בעית הכיסוי בצמתים (:)Vertex Cover הגדרה :יהי G V , E גרף .קבוצה B V נקראת כיסוי צמתים אם לכל קשת a , b E מתקיים a B :או ( b Bאו שניהם). הערות: - בגרף כוכב קיים כיסוי צמתים בגודל.1- - כל גרף ניתן לכסות ע"י | V | 1צמתים. - בגרף המלא K nכל כיסוי גודלו לפחות . | V | 1 { קיימת קבוצה Bבגודל kהמהווה כיסוי בצמתים של V C {( G , k ) | G { Bהוא כיסוי בצמתים בגודל kעבור . S VC {(( G , k ), B ) | G תכונות: S VCחסום פולינומיאלית. Sניתן לזיהוי יעיל (ניתן בזמן פולינומיאלי לוודא ש | B | k -וש B -מכסה כל קשת ב.) G - לא יד וע אם בעית החיפוש ניתנת לפיתרון יעיל (קיים פיתרון אקספוננציאלי). טענה. V C N P C : ( N C N Pע"פ היחס . S VCנראה יותר מאוחר.) 3 SA T p V C - 21 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א בעית הקבוצה המייצגת (:)Hitting Set קלט :טבעיים n , kוקבוצות ] , Am [ n .) [ n ] 0,1, , n ( A1 , פלט :האם קיימת קבוצה Rבגודל kכך שלכל ? Ai R , i H S { n , k , A1 , { קיימת Rהמקיימת, Am | ... טענה. H S N P C : הוכחה :נחלק אותה ל 2-חלקים: .1 - H S N Pע"י היחס מתאים: { Rקבוצה בגודל kשחותכת כל , Am ), R ) | Ai .3 VC NPC .2 - V C p H Sנראה רדוקציה מתאימה, A m : R HS { (( n , k , A1 , , f G , k n , k , A1 ,כך ש, n | V | : | m | Eולכל e i a , b נתאים קבוצה. Ai a , b - נכונות הרדוקציה . f P O L Y :תקפות G , K V C :קיימת , V k מהבני כיסוי צמתים לG - ה קיימת קבוצה , i k B V1 ,המהווה R i1 ,שחותכת כל . f G , k H S Ai בעית כיסוי הקבוצות (:)Set Cover קלט :טבעיים n , kוקבוצות ] , C t [ n פלט :האם קיימות kקבוצות , C ik . C1 , C i ,שמכסות את ] ? [ n 1 { קיים כיסוי בקבוצות בגודל kמתוך tהקבוצות | , C t . SC { n , k , C1 , טענה. S C N P C : הוכחה( :בדרך עקיפה) | , ik ) - S C N Pע"י היחס המתאים: VC NPC - V C p SCנראה רדוקציה מתאימה, C t : , C t ), ( i1 , , 1 ( n , k , C R SC , t | V | , n | E | , f G , k n , k , C 1 ,לכל צומת viנתאים קבוצה { -הצומת viמכסה את . C i { j | e j נכונות הרדוקציה . f P O L Y :תקפות G , K V C :קיים כיסוי , i k מהבני G ה הקבוצות , C ik B i1 ,עבור C i ,מכסות את ] . f G , K SC [ n 1 בעית התכנות בשלמים (:)01IP קלט :מטריצה , A Z m nווקטור . b Z m פלט :האם יש פיתרון למערכת האי-שוויונים A x bשבו ? x 0,1 n 22 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א a1 n x n b1 a11 x1 ,האם קיים פיתרון שבו באופן שקול :נתונה מערכת אי-שוויונים: a m n x n bm a m 1 x1 x i 0,1לכל ? i 0 1 IP A , b | x ... טענה. 0 1IP N P C : הוכחה( :בדרך העקיפה). A , b , x | A x b , x 0,1 n - 0 1IP N Pע"י היחס המתאים: .V C N P C - V C p 01 IPנראה רדוקציה מתאימה , f G , k A , b :הרעיון :לכל צומת viבגרף . R 0 1 IP נתאים משתנה x iכך ש x i 1 -או ש vi -בכיסוי ו v i 0 -או ש vi -אינו בכיסוי. | , n | Vמריצה Aמסדר | E | 1 | V | :מוגדרת באופן הבא: o לכל קשת e j u , v נגדיר אי-שוויון , x u x v 1 :כלומר A ju A jv 1 :ו A jk 0 -לכל . k u, v o את השורה האחרונה במטריצה נגדיר ע"י אי-השוויון x |V | k : , x1 x 2 כלומר A | E | 1 i 1לכל i נגדיר את , bלפי הבנייה לעיל bi 1, 1 i | E | -ו. b | E || 1 k - כעת בהינתן כיסוי מתאים , Bההשמה המספקת היא . x i 1 i B מצד שני אם קיימת השמה xהמקיימת את כל האי-שוויונים נגדיר את Bע"י. B i | x i 1 : וקל לראות ש , | B | k -ואכן Bכיסוי בצמתים (הקשת e j u , v בהכרח מכוסה כי אי- השוויון ה j -מתקיים אם"ם , x u x v 1כלומר :לפחות אחד מהצמתים u , vנמצא ב.) v - בעית החיפוש החסום (:)Bounded search קלט :מ"ט , Mאיבר xווקטור של -1ים באורך t פלט :האם קיים yבאורך לכל היותר tש M -מקבלת את xומוציאה כפלט את yתוך tצעדים? { קיים yבאורך קטן שווה לBS { M , x ,1 | ... t - t טענה. BS N PC : הוכחה( :ישירה). B S N Pלפי היחס המתאים -הוא חסום פולינומיאלית | y | tוניתן לזיהוי יעיל (עושים סימולציה של tצעדים של המכונה) והיחס מגדיר את השפה. צ"ל :לכל L N Pמתקיים . L p BS :מהגדרת N Pקיים , R Lכלומר -חסום פולינומית ,ניתן לזיהוי יעיל ע"י מ"ט M Lופולינום PLעבורה ,שרצה זמן . q | x | | y | 23 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א נגדיר רדוקציה: PL | x | M L , x .1 . fL POLY . fL x תקפות x L :קיים yכך ש x , y R L -קיים yבאורך p | x | כך ש x , y R L - קיים yבאורך p | x | כך ש M L -מקבלת את xתוך q | x | | y | tצעדים. :3SAT שפת כל פסוקים הספיקים מהצורה.3CNF - C 1 C 2 כאשר כל C iהוא פסוקית בת 2ליטרלים C i li ii li :כאשר ליטרל : Cm 3 , xn , xn 2 1 . l i x1 , x1 , x 2 , x 2 , j טענה. 3 SAT p VC : הוכחה: נראה רדוקציה מתאימה. f G , k - בניית : Gנבנה את הגרף ב 2-שלבים: א 2 n .צמתי ליטרלים המסומנים: , xn , xn x1 , x1 , x 2 , x 2 ,וקשת בין כל x iל. x i - ב 3m .צמתי פסוקית מסודרים במשולשים כאשר צמתי המשולש המתאים לפסוקית C iיסמנו: ( li , li , liשמות הצמתים הם כשמות הליטרלים). 3 2 1 ג .לכל צומת פסוקית (מתוך משולש) המסומן ע"י ליטרל ,נוסיף קשת בינו ובין צומת הליטרל מקבוצת צמתי להיטרלים משלב-א. הגדרת . k n 2 m : k מתקיים f -ניתנת לחישוב בזמן פולינומי. תקפות: כיוון :1-נניח 3SATונראה. f G , k VC - 3SATולכן קיימת השמה מספקת עבורו .נשתמש בה כדי לבנות כיסוי Bבגודל kל. G - נוסיף ל B -את כל צמתי הליטרלים המקיימים . l T :מספקת כל פסוקית ולכן בכל C iיש ליטרל שמקבל , Tאת שני האחרים נוסיף לכיסוי . B מתקיים | B | n 2 m :כי ישנם nליטרלים המקבלים ( Tכל השמה תיתן Tל n -מתוך nליטרלים ושלילותיהם) וישנם mפסוקיות ונלקחו שני צמתים מכל משולש שהוא פסוקית. בכל זוג , x i , x iנותנת Tלבדיוק אחד מהם ולכן הקשת ביניהם מכוסה. בכל משולש ,כל 3צמתים מהווים כיסוי ולכן Bמכסה קשתות פנימיות של המשולשים. לכל קשת שהיא בין קודקוד משולש לצומת ליטרל ,או שצומת המשולש ב B -ולכן הקשת מכוסה, אחרת נובע מהבנייה שערך האמת של הליטרל הוא Tולכן צומת הליטרל של הקשת נמצא בכיסוי. כיוון :3-נניח ש( G , k VC -קיים כיסוי ) | B | kונוכיח. 3SAT : כל כיסוי משתמש לפחות בצומת ליטרל אחד מבין ( x i , x iכי יש ביניהם קשת) ,שהם לפחות n ולפחות ב 3-צמתי פסוקית מכל משולש ,שהם לפחות . 2 mומכיוון ש , k n 2 m -כל כיסוי משתמש בדיוק ב n -צמתי ליטרלים וב 2 m -צמתי פסוקית ( 3מכל משולש). 24 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א הגדרת השמת האמת : הליטרל מבין x i , x iשבכיסוי -יקבל ערך . T נתבונן בצומת הפסוקית C iשאיננו בכיסוי .יהי lהליטרל המסמן אותה .ונתבונן בקשת eשהיא בין צומת הליטרל לצומת הפסוקית הזה .כיוון ש B -הוא כיסוי ,הוא בפרט מכסה את eהנ"ל .מכיוון שצומת הפסוקית לא ב B -אז צומת הליטרל lב B -ולפי הגדרת ההשמה l T -ולכן Ci מסופק .זה מתקיים לכל C iולכן מסופק . 3SAT :)SS( Subset Sum קלט: - x1 , x 2 ,טבעיים. , xs , k פלט :האם קיימת קבוצה ] I [ sכך ש. x i k - i I טענה. SS N P C : הוכחה (בדרך עקיפה): , SS N P .1ע"י :היחס המתאים k : i x , x s , k , I | I [ s ] and i I . R SS x1 , VC p SS .3 נתאר רדוקציה מתאימה, a n , k : - לכל : 1 j m - לכל : 1 i n j 1 j 1 , b m , a1 , f G , k b1 ,כאשר n | V |, m | E | :ונגדיר: b j 10 10 ( a i 10 m האינדקס בסכימה -כל הקבוצות jש v i -שייך אליהן). j :v i e j m . k k 10 m 2 10 j 1 - j 1 נסדר בטבלה m -השורות הראשונות הן אברי bו n -השורות אחריהן הן אברי , aוהשור האחרונה היא . k נשים לב שלכל a iיש 1בספרה השמאלית ביותר וגם 1ב 2-מקומות ..1 b1 0 ...1 0 b2 0 .1 0 0 b3 0 m 1 bm 1 0 ...0 m נוספים :המקומות jבהם הצומת iמופיע בקשת . j . f POLYתקפות: כיוון :1-נניח ש G , k VC -ויהי Bכיסוי מתאים .אז נבנה פיתרון לבעיה, a n , k : - a i 1 0 ..0 1 1 0 ..0 1 0 ..0 m ..2 k k 22 אם , v i Bהוסף את a iלסכום .ונקבל מספר מהצורה 2 - , bm , a1 , . b1 ,ונבנה פיתרון לבעיה: I - k 2212112ואז לכל מקום שעבורו קיבלנו 1נוסיף b jמתאים- אם הקשת e iמכוסה רק פעם אחת אז הוסף את . b j ואז קיבלנו את הסכום k כנדרש. כיוון :3-בהינתן פתרון לבעית ה SS -נבנה כיסוי חוקי . B v i | a i I : Bומתקיים: - | B | kכיוון שה"ספרה" המובילה ב k -היא . kאין נשא ( carryבחיבור) ולכן רק - aים מכילים 1בעמודה השמאלית ובהכרח יש בדיוק kצמתים בכיסוי. 25 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א - Bהוא כיסוי .לכל , e jה b j -המתאים תורם לכל היותר 1לספרה ה j -של k ולכן לפחות אחד מה-a-ין בכיסוי תורם 1לעמודה זו -וזה קורה אם"ם v iהוא חלק מהקשת של . jולכן כל הקשתות מכוסות. בעית החלוקה (:)PART קלט: , xs x1 , x 2 ,טבעיים. פלט :האם קיימת קבוצה I Sכך ש. x i x i - i I i I טענה. P A R T N P C : הוכחה: נראה . SS p PART -רדוקציה מתאימה, x s , B , C : , x s , k x1 , f x1 , k ונגדיר. A x i , B 2 A k , C A k : i 1 אבחנה :סכום כל האיברים הוא . 4 Aבשלה החלוקה B , Cלא יימצאו ביחד (כי סכומם ביחד הוא .) 3 Aהקבוצה Iשסכומה הוא , kביחד עם , Bתהיה בסכום של 2 Aולכן זוהי חלוקה. הבניה מבטיחה שאם לקלט הרדוקציה יש פתרון ב , SS -אז לפלט יש פיתרון ב. PART - בצד השני -בהינתן פיתרון ל , PART -נתבונן ב"צד" שמכיל את , Bנבחר בתור פיתרון ל SS -את כל ה- x i -ים מאותו צד .מאותו שיקול ברור כי זהו פיתרון מתאים ל( SS -סכומם הוא .) k בעית האריזה בתאים (:)Bin Packaging קלט k :תאים בגודל Bכל אחד ועצמים שגדליהם: , xs . x1 , פלט :האם ניתן להכניס את העצמים ל k -התאים כך שבכל תא סכום העצמים אינו גדול מ. B - טענה. B P N P C : הוכחה: נראה רדוקציה . PART p BP - s i 1 x 2 , x s , k 2, B i 1 , x s x1 , , f x1 , מחלקים לשני תאים כאשר בכל תא יש בדיוק חצי מהסכום. מציאת מסלול בגרף מכוון עם אורך ומחיר מוגבלים (:)Lpath קלט :גרף מכוון Gכך שלכל קשת נתון אורך l e ומחיר , w e שני צמתים בגרף s , tושני מספרים . W , L פלט :האם קיים מסלול מ s -ל t -שאורכו קטן או שווה ל L -ומחירו קטן או שווה ל? W - טענהLpath NPC : הוכחה: נראה רדוקציה . PART p Lpathבהינתן , xn x1 ,קלט ל ,partition-נבנה גרף מתאים מהצורה: 26 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א הגרף מורכב מסדרה של מעויינים ,כאשר במעויין ה , i -המסלול העליון מתאים לבחירת , x iוהמסלול התחתון לכך שלא נבחר את . x iהדבר יתבצע ע"י הגדרת המשקלים על הקשתות העליונות כx i - והאורכים של הקשתות התחתונות כ , x i -וכך מעבר במעויין מלמעלה יוסיף לאורך ואילו מעבר n 1 במעויין מלמטה יוסיף למשקל .נגדיר x : 2 i , W L ואפשר לראות שמסלולים המוגבלים באורך i 1 ובמשקל שלהם ע"י ערך זה ,מתאימים לפתרון של בעית החלוקה. :SAT שפת כל פסוקי ה CNF-הספיקים (פסוק CNFהוא andבין פסוקיות המורכבות מ or-בין ליטרלים). טענהVC p SAT : הוכחה: נראה רדוקציה f G , k - fהמקיימת. G , k VC SAT : המשתנים של ( xij , i [ n ], j [ k ] : המשמעות x ij T :הקודקוד ה i -הוא המספר הj - בכיסוי). הפסוקיות של : א .לכל ] , j [ kפסוקית x - ij ] i [ n (כלומר ,יש לפחות קודקוד אחד במקום ה j -בכיסוי). ב .לכל , i i פסוקית( xij xi j -כלומר ,רק אחד מביניהם יקבל Tבו-זמנית ,ישנו רק קודקוד אחד במקום ה j -בכיסוי). ג .לכל קשת , e a , b פסוקית x - bj ] j [ k ( x aj כלומר ,זהו אכן כיסוי צמתים ,הפסוקית ] j [ k תקבל Tאם לפחות אחד מהצמתים a , bנמצא בכיסוי). נכונות. f POLY : תקפות: כיוון G , k VC :1-קיים כיסוי , t k , B B t1 , t 2 ,ונשתמש ב B -על-מנת לבנות השמה מספקת ל x ij T : -אם"ם במקום ה j -בכיסוי מופיע הצומת . i -מהבנייה נובע שכל הפסוקיות מסופקות ולכן. SAT : כיוון f G , k SAT :3-יש השמת אמת המספקת את , בפרט ,מספקת את הפסוקיות מסוג א ו-ב ולכן לכל jיש iיחיד כך ש . x ij T -אז ניקח את כל ה i -הנ"ל לכיסוי B ( | B | k כי ישנם - j kים) B .מהווה כיסוי כי מספקת גם את הפסוקיות מסוג ג ולכן לכל קשת אחד מהמשתנים x aj , x bjמקבל Tוזה קורה אם הצומת aאו bבכיסוי. טענה (ללא הוכחה) :לכל פונקציה בוליאנית , f : 0,1 0,1קיים CNFשנסמן , המחשב את k . fיתר-על כן ב -יש לכל היותר 2 kפסוקיות אם k O 1 אז גם . | | O 1 27 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א משפט :Cook . SAT N PC הוכחה: תהי . L N Pצ"ל . L p SAT :מהגדרת N Pנובע ש -קיים ל L -יחס דו-מקומי R Lהמקיים: R L .1חסום פולינומית ע"י . p n R L .3ניתן לזיהוי יעיל ע"י מ"ט Mהרצה זמן פולינומי( q | w | | y | -פולינומי בקלט .) w , y R L .2מגדירה את . L w | y : w , y R L L נראה רדוקציה מתאימה h w : h h L -המקיימת: , h w SAT w Lכלומר ,קיים yבאורך p | w | כך שמ"ט Mמקבלת את w , y בזמן q | w | p | w | אם"ם קיימת השמת אמת המספקת את . t אם w Lאז קיים yוקיימת סדרת קונפיגורציות ,Ct C 0 ,המהווה חישוב מקבל של Mעל . w , y נתבונן על טבלת חישוב: כניסות הטבלה הן מתוך . Q בכל שורה נרשום t j q j 1 . C i 1 2 - אם קונפיגורציה היא קצרה מ , t -נוסיף $בסופה. - אם החישוב קצר מידי (הסתיים לפני "זמן" = tמצב ,) C tנשכפל את הקונפיגורציה האחרונה לכל השורות התחתונות. משתני ( a Q , 0 i , j t , xija : משמעות x ija T :בתא ה i , j -של הטבלת חישוב מופיע .) a בניית . 0 A m ove cell : - j qA , A x tמקבל Tאם"ם השורה האחרונה בטבלה היא קונפיגורציה מקבלת ,המכילה 0 jt . q Aהמשמעות היא :באיזשהו מקום jבשורה האחרונה , t -רשום . q A - cell i, j 0i, jt , cell כאשר x i j a : i ja x a a xi j a a Q i, j , cellכלומר ,בכל תא i , jבטבלה מופיע בדיוק ערך אחד (משמעות השמאלי :לפחות ,1-משמעות הימני :לכל היותר .)1 - x0 t b x 0 n wn x 0 n 1 b , 0 x 0 0 q x 01 w מקבל Tאם"ם השורה הראשונה בטבלה 1 0 מתארת קונפיגורציה תחילית של Mעל . w , y - לכל , i 1השורה ה i -מתקבלת מהשורה ה i 1ע"י צעד אחד (חוקי) של . M 3קונפיגורציות עוקבות נבדלות בלכל היותר 2מקומות. התא i , j בטבלה מוגדר באופן יחיד מתוך 3התאים j 1, j , j 1, j 2 :בשורה שלפניו. i 1 - תבנית של 5תאים כזו תיקרא :חוקית אם תהיה קונסיסטנטית עם . M 28 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א - S Mאוסף התבניות הקונסיסטנטיות הוא קבוע (תלוי ב M -ולא ב .) w -קל לחשב אותו מתוך Mוגודלו . O 1 טבלת החישוב היא חוקית כל תבנית במקום i , j כלשהו היא חוקית. j , m ove mi ,oveמשמעות - mi ,ojveהתבנית במקום ה i , j -היא חוקית. i, j לפי הטענה ,ל mi ,ojve -יש CNFבגודל O 1 שתלוי רק ב M -ולא ב w -שמתאר אותו .נשתמש בו בתור . mi ,ojve תקפות הרדוקציה: כיוון w L :1-קיים חישוב מקבל של Mעל wעבור איזשהו pn . y 0,1נתבונן בטבלת החישוב המתאימה ונגדיר x i j a T :בטבלה הנ"ל במקום i , j מופיע . aמהבנייה נובע :כל תתי הנוסחאות מסופקות .ולכן . SAT כיוון h w SAT :3-קיימת השמה מספקת . בפרט מספקת את c e ll i, j יש aיחיד כך ש x i j a T -משרה טבלת חישוב .מכיוון ש -מספקת את הטבלה הנ"ל מתחילה בקונפיגורציה תחילית של Mעל w , yעבור pn ולכן לכל i , j 0 , A , m ove , y 0,1מסתיימת בקונפיגורציה מקבלת ומהווה חישוב חוקי M מקבלת את . w L w , y טענה. SAT p 3 SAT : הוכחה: מספיק להראות איך לתרגם פסוקית אחת u n C u1 u 2 לפסוק .3CNFעבור פסוק כללי אפשר להפעילת את התהליך על כל פסוקית לחוד. - אם C u1 אז מתרגמים אותה לפסוקית . u1 u1 u1 - אם C u1 u 2 אז מתרגמים אותה לפסוקית . u1 u1 u 2 - אם C u1 u 2 u 3 אז משאירים אותה כמו שהיא. - עבור u n שנסמן ב, y n 2 - C u1 u 2 כך ש n 4 -הפתרון מורכב יותר ודורש שימוש במשתני עזר . y1 , y 2 ,נחליף את הפסוק בסדרת הפסוקיות הבאה: y n 2 u n 1 u n . u1 u 2 y1 y1 u 3 y1 אם בהשמה כלשהי Cמסתפק אז קיים u kשמקבל . Tנגדיר השמה שמספקת את סדרת הפסוקיות החדשה :למשתנים המקוריים יושמו אותם ערכים כמו בהשמה המקורית .ואילו ל- y i - ים יושמו ערכי אמת באופן הבא y i T :לכל i k 2ו y i F -לאחרים .השמה זו מספקת את כל הספוקיות למעט y k 2 u k y k 1 ופסוקית זו מסתפקת שכן u kמקבל ערך . T בכיוון השני אם ישנה השמה שמספקת את הפסוק החדש אז אותה השמה כשהיא מצומצמת מספקת גם את הפסוק המקורי ,כי אם לא ,בהכרח כל ה- u k -ים מקבלים Fולכן (יש להוכיח באינדוקציה) כל ה y i -ים מקבלים Tולכן הפסוקית y n 2 u n 1 u n :אינה מסתפקת -סתירה. :2SATשפה השייכת ל .P-בהינתן פסוק 2CNFניתן להכריע אם הוא ספיק או לא. 29 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א מכונת טיורינג אי-דטרמיניסטית: מוגדרת כמו מ"ט רגילה לקבלת שפות למעט , : Q \ F Q L , R , S :כלומר :ישנה 2 אפשרות ל 3-מצבים לכל היותר (אם ישנם 0מצבים ,המסלול נקטע וזה שקול למעבר ל.) q R - משמעות :אם q , a p 0 , b0 , d 0 , p1 , b1 , d 1 אז אחד מהשניים מתבצע ולכן :במקום מסלול חישוב יש עץ חישוב. הגדרה :אומרים שמ"ט א"ד Mמקבלת קלט xאם בעץ החישוב של Mעל xקיים מסלול המסתיים ב. q A - דוגמא. L M | L M R E : נתאר מ"ט א"ד M עבור L על קלט : M - המכונה "תנחש" מחרוזת . x 0,1 - המכונה תבדוק (בצורה דטרמיניסטית) האם Mמקבלת את xותקבל אם"ם התשובה חיובית. - מימוש הניחוש :ע"י מ"א א"ד דו-סרטית עם דרגת פיצול ,2כלומר 2 :אפשרויות ליצירת מחרוזת- הוספת ,1הוספת 0וסיום .בכל מסלול חישוב נוצרת מחרוזת ולכל מחרוזת יש מסלול חישוב שבו היא נוצרת. * נכונות M L :קיים x L M קיים מסלול בו M מנחשת את xובמסלול הזה מגיעה ל . M L M q A -ולכן. L M L : משפט :אוסף השפות הניתנות לקבלה ע"י מ"ט א"ד = אוסף השפות הניתנות לקבלה ע"י מ"ט דטרמיניסטית = .RE רעיון ההוכחה: כיוון :1-כל מ"ט דטרמיניסטית היא בפרט מ"ט א"ד. כיוון :3-בהינתן מ"ט א"ד Mנראה שניתן לחשב את הפרדיקט הבא( M x , w 1 :אם"ם M מקבלת את xבמסלול .) wאופן חישוב הפרדיקט :נעבור על כל ה w -בסדר לקסיקוגרפי עד שנמצא כזה שעבורו M x , w 1 :ואז נקבל. הגדרה :מ"ט א"ד Mתיקרא פולינומית (או יעילה) אם קיים פולניום p n כך ש M -עוצרת על x תוך p | x | צעדים בכל מסלולי החישוב שלה. הגדרה נוספת ל :NP-אוסף השפות Lשקיימת עבורן מ"ט א"ד פולינומית. הערה :האם P=NPזו שאלה על כוחו של אי-דטרמיניזם (כלומר :האם לכל שפה שיש לה מ"ט א"ד יעילה יש לה גם מ"ט דטרמיניסטית יעילה?) דוגמא . SA T N P :מ"ט א"ד M SA Tעל קלט " תנחש" השמה באורך = nמספר המשתנים. ואז היא תבדוק באופן דטרמיניסטי האם מספקת את ומקבלת אם כן. M SA T P O L Y . 30 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א משפט :שתי ההגדרות של NPהן שקולות. הוכחה: כיוון :1-נניח ש L N P -ע"פ הגדרה .1-כלומר :קיים יחס R Lמתאים .בפרט -חסום פולינומית ע"י פולינום p n וניתן לזיהוי פולינומי ע"י מ"ט פולינומית Mשרצה . q | x | | y | נראה ש- L NP ע"פ הגדרה :3ע"י בניית M א"ד פולינומית עבור : L - היא תנחש מחרוזת yבאורך . p | x | - תבדוק האם x , y R Lע"י Mהמובטחת ותקבל אם"ם התשובה חיובית. נכונות x L :קיים yבאורך p | x | כך ש x , y R L -קיים מסלול בו מנחשים yכזה . x L M סיבוכיות :צעד הניחוש , O p | x | -בדיקה- q | x | p | x | q | x | | y | -פולינומי ב. x - כיוון :3-נניח ש L N P -ע"פ הגדרה 3-ו M -מ"ט א"ד פולינומית (עם פולינום ) p n מתאימה. נראה ש L N P -ע"פ הגדרה R L x , w | | w | p | x | , M x , w 1 :1-ומתקיים: - R Lחסום פולינומית – מההגדרה. - R Lניתן לזיהוי יעיל -המימוש של Mשראינו עולה | | wצעדים. } {=}x| w : x , y R Lקיים מסלול wבאורך לכל היותר p | x | שבו Mמקבלת את . L { x | x NPכמערכת הוכחה: שלמות :ניתן להוכיח כל טענה נכונה. נאותות :שום הוכחה לא משכנעת בטענה לא נכונה. טענה N P :אוסף השפות Lשיש עבורן מערכת הוכחה כנ"ל עם מוודא יעיל. רעיון ההוכחה L N P :אז קיים יחס R Lכך שההוכחה yמקיימת x , y R L :וגם שלמות ונאותות ולכן R Lניתן לזיהוי יעיל ולכן לוידוא פולינומי. צד שני :נניח של L -קיימת מערכת הוכחה כנ"ל ונוכיח ש. R L x , y | V x , y 1 . L N P - מהשלמות והנאותות והיעיליות של המוודא מקבלים את כל תכונות . R L 31 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א התמודדות עם בעיות קשות אלגוריתמי קירוב: רוב עיסוק שלנו בקורס היה בבעיות הכרעה ,אך ניתן לדבר באופן כללי יותר על בעיות חישוב פונקציות .בדרך-כלל חישוב הפטנקציות גם מאפשר לפתור את בעיית ההכרעה ולכן הוא קשה לפחות כמו פיתרון בעיית ההכרעה .מצד שני ,כאשר התשובה היא מספרית (ולא רק "כן/לא") ניתן לקוות שאפשר יהיה לקרב אותה -להחזיר תשובה שאינה האופטימאלית ,אבל היא "לא רעה". הגדרה :תהא f : * פונקציה. מכונה Mלחישוב פונקציות היא קירוב - dחיבורי של d 0 fאם לכל * x מתקיים: , M x f x dכלומר. f x d M x f x d : מכונה Mלחישוב פונקציות היא קירוב - כפלי של 1 fאם לכל * x מתקיים: . f x M x f x 1 הערה :הקירובים הללו הם דו-צדדיים ,אך ברוב המקרים דורשים שהקירוב יהי חד-צדדי ,כלומר :אם f x מייצג בעיית מינימיזציה לרוב דורשים כי יתקיים f x M x :ואם f x מייצג בעיית מקסימיזציה אז דורשים כי . M x f x הערה :במקרים רבים לא קיימים אפילו קירובים טובים בזמן פולניומי דוגמא :מספר הצמתים בכיסוי הצמתים המינימאלי של . fVC G G אבחנה. f V C P O L Y V C P : טענה :קיים אלגוריתם -3קירוב עבור . f V Cכלומר ,קיים אלגוריתם Aפולינומי שלכל Gפולט כיסוי צמתים המקיים. fVC G A G 2 f VC G : שידוך מקסימאלי :שידוך שלא ניתן להרחבה (הגדרה שונה משידוך מקסימום). אלגוריתם יעיל למציאת שידוך מקסימאלי בגרף: אתחול . M :עבור על כל הקשתות e Eלפי סדר כלשהו .אם eזרה לכל הקשתות ב, M - הוסף אותה ועדכן. M M e : נכונות: - האלגוריתם פולינומי. - (באינדוקציה) Mהוא שידוך לכל אורך האלגוריתם (ולכן גם בפלט). - הפלט Mהוא מקסימאלי כי אם בסוף יכולנו להוסיף קשת ,הרי שגם כשעברנו עליה יכולנו להוסיפה לקבוצה M -קטנה יותר. אלגוריתם :A - מצא שידוך מקסימאלי Mבגרף . G - פלוט ככיסוי צמתים Bאת כל הצמתים שמשתתפים בקשתות . M נכונות: - Aפולינומי. - Bהוא כיסוי צמתים -נבדוק שכל e Eמכוסה :אם e Mהיא מכוסה .אם e Mוגם לא מכוסה ,אז ניתן להוסיפה אז ניתן להוסיפה לשידוך בסתירה למקסימאליות. 32 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א - נסמן ב B * -כיסוי צמתים בגודל מינימאלי .מתקיים. | B * | | B | : - * Bכיסוי ולכן מכיל צומת מכל קשת ב . M -הקשתות הנ"ל זרות ולכן | B * | | M | -ומצד שני: | . | B | 2 | M | 2 | B * צמצום מרחב הקלט: אפשר לחשוב על מרחבי קירוב בתור "הרחבת מרחב הפלט" -במקום לאפשר לכל קלט רק פלט מסויים ,מרחיב את מרחב הפלטים שאנחנו מוכנים לקבל (לפלטים "קרובים") ובכך נהפוך את הבעיה לקלה יותר .באופן דומה -נוכל לצמצם את מספר הקלטים שאנחנו מוכנים לקבל ,בשאיפה -נוציא מהבעיה את החלק ה"קשה" ונוכל לפתור את הבעיה המצומצמת בקלות. דוגמא :מציאת כיסוי צמתים בגרף דו-צדדי: אלגוריתם פולינומי לבעיה (רדוקציה לזרימה): בהינתן גרף דו-צדדי , G L , R , E נבנה רשת זרימה : N נוסיף לגרף מקור sשיחובר לכל צמתי Lבקשתות שקיבולן ,1בור tשכל צמתי Rיחוברו אליו עם קיבול .1 ואת כל קשתות הגרף המקורי נגדיר לקיבול . נחשב זרימת מקסימום ב N -ונוציא אותה כפלט. :min-cut-max-flowערך חתך מינימאלי=ערך זרימה מקסימאלית. טענה: .1אם קיים כיסוי בצמתים ב B B L , B R , G -אז קיים חתך .3אם קיים חתך T , Tב N -שקיבולו | . | B T , Tב N -שקיבולו k אז קיים כיסוי צמתים ב G -שגודלו . k מסקנה :גודל הכיסוי המינימאלי ב= G -גודל החתך המינימאלי ב= N -זרימה מקסימאלית ב. N - הוכחה: כיוון :1-בהינתן כיסוי B B L , B R נבנה חתך T s B L B R -ונחשב את קיבול החתך: - קיבול הקשתות מ s -ל B L -הוא. | B L | : - קיבול הקשתות מ B L -ל B R -הוא( 0 :אין קשתות כאלה ,כי קשת כזו לא מכוסה ע"י הכיסוי). - קיבול הקשתות מ B R -ל t -הוא. | B R | : ולכן קיבול החתך הוא. | B | : כיוון :3-בהינתן חתך T , Tשקיבולו ( kסופי) ,נגדיר כיסוי. B R T R , B L T L : כיוון שקיבול החתך הוא סופי ,אין קשת מ B L -ל B R -ולכן כל הקשתות מכוסות בכיסוי .ומכיוון שקיבול החתך הוא , kניתן לחזור על החשבון מהסעיף הקודם ונקבל כי . | B | k הערה :אנחנו מכירים אלגוריתמים פולינומיאליים למציאת זרימת מקסימום ולכן יכולים לפתור את הבעיה בזמן פולינומי. 33 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א גישות הסתברותיות: סיבוכיות ממוצעת :מניחים שקיים פילוג הסתברות Dעל הקלטים לבעיה ,ואז מראים אלגוריתם שבממוצע עובד בזמן פולינומיאלי (ביחס לפילוג הזה). הגישה הזו בעייתית ,כיוון שאנחנו חייבים לדעת במדוייק מה ההסתברות לקבל כל אחד מהקלטים האפשריים לבעיה .למעשה -לקבל את Dבעצמו זו שאיפה כמעט לא פרקטית .שימוש בפילוג לא נכון, גם אם קרוב לפילוג האמיתי ,יכול להשפיע בצורה קיצונית על האנליזה .וגם אם ידוע לנו מהו -D החישוב המדוייק של התוחלת הוא (ברוב המוחלט של המקרים) קשה מאוד. אלגוריתמים הסתברותיים :אין פילוג על הקלטים ,אנחנו מניחים את המקרה הרע ביותר (הקלט הקשה ביותר) .אך במקרה זה האלגוריתם עצמו הוא הסתברותי. הרעיון המרכזי הוא שעל אותו קלט ,ריצות שונות יעבדו באופן שונה ,כאשר צעדים מסויימים באלגוריתם יבוססו על החלטות רנדומליות .ונשאל -מה ההסתברות שהאלגוריתם יגיע לתשובה הנכונה? ודורשים :לכל קלט , xהאלגוריתם מחשב נכון בהסתברות . 0.5 P p x הגברה :עבור בעיות הכרעה ,אם חוזרים על האלגוריתם O k פעמים ,ומחליטים ע"פ הרוב, 1 השגיאה קטנה ל- k 2 . דוגמא:Max-Cut - נתון :גרף (לא מכוון) Gעם קיבולת c e 0על כל e E צריך למצוא :חתך בגרף עם קיבולת מקסימאלית. נראה אלגוריתם הסתברותי יעיל ,Aשלכל קלט Gפולט חתך ב G -כך שגודל החתך Xש A-פולט מקיים( E X 12 opt :חישוב תוחלת) כאשר o p tהוא גודל החתך המקסימאלי. אלגוריתם :A לכל צומת , v Vבהסתברות 1 2 הוסף את vלקבוצה . Sאחרת ,הוסף את vל. S - החזר את החתך. S , S : אבחנות: - . opt c e - עבור e a , b קשת כלשהי ,ההסתברות שהיא קשת בחתך היא. 12 : e E - לכל eנגדיר מ"מ x e 1 :אם"ם eבחתך .נקבל כי: - נגדיר - X c e x e :קיבול החתך שבחרנו. 1 2 and E x e 1 2 . P xe 1 e ולכן: - opt 1 2 c e 1 2 .EX e לפי א"ש מרקוב: 1 3 c e e 1 4 .Px ואם נפעיל הגברה :נריץ את האלגוריתם kפעמים ונפלוט את החתך הגדול ביותר שפגשנו .יתקיים: k c e 1 2 3 e 1 4 P X 34 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א פונקציות "קשות לקירוב": דוגמא :בהינתן פסוק , CNFהפונקציה מחזירה את מספר ההשמות שמספקות אותו. # SAT - אבחנה :לכל קבוע d 1אם קיים - dקירוב עבור , # S A Tכלומר :אלגוריתם Aיעיל מספיק המקיים לכל : A d # SAT # SAT אז . P N P d הוכחה :אם # SAT 0אז בשני אגפי אי-השווין נקבל מספר גדול מ 0-ולכן בהכרח גם A ייתן מספר גדול מ .0-אחרת # SAT 0 ,ואז שני אגפי אי-השוויון הם 0ולכן גם . A 0 בפרט A -מספק לנו פתרון פלינומיאלי ל , SA T -וכיוון ש SAT N PC -זה מוכיח כי. P N P : כלומר :קירוב כפלי לא מועיל כי הבעיה היא להבדיל בין מצב שבו # S A Tשווה לאפס למצב שבו הוא שונה מאפס ,וכפל בקבוע לא מועיל כאן. טענה :לכל קבוע d 0אם קיים - dקירוב חיבורי עבור , # S A Tכלומר קיים אלגוריתם Aיעיל המקיים לכל # SAT d A # SAT d : אז . P N P הוכחה: נראה אלגוריתם פולינומי Bעבור ( SATעל קלט :) - נגדיר. k log d 2 : y1 y1 כאשר - נגדיר y k y k : - נריץ את . A אם הפלט > -2dנקבל .אחרת -נדחה. , yk y1 ,משתנים חדשים. נכונות: - האלגוריתם פולינומי (כי Aכזה). - . # SAT 2 # SAT k A d # SAT 0 # SAT 0 SATדוחים. A 3 d 2 d # SAT 2 k 4 d # SAT 1 SATמקבלים. 35 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א עולם הבעיות הנוכחי משפט :Landerאם P N Pאז קיימות שפות Lשאינן ב P -ואינן ב. N P C - סיבוכיות זיכרון :סיבוכיות זיכרון של Mעל xזהו אינדקס התא הימני ביותר אליו Mמגיעה בריצתה על . x :PSPACEאוסף השפות Lשיש עבורן מ"ט בעלת סיבוכיות זיכרון פולינומית. טענה - P P S P A C E :סיבוכיות זמן הריצה של מכונה תמיד גדולה יותר מסיבוכיות הזיכרון שלה. הבדל עקרוני בין זמן ריצה לזיכרון :זיכרון אפשר למחזר ,זמן אי-אפשר. שאלות פתוחות: - האם ? P P SP A C E - האם ? N P P SP A C E . C o N P L | L N P :CO-NP דוגמא , SA T :אוסף כל פסוקי ה CNF-שאינם ספיקים. SA T C o N P . אבחנות: ( P C o N Pכי Pסגורה למשלים ולכן.) L P L P L NP : Co-NPשלמות :שפה Lשנמצאת ב N P -המקיימת :לכל . L p L , L C o N P סימון.Co-NPC : מסקנה. SA T C o N P C : טענה. C o N P P S P A C E : שאלות פתוחות: - האם ? P C o N P - האם ? N P C o N P , E X P L | L D T IM E 2 n , for a constat c :EXPאוסף השפות הניתנות לזיהוי ע"י מ"ט c בעלת זיכרון אקספוננציאלי באורך הקלט. שאלות פתוחות: - האם ? E X P P SP A C E - האם ? EXP N P P N P P SP A C E E X P R כן ידועP EXP : טענה :קיימת שפה Lכך ש. L R \ P - הוכחה: נבנה Lכזו ע"י תיאור של מ"ט Uכך ש L L U -היא כמובטח. Uעל קלט : x - מפרשת את xכ- . x 1k 0 M 36 ©ענת עציון תורת החישוביות ( – )323232אביב תשע"א - מסמלצת את Mעל xלמשך 2 kצעדים. - אם Mעצרה במהלך הסימולציה U ,מקבלת/וחה ההפך ממנה. - אם Mלא עצרה במהלך הסימולציה U -עוצרת ודוחה. מתקיים( L R :מהבנייה Uעוצרת תמיד). : L Pנניח בשלילה שקיימת מ"ט Mהרצה זמן p | x | עבור השפה . L נבחר kמספיק גדול כך שמתקיים( 2 k p k 1 | M | :קיים כזה כי הפונקציה באגף שמאל אקספוננציאלית ובאגף ימין פולינומיאלית ב k -ו | M | 1 -הוא מספר קבוע). נתבונן בריצת Uעל הקלט: . 1 0 Mעל-פי האופן שבו בחרנו את , kבהכרח הסימולציה של M k על xתסתיים בתוך פחות מ 2 k -צעדים( .מספר הצעדים הדרושים ל M -עד לעצירה: .) p | x | p k 1 | M | 2 kולכן Uו M -יחזירו תשובות הפוכות על xובפרט: , L U L M סתירה .ולכן לא קיימת מ"ט פולינומית המקבלת את Lומתקיים. P R : מסקנה :1-קיימת שפה ( L E X P \ Pהשפה מהבנייה הקודמת). k מסקנה :2-קיימת שפה ( L R \ E X Pאותה הבנייה בדיוק רק עבור 2 2צעדים). שפות PSPACEשלמות: PSPACEשלמות :שפה אי PSPACEשלמה אם"ם היא מקיימת: . L PSPAC E .1 .3לכל . L p L , L P S P A C E מסקנה :עבור Lשהיא -PSPACEשלמה: . P PSPAC E L P . N P PSPAC E L N P דוגמאות: , x n is C N F , is T R U E , x n is C N F , is T R U E , x n is C N F , is T R U E x n x1 , x 2 , x n x1 , x 2 , Q n x n x1 , x 2 , SA T | x1 x 2 SA T | x1 x 2 T Q B F | Q 1 x1Q 2 x 2 כאשר. Q i , : משפט סביץ'. PSPAC E N PSPAC E : 37 ©ענת עציון