پروژه دانشجویی مقاله استدلال جلورو در مقابل عقب رو در pdf

پروژه دانشجویی مقاله استدلال جلورو در مقابل عقب رو در pdf دارای 64 صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است
فایل ورد پروژه دانشجویی مقاله استدلال جلورو در مقابل عقب رو در pdf کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه و مراکز دولتی می باشد.
این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است
توجه : در صورت مشاهده بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل فایل ورد می باشد و در فایل اصلی پروژه دانشجویی مقاله استدلال جلورو در مقابل عقب رو در pdf ،به هیچ وجه بهم ریختگی وجود ندارد
بخشی از متن پروژه دانشجویی مقاله استدلال جلورو در مقابل عقب رو در pdf :
استدلال جلورو در مقابل عقب رو
هدف روال جستجو، کشف یک مسیر از میان فضاهای مسئله از یک وضعیت آغازی به وضعیت هدف است. چنین جستجویی می تواند در دو جهت حرکت کند:
• به طرف جلو، از وضعیت های آغازی
• به طرف عقب، از وضعیت های هدف
این دو قرینه هستند. فرض کنید که می خواهیم یک بازی معمای هشت را حل کنیم. قواعد این معما را می توان همانند شکل 1 نشان داد. در اینجا می خواهیم معمای شکل 2 را حل کنیم. این کار را می توان به دو طریق انجام داد:
• استدلال به طرف جلو با شروع از وضعیت آغازی: ساختن یک درخت از سلسله حرکتهایی که ممکن است راه حل را تشیکل دهند، شروع کنید. وضعیت آغازی در ریشه درخت قرار می گیرد،
برای ساختن سطح بعدی درخت، تمام قواعدی را بیابید که سمت چپ آنها با گره ریشه درخت یکسان هستند و با استفاده از سمت راست این قواعد وضعیت های جدید را ایجاد کنید. برای سطح بعدی درخت عمل فوق را در مورد گره های سطح قبلی انجام دهید. به این کار آنقدر ادامه دهید تا به وضعیتی برابر با وضعیت هدف رسیده باشید.
Square 1 empty and Square 2 contains tile n
Square 2 empty and Square 1 contains tile n
Square 1 empty and Square 4 contains tile n
Square 4 empty and Square 1 contains tile n
Square 2 empty and Square 1 contains tile n
Square 1 empty and Square 2 contains tile n
شکل 1 : یک نمونه از قواعد برای حل کردن معمای هشت
شکل 2 : یک مثال از بازی معمای هشت
• استدلال به طرف عقب با شروع از وضعیت هدف: ساختن یک درخت از سلسله حرکت هایی که ممکن است راه حل را تشکیل دهند، شروع کنید. وضعیت(های) هدف را در ریشه درخت قرار دهید. جهت ایجاد سطح بعدی درخت، قواعدی را بیابید که سمت راست آنها با گره ریشه برابر هستند. با استفاده از سمت چپ این قواعد و بکارگیری آنها گره های سطح دوم این درخت را بسازید. سطوح بعدی را هم به کمک سطوح قبلی و با توجه به روش فوق بسازید و آنقدر ادامه دهید تا گرهی ساخته شود که با وضعیت آغازی برابر است.
به روش فوق استدلال هدف گرا یا زنجیره عقب رو می گویند.
توجه کنید که از همان قواعد در استدلال جلورو یا عقب رو استفاده می شود. برای استدلال جلورو، سمت چپ های قواعدی با وضعیت جاری تست می شوند و از سمت راست قواعد در ایجاد گره های جدید استفاده می شود.
در مسئله معمای هشت فرقی نمی کند که از استدلال جلورو یا عقب رو استفاده شود و در هر دو حالت تعداد یکسانی مسیر مورد جستجو قرار می گیرند. اما در سایر مسائل همیشه این طور نیست، و با توجه به توپولوژی فضای مسئله ممکن است جستجو در یک جهت خیلی سریعتر از جهت دیگر باشد.
سه فاکتور در رابطه با این سئوال که استدلال باید در کدام جهت باشد مهم هستند:
• تعداد وضعیت های آغازی بیشتر است یا هدف؟ ما همیشه مایلیم که از تعداد کمتر وضعیت ها به طرف تعداد بیشتر برویم.
• در کدام جهت فاکتور شاخه شاخه شدن بزرگتر است؟ (این فاکتور تعداد متوسط گره هایی است که مستقیماً می توان از یک گره تک رسید) ما مایلیم در جهتی حرکت کنیم که این فاکتور کوچکتر است.
• آیا از برنامه خواسته خواهد شد تا روند استدلالش را برای استفاده کننده توجیه کند؟ اگر این طور است بهتر است حرکت در جهتی باشد که با طرز تفکر استفاده کننده مطابقت بیشتری دارد.
ذکر چند مثال برای روشنتر شدن مطلب ضروری است. به نظر می رسد که رانندگی از یک محل ناآشنا به طرف منزل خیلی راحت تر از منزل به طرف محل ناآشنا باشد. چرا؟ فاکتور شاخه شاخه شدن تقریباً در هر دو جهت یکسان است. نکته مهم این است که ما خیلی نقاط نزدیک منزل را هم همانند منزل تلقی می کنیم و به این ترتیب تعداد محل هایی که جزء تعریف خانه ما می گنجند بیش از تعداد محل هایی است که به عنوان هدف ناآشنای ما وجود دارند. بنابراین اگر نقطه آغازی ما منزل ما ست و هدف ما یک محل ناآشناست بهتر است از استدلال عقب رو با شروع از محل ناآشنا استفاده کنیم.
از طرف دیگر یک مسئله انتگرال گیری را در نظر بگیرید. فضای مسئله عبارت است از مجموعه فرمولها که برخی دارای عبارت انتگرال هستند. وضعیت آغازی یک فرمول بخصوص با عبارت انتگرال است. وضعیت هدف فرمولی است که معادل فرمول اولی است ولی عبارت انتگرال ندارد. پس وضعیت آغازی راحت و یکتا است ولی هدف متعدد است یعنی وضعیت های متعددی در محدوده هدف ممکن است قرار گیرند (تمام عبارات بدون انتگرال!) پس در اینجا از استدلال جلورو با شروع از وضعیت آغازی استفاده می کنیم.
در مثال فوق فرض ما این بوده است که فاکتور شاخه شاخه شدن در هر دو جهت تقریباً یکسان است. اگر اینگونه نباشد باید آنرا نیز در نظر گرفت.
باز هم مسئله ثابت کردن تئوری هایی در یک قلمرو بخصوص ریاضی را در نظر بگیرید. وضعیت هدف ما عبارتست از اثبات یک تئوری خاص
. وضعیت آغازی ما معمولاً تعداد کمی از اصول می باشند. این دو مجموعه هدف و آغازی معمولاً از نظر اندازه فرقی ندارند. اما فاکتور شاخه شاخه شدن در هر دو جهت را در نظر بگیرید. از یک تعداد کمی اصل، می توانیم تعداد زیادی تئوری نتیجه بگیریم. از طرف دیگر این تعداد زیاد تئوری ها به همان تعداد کمی اصل برمی گردند. بنابراین فاکتور شاخه شاخه شدن در جهت اصول به تئوری ها خیلی بیشتر از دو جهت معکوس است. این بدین معناست که ما بهتر است در هنگام اثبات تئوریها از اثبات شروع کنیم و به عقب برویم. ریاضیدانان مدتهاست که این را درک کرده اند.
سومین عاملی که جهت جستجو را تعیین می کند این است که گاهی برنامه مجبور است دلایل خود را توجیه کند. طراحان MYCIN (برنامه تشخیص بیماری های عفونی) به این نکته توجه خاصی مبذول داشتند. این برنامه از هدفش که تعیین علت بیماری شخص مریض است به طرف عقب استدلال می کند. برای این منظور از قواعدی استفاده می کند
که به آن چیزهایی مشابه عبارت زیر را می گویند:
“If the organism has the following set of characteristics as determined by the lab results, then it is likely that it is organism X”
با استدلال عقب رو با استفاده از قواعدی همچون قواعد فوق، برنامه می تواند به سئوالاتی از قبیل سئوال:
Why should I perform that test you just asked for
پاسخی همانند زیر بدهد:
“Because it would help to determine whether organism X is present.”
از اکثر تکنیک های جستجو که در این فصل معرفی می شوند در استدلال جلورو و عقب رو می توان استفاده کرد. یکی از کارهای جالب این است که از هر دو جهت شروع کنیم تا اینکه از دو مسیر به هم برسند. به این استراتژی جستجوی دوسو می گویند. این روش همیشه مؤثر نیست و شکل 3 یکی از علل شکست این گونه جستجو را نشان می دهد:
*************************
شکل 3- استفاده بد از جستجوی هیوریستیک دوسو
ارائه دانش به کمک سایر منطق ها
مقدمه
همانطوری که درقسمت پیش گفتیم، تکنیک های منطق مسند برای حل مسائل گوناگون مفید هستند. اما متأسفانه منطق مسند در بسیاری دیگر از قلمروها، راهی مناسب برای ارائه و کار با اطلاعات مهم فراهم نمی آورد. به عنوان نمونه در زیر چند نوع از اطلاعاتی که ارائه آنها در منطق مسند دشوار است آمده اند:
«امروز خیلی گرم است». چگونه می توان درجات نسبی گرما را نشان داد؟
«افرا مو زرد معمولاً چشمان آبی دارند». چگونه می توان یک «مقدار» اطمینان را ارائه نمود؟
«فرض کنید هر فرد بالغی که می بینید، بلد است بخواند، مگر اینکه گواهی برخلاف آن وجود داشته باشد». چگونه می توان این نکته را ارائه نمود که از عدم حضور یک حقیقت می توان حقیقت دیگری را استنتاج نمود؟
«بهتر است که قطعات بیشتری (مهره های بیشتری) نسبت به رقیب خود در صفحه داشته باشید» چگونه می توان این نوع از اطلاعات هیوریستیک را ارائه نمود؟»
«من می دانم که Bill فکر می کند تیم Giants خواهد برد. اما خودم فکر می کنم که آنها خواهند باخت». چگونه می توان چند سیستم تفکر متفاوت را یکجا ارائه نمود؟
بسیاری از استدلال هایی که انسان ها انجام می دهند عبارت از کار با یک مجموعه از اعتقادات و تغییر دادن آنها است. هر یک از این اعتقادات به کمک شواهدی تأکید می گردند و برای بسیاری از آنها، محرک های شخصی جهت حفظشان وجود دارد. ناکامل و ناسازگار بودن می تواند از مشخصات طبیعی یک مجموعه از اعتقادات، که به آن «سیستم اعتقادات» می گوییم،
باشد. برای اینکه برنامه ها بتوانند با سیستم های اعتقادات کار کنند، احتیاج به سیستم استدلال است که بتواند برنامه های بتوانند با سیستم های اعتقادات کار کنند، احتیاج به سیستم استدلال است که بتواند با اطلاعاتی همچون آنها که در بالا آمدند کار کند. برای اینکه بهتر بفهمیم منظور از اعتقادات، ایجاد، تست و همچنین تغییر آنها چیست
یک مثال از کتابی به نام The web of belief را به فارسی برمی گردانیم و آنرا بررسی می کنیم.
فرض کنید فهیمی، صدری و تفضلی از افراد مورد ظن در رابطه با یک قتل می باشند! فهیمی دارای عذری است. به این ترتیب که اسم او در دفتر هتل عباسی برای روز قتل ثبت شده است. صدری هم عذری دارد زیرا برادر خانمش تأیید کرده که وی در زمان وقوع قتل نزد او بوده است. تفضلی هم عذری دارد، او می گوید در استادیوم تختی مشغول تماشای مسابقه فوتبال بین تیم استقلال و آزادی بوده است. اما ما فقط گفته خودش را داریم.
بنابراین ما معتقدیم که:
1- فهیمی مرتکب قتل نشده است.
2- صدری هم مرتکب قتل نشده است.
3- فهیمی، صدری یا تفضلی مرتکب قتل شده اند.
اما تفضلی شانس خوبی آورده است: تلویزیون او را در استادیوم در تاریخ مورد نظر نشان داده است. پس اعتقاد جدیدی برای ما حاصل می شود:
4- تفضلی مرتکب قتل نشده است.
اعتقادات 1 تا4 ما ناسازگار هستند. پس باید یکی را برای رد کردن انتخاب نمود. کدامیک ضعیف ترین گواهی را دارا می باشند؟ پایه و اساس اعتقاد 1 قوی است زیرا هتل عباسی هتل معتبری است. پایه اعتقاد 2 ضعیف تر است، زیرا ممکن است برادرخانم صدری دروغ بگوید. اعتقاد 3 از دو جهت محکم می شود: اول اینکه هیچ علامت دزدی وجود ندارد و دوم اینکه اگر از امکان دزدی بگذریم فقط فهیمی، صدری یا تفضلی می توانسته اند سودی از قتل ببرند!
این حذف امکان دزدی قطعی است اما قسمت دوم هنوز قطعی نیست زیرا ممکن است نفر چهارمی باشد که او هم سودی از قتل می برده است. اعتقاد 4 قطعی است. به این ترتیب 2 و 3 ضعیف هستند یعنی یا باید صدری را متهم کرد یا به دنبال نفر چهارم گشت. ببینید چگونه تجدیدنظر ما تا پایین ادامه می یابد. اگر 2 را رد نماییم در واقع در اعتقاد قبلی خود (هر چند ضمنی) که برادرخانمش راست گفته است تجدیدنظر کرده ایم. اگر 3 را رد کنیم، در اعتقاد قبلی خود مبنی بر اینکه از دزدی که بگذریم فقط این سه نفر می توانسته اند از قتل سودی ببرند تجدیدنظر نموده ایم.
در ضمن نوعی حالت اختیاری و دلبخواهی در سازمان این بررسی وجود دارد. البته اعتقادات ناسازگار 1 تا 4 را بیرون و سپس آنها را با برخی اعتقادات ضمنی همراه کردیم: برای مثال اعتقاد در مورد قسمت پذیرش هتل، اعتبار هتل، تلویزیون و برادر خانم. ما در واقع به این اعتقادات اخیر مرتبه کمتری دادیم، در حالی که می توانستیم همه اعتقادات را در یک سطح تصور کنیم و شروع به حذف ناسازگاری ها نماییم. اما سازمان سیستم ما، معرف هدف ما است. ما چهارتایی اصلی را انتخاب نمودیم
و برای حذف یا انتخاب یکی از سایر اعتقادات کمک گرفتیم. این در واقع همان استراتژی divide and conquer است. به این ترتیب که وقتی که یک مجموعه از اعتقادات به گونه ای در کنار هم جمع شده اند که تناقض ایجاد می کنند، زیر مجموعه ای کوچک از آنها را طوری انتخاب کنید که هنوز دارای تناقض باشند. برای مثال: 1 تا 4 زیرا مطمئن هستیم که به این روش بزودی برخی از اعتقادات را از زیرمجموعه حذف خواهیم کرد. در بازنگری و تجدیدنظری که در رابطه با اعتقادات زیرمجموعه خواهیم به طرف اعتقادات مجموعه اولیه کشیده خواهیم شد و به مرور شاهد حذف آن اعتقادات هم خواهیم بود.
کی از کنکاش در عقاید دست برخواهیم داشت؟ در رابطه با عقاید 1 تا 4 دیدیم که عقاید زیرین آنها را نیز بیرون کشیدیم. البته می توانستیم عمیق تر هم برویم. در عمل، کنکاش هنگام پایان می یابد که راضی شده باشیم که می توانیم سازگاری را در عقاید برقرار سازیم.
داستان بالا تعدادی از مشکلات مربوط به دانش غیرمطمئن و مشکوک را نشان می دهد. در علوم کامپیوتر چندین راه حل برای این مشکلات پیشنهاد شده است:
• منطق غیریکنواخت- این منطق اجازه می دهد احکام از بانک اطلاعات حذف شوند یا بدان اضافه گردند. یکی از منافع این منطق در آن است که اجازه می دهد اعتقاد به یک حکم به خاطر عدم اعتقاد به حکمی دیگر ایجاد گردد.
• استدلال احتمالی- این روش کمک می کند استنتاج محمتل اما غیر یقین انجام دهیم.
• منطق مشکوک- این منطق اجازه می دهد ویژگی های مشکوک یا پیوسته عناصر ارائه گردند.
• فضای عقاید- اجازه می دهد مدل های تودرتوی مجموعه های عقاید ارائه گردند.
در این فصل ما فقط روش های اول و دوم را بررسی خواهیم کرد. سومی هرچند مدیون یک ایرانی به نام پروفسور زاده است و از لحاظ ریاضی خیلی تکامل یافته است اما هنوز در زمینه هوش مصنوعی مانند دوتای اولی مورد استفاده قرار نگرفته است.
استدلال غیریکنواخت
اصولاً سیستم هایی که بر اساس منطق مسندها هستند، یکنواخت می باشند. یعنی تعداد احکامی که می دانیم حقیقت دارند مرتباً و فقط افزایش می یابند. احکام جدیدی را می توان به سیستم افزود و تئوری هایی را اثبات کرد اما هیچ کدام از این دو عمل منجر به غیر معتبر شدن یک حکم درست قدیمی نمی گردد. کار کردن با چنین سیستمی چندین نفع دارد:
• هنگامی که حکم جدیدی به سیستم افزوده می گردد نیازی به انجام چک هایی جهت کشف ناسازگاری ها بین این حکم و اطلاعات قدیمی نیست.
• بعد از این که حکمی اثبات گردید لازم نیست لیستی از احکامی که در اثبات دخیل بوده اند نگهداری کرد زیرا خطر غیرمعتبر شدن هیچ یک از آنها وجود ندارد.
متأسفانه این گونه سیستم های یکنواخت در رابطه با سه وضعیتی که در مسائل واقعی بروز می کنند خوب نیستند: 1) اطلاعات ناکامل 2) شرایط متغیر 3) ایجاد فرض ها در طی روند حل مسائل پیچیده.
مقدمه ای بر استدلال غیریکنواخت
به ندرت پیش می آید که سیستمی تمام اطلاعات مفید را در اختیار داشته باشد. اما در اغلب موارد هنگامی که اطلاعاتی در دسترس نیستند هنوز می توان فرض هایی منطقی و عاقلانه نمود. البته به این شرط که هیچ تناقض آشکاری ایجاد نگردد. به ساختن چنین فرض هایی «استدلال قراردادی» می گویند.
برای مثال، فرض کنید برای شام در منزل دوستی دعوت هستید. در بین راه از کنار یک گلفروشی می گذرید. آیا صاحبخانه از گل خوشش می آید؟ احتمالاً شما اطلاع دقیقی ندارید و نمی توانید به سئوال فوق پاسخ دهید. اما شما راه اشتباهی نرفته اید
اگر که از این قاعده عمومی استفاده کنید که: اکثر مردم گل دوست دارند، بنابراین فرض کنید هر شخص بخصوص هم گل دوست دارد مگر اینکه گواهی در رد این فرض موجود باشد. این نوع از استدلال قراردادی در واقع غیریکنواخت است (یعنی افزودن اطلاع جدیدی ممکن است باعث حذف یک اطلاع قدیمی گردد) زیرا احکامی که به این ترتیب مشتق می شوند به عدم وجود اعتقاد به سایر احکام وابسته هستند. یعنی اگر یکی از آن احکام غایب قبلی حالا به سیستم افزوده گردد باید حکمی که بر اثر استدلال قراردادی ایجاد شده بود را حذف نمود. به این ترتیب در مثال ما اگر شما گل را بخرید و به منزل دوست خود بروید اما او به مجرد دیدن شما شروع به عطسه کردن (در اثر آلرژی) نماید باید اعتقاد قبلی خود در مورد این که دوست شما گل دوست دارد را حذف کنید و البته هر اعتقاد دیگری که بر این اساس استوار است نیز حذف می گردد.
مثال بالا یک نوع معمول از استدلال قراردادی را نشان می دهد. به این نوع استدلال «محتمل ترین انتخاب» می گویند. شما می دانید که یکی از چند چیز باید درست باشد و در غیاب اطلاعات کامل، ما محتمل ترین را برمی گزینیم. اکثر مردم گل دوست دارند. اکثر سگ ها دم دارند. نوع دیگر از استدلال قراردادی، مبنی بر قرائن و محافظه کارانه است.
در اینجا ما فرض می کنیم تنها آن عده از عناصر، ویژگی P را ارضاء می کنند که بتوان نشان داد این کار را می کنند. برای مثال فرض کنید ما داریم برای حل مسئله ای قایقی را به طرف دیگر رودخانه پارو می زنیم. چندین چیز می توانند جلوی استفاده موفق از قایق را بگیرند. از جمله اینها فقدان پارو، سوراخ در قایق، در گل گیر کردن قایق و غیره هستند. برنامه حل کننده مسئله باید بتوانند از اثبات صریح عدم صحت هر کدام اینها اجتناب کند. کاری که برنامه می تواند بکند این است که فرض کند تنها چیزهایی که می تواند صریحاً درست بودن آنها را اثبات نماید درست هستند.
یک توصیف مختصر و صحیح استدلال قراردادی باید فقدان برخی اطلاعات (X) را به اثبات (Y) ربط دهد. یعنی:
استدلال قراردادی: تعریف 1:
If X is not known, then conclude Y.
اما در اکثر سیستم ها فقط کسر کوچکی از چیزهایی که شناخته شده محسوب می شوند صریحاً در بانک اطلاعات انبار شده اند. سایر اطلاعات را می توان با سعی و کوشش به کمک آنهایی که صریحاً انبار شده اند اثبات کرد. بنابراین تعریف موردنظر ما به صورت زیر در می آید:
استدلال قراردادی: تعریف 2:
If Y con not be proved, then conclude Y.
اما اگر فرض کنیم که هنوز با فرض مسند کار می کنیم، چگونه می دانیم که X را نمی توان ثابت کرد؟ سیستم تصمیم گیرنده نیست. بنابراین برای هر X اختیاری ما نمی توانیم تضمین کنیم که بتوانیم بگوییم X را می توان یا نمی توان ثابت کرد. بنابراین مجبوریم به تعریف سوم پناه ببریم:
استدلال قراردادی: تعریف 3:
If X can not be proved in some allocated amount of time, then conclude Y.
اما حالا توجه داشته باشید که تعریف روند استدلالی که توسط آن Y مشتق گردید به چیزی وابسته است که خارج از حیطه منطق قرار دارد. یعنی حالا وابسته به مقدار محاسباتی است که می توان در مدت مشخص شده ای انجام داد و این که آیا آن محاسبات در رابطه با جستجوی اثبات سریع و با راندمان خوبی بوده است یا خیر؟ پس حالا عملاً نمی توان احکامی صوری و رسمی در مورد رفتار سیستم بیان نمود بعلاوه، در مقایسه با منطق مسند
، در اینجا قدرت تعیین صحت یک اثبات را از دست داده ایم. حالا ممکن است اثباتی به ما بدهند که می گویند Y نتیجه شده است زیرا نتوانستیم X را ثابت نماییم. اما با توجه به اینکه اثبات یا عدم اثبات X قطعیت ندارد، بنابراین سیستم هایی که از آن گرفته شده اند نیز از قطعیت برخوردار نیستند. به این ترتیب نیاز به استدلال قراردادی که بخاطر عدم حضور اطلاعات کامل ایجاد می گردد ما را وادار به استفاده از سیستم هایی می کند که عملکرد رفتار آنها را نمی توان به صورت صوری بیان داشت.
حتی اگر در رابطه با شرایطی اطلاعات کامل در دست داشته باشیم، بعید است که این وضع برای مدت طولانی ادامه یابد زیرا دنیا سریعاً در حال تغییر است. به عبارت دیگر احکامی که زمانی صحت داشتند ممکن است دیگر صحیح و دقیق نباشند. این همان «مسئله قالب» است و ما در مورد آن صحبت کردیم. دیدیم که استفاده از متغیرهای وضعیت به حل آن کمک می نمود.
اما متأسفانه این راه حل کاملی نیست. زیرا در این صورت باید حکم جداگانه ای در رابطه با هر وضعیت که در آن یک مسند درست است قرار داد. یعنی تلاش زیادی صورت می گیرد تا یک حقیقت که به آهستگی تغییر می کند بیان گردد. از طرفی با توجه به اینکه پس از هر عمل یک وضعیت جدید معرفی می گردد به سختی می توان متوجه شد
که چندین سلسله عملیات به یک وضعیت یکسان منتهی شده اند. راه دیگر حل مشکل دنیای متغیر، حذف کردن احکامی است که دیگر به دقت دنیا را توصیف نمی نمایند و به جای آنها قرار دادن احکامی که این کار را با دقت و صحت انجام می دهند. بار دیگر این روش منجر به سیستم غیریکنواخت می گردد که در آن می توان احکامی را از بانک دانش حذف یا به آن اضافه نمود و حالا هر بار که حکمی حذف می شود، سایر احکام که وابسته بدان بوده اند نیز ممکن است حذف گردند.
حتی اگر دانستنی هایی که در دسترس یک سیستم قرار دارند از هیچکدام از مشکلات فوق برخوردار نباشند، یک سیستم حل مسئله خوب ممکن است در طی روند حل مسئله، دانش هایی با رفتار غیریکنواخت تولید نماید. فرض کنید می خواهیم برنامه ای بنویسیم که برای یک مسئله نسبتاً ساده به صورت زیر حلی بیابد. مثلاً مسئله ما ممکن است تعیین زمانی باشد که سه نفر که خیلی سرشان شلوغ است
بتوانند در جلسه ای شرکت نمایند. یک راه حل این مسئله به این صورت می باشد که ابتدا فرض کنیم ملاقات در روز خاصی صورت می گیرد (مثلاً چهارشنبه) و حکمی را در این رابطه به انک اطلاعات بیافزاییم و به نحوی مشخص کنیم که این یک فرض است. حالا می توانیم به دنبال زمان مناسب بگردیم و مرتباً با برنامه های آن سه نفر چک نماییم. اگر تناقضی نهایتاً وجود داشت حکمی که فرض ما را بیان می کرد باید حذف گردد و حکم دیگری به جای آن قرار گیرد. البته سایر نتایج که بر اساس آن فرض ایجاد شده اند نیز باید حذف گردند. پس می بینید که سیستمی غیریکنواخت در اختیار داریم.
البته این نوع وضعیت ها را می توان به کمک یک درخت و جستجو در آن با امکان عقب گرد حل نمود. تمام فرض ها و نتایجی که از آنها حاصل گشته اند را می توان به کمک گره هایی نشان داد. وقتی که عدم سازگاری در بانک اطلاعات ایجاد می گردد
عقب گرد به گرهی که دارای مسیرهای بررسی نشده می باشد صورت می گیرد. به این ترتیب فرض ها و استنتاجاتی که به کمک آنها صورت گرفته است به صورت اتوماتیک محو می شوند. نقطه ضعف این روش در شکل نشان داده شده است. در این شکل قسمتی از درخت حل مسئله ارائه گشته است. برای حل مسئله در واقع برنامه باید یک مسئله ارضاء محدودیت را حل نماید یعنی روز و ساعتی را بیابد که هر سه نفر بیکار باشند و اطاق مناسبی هم آزاد باشد.
به شکل نگاه کنید. فرض ها و نتایج حاصله در هر گره ثبت شده است. توجه داشته باشید که هر سه نفر هر روز ساعت 2 بعد از ظهر وقت آزاد دارند. وقتی که برنامه کشف می کند در روز چهارشنبه اطاق خالی جهت برقراری ملاقات یافت نمی شود به قبل از فرض نمودن چهارشنبه به عنوان روز ملاقات عقب گرد می نماید و روز دیگری را انتخاب می نماید و سپس روند قبلی را تکرار می کند تا تشخیص دهد ساعت 2 بعدازظهر مناسب است.

کلمات کلیدی :
» نظر