1 / 20

מטריצת קשירויות : e5 e4 e3 e2 e1 v1 0 1 0 0 1

מטריצת קשירויות : 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 =.

Download Presentation

מטריצת קשירויות : e5 e4 e3 e2 e1 v1 0 1 0 0 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. מטריצת קשירויות: 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 =

  2. כלומר xi הוא מס' בין |E|+1 ספרות הנוצר מכתיבת 1 משמאל לשורה מס' i במטריצת הקשירויות. Y = {y1,…,y|E|} yi = נגדיר S = XY t = ( t הוא מספר שמורכב מהספרה 2 וספרתו הראשונה היא k-מס' הצמתים שנדרש לכיסוי).

  3. בדוגמה שלנו: 101001 x1 1 y1 110010 x2 10 y2 110100 x3 100 y3  101000 x4 1000 y4  100111 x5 10000 y5  t = 322,222

  4. תהי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.

  5. נשאר להראות כי שאר הספרות הם 2: מאחר ולכל קשת יש 2 קצוות ז"א 1+1=2 ובנוסף ה-y שיתווסף, מקסימום יהיה 3, אולם yi מתווסף רק כאשר יש קצה יחיד ב- ej לכן הוא מתווסף רק ל-1 אין מצב ובו לא יהיה לפחות קצה יחיד מאחר ו- xi מותאם ל- vi של הכיסוי. ולכן: יש כיסוי בגודל k ל- G יש s’s כך ש-

  6. לכן: Vc  Np-hard Sub-sumNp-hard ומכאן  Npcsub_sum

  7. יהי G=(V,E) גרף מכוון. מעגל המילטון ב- G הוא מסלול מעגלי ב-G העובר בכל צומת פעם אחת. בעיית HC: בהינתן G כנ"ל האם יש בו מעגל המילטון? פתרון נאיבי: בהינתן כל התמורות המעגליות של V האם הן מתאימות למסלול ב-G. סיבוכיות: O((|V|-1)!*|V|*|E|) (|v|-1)!תמורות מעגליות של הצמתים

  8. |V| -מעבר על הצמתים כבדיקה שחוזרים רק פעם אחת. | E|- מעבר על הקשתות. טענה: HC  NPC הוכחה: א) HC  Np בהינתן תמורה מעגלית, ניתן לעבור על הצמתים לפי הסדר ולבדוק שזה מעגל המילטון. סיבוכיות: O(|V|*|E|)

  9. ב) HC  Np-Hard (ע"י רדוקציה מ-3-sat-cnf ). בעיית TSP (הסוכן הנוסע) נתונה קבוצה של n ישובים בין כל שניים יש דרך(לאו דווקא דו-סטרית) בעלות מסוימת. בהינתן סכום k, האם קיים מסלול מעגלי העובר בכל ישוב פעם אחת בעלות לא גדולה מ-k? פתרון נאיבי: מעבר על כל התמורות המעגליות של n הישובים ובדיקת העלות.

  10. סיבוכיות: O((n-1)!*n) טענה: TSP  NPC הוכחה: א) TSP  NP בהינתן תמורה של n הישובים, יש לעבור ולבדוק את עלות המסלול המתאים. סיבוכיות: O(n) ב) TSP  NP-hard TSP HC <p (רדוקציה מ-HC)

  11. קלט ל-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.

  12. נניח שהגרף G מכיל מעגל המילטוני h. כל קשת ב-h שייכת ל-E ולכן עלותה ב-G’ היא 0. לכן h הוא הנתיב ב-G’ שעלותו 0. נניח שהגרף G’ מכיל נתיב h’ שעלותו לכל היותר 0. מכיוון שעלותיהןשל הקשתות ב-E’ הן 0 או 1, עלותו של הנתיב h’ הוא בדיוק 0, לכן h’ מכיל אך ורק קשתות השייכות ל-E. המסקנה היא ש-h הוא מעגל המילטוני ב-G.

  13. בעיות החלטה/אופטימיזציה: [בעיות NPC היו בעיות החלטה שהתשובה עליהם כן/לא, זה מגביל את ההסתכלות על הבעיות. נרצה לדעת באיזה תנאים ניתן לפתור את הבעיה. לדוגמה: האם נוכל להעביר משקל מסוים על גשר מבלי שהוא יתמוטט? לעומת: מהו טווח המשקלים שיוכלו לעבור על הגשר (שזה כללי יותר ופותר את בעיית ההחלטה)?. אופטימיזציה: מהו המשקל הכבד ביותר שיוכל לעבור על גשר מבלי שיתמוטט?

  14. בעיית החלטה- האם משימה מסוימת ניתנת לביצוע בתנאים מסוימים? בעיה כללית- באילו תנאים ניתנת לביצוע פעולה מסוימת? בעיית אופטימיזציה- מהם התנאים "הטובים ביותר" בהם ניתן לבצע משימה מסוימת? ** אם נדע לענות בעיית אופטימיזציה או בעיה כללית נוכל לענות על שתי האחרות.

  15. CLIQUE: החלטה- בהינתן גף G ומספר K האם יש ב-G קליק בגודל K? כללית- בהינתן גרף G מהו טווח ערכי K כך שקיים ב-G קליק בגודל K?. אופטימיזציה- בהינתן גרף G מהו ערך K הגדול ביותר כך שישב-G קליק גדול ביותר?.

  16. VC: החלטה- בהינתן גרף G ומספר K, האם יש ב-G כיסוי צמתים בגודל K?. כללית-בהינתן גרף G, מהו טווח ערכי K כך שקיים ב-G כיסוי צמתים בגודל K?. אופטימיזציה- בהינתן גרף G, מהו ערך K הקטן ביותר כך שיש ב-G כיסוי צמתים בגודל K?.

  17. TSP: החלטה- בהינתן מפת מרחקי ישובים ומס' K, האם יש מסלול TSP בעלות לא גדולה מ-K?. כללית- בהינתן מפת מרחקי ישובים, מהו טווח ערכי K כך שיש מסלול TSP בעלות < K?. אופטימיזציה- בהינתן מפת ישובים, מהו ה-K המינימלי כך שיש מסלול TSP בעלות <K?.

  18. Sub-Sum: החלטה- בהינתן SN ומס' t  N האם קיימת S’  S כך ש- כללית- בהינתןS  N מהי קבוצת ערכי t כך שקיימת S’  S כך ש- אופטימיזציה- לא קיים.

  19. Sat-Cnf: החלטה-בהינתן נוסחה לוגית במבנה CNF האם היא ניתנת לסיפוק? כללית- בהינתן נוסחה לוגית במבנה CNF מהי קבוצת ההצבות המספקת אותה?. אופטימיזציה- לא קיים.

  20. HC: החלטה- בהינתן גרף G האם יש בו מעגל המילטון?. כללית- בהינתן גרף G, מהי קבוצת המסלולים כך שכל tT הוא מעגל המילטון?. אופטימיזציה- לא קיים.

More Related