מנוע חוקים

מתוך ויקיפדיה, האנציקלופדיה החופשית

מנוע חוקים או מערכת מונעת חוקים (Rule Engine) היא כלי תוכנה באמצעותו ניתן לכתוב מערכת מומחה.

במערכת המומחה שלושה מרכיבים עיקריים:

  • חוקים לוגיים
  • זיכרון עבודה המכיל עובדות
  • מנוע הסקה (Induction Engine)

תוכנת מנוע החוקים תומכת ביצירת החוקים, העובדות והפעלת מנוע ההסקה, ומהווה לפיכך סביבת פיתוח עבור פיתוחה של מערכות מומחה. מערכת המומחה מיישמת את אוסף החוקים הלוגיים שהוגדרו לאוסף העובדות, כך שבמהלך היישום יכולות להיווצר עובדות חדשות. במרבית המערכות לא נוצרים חוקים חדשים.

חוק לוגי בנוי מחלק של התניה (if) וחלק של ביצוע (then). כאשר קיימת עובדה מסוימת התואמת להתניה של חוק הלוגי, החוק עובר למצב הפעלה (activation). במידה שקיימות מספר עובדות המתאימות לחוק, תבוצענה הפעלות של החוק עד אשר כל העובדות "יטופלו".

מנוע ההסקה מבצע את חלק הביצוע של החוק שהופעל. כאשר חוק שהופעל מבוצע, הביצוע מוגדר כ"יריה" (fire). המנוע יפעל ויבצע את החוקים כל עוד קיימים ברשימה (Agenda) חוקים שעברו הפעלה. תוך כדי הביצוע, ייתכן שיתווספו, ימחקו או ישתנו עובדות. תוספות ושינויים אלו יכולים לגרום להפעלות נוספות של חוקים או לביטולן של הפעלות קיימות. לפיכך, ייתכנו מצבי סתירה (Conflict resolution) שפתרונם מוגדר על פי מדיניות (הניתנת לבחירה מראש).

דוגמאות למנועי חוקים[עריכת קוד מקור | עריכה]