200 likes | 271 Views
מטריצת קשירויות : e5 e4 e3 e2 e1 v1 0 1 0 0 1 v2 1 0 0 1 0 v3 1 0 1 0 0 v4 0 1 0 0 0 v5 0 0 1 1 1 בניית קלט ל- Sub-Sum : X = {x 1 ,x 2 ,…,x |v| } X i =.
E N D
מטריצת קשירויות: e5 e4 e3 e2 e1 v1 0 1 0 0 1 v2 1 0 0 1 0 v3 1 0 1 0 0 v4 0 1 0 0 0 v5 0 0 1 1 1 בניית קלט ל- Sub-Sum : X = {x1,x2,…,x|v|} Xi =
כלומר xi הוא מס' בין |E|+1 ספרות הנוצר מכתיבת 1 משמאל לשורה מס' i במטריצת הקשירויות. Y = {y1,…,y|E|} yi = נגדיר S = XY t = ( t הוא מספר שמורכב מהספרה 2 וספרתו הראשונה היא k-מס' הצמתים שנדרש לכיסוי).
בדוגמה שלנו: 101001 x1 1 y1 110010 x2 10 y2 110100 x3 100 y3 101000 x4 1000 y4 100111 x5 10000 y5 t = 322,222
תהיv’ v כיסוי צמתים של G עם |V| = k. V’ = {vi1,vi2,…,vik} S’ = {xi1,xi2,…,xik}{yi| {ל- ejיש קצה יחיד ב v’ בדוגמה שלנו: S’ = {x2,x4,x5} {y1,y3,y4,y5} טענה: הסכום של אברי s’ ייתן לנו את t. הוכחה: k אברי s’ הם בעלי הספרה 1 בספרה המשמעותית ביותר במספר t.
נשאר להראות כי שאר הספרות הם 2: מאחר ולכל קשת יש 2 קצוות ז"א 1+1=2 ובנוסף ה-y שיתווסף, מקסימום יהיה 3, אולם yi מתווסף רק כאשר יש קצה יחיד ב- ej לכן הוא מתווסף רק ל-1 אין מצב ובו לא יהיה לפחות קצה יחיד מאחר ו- xi מותאם ל- vi של הכיסוי. ולכן: יש כיסוי בגודל k ל- G יש s’s כך ש-
לכן: Vc Np-hard Sub-sumNp-hard ומכאן Npcsub_sum
יהי G=(V,E) גרף מכוון. מעגל המילטון ב- G הוא מסלול מעגלי ב-G העובר בכל צומת פעם אחת. בעיית HC: בהינתן G כנ"ל האם יש בו מעגל המילטון? פתרון נאיבי: בהינתן כל התמורות המעגליות של V האם הן מתאימות למסלול ב-G. סיבוכיות: O((|V|-1)!*|V|*|E|) (|v|-1)!תמורות מעגליות של הצמתים
|V| -מעבר על הצמתים כבדיקה שחוזרים רק פעם אחת. | E|- מעבר על הקשתות. טענה: HC NPC הוכחה: א) HC Np בהינתן תמורה מעגלית, ניתן לעבור על הצמתים לפי הסדר ולבדוק שזה מעגל המילטון. סיבוכיות: O(|V|*|E|)
ב) HC Np-Hard (ע"י רדוקציה מ-3-sat-cnf ). בעיית TSP (הסוכן הנוסע) נתונה קבוצה של n ישובים בין כל שניים יש דרך(לאו דווקא דו-סטרית) בעלות מסוימת. בהינתן סכום k, האם קיים מסלול מעגלי העובר בכל ישוב פעם אחת בעלות לא גדולה מ-k? פתרון נאיבי: מעבר על כל התמורות המעגליות של n הישובים ובדיקת העלות.
סיבוכיות: O((n-1)!*n) טענה: TSP NPC הוכחה: א) TSP NP בהינתן תמורה של n הישובים, יש לעבור ולבדוק את עלות המסלול המתאים. סיבוכיות: O(n) ב) TSP NP-hard TSP HC <p (רדוקציה מ-HC)
קלט ל-HC: גרף מכוון G. G=(V,E) בניית קלט ל-TSP: גרף שלם G’=(V,E’) (אותם הקדקודים כמו ב-HC). E’= {(i,j)|i,j V} נגדיר את פונקצית העלות C: אם (i,j) E 0 C(i,j)= אם(i,j) E 1 ה-k=0 . הגרף G מכיל מעגל המילטוני אם ורק אם הגרףG’ מכיל נתיב שעלותו לכל היותר 0.
נניח שהגרף G מכיל מעגל המילטוני h. כל קשת ב-h שייכת ל-E ולכן עלותה ב-G’ היא 0. לכן h הוא הנתיב ב-G’ שעלותו 0. נניח שהגרף G’ מכיל נתיב h’ שעלותו לכל היותר 0. מכיוון שעלותיהןשל הקשתות ב-E’ הן 0 או 1, עלותו של הנתיב h’ הוא בדיוק 0, לכן h’ מכיל אך ורק קשתות השייכות ל-E. המסקנה היא ש-h הוא מעגל המילטוני ב-G.
בעיות החלטה/אופטימיזציה: [בעיות NPC היו בעיות החלטה שהתשובה עליהם כן/לא, זה מגביל את ההסתכלות על הבעיות. נרצה לדעת באיזה תנאים ניתן לפתור את הבעיה. לדוגמה: האם נוכל להעביר משקל מסוים על גשר מבלי שהוא יתמוטט? לעומת: מהו טווח המשקלים שיוכלו לעבור על הגשר (שזה כללי יותר ופותר את בעיית ההחלטה)?. אופטימיזציה: מהו המשקל הכבד ביותר שיוכל לעבור על גשר מבלי שיתמוטט?
בעיית החלטה- האם משימה מסוימת ניתנת לביצוע בתנאים מסוימים? בעיה כללית- באילו תנאים ניתנת לביצוע פעולה מסוימת? בעיית אופטימיזציה- מהם התנאים "הטובים ביותר" בהם ניתן לבצע משימה מסוימת? ** אם נדע לענות בעיית אופטימיזציה או בעיה כללית נוכל לענות על שתי האחרות.
CLIQUE: החלטה- בהינתן גף G ומספר K האם יש ב-G קליק בגודל K? כללית- בהינתן גרף G מהו טווח ערכי K כך שקיים ב-G קליק בגודל K?. אופטימיזציה- בהינתן גרף G מהו ערך K הגדול ביותר כך שישב-G קליק גדול ביותר?.
VC: החלטה- בהינתן גרף G ומספר K, האם יש ב-G כיסוי צמתים בגודל K?. כללית-בהינתן גרף G, מהו טווח ערכי K כך שקיים ב-G כיסוי צמתים בגודל K?. אופטימיזציה- בהינתן גרף G, מהו ערך K הקטן ביותר כך שיש ב-G כיסוי צמתים בגודל K?.
TSP: החלטה- בהינתן מפת מרחקי ישובים ומס' K, האם יש מסלול TSP בעלות לא גדולה מ-K?. כללית- בהינתן מפת מרחקי ישובים, מהו טווח ערכי K כך שיש מסלול TSP בעלות < K?. אופטימיזציה- בהינתן מפת ישובים, מהו ה-K המינימלי כך שיש מסלול TSP בעלות <K?.
Sub-Sum: החלטה- בהינתן SN ומס' t N האם קיימת S’ S כך ש- כללית- בהינתןS N מהי קבוצת ערכי t כך שקיימת S’ S כך ש- אופטימיזציה- לא קיים.
Sat-Cnf: החלטה-בהינתן נוסחה לוגית במבנה CNF האם היא ניתנת לסיפוק? כללית- בהינתן נוסחה לוגית במבנה CNF מהי קבוצת ההצבות המספקת אותה?. אופטימיזציה- לא קיים.
HC: החלטה- בהינתן גרף G האם יש בו מעגל המילטון?. כללית- בהינתן גרף G, מהי קבוצת המסלולים כך שכל tT הוא מעגל המילטון?. אופטימיזציה- לא קיים.