שאלת מבחן באלגוריתמים - האוניברסיטה הפתוחה - ספיקות
רקע. נוסחת -CNF היא , כשכל פסוקית היא וכל הוא ליטרל מבין . השמה מתאימה לכל משתנה ערך /; היא מספקת את אם כל פסוקית מסופקת (לפחות ליטרל אחד בה אמת). הנוסחה ספיקה אם קיימת השמה מספקת.
הציגו אלגוריתם יעיל שבהינתן נוסחה בצורת 2-CNF מוצא לה השמה מספקת, ואם אין כזו — מדווח שהנוסחה אינה ספיקה. הדרכה: היעזרו בגרף מכוון המותאם לנוסחה .
הציגו אלגוריתם יעיל שבהינתן נוסחה בצורת 2-CNF מוצא לה השמה מספקת, ואם אין כזו — מדווח שהנוסחה אינה ספיקה. הדרכה: היעזרו בגרף מכוון המותאם לנוסחה .
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
האוניברסיטה הפתוחהממ"ן 11
★★★★★
ספיקותגרפיםרדוקציההוכחת נכונות
כל פסוקית שקולה לשתי גרירות: ו-. בנו גרף גרירה, חשבו רכיבי קשירות חזקה, ובדקו האם קיים משתנה שעבורו ו- באותו רכיב.
נפתור באמצעות גרף הגרירה (implication graph) ורכיבי קשירות חזקה (SCC).
בניית גרף הגרירה . לכל משתנה ניצור שני קדקודים, ו- (סה"כ קדקודים). כל פסוקית שקולה לשתי גרירות: וגם (אם ליטרל אחד שקרי — השני חייב להיות אמת). נוסיף לכל פסוקית את שתי הצלעות המכוונות המתאימות (פסוקית יחידה מטופלת כ-). מספר הצלעות .
מבחן ספיקות. נחשב את רכיבי הקשירות החזקה של (Tarjan/Kosaraju, ). הנוסחה ספיקה אם ורק אם לאף משתנה אין את ואת באותו רכיב קשירות חזקה. הנימוק: אם ו- באותו SCC אז וגם , כלומר שני הערכים מובילים לסתירה — אין השמה עקבית.
בניית השמה מספקת (במקרה הספיק): גרף הרכיבים המכווץ הוא DAG; נמצא לו מיון טופולוגי. לכל משתנה נציב:
ואחרת . השמה זו עקבית עם כל הגרירות (לעולם לא ), ולכן מספקת את .
דיווח על אי-ספיקות: אם קיים עם באותו SCC — דווח ש- אינה ספיקה.
זמן ריצה. בנייה , SCC , מיון טופולוגי ובניית השמה — סה"כ , ליניארי.
בניית גרף הגרירה . לכל משתנה ניצור שני קדקודים, ו- (סה"כ קדקודים). כל פסוקית שקולה לשתי גרירות: וגם (אם ליטרל אחד שקרי — השני חייב להיות אמת). נוסיף לכל פסוקית את שתי הצלעות המכוונות המתאימות (פסוקית יחידה מטופלת כ-). מספר הצלעות .
מבחן ספיקות. נחשב את רכיבי הקשירות החזקה של (Tarjan/Kosaraju, ). הנוסחה ספיקה אם ורק אם לאף משתנה אין את ואת באותו רכיב קשירות חזקה. הנימוק: אם ו- באותו SCC אז וגם , כלומר שני הערכים מובילים לסתירה — אין השמה עקבית.
בניית השמה מספקת (במקרה הספיק): גרף הרכיבים המכווץ הוא DAG; נמצא לו מיון טופולוגי. לכל משתנה נציב:
ואחרת . השמה זו עקבית עם כל הגרירות (לעולם לא ), ולכן מספקת את .
דיווח על אי-ספיקות: אם קיים עם באותו SCC — דווח ש- אינה ספיקה.
זמן ריצה. בנייה , SCC , מיון טופולוגי ובניית השמה — סה"כ , ליניארי.