6.4.1. הבעיה והאלגוריתםבדיקת מודל מפורשת (Explicit model checking) היא אלגוריתם המבצע בדיקת מודל, העובד ישירות על הגרף - מבנה קריפקה. המודל M נתון באופן מפורש כייצוג של הגרף – וממומש לרוב כמטריצת סמיכויות או כרשימת בנים. האלגוריתם המפורש הוא קל להבנה, אך בעייתי למימוש עקב "בעיית התפוצצות המצבים": במערכת בה משתנים בוליאנים, יהיו מצבים אפשריים למערכת. מספר המצבים השונים גדל מהר מאוד כאשר המערכת גדלה, וכמות הזכרון לא מספיקה לייצוג מלא של המודל. כדי לפתור את בעיה זו נציג בהמשך 2 אלגוריתמים אחרים שהם אלגוריתמים סימבוליים – אנו נציג קידוד של המבנה M וגם של תוצאות הביניים המאפשר שימוש בפחות זכרון. האלגוריתם לבדיקת מודל CTL מטפל בנוסחאות מהצורה: כאשר f, g הן נוסחאות CTL. אם נרצה להתאים את האלגוריתם לאופרטורים נוספים – נצטרך לפתח עבורם אלגוריתמים, או לחילופין לתרגם את האופרטורים הנוספים לאופרטורים אלה. תיאור כללי של האלגוריתם: נצרף לכל מצב משתנה שיחזיק קבוצה של תתי נוסחאות של שנכונות ב-.
האלגוריתם עובד באיטרציות על תתי הקבוצות של מהנוסחאות האטומיות אל הנוסחאות המורכבות יותר, על כל תתי הקבוצות של . דוגמא לסדר הטיפול: עבור הנוסחה הבאה
בעמודים הבאים נציג מה הפירוש של "טיפול בתת נוסחה " שהוזכר בתיאור האלגוריתם. בכל איטרציה יהיה תת הנוסחה איתה אנו מתעסקים. האלגוריתם לסימון: צעד 0: נוסחאות אטומיות לכל , . סיבוכיות: צעד זה הוא היחיד שלא קשור לנוסחה בה אנו מטפלים כרגע. בתחילת ריצת האלגוריתם נסמן כל מצב בנוסחאות האטומיות המספקות אותו. צעד 1: סימון ב- לכל : סיבוכיות: סימון ב- לכל :
סיבוכיות: סימון ב- לכל מצב :
פירוש: קיימת קשת מצומת האב לצומת אחר, וגם מתקיים בצומת הבן. סיבוכיות האלגוריתם לסימון
ניסוח חלופי לאלגוריתם צעד-צעד להבהרת הפעולה:
האלגוריתם מסתמך על השקילות הבאה: סיבוכיות האלגוריתם: הערות על האלגוריתם:
דוגמא: שלב ראשון: מסומנים ב- : . שלב שני: האבות שלהם: אנחנו לא מסמנים את כי הוא אינו מסומן ב-. שלב שלישי: האבות של האבות: אנו לא מסמנים ולא מטפלים שוב במצבים שכבר סומנו (). ולבסוף: מתקבל בסוף: האלגוריתם לסימון הגדרות: רכיב קשיר היטב: (SCC) – Strongly Connected Component הינו תת גרף C, שבו מכל צומת יש מסלול לכל צומת ב-C, דרך צמתים ב-C.
דוגמא:
האלגוריתם של Tarjan מוצא את כל הרכיבים המקסימאליים בסיבוכיות (כולל רכיבים טריויאליים). נגדיר את המבנה המצומצם הבא: בהינתן נגדיר ע"י:
נסתמך על המשפט הבא: משפט:
המשפט מבטיח לנו שקיים מסלול אינסופי בו מסתפק (ולא רק רישא סופית שבה הוא מסתפק). האלגוריתם עצמו:
אין תגובות!
|
תוכן העניינים:
קישורים רלוונטיים:שיתוף: |