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