6.7.4.1. תרגיל 1בשאלה זו נדון באלגוריתם Bounded Model Checking (BMC) לבדיקת . סעיף א' נתון מבנה קריפקה שמיוצג ע"י נוסחאות CNF. בעת חישוב הנוסחה עבור רלציית המעברים קרתה "תקלה" וחלק מהפסוקיות בנוסחת ה- CNF הושמטו. נסמן את הנוסחה שהתקבלה ב- . נריץ בדיקת ספיקות של נוסחה שהיא נוסחת BMC עבור , ו- תוך שימוש ב- במקום . האלגוריתם מחזיר "sat" (כלומר – הנוסחה סופקה). האם ? פתרון סעיף א': לא בהכרח - אם מורידים פסוקיות מנוסחה שמייצגת קשת בגרף, עלולים ליצור קשתות נוספות ובכך לאפשר מסלולים שלא היו קיימים וכך למצוא מסלול שסותר את . הדגש החשוב (והמבלבל בתחילה) בדרך להבנה: מחיקת פסוקיות יוצרת מסלולים חדשים המקיימים את הנוסחה. נסו למחוק בדוגמת ה-shift register את אחת הפסוקיות כדי להבין זאת. סעיף ב' האלגוריתם מחזיר "unsat". האם בהכרח ? פתרון סעיף ב': מתקיים - הוספנו עוד מסלולים לגרף. אם לא הצלחנו לספק את הנוסחה עם מסלולים נוספים, אין סיכוי שנצליח לספק אותה עם פחות מסלולים. לכן בכל המסלולים יתקיים . סעיף ג' הפעם בעת חישוב הנוסחה עבור נוספו פסוקיות CNF.
נוסחת ה- BMC שהתקבלה מסומנת אם מתקיים כי האלגוריתם מחזיר "sat", האם ? ואם מתקיים כי האלגוריתם מחזיר "unsat", האם ? פתרון סעיף ג': כעת התשובה הפוכה. הוספת פסוקיות CNF מקטינה את רלצית המעברים ולכן מקטינה את הסיכוי למצוא מסלול הסותר את הנוסחה .
אין תגובות!
|
תוכן העניינים:
קישורים רלוונטיים:שיתוף: |