كليبس (أداة برمجة)

كليبس هي أداة برمجة عامة المجال تستخدم لبناء النظم الخبيرة. هذا الاسم اختصار ل"C Language Integrated Production System" (نظام الإنتاج المدمج للغة ال C). الاسم وتركيب الجمل مستوحى من OPS5 من قبل تشارلز فورغي. تم تصميم الإصدارات الأولى من كليبس انطلاقا من عام 1985 في ناسا- مركز لندون بي جونسون للفضاء (كبديل للنظام الموجود سابقا ART*Inference) حتى منتصف التسعينيات عندما توقف تركيز المسؤوليات لمجموعة التطوير على تقنية النظام الخبير. الاسم الأصلي للمشروع كان لغة ناسا للذكاء الاصطناعي (NAIL).

ربما يكون كليبس هو أداة النظام الخبير الأكثر استخداما.[4] كليبس بحد ذاتها مكتوبة بلغة الC، يمكن كتابة الامتدادات بالC، ويمكن الوصول لكليبس من الC. تركيب الجمل الخاصة بها يشبه لغة برمجة ليسب.[5] يدمج كليبس لغة كاملة للكائنات الموجة لكتابة النظم الخبيرة. يجمع COOL بين إجراءات نماذج البرمجة، والكائنات الموجة، اللغات المنطقية (إثبات النظرية).[6]

الحقائق والقواعد

[عدل]

يستخدم كليبس التسلسل الامامي.[5][7] مثل لغات النظام الخبير الأخرى، يتعامل كليبس مع قواعد وحقائق. يمكن للحقائق المختلفة أن تجعل قاعدة قابلة للتطبيق. ثم يتم تفعيل القاعدة القابلة للتطبيق.[7] تنشئ الحقائق والقواعد من خلال تعريفها أولاً، كما هو مبين أدناه:

(deftemplate car_problem
     (slot name)
     (slot status))

 (deffacts trouble_shooting
     (car_problem (name ignition_key) (status on))
     (car_problem (name engine) (status wont_start))
     (car_problem (name headlights) (status work)))

 (defrule rule1
     (car_problem (name ignition_key) (status on))
     (car_problem (name engine) (status wont_start))
      =>
     (assert (car_problem (name starter) (status faulty))))

بعد إعداد هذا، يجعل أمر (reset) كليبس يقوم بقراءة الحقائق والقواعد. في هذه الحالة، سيؤدي إلى ثلاثة "trouble_shooting" وتأكيد الحقائق. من ثم يستخدم امر (run). بالنظر إلى انه تم تأكيد حقيقتان مسجلتان في rule1، تم تحقيق شروط القيام بعملها لذا تم تأكيد اخر حقيقة كنتيجة للتشغيل.

CLIPS> (reset)
CLIPS> (agenda)
0 rule1: f-1,f-2
For a total of 1 activation.
CLIPS> (facts)
f-0 (initial-fact)
f-1 (car_problem (name ignition_key) (status on))
f-2 (car_problem (name engine) (status wont_start))
f-3 (car_problem (name headlights) (status work))
For a total of 4 facts.
CLIPS> (run)
CLIPS> (facts)
f-0 (initial-fact)
f-1 (car_problem (name ignition_key) (status on))
f-2 (car_problem (name engine) (status wont_start))
f-3 (car_problem (name headlights) (status work))
f-4 (car_problem (name starter) (status faulty))
For a total of 5 facts.
CLIPS>
(assert <fact>+)
 (Assert (object (name "chair")
(Material wood)
(height 3feet)
(Color brown))
CLIPS(retract <fact-index+)
(retract 0)
for a color

في كليبس، يسمح البروز للمستخدم بتعيين الأولوية (أو الوزن) للقاعدة.

الأحفاد

[عدل]

يتضمن أحفاد لغة كليبس، جييس (الجزء المستند إلى القواعد من كليبس معاد كتابته في الجافا، نشأ لاحقًا في اتجاه مختلف)،[8] وFuzzyCLIPS (الذي يضيف مفهوم الصلة إلى اللغة).

المراجع

[عدل]
  1. ^ ا ب مذكور في: CLIPS User’s Guide. المُؤَلِّف: Joseph C. Giarratano. لغة العمل أو لغة الاسم: الإنجليزية. تاريخ النشر: 21 أبريل 2023.
  2. ^ ا ب ج د وصلة مرجع: http://www.clipsrules.net/.
  3. ^ ا ب "Download Latest Version clips_windows_projects_641.zip (1.6 MB)". 21 أبريل 2023. اطلع عليه بتاريخ 2023-08-24.
  4. ^ Di Stefano, Antonella; Gangemi, Francesc; Santoro, Corrado (2005). ERESYE: artificial intelligence in Erlang programs. Proceedings of the 2005 ACM SIGPLAN workshop on Erlang. Tallinn, Estonia: ACM. pp. 62–71. doi:10.1145/1088361.1088373. ISBN 1-59593-066-3.
  5. ^ ا ب Giarratano, Joseph C; Riley, Gary D (2005). Expert Systems: Principles and Programming. Boston: Thomson. ISBN 81-315-0167-1.
  6. ^ Riley, Gary (30 Nov 2017). CLIPS Reference Manual: Volume 1 - Basic Programming Guide (PDF). Retrieved 9 July 2019.
  7. ^ ا ب Sandeep, K; Rakesh, K (2011), "CLIPS based decision support system for water distribution networks", Drinking Water Engineering and Science, 4 (1): 37–50, doi:10.5194/dwes-4-37-2011
  8. ^ "Knowledge based system for Satellite data product selection - ProQuest". www.proquest.com. مؤرشف من الأصل في 2021-05-17. اطلع عليه بتاريخ 2021-10-10.