مزایا و معایب تکنیک های زنجیره ای

از ویکی جامع پردیس دانشگاهی دانشگاه قم
پرش به: ناوبری، جستجو
سیستم های خبره
مقاله بعدی:تکنیک های پایه ی جستجو
مقاله قبلی:تکنیک های زنجیره ای


مزایای زنجیره پیشرو

1. روش‌های پیشرو برای حل مسائل با جمع‌آوری اطلاعات شروع می‌کند بنابراین این روش‌ها برای مسائلی که در ابتدا نیاز به جمع‌آوری اطلاعات دارند مناسب هستند. زبان CLIPS نمونه‌ای از استنتاج پیشرو است.

Raining → Grass is wet → Can't mow grass

Raining → Game cancelled → Go to theater

2. روش‌های پیشرو برای مسائلی نظیر طراحی Planning ، پایش Monitoring ، کنترل ، تفسیر Interpretation مناسب است ؛ زیرا این نوع مسائل مبتنی بر جمع‌آوری اطلاعات است.

3. در اینگونه مسائل با داده کم می‌توان نتایج زیادی یافت. مانند مثال بالا که با آمدن باران ، چندین نتیجه گرفته شده است.(تفسیرهای متنوع)

معایب زنجیره‌ پیشرو

1. روش‌های پیشرو فاقد اولویت‌دهی یا تعیین اهمیت سوال‌ها هستند.

Q. Do you believe you are suffering a heart attack?

A. YES...YES...YES

Q. Is your nose running?

A. WHAT!!!!!

آیا تصور می‌کنید که دچار حمله قلبی شده‌اید؟ بله

آیا آبریزش بینی داری؟ چی!!!!!

2. در سیستم‌های پیشرو ممکن است سوالات نامربوطی پرسیده شود .چون هدف در این روش مشخص نیست و سیستم می‌بایست در پی جمع‌آوری اطلاعات باشد.

Q. Do you have a high temperature?

Q. Have you visited England lately?

آیا دمای بدن شما بالاست؟

آیا به تازگی به انگلستان رفته‌ای؟

مزایای زنجیره پسرو

روش‌های پسرو ، برای مسائلی که در آغاز فرضی بنا شده و سپس در جهت اثبات آن باشیم ، مناسب است.

1. به دلیل بنا نمودن یک فرض ، سوالات مربوط به هم مطرح می‌شود.

2. جستجو تنها بخشی از پایگاه دانش مرتبط با مساله را پیدا می‌کند.

3. برای کاربردهایی نظیر عیب‌یابی ، تشخیص و توصیه مناسب است.

معایب زنجیره پسرو

روش‌های پسرو به دلیل خط و سیر استدلال خاصی که دارند ممکن است به بن بست منتهی شوند. فراخوان‌ها Meta Rule می‌توانند کمک موثری برای جلوگیری از این مشکل باشند. زبان Prolog نمونه‌ای از روش Backward می‌باشد.

انتخاب بین روش‌های پیشرو و پسرو

حال ببینیم برای حل مسائل روش پیشرو را انتخاب کنیم یا روش پسرو؟

ابتدا باید مساله را خوب بشناسیم اگر مساله‌ به گونه‌ای است که در ابتدا نیاز به جمع‌آوری اطلاعات و سپس نتیجه‌گیری دارد ٬ روش پیشرو مناسب‌تر است.

اما اگر ابتدا حدسی زده می‌شود و سپس با جمع‌آوری اطلاعات ، در تلاش برای اثبات حدس خود هستید روش پسرو مناسب‌تر است.

در مسائلی ممکن است بخشی از مسئله با روش Forward و بخش دیگر با روش Backward حل شود. به طور مثال در سیستم پزشکی ، پزشک ابتدا حدسی در مورد بیماری می‌زند (Backward ) و با انجام آزمایشات و مشاهده نتایج ممکن است حدس پزشک تغیر کند(Forward).

روش‌های ترکیب دو روش Forward و Backward

چگونگی ترکیب این دو روش به صورت فنی ، دو روش دارد:

1. سیستم‌های جدا از هم طراحی نماییم

2. استفاده از قوانین نگهبان یا Demon Rules

طراحی سیستم‌های جدا از هم

برای مسائل پیچیده طراحان سیستم خبره اغلب ابتدا مساله را به چندین زیروظیفه تقسیم می‌کنند ، سپس برای هر مساله، سیستم خبره جداگانه‌ای طراحی می‌شود. هریک از این سیستم‌ها ، بخشی از مساله اصلی را حل خواهند کرد و در حل مساله کنترل می‌تواند بین زیرسیستم‌ها ، جابه جا شود.

Forward

IF patient is suffering persistent headache

AND patient is suffering dizziness

THEN there is evidence of meningitis

اگر بیمار سردرد و سرگیجه دارد. احتمالا مننژیت دارد.

backward

IF there is evidence of meningitis

THEN Load meningitis Expert

اگر علایم مشاهده شده مربوط به بیماری مننژیت است ، سیستم خبره مننژیت را بارگذاری کن.

استفاده از قوانین نگهبان یا Demon Rules

قوانینی هستند که وقتی شرایط آنها با محتوای حافظه کاری تطبیق یافت ، فعال می‌شوند.

Demon Rule 1 : Tank pressure problem

IF power is off

AND tank pressure >1000

THEN problem = tank pressure problem

اگر منبع خاموش است و فشار منبع بالاتر از 1000 است ، مشکل فشار منبع می‌باشد.

Demon Rule 2 : Emergency situation

IF problem = tank pressure problem

THEN situation = Emergency

اگر مشکل فشار منبع می‌باشد ، موقعیت اضطراری است.

Demon Rule 3 : Evacuate

IF situation = Emergency

THEN Response = Evacuate personnel

اگر موقعیت اضطراری است پرسنل را مطلع ساز.

این برنامه در هر لحظه در حال اجرا می‌باشد ، یعنی در هر لحظه فشار را چک می‌کند و وضعیت‌ها را بررسی می‌نماید و اگر موقعیت را اضطراری تشخیص داد توصیه یا عملی را انجام دهد. مانند آنتی ویروس یا Fire Alarm.