בעיות נוספות ב-NPC

Download Report

Transcript בעיות נוספות ב-NPC

‫בעיות נוספות ב‪NPC-‬‬
‫התאמה של תת‪-‬גרף‬
‫‪Subgraph Isomorphism‬‬
‫• גרף "גדול" ‪ G‬וגרף "קטן" ‪H‬‬
‫• בעיית הכרעה‪:‬‬
‫האם קיים תת גרף של ‪ G‬איזומורפי ל‪?H-‬‬
‫‪G‬‬
‫‪H‬‬
‫התאמה של תת‪-‬גרף‬
‫‪Subgraph Isomorphism‬‬
‫• גרף "גדול" ‪ G‬וגרף "קטן" ‪H‬‬
‫• בעיית הכרעה‪:‬‬
‫האם קיים תת גרף של ‪ G‬איזומורפי ל‪?H-‬‬
‫‪G‬‬
‫‪H‬‬
‫התאמה של תת‪-‬גרף‬
‫‪Subgraph Isomorphism‬‬
‫• שימושים‪:‬‬
‫– "כימואינפורמטיקה" – השוואה של מולקלות‬
‫– ספירת מופעים של תת‪-‬גרפים (‪)motif detection‬‬
‫• ביואינפורמטיקה‬
‫• ניתוח סטטיסטי של רשתות תקשורת‬
‫‪G‬‬
‫‪H‬‬
‫גרף‬-‫התאמה של תת‬
Subgraph Isomorphism
?NP-‫• שייכות ל‬
H
G
‫התאמה של תת‪-‬גרף‬
‫‪Subgraph Isomorphism‬‬
‫• שייכות ל‪:NP-‬‬
‫"ננחש" (לא דטרמיניסטי) תת קבוצה של ‪VG‬‬
‫ונתאים ל‪VH-‬‬
‫‪H‬‬
‫‪G‬‬
‫‪4‬‬
‫‪2‬‬
‫‪1‬‬
‫‪3‬‬
‫‪1‬‬
‫‪3‬‬
‫‪2‬‬
‫‪4‬‬
‫גרף‬-‫התאמה של תת‬
Subgraph Isomorphism
?‫קשה‬-NP •
H
G
‫התאמה של תת‪-‬גרף‬
‫‪Subgraph Isomorphism‬‬
‫• ‪-NP‬קשה‪:‬‬
‫• רדוקציה מבעיית הקליקה‪...‬‬
‫‪G‬‬
‫‪k=3‬‬
‫התאמה של תת‪-‬גרף‬
‫‪Subgraph Isomorphism‬‬
‫• רדוקציה מבעיית הקליקה‪:‬‬
‫• גרף ‪ G‬ושלם ‪ >- k‬גרף ‪ G‬וקליקה ‪ H‬בגודל ‪k‬‬
‫‪k=3‬‬
‫‪G‬‬
‫‪H‬‬
‫התאמה של תת‪-‬גרף‬
‫‪Subgraph Isomorphism‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫רדוקציה מבעיית הקליקה‪:‬‬
‫גרף ‪ G‬ושלם ‪ >- k‬גרף ‪ G‬וקליקה ‪ H‬בגודל ‪: k‬‬
‫סיבוכיות‪ :‬זמן פולינומי‬
‫שלמות‪ :‬אם יש ב‪ G-‬קליקה בגודל ‪ k‬אז ‪ H‬תת‪-‬‬
‫גרף של ‪G‬‬
‫נאותות‪ :‬אם ‪ H‬תת‪-‬גרף של ‪ G‬אז יש ב‪ G-‬קליקה‬
‫בגודל ‪k‬‬
‫מסלול קצר ביותר עם זוגות אסורים‬
‫‪Shortest path with forbidden pairs‬‬
‫• נתונים‪:‬‬
‫‪G‬‬
‫– גרף ‪G‬‬
‫– מקור ‪s‬‬
‫‪t‬‬
‫– יעד ‪t‬‬
‫– רשימה של זוגות אסורים })‪{(u1,v1(,…)uk,vk‬‬
‫‪s‬‬
‫• מהו אורך המסלול הקצר ביותר?‬
‫מסלול קצר ביותר עם זוגות אסורים‬
‫‪Shortest path with forbidden pairs‬‬
‫• נתונים‪:‬‬
‫‪G‬‬
‫– גרף ‪G‬‬
‫– מקור ‪s‬‬
‫‪t‬‬
‫– יעד ‪t‬‬
‫– רשימה של זוגות אסורים })‪{(u1,v1(,…)uk,vk‬‬
‫‪s‬‬
‫• מהו אורך המסלול הקצר ביותר?‬
‫• בעיית הכרעה‪ :‬האם קיים מסלול באורך ‪?m‬‬
‫מסלול קצר ביותר עם זוגות אסורים‬
Shortest path with forbidden pairs
?NP-‫• שייכות ל‬
G
s
t
‫מסלול קצר ביותר עם זוגות אסורים‬
‫‪Shortest path with forbidden pairs‬‬
‫• שייכות ל‪:NP-‬‬
‫• "ננחש" (לא דטרמיניסטי) תת קבוצה של ‪VG‬‬
‫בגודל ‪ m‬ונבדוק האם היא מסלול חוקי מ‪ s-‬ל‪t-‬‬
‫• צריך לבדוק‪:‬‬
‫‪G‬‬
‫– קשתות בין צמתי המסלול‬
‫‪1‬‬
‫– זוגות אסורים‬
‫‪s‬‬
‫‪2‬‬
‫‪t‬‬
‫‪3‬‬
‫מסלול קצר ביותר עם זוגות אסורים‬
Shortest path with forbidden pairs
?‫קשה‬-NP •
G
s
t
‫מסלול קצר ביותר עם זוגות אסורים‬
‫‪Shortest path with forbidden pairs‬‬
‫• ‪-NP‬קשה‪:‬‬
‫• רדוקציה מ‪...CNF-‬‬
‫מסלול קצר ביותר עם זוגות אסורים‬
‫‪Shortest path with forbidden pairs‬‬
‫• ‪-NP‬קשה ‪ -‬רדוקציה מ‪:CNF-‬‬
‫• לכל פסוקית נתאים מעוין‪:‬‬
‫‪c1‬‬
‫‪y71‬‬
‫‪z4 1‬‬
‫‪y11‬‬
‫מסלול קצר ביותר עם זוגות אסורים‬
‫‪Shortest path with forbidden pairs‬‬
‫• ‪-NP‬קשה ‪ -‬רדוקציה מ‪:CNF-‬‬
‫• לכל פסוקית נתאים מעוין‬
‫• נשרשר את כל המעוינים‪:‬‬
‫‪c1‬‬
‫‪s‬‬
‫‪y71‬‬
‫‪z41‬‬
‫‪y11‬‬
‫‪cr‬‬
‫‪y7r‬‬
‫‪y4r‬‬
‫‪t‬‬
‫‪z2r‬‬
‫מסלול קצר ביותר עם זוגות אסורים‬
‫‪Shortest path with forbidden pairs‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪-NP‬קשה ‪ -‬רדוקציה מ‪:CNF-‬‬
‫לכל פסוקית נתאים מעוין‬
‫נשרשר את כל המעוינים‬
‫נוסיף רשימת זוגות אסורים‪:‬‬
‫})‪{(yij,zik‬‬
‫‪c1‬‬
‫‪s‬‬
‫‪y71‬‬
‫‪z41‬‬
‫‪y11‬‬
‫‪cr‬‬
‫‪y7r‬‬
‫‪y4r‬‬
‫‪t‬‬
‫‪z2r‬‬
‫מסלול קצר ביותר עם זוגות אסורים‬
‫‪Shortest path with forbidden pairs‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪-NP‬קשה ‪ -‬רדוקציה מ‪:CNF-‬‬
‫לכל פסוקית נתאים מעוין‬
‫נשרשר את כל המעוינים‬
‫נוסיף רשימת זוגות אסורים‪:‬‬
‫})‪{(yij,zik‬‬
‫סיבוכיות – זמן פולינומי ()‪)O(n2‬‬
‫‪c1‬‬
‫‪s‬‬
‫‪cr‬‬
‫‪t‬‬
‫מסלול קצר ביותר עם זוגות אסורים‬
‫‪Shortest path with forbidden pairs‬‬
‫• ‪-NP‬קשה ‪ -‬רדוקציה מ‪:CNF-‬‬
‫• שלמות‪:‬‬
‫– לכל השמה מספקת מתאים מסלול‬
‫באורך ‪ 2r‬שבכל מעוין עובר דרך‬
‫משתנה שמספק את הפסוקית‬
‫המתאימה‬
‫– אם כמה משתנים מספקים אותה‬
‫פסוקית‪ ,‬המסלול נבחר באופן‬
‫שרירותי‬
‫– ההשמה חוקית (ללא סתירות) ולכן‬
‫מובטח קיום של תנאי הזוגות‬
‫‪c1‬‬
‫‪s‬‬
‫‪y71‬‬
‫‪z4 1‬‬
‫‪y11‬‬
‫‪cr‬‬
‫‪y7r‬‬
‫‪y4r‬‬
‫‪t‬‬
‫‪z2r‬‬
‫מסלול קצר ביותר עם זוגות אסורים‬
‫‪Shortest path with forbidden pairs‬‬
‫• ‪-NP‬קשה ‪ -‬רדוקציה מ‪:CNF-‬‬
‫• נאותות‪:‬‬
‫– לכל מסלול באורך ‪ 2r‬מתאימה‬
‫ההשמה שמספקת את המשתנים‬
‫דרכם עובר המסלול‬
‫– אם ‪ yi‬וגם ‪ zi‬לא מופיעים במסלול‬
‫ניתן לבחור השמה שרירותית ל‪xi-‬‬
‫– מתנאי רשימת הזוגות נובע שאין‬
‫סתירות‬
‫‪c1‬‬
‫‪s‬‬
‫‪y71‬‬
‫‪z4 1‬‬
‫‪y11‬‬
‫‪cr‬‬
‫‪y7r‬‬
‫‪y4r‬‬
‫‪t‬‬
‫‪z2r‬‬