enter to jess مدخل الى قواقع جيس
TRANSCRIPT
النظريات - و الحقائق نصدق لا نحن كقاعدةنستخدمها لا التي
جيمس ويليامانجاز - نحاول عندما قواعد وجود عدم هو الجحيم
ما شيءاديسون توماس
الحقائق ال تزول من الوجود لمجرد تجاهلها -ألدوس هكسلي
كل مشكلة احلها تصبح قاعدة لحل -مشاكل اخرى
رينيه ديكارت -
؟ الخبيرة النظم هي ما ؟ القواعد على القائمة النظم هي ما ـ لغة الى القوة ) ( JESS , JESS APIمقدمة نقاط لغةJESS
هي فرع من فروع الذكاء االصطناعي تحاكي منطقاإلنسان في بعض المجاالت .
سبب استعمالها : سهولتها في الكشف عن مجرياتاألمور و ايجاد الحلول المناسبة لها .
العصبية الشبكات بايز شبكات و االعتقاد نظمBlackboard المنطق الى المستندة القواعد على المستندة
كحقائق توضع المشكلة / Factsمعطيات تستخدمif…… then بالسلسلة او االمامية بالسلسلة الحل يتم ان يمكن
العكسية
مفهوم و ضيق المشكلة مجال : قواعد و حقائق المعرفة تمثيل توصية عن عبارة الخرج : القاعدة اطالق تتبع التفسير : و ال العموم على التعلم على القدرة
ببعض اللعب للمستخدم يمكن لكنلكن التلعلم لعملية االلتفاف و القضايا
شاقة و صعبة العملية هذه العموم على
نماذج 1. باستخدام تقارن القواعد و الحقائقالتطابق .
الصراع 2. من حالة في يدخلها القواعد تطابقاالطالق عملية على
القواعد 3. مجموعة الى القواعد هذه ادخال يتماالعمال جدول في المتنازعة
االعمال 4. جدول في القاعدة اطالق .يتم
جميعها 5. اطالقها يتم حتى للقواعد اطالق يتم
التسعينات اواخر في سانديا مخابر في تطويرها تم: بواسطة .Dr. Ernest J. Friedman-Hillصنعت لغة من CLIPS. oمستوحاة تطورا اكثر هيي لذلك
.... o الحقا سنرى كما منها اجل من تطبيقات لتطوير جافا من متكاملة واجهه
القواعد على القائمة الخبيرة النظم انشاء
Rule Base (knowledge base) المعرفة قاعدةWorking Memory (fact base) العمل ذاكرةInference Engine (rule engine) محرك
االستدالل
النماذج مطابقالجدولة التنفيذ محرك
. الموافقة القواعد مع الحقائق مطابقة اطالقها سيتم التي القاعدة اختيار تم التي القاعدة تحقيق عن الناتج الفعل تنفيذ
اطالقها
مع الحالية الحقائق بمطابقة اللغة تقومالمعرفة قاعد في الحقائق مجموعة
التي الدوال استدعاءات على تحتوي القواعداستدعاء يمكن كما الحقائق قاعدة تعالج
البرمجية المتقدم Javaالتعليمات المستوى في .
شبكات بناء يمكن Rete networkكما
التقليدية ,BASIC, C, FORTRAN)البرمجةPascal, etc.).
منطقها يحكم المبرمج النتائج حتمية و تسلسلية
– قواعد جديد برمجة نموذج المنطق اساس على بالبرنامج يتحكم ال المبرمج
التقليدي التقليدية االكواد التنفيذ من كفاءة اكثر القاعدة محرك بسيطة بقواعد التقليدية البرمجة صعوبة … ifيستبدل
then .. else
من CLIPSمستوحاة قائمة عن عبارة البيانات هيكلة جافا و سكريبت جافا استخدام APIيمكن في دمجها المتطورة البرمجة في JAVABEAN((يمكن
فهي االستخدام العادة قابلة برمجية مكونات تعتبر التيلكائن المتعددة المكونات تغلف التي الطبقات تمثل
واحد((
(printoutt “Hello PJUG-ers!” crlf ) (printout t “Hello PJUG-ers!” crlf)
التقليد المتبع في بداية أي لغة
(a b c ) ; رموز قائمة(1 2 3 ) ; اعداد قائمة +(2 3 ) ; رياضية عمليات“(Hello world )”! ;محارف (foo ?x ?y ) ; توابع استدعاء
نقدم بعضها
مثال : جمع رقمين
(bind ?x 2) ; (bind ?y 3) ; (bind ?result (+ ?x ?y))(printout t ?result)
foreachif/then/elsewhile
applybuildevalprogn
Common Jess-specific
(deffunction get-input()“Get user input from console.”(bind ?s (read))(return ?s))
.o التوابع عبارة عن قوائم ايضا
(deffunction area-sphere (?radius)
“Calculate the area of a sphere”
(bind ?area (* (* (pi) 2)(* ?radius ?radius)))
(return ?area))
(printout t "The surface area of a radius = 2 meter sphere is " +
(area-sphere 2) + " m^2")
Ordered – head only. اسنادات بدون ترويسةOrdered – single slot. مسندة قيمة لها يكون
جزئين تكون الحقيقة االغلب علىUnordered – multiple slot, like a
database record. بنماذج شبيهة البيانات متعددةالبيانات قواعد
Shadow –JavaBean . في تستخدم الظلاالداء تقييم و االخطاء كشف
: تاخذ الشكل التالي
(deftemplate pattern “A design pattern.”(slot name)(slot type (default “creation”))(slot intent)(slot solution))
;;Asserting a new “pattern” fact.
(printout t “Enter pattern name:” crlf)(bind ?x getInput)
(assert pattern (name ?x))
;;head facts(assert(answer-is-valid))
;;A ordered fact of one slot(assert(weightfactor 0.75))
defclass – creates a deftemplate from a bean.
definstance – adds bean to working memory.
تستخد في المراحل المتقدمة من الجافا معJavaBean.
(defrule report-error(error-is-present)
=>(printout t “Brain !” crlf))
نشرح من خالل مثال
استخدام مقبض الخطأ(defrule report-err?err <- (is-error (msg ?msg))=>(printout t "Error was: " ?msg crlf)(retract ?err))
Using pattern bindings in rules.