تبليغاتX
سیستم های خبره راهی برای زندگی بهتر
قبل از آغاز بحث باید بگم که تا به حال چندبار ازم خواسته شده تا فایل هایی رو که قبلا گذاشتم رو دوبار ه بذارم.باید بگم که متاسفانه upload center خودش حذف میکنه ، اگه کسی جایی سراغ داره که فایلو حذف نمی کنه به من بگه تا بذارم اونجا.
بعد یه گله ای بکنم از دوستان.خیلی ها به من ایمیل زدن و از من کمک خواستن. منم با کمال میل تا اونجا که ممکن بود دریغ نکردم ولی این دوستان با مرام نه یه پیامی گذاشتن و نه اینکه حداقل از پیاین نامه شون برام مطلبی فرستادن تا بقیه هم استفاده کنن.
بازم امیدوارم مطالبم کمکی باشه

4-1 )  تسلسل پس رونده با عدم قطيت [1]

در بخش قبل ديده‌ايم كه سيستم‌هايي با تسلسل پس رونده براي حل مسايل از نوع انتخاب ساخته يافته [2] مناسب هستند سيستم Bird يك مثال خوب برايش بود. اما اين سيستم اين پندار را بوجود مي‌آورد كه همه‌ي اطلاعات كاملاً درست‌ يا غلط مي‌باشند. در دنیاي حقيقي همواره يك عدم قطعيتي بهمراه قواعدي كه خبره استفاده مي‌كند، بهمان نسبت كه براي كاربر وجود دارد، مي‌باشد.

براي مثال در سيتم Bird ممكن است كاربر يك albatross در هواي گرگ و ميش مشاهده كرده است، اما قادر نبوده است تا بدرستي تشخيص دهد كه رنگ‌ پرنده سفيد بوده است يا سياه. سيستم خبره بايد قادر باشد تا با چنين شرايطي مواجه شود و گزارش دهد كه پرنده ممكن است layson يا blacn footed albatross بوده باشد.

قواعد نيز مي‌توانند عدم قطيعتي با خود داشته باشند براي مثال يك اردك قهوه‌اي خالدار مي‌تواند يك اردك وحشي را با 80% قطعيت تعيين  كند.

اين بخش يك سيستم خبره را كه clam ناميده مي‌شود و تسلسل پس رونده با عدم قطعيت را در بردارد تشريح مي‌كند. استفاده از عدم قطعيت پروسه‌ي استنتاج را از آنچه بوسيله‌ي prolog بيان شده بود، متفاوت مي كند. از اين لحاظ Clam  فرمت قواعد و موتور استنتاج مخصوص به خود را دارد.

 

4-2 ) فاكتورهاي قطعيت [3]

رايج‌ترین طرح براي كار با عدم قطعيت نسبت دادن فاكتور قطعيت به هر قسمت از اطلاعات در سيستم است. موتور استنتاج بصورت توماتيك فاكتورهاي قطعيت را به محض اجراي استنتاج آپديت [4] كرده و نگهداري [5] مي‌كند.

در ابتدا بياييد به مثالي با استفاده از clam نگاهي بيندازيم. فاكتورهاي قطعيت (كه با CF نمايش داده مي‌شوند) اعداد صحيحي [6] از 100- براي نمايش False تا +100 براي True مي‌باشند. خطوط زير يك پايگاه دانش كوچك از Clam مي‌باشند كه براي تشخيص اينكه ماشين روشن نخواهدشد طراحي شده‌اند. اين كدها بعضي از رفتارهاي يك طرح براي كار با عدم قطعيت را نمايش مي‌دهد.

goal problem.

rule 1

if not turn_over and
battery_bad

then problem is battery.

rule 2

if lights_weak

then battery_bad cf 50.

rule 3

if radio_weak

then battery_bad cf 50.

rule 4

if turn_over and
smell_gas

then problem is flooded cf 80.

rule 5

if turn_over and
gas_gauge is empty

then problem is out_of_gas cf 90.

rule 6

if turn_over and
gas_gauge is low

then problem is out_of_gas cf 30.

 

ask turn_over

menu (yes no)

prompt 'Does the engine turn over?'.

ask lights_weak

menu (yes no)

prompt 'Are the lights weak?'.

ask radio_weak

menu (yes no)

prompt 'Is the radio weak?'.

ask smell_gas

menu (yes no)

prompt 'Do you smell gas?'.

ask gas_gauge

menu (empty low full)

prompt 'What does the gas gauge say?'.

 

استنتاج از تسلسل پس رونده مشابه prolog استفاده مي‌كند. goal بيان مي‌كند كه يك مقدار بايد براي خاصيت problem پيدا شود. قاعده‌ي 1 باعث مي‌شود كه زير هدف bad – battery تعقيب شود (درست مثل prolog) فرمت قاعده اضافه كردن فاكتور قطعيت را امكان مي‌دهد. براي مثال قواعد 5 و 6 درجات مختلف اطمينان را كه كدام مي‌تواند نتيجه بگيرد كه ماشين بنزین ندارد، ممكن مي‌كند. عدم قطعيت از عدم اطمينان ذاتي در باك بنزين ناشي مي‌شود. قواعد 2 و 3 اين گواه را ارائه مي‌كنند كه باتري در شرايط بدي است، اما هيچكدام‌شان قطعي نيستند.

 

4-3 ) عدم قطعيت در قاعده [7]

چيزي كه به تبع اجراي برنامه بوجود مي‌آيد يك مطالعه‌ي ساده از نتيجه‌گيري با سيستم خبره‌ي ماشين است:

consult, restart, load, list, trace, how, exit

:consult

Does the engine turn over?

: yes

Do you smell gas?

: yes

What does the gas gauge say?

empty

low

full

: empty

problem-out_of_gas-cf-90

problem-flooded-cf-80

done with problem

 

توجه كنيد كه برخلاف prolog استنتاج بعد از پيدا كردن يك مقدر ممكن براي مسئله، نايستاده است. اين برنامه همه‌ي مشكلات منطقي را پيدا مي‌كند و آنها را با قطعيتي كه وابسته به آنهاست نمايش مي‌دهد.

همانطور كه پيداست، اين فاكتورهاي قطعيت، يكسري مقادير احتمالي نيستند اما بسادگي يكسري از درجات قطعيت را به هر جواب مي‌دهند.

 

 

 

4-4 ) عدم قطعيت كاربر [8]

ديالوگ زير نشان مي‌دهد چگونه عدم قطعيت كاربر مي‌تواند وارد سيستم شود :

:consult

Does the engine turn over?

: yes

Do you smell gas?

: yes cf 50

What does the gas gauge say?

empty

low

full

: empty

problem-out_of_gas-cf-90

problem-flooded-cf-40

done with problem

 

توجه كنيد كه كار بر تنها 50% اطمينان داشت كه بوي بنزين را استشمام مي‌كند. اين باعث مي‌‌شود كه سيستم تنها 50% اطمينان حاصل كند كه problem is flooded".



[1] baekward chaining with uncertainty

[2] structured selection type

[3] certainty Factors

[4] update

[5] maintenance

[6] integer

[7] Rule uncertainty

[8] user unertainty

 

 

+ نوشته شده در  سه شنبه 28 اسفند1386ساعت 22:51  توسط صابر موسی پور  |