[ملحوظة]
هذا الموضوع يفيد المبرمجين أو مصممى النظم البرمجية الذكية أو الخبيرة وهى أحد صور الذكاء الصناعى .
[/ملحوظة]
النظم الخبيرة Expert Systems :
============================
بدلا من أن تزور طبيبا أو تستشير محاميا أو تدفع لمبرمجا فإنك يمكن أن تقتنى أحد برامج النظم الخبيرة والتى يمكنها ان تحل محل أحد المتخصصين.
والأنظمة الخبيرة ظهرت لتحل محل تلك البرامج التى ثبت بالواقع عدم فاعليتها عند تطبيقها فى مجالات محددة بعد أن صممت لتكون عامة وكلية.
فقد صممت النظم الخبيرة لتستخدم فى المسائل التى تتطلب وضع افتراضات تفسر تفسيرا جيدا مجموعة الظواهر التى يتم رصدها فيما يعرف بطرق الأستدلال الإستقرائية والتجريبية.
حيث أدرك العلماء أن البحث فى أليات عمليات الإستدلال فى مجالات معينة قد أدى لتقدم عظيم فسارعوا بحماس إلى العمل لبناء أدوات عامة General Tools لتمثيل المعرفة فى مجالات مختلفة ولذلك أعتبر البحث فى الأنظمة الخبيرة جزءا مهما من "الذكاء الصناعى"
وكان أول درس تعلمه الباحثون من بناء برنامج مثل DENDRAL والذى اشتمل على قدر هائل من المعلومات الكميائية المتخصصة هو أن تكلفة أقل تعديل فيه كانت باهظة جدا. ويرجع ذلك إلى تداخل المعلومات المتخصصة فى الألية التى تستخدمها وتفسرها.
ومن هنا أنبثق المبدأ الأساسى بالتدريج القائل بوجوب فصل قاعدة المعرفة عن الألية التى تفسرها.
===========================
مبادىء بناء الأنظمة الخبيرة :
============================
1- تحديد الميدان :
==================
تتطلب عملية بناء النظم الخبيرة والتى هى بطبيعتها عملية متزايدة Incremental
- عقد إجتماع مع أحد الخبراء فى المجال المحدد .
ويقوم الخبير البشرى بشرح معرفته فى هذا الميدان والطرق التى يتبعها فى حل المسائل. وقد يقدم شرحه هذا بطريقة غير منظمة - فأنها ربما المرة الأولى التى يطلب منه القيام بذلك .
- يجب السماح للخبير بإجراء مراجعات عديدة لما يريد أن يضمنه فى البرنامج ، بما فى ذلك العودة إلى ماسبق ذكره وإعطاء تفسيرات مطولة لنقاط معينة وإضافة معلومات جديدة.
ويوضح ذلك الحاجة إلى فصل تمثيل المعرفة عن البرنامج الذى يقوم بتطبيقها (حتى يمكن التعديل بسهولة)
- يتم الإستعانة بخبراء آخرين فى مرحلة تالية للتعليق على المعلومات التى أعطيت بواسطة الخبير الأول. ولذلك يجب أن توضع هذه المعلومات فى شكل بسيط ليسهل قرائتها ودراستها.
ولأن المعلومات المعطاه تكون فى الغالب مجمعة تجميعا عشوائيا فإن طرق البرمجة التقليدية غير ملائمة ولكن إن استطعنا وضع هذه المعلومات بطريقة منظمة فإن ذلك سيسهل العمل بطرق كلاسيكية أكثر من طرق النظم الخبيرة.
وحالما يتطور البرنامج ليصل إلى مرحلة يعتبر فيها أداؤه فى مجاله الخاص مرضيا. يمكن عندئذ -إذا اقتضت الضرورة- إدماج قاعدة المعرفة فى البرنامج المفسر لإعطائه فاعلية أكثر ولتقليل الذاكرة المستخدمة خاصة عند تشغيل البرنامج على أجهزة أصغر من تلك التى يطور عليها.
2- تفسير عملية الإستدلال :
========================
من السمات الهامة للأنظمة الخبيرة قدرتها على إعطاء المستخدم تفسيرا لخطة "تفكير" البرنامج . ويتم ذلك بإدماج بعض الإجراءات داخل البرنامج . لعرض مواد المعرفة التى استخدمها النظام الخبير فى التوصل لأحكامه.
ويجب أن يتشابه أسلوب البرنامج فى تفسير تفكيره مشابها لتفسير الخبير البشرى وذلك بعرض الإستنتاجات المتعاقبة التى قام بها للوصول إلى النتيجة . وهذه السمة بالغة الأهمية , حتى إذا لم يكن الإيضاح الذى يقدمه البرنامج على درجة كبيرة من العمق , لأنه يساعد المستخدم على تقوية ثقته - أو عدم ثقته - فى البرنامج . ولم يعد البرنامج صندوقا أسود سحريا . كما تبدو أغلب البرامج العادية.
3- المستخدم :
============
- يجب أن تصمم النظم الخبيرة لتساعد غير الخبير الذى يطلب النصيحة أو المشورة فى أحد المجالات التخصصية .
والمثال الشائع حاليا هو الطبيب الممارس العام الذى يحتاج لنصيحة خبير فى أمراض الكلى أو ضغط الدم المرتفع قبل تحويل مريضه لأخصائى.
ومثل هذا البرنامج له أهمية خاصة لطبيب الريف الذى قد يكون على بعد أميال من أقرب أخصائى.
ولهذا يجب أن يكون مستوى أداء البرنامج الخبير مقاربا لأداء الخبير البشرى فى المجال ذاته ,
ويمكن أن يستفيد البرنامج الخبير من النقد البناء لمجموعات مختلفة من الأخصائيين ويجب أن يتضمن خبرات وتجارب عدد من الخبراء (خاصة الفريدة منها) وهذه المعلومات نادرا ما تكون مسجلة بالكتب والدوريات العملية فى هذا المجال.
وهناك نوع ثان من مستخدمى الأنظمة الخبيرة يسعون لإكتساب معرفة مهنية فى موضوع تخصصى وبهذا يجب تصميمها لتتضمن بعض القدرات التعليمية .
أنتظروا البقية