دانشگاه امام رضا (ع) هوش مصنوعی فصل هفتم عامل های منطقی سعید راحتی 1386 1 تهیه کننده اسالیدها : مصطفی جهانگیر فهرست  عامل های مبتنی بر دانش  دنیای ومپوز  منطق  الگوریتم های استنتاج  دانش.

Download Report

Transcript دانشگاه امام رضا (ع) هوش مصنوعی فصل هفتم عامل های منطقی سعید راحتی 1386 1 تهیه کننده اسالیدها : مصطفی جهانگیر فهرست  عامل های مبتنی بر دانش  دنیای ومپوز  منطق  الگوریتم های استنتاج  دانش.

‫دانشگاه امام رضا (ع)‬
‫هوش مصنوعی‬
‫فصل هفتم‬
‫عامل های منطقی‬
‫سعید راحتی‬
‫‪1386‬‬
‫‪1‬‬
‫تهیه کننده اسالیدها‪ :‬مصطفی جهانگیر‬
‫فهرست‬
‫‪‬عامل های مبتنی بر دانش‬
‫‪‬دنیای ومپوز‬
‫‪‬منطق‬
‫‪‬الگوریتم های استنتاج‬
‫‪‬دانش و استدالل برای عامل های مصنوعی اهمیت دارد‪.‬‬
‫‪‬دانش و استدالل در ارتباط با محیط های نیمه رویت پذیر نیز نقش اساس ی دارد‬
‫‪‬انعطاف پذیری عاملهای مبتنی بر دانش‬
‫‪2‬‬
‫عاملهای مبتنی بر دانش‬
‫‪‬دالیل مطالعه عاملهای مبتنی بر دانش‬
‫‪‬دانش و استدالل برای عامل های مصنوعی اهمیت دارد‪.‬‬
‫‪‬دانش و استدالل در ارتباط با محیط های نیمه رویت پذیر نیز نقش اساس ی دارد‬
‫‪‬انعطاف پذیری عاملهای مبتنی بر دانش‬
‫‪‬جزء اصلي عامل های مبتنی بر دانش‪ ،‬پايگاه دانش(‪ )KB‬آن است‪.‬‬
‫‪‬پايگاه دانش‪ :‬مجموعه ای از جمالت‬
‫‪‬جمله‪ :‬هر جمله در زبانی‪،‬به نام زبان بازنمایی دانش بيان می شود و اظهاری را درباره دنیا بازنمایی می کند‪.‬‬
‫‪‬برای اضافه کردن جمالت به پايگاه دانش و پرس و جو از دانسته ها‬
‫‪TELL ‬و ‪ASK‬‬
‫‪‬هر دو وظیفه ممکن است دارای استنتاج(به دست آوردن جمالت جدید از قدیم) باشند‪.‬‬
‫‪‬استنتاج باید به این صورت باشد که هرگاه سوالی از پایگاه دانش پرسیده شد پاسخ باید از آنچه قبال به پایگاه دانش گفته‬
‫شده(‪ )tell‬نتیجه شود‪.‬‬
‫‪3‬‬
‫یک عامل عمومی مبتنی بر دانش‬
‫عاملهای مبتنی بر دانش‬
‫‪‬عامل پايگاه دانش خيلی شبيه به عاملهايي با حالت درونی است که در فصل ‪ 2‬شرح‬
‫داده شد‪.‬‬
‫‪‬عاملها در دو سطح متفاوت تعريف مي شوند‪:‬‬
‫‪‬سطح دانش‪ :‬عامل چه مي داند و اهدافش چیست تا رفتارش را تنظیم کند‪.‬‬
‫‪‬سطح پياده سازی‪ :‬ساختمان داده ای که عامل از آن استفاده می کند و‬
‫چگونگی دستکاری آنها‬
‫‪‬تمامی قابلیت های عامل های مبتنی بر دانش نظیر بازنمایی‪ ،‬استدالل و فراگیری مدیون‬
‫توسعه نظریه و فن آوری منطق در طول قرن های طوالنی می باشد‪.‬‬
‫دنیای ومپوز‬
‫‪6‬‬
‫دنیای ومپوز‬
‫‪ ‬معيار کارايي‪:‬‬
‫‪ +1000 ‬برداشتن طال‪ -1000 ،‬افتادن در گودال يا خورده شدن توسط ومپوز‪ -1 ،‬انجام‬
‫هر اقدام‪ -10 ،‬برای استفاده از تیر‬
‫‪ ‬محيط‪:‬‬
‫‪ ‬اتاق های مشبک ‪4*4‬‬
‫‪ ‬شروع به حرکت عامل از مربع ]‪1‬و‪ [1‬به طرف راست‬
‫‪ ‬مکان های طال و ومپوز مربع هایی به جز مربع شروع است و به صورت تصادفی با تابع‬
‫توزیع یکنواخت انتخاب شده است‪.‬‬
‫‪ ‬هر مربع به جز مربع شروع می تواند با احتمال ‪ ./2‬گودال باشد‪.‬‬
‫دنیای ومپوز‬
‫‪ ‬محرکها‪:‬‬
‫‪ 90 ‬درجه چرخش به چپ‪ 90 ،‬درجه چرخش به راست‪ ،‬جلو رفتن‪ ،‬برداشتن شیئ‪،‬‬
‫انداختن‪ ،‬تیراندازی در خط مستقیم‪ ،‬مرگ در هنگام ورود به مربع گودال یا ومپوز‬
‫‪ ‬حسگرها‪:‬‬
‫‪ ‬بو بد‪،‬در مربع دارای ومپوز و مربع های مجاور‬
‫‪ ‬نسيم‪ ،‬در مربع های مجاور با گودال‬
‫‪ ‬درخشش‪ ،‬در مربعی که در آن طالست‬
‫‪ ‬ضربه‪ ،‬هنگام برخورد با دیوار‬
‫‪ ‬فریاد‪ ،‬هنگام کشته شدن ومپوز‬
‫دنیای ومپوز‬
‫عامل = ‪A‬‬
‫نسيم = ‪B‬‬
‫درخشش طال = ‪G‬‬
‫مربع امن = ‪OK‬‬
‫گودال = ‪P‬‬
‫بوی بد = ‪S‬‬
‫مالقات شده = ‪V‬‬
‫ومپوز= ‪W‬‬
‫‪9‬‬
‫دنیای ومپوز‬
‫عامل = ‪A‬‬
‫نسيم = ‪B‬‬
‫درخشش طال = ‪G‬‬
‫مربع امن = ‪OK‬‬
‫گودال = ‪P‬‬
‫بوی بد = ‪S‬‬
‫مالقات شده = ‪V‬‬
‫ومپوز= ‪W‬‬
‫‪10‬‬
‫دنیای ومپوز‬
‫عامل = ‪A‬‬
‫نسيم = ‪B‬‬
‫درخشش طال = ‪G‬‬
‫مربع امن = ‪OK‬‬
‫گودال = ‪P‬‬
‫بوی بد = ‪S‬‬
‫مالقات شده = ‪V‬‬
‫ومپوز= ‪W‬‬
‫‪11‬‬
‫دنیای ومپوز‬
‫عامل = ‪A‬‬
‫نسيم = ‪B‬‬
‫درخشش طال = ‪G‬‬
‫مربع امن = ‪OK‬‬
‫گودال = ‪P‬‬
‫بوی بد = ‪S‬‬
‫مالقات شده = ‪V‬‬
‫ومپوز= ‪W‬‬
‫‪12‬‬
‫دنیای ومپوز‬
‫عامل = ‪A‬‬
‫نسيم = ‪B‬‬
‫درخشش طال = ‪G‬‬
‫مربع امن = ‪OK‬‬
‫گودال = ‪P‬‬
‫بوی بد = ‪S‬‬
‫مالقات شده = ‪V‬‬
‫ومپوز= ‪W‬‬
‫‪13‬‬
‫دنیای ومپوز‬
‫عامل = ‪A‬‬
‫نسيم = ‪B‬‬
‫درخشش طال = ‪G‬‬
‫مربع امن = ‪OK‬‬
‫گودال = ‪P‬‬
‫بوی بد = ‪S‬‬
‫مالقات شده = ‪V‬‬
‫ومپوز= ‪W‬‬
‫‪14‬‬
‫دنیای ومپوز‬
‫عامل = ‪A‬‬
‫نسيم = ‪B‬‬
‫درخشش طال = ‪G‬‬
‫مربع امن = ‪OK‬‬
‫گودال = ‪P‬‬
‫بوی بد = ‪S‬‬
‫مالقات شده = ‪V‬‬
‫ومپوز= ‪W‬‬
‫‪15‬‬
‫دنیای ومپوز‬
‫عامل = ‪A‬‬
‫نسيم = ‪B‬‬
‫درخشش طال = ‪G‬‬
‫مربع امن = ‪OK‬‬
‫گودال = ‪P‬‬
‫بوی بد = ‪S‬‬
‫مالقات شده = ‪V‬‬
‫ومپوز= ‪W‬‬
‫‪16‬‬
‫منطق‬
‫‪‬يک زبان بازنمایی دانش‪:‬‬
‫‪‬نحو زبان‪ :‬چه ترکیبی از جمالت درست است‪(.‬خوش شکل)‬
‫‪‬معانی زبان‪ :‬باید معنی جمالت را توضیح دهد‪.‬‬
‫‪‬در تعریف دقیق تر منطق‪ ،‬معانی زبان‪ ،‬درستی هر جمله را در نسبت به هر دنیای‬
‫ممکن تعريف ميکند‪.‬‬
‫‪‬در منطق های استاندارد هر جمله در هر دنیای ممکن یا درست است یا نادرست‬
‫(یعنی بینابین وجود ندارد)‪.‬‬
‫‪‬برای دقت بیشتر کلمه ”مدل“ را به جای ”دنیای ممکن“به کار می بریم‪.‬وقتی می‬
‫گوییم ‪ m‬مدلی از ‪ a‬است یعنی جمله ‪ a‬در مدل ‪ m‬درست است‪.‬‬
‫‪17‬‬
‫منطق‬
‫‪‬مثال‪ ،‬در زبان رياضيات‬
‫‪ X+2 >= y‬يک جمله خوش شکل است اما ‪ x2+y‬چنین نيست‪.‬‬
‫‪ X+2 >= y‬در دنیایی درست است که‪ x=7 :‬و ‪y =1‬‬
‫‪ X+2 >= y‬در دنیایی نادرست است که‪ x=0 :‬و ‪y =6‬‬
‫‪18‬‬
‫ایجاب منطقی‬
‫‪‬ایجاب منطقي بین جمالت اين است که جمله ای از جمله ديگر بطور منطقي استنباط‬
‫می شود‪:‬‬
‫‪a╞b‬‬
‫‪‬جمله ‪ a‬جمله ‪ b‬را ايجاب ميکند‪.‬‬
‫‪‬اگر و فقط اگر‪ ،‬در هر مدلي که ‪ a‬درست است‪ b ،‬نیز درست باشد‪.‬‬
‫‪‬اگر ‪ a‬درست باشد‪ ،‬آنگاه ‪ b‬نیز درست است‪.‬‬
‫‪‬درستی ‪ b‬مستلزم درستی ‪ a‬است‪.‬‬
‫‪‬مثال‪ :‬جمله ‪ x+y=4‬جمله ‪ 4=x+y‬را ایجاب می کند‪.‬‬
‫‪19‬‬
‫مدلهای ومپوز‬
‫‪ 2*2*2=8‬مدل ممکن‬
‫‪20‬‬
‫مدلهای ومپوز‬
‫‪ KB‬شامل قواعد دنیای ومپوز و حقایق موجود در این دنیاست‬
‫‪21‬‬
‫مدلهای ومپوز‬
‫‪22‬‬
‫حقایق ‪+‬قواعد = ‪KB‬‬
‫‪ ", KB ╞ α1‬هیچ گودالی در (‪1‬و‪)2‬وجود ندارد ” = ‪α1‬‬
‫مدلهای ومپوز‬
‫واقعیت ها ‪+‬قواعد = ‪KB‬‬
‫‪23‬‬
‫مدلهای ومپوز‬
‫‪24‬‬
‫حقایق ‪+‬قواعد = ‪KB‬‬
‫‪ ", KB ╞ α1‬هیچ گودالی در (‪2‬و‪)2‬وجود ندارد ” = ‪α1‬‬
‫بررس ی الگوریتم های استنتاج‬
‫‪ ‬الگوریتم استنتاج مثال قبل را وارس ی مدل می گویند‪ ،‬زیرا تمامی مدلهای ممکن را‬
‫برشماری می کند تا وارس ی کند که آیا ‪ a‬در تمام مدل های درست ‪ ،KB‬درست‬
‫است یا خیر‪.‬‬
‫‪ ‬الگوریتم استنتاجی که فقط جمالت ایجابی را به دست می آورد‪ ،‬صحیح یا حقیقت‬
‫نگهدار نامیده می شود‪.‬‬
‫‪ ‬یک الگوریتم استنتاج کامل است در صورتی که بتواند هر جمله ایجاب شدنی را به‬
‫دست آورد‪.‬‬
‫منطق گزاره ای‬
‫‪‬نحو منطق گزاره ای ‪ ،‬جمالت مجاز را تعیین ميکند‪.‬‬
‫‪‬جمالت بسیط(عناصر نحوی غیر قابل تجزیه) از يک نماد گزاره ای تشکيل می شود‪.‬‬
‫‪‬هر يک از اين نمادها نمایانگر یک گزاره است که می تواند درست يا نادرست باشد‪.‬‬
‫‪‬نمادها از حروف بزرگ مثل ‪ R,Q,P‬استفاده ميکنند‪.‬‬
‫‪‬دونماد گزاره ای با معنی ثابت‪:‬‬
‫‪ :True‬گزاره همواره درست‬
‫‪:False‬گزاره همواره نادرست‬
‫‪26‬‬
‫نحو منطق گزاره ها‬
‫‪ ‬جمالت مرکب به کمک رابطهای منطقي‪ ،‬از جمالت ساده تر تشکیل مي شوند‪.‬‬
‫‪ )not( ┐ ‬جمله ای نظیر ‪ ┐W1,3‬نقيض ‪ W1,3‬است‪.‬‬
‫‪ ‬یک ليترال‪ ،‬یا يک جمله بسیط(ليترال مثبت)است ‪ ،‬يا نقیض جمله بسیط (ليترال‬
‫منفي)‪.‬‬
‫‪ )and( ^ ‬مثل ‪ W1,3 ^ P1,3‬ترکيب عطفی نام دارد‪ .‬اجزای آن يک عطفها هستند‪.‬‬
‫‪ )or( ν ‬مثل ‪ )W1,3 ^ P3,1( ν W2,2‬ترکيب فصلي مربوط به فاصلهای ‪ W2,2‬و‬
‫‪W1,3 ^ P3,1‬‬
‫‪( => ‬استلزام)‪ )W1,3 ^ P3,1( ν ┐ W2,2 :‬استلزام يا شرطی ناميده ميشود‪ .‬فرض‬
‫آن یا مقدم آن ‪ W1,3 ^ P3,1‬و نتيجه يا تالي آن ‪ ┐ W2,2‬است‪.‬‬
‫‪(  ‬اگر و فقط اگر)جمله ‪ W1,3  W2,2‬دو شرطی نام دارد‪.‬‬
‫معانی منطق گزاره ها‬
‫► معانی‪ ،‬قواعد تعیین درستی یک جمله نسبت به یک مدل خاص را تعریف می کند‪.‬‬
‫► در منطق گزاره ای‪ ،‬یک مدل‪ ،‬مقدار درستی را برای هر نماد گزاره ای تعیین می کند‪.‬‬
‫► معانی منطق گزاره ای‪ ،‬باید چگونگی محاسبه مقدار درستی هر جمله با توجه به یک مدل را‬
‫مشخص کند‪.‬‬
‫► این کار به صورت بازگشتی انجام می شود‬
‫► تمام جمالت از جمالت بسیط و پنج رابط ساخته می شوند‪.‬‬
‫‪28‬‬
‫جداول درستی برای پنج رابط منطقی‬
P
Q
┐P P ^ Q P ν Q P=>Q PQ
F
F
T
F
F
T
T
F
T
T
F
T
T
F
T
F
F
F
T
F
F
T
T
F
T
T
T
T
29
‫منطق گزاره ای در دنيای ومپوز‬
‫در ‪ B1,1‬نسيمي وجود دارد‬
‫)‪B1,1  (P1,2 ν P2,1‬‬
‫در ]‪ [1,1‬گودالی وجود ندارد‬
‫‪R1: ┐P1,1‬‬
‫‪30‬‬
‫هم ارزی‪ ،‬اعتبار و ارضا پذیری‬
‫‪ ‬هم ارزی منطقی ‪ :‬دو جمله ‪ a , b‬هم ارز منطقی هستند اگر در مجموعه مدل‬
‫های یکسان‪ ،‬درست باشند‪.‬این مفهوم را به شکل‬
‫‪ a  b‬می نویسیم‪.‬‬
‫‪ ‬اعتبار ‪ :‬یک جمله معتبر است در صورتی که در تمامی مدلها‪ ،‬درست باشد‪.‬جمالت‬
‫معتبر به عنوان بدیهیات نیز شناخته می شوند‪.‬‬
‫‪ ‬ارضا پذیری ‪ :‬یک جمله ارضا پذیر است اگر در بعض ی مدلها درست باشد‪.‬‬
‫هم ارزی های منطقی استاندارد‬
‫‪32‬‬
‫الگوهای استدالل در منطق گزاره ای‬
‫‪‬قواعد استنتاج‪ :‬الگوهاي استنتاج استانداردی که می توانند برای حصول زنجیره ای از‬
‫نتايج که به هدف مطلوب منجر می شود به کار برده شوند‪.‬‬
‫‪‬قياس استثنايي‪ :‬با استفاده از ترکيب عطفی‪ ،‬ميتوان هر عطف را استنتاج کرد(يعنی هر‬
‫وقت جمله ای به شکل ‪ a=>b‬داده شود‪ ،‬جمله ‪ b‬را ميتوان استنتاج کرد‪).‬‬
‫‪   ,‬‬
‫‪‬‬
‫‪33‬‬
‫‪‬حذف عطف‪ :‬هر عطف را مي توان از ترکيب عطفی استنتاج کرد‬
‫‪ ‬‬
‫‪‬‬
‫خاصيت يکنواختی‬
‫مجموعه جمالت ایجاب شده فقط زمانی مي توانند افزایش یابند که اطالعاتی به پایگاه‬
‫دانش افزوده شود‪.‬‬
‫برای جمالت ‪ a‬و ‪ b‬داريم‪:‬‬
‫‪34‬‬
‫‪KB |   KB   | ‬‬
‫تحلیل‬
‫‪‬تحلیل واحد‪ ،‬يک عبارت و يک ليترال را گرفته‪ ،‬عبارت ديگری توليد مي کند‪.‬‬
‫‪l1  ... lk , m‬‬
‫‪l1  ... li1  li1  ... lk‬‬
‫‪‬قاعده تحلیل واحد مي تواند به قاعده تحلیل کامل تعميم داده شود‪:‬‬
‫‪l1  ... lk , m1  ... mn‬‬
‫‪l1  ... li1  li1  ... lk  m1  ... m j 1  m j 1  ... mn‬‬
‫‪35‬‬
‫تحلیل‬
‫‪‬شکل نرمال عطفی(‪ :)CNF‬جمله ای که بصورت ترکيب عطفی از ترکيبات فصلي ليترالها‬
‫بيان ميشود‪.‬در هر عبارت موجود در جمله ‪ k-CNF‬دقيقا ‪ k‬ليترال وجود دارد‬
‫) ‪(l1,1  ... l1,k )  ... (ln,1  ... ln,k‬‬
‫‪36‬‬
‫تحلیل‬
‫‪ ‬الگوريتم تحلیل‪:‬‬
‫‪ ‬برای اينکه نشان دهيم ‪ ,KB|=a‬مشخص ميکنيم (‪ )KB ^ ┐a‬ارضا کننده نيست‬
‫‪ ‬ابتدا (‪ )KB ^ ┐a‬را به شکل نرمال عطفی تبديل ميکنيم‬
‫‪ ‬سپس قانون تحلیل به عبارات کوچک حاصل‪ ،‬اعمال مي شود‪.‬‬
‫‪ ‬هر جفتی که شامل ليترالهای مکمل باشد‪ ،‬تحلیل ميشود تا عبارت جديدی ايجاد گردد‬
‫‪ ‬اگر اين عبارت قبال در مجموعه نباشد‪ ،‬به آن اضافه ميشود‬
‫‪ ‬فرايند تا محقق شدن يکي از شروط زير ادامه مي يابد‪:‬‬
‫‪ ‬هيچ عبارت ديگری وجود نداشته باشد که بتواند اضافه شود‪ .‬در اين مورد‪b ،‬‬
‫استلزام ‪ a‬نيست‬
‫‪ ‬کاربرد قانون تحلیل‪ ،‬عبارت تهی را بدست ميدهد که در اين مورد‪ b ،‬استلزام ‪a‬‬
‫است‬
‫مثال‪:‬الگوريتم تحلیل‬
‫‪KB = (B1,1  (P1,2 P2,1))  B1,1 α = P1,2‬‬
‫‪38‬‬
‫زنجيره ای پيش رو و پس رو‬
‫‪‬بند های هورن‪ :‬ترکيب فصلی ليترالهايي است که فقط يکي از آنها مثبت است‪.‬‬
‫‪‬ه ررر بن ررد ه ووورن را ميت رروان ب رره ص ررورت ي ررک اس ررتلزام نوش ررت ک رره مقدم رره آن ترکي ررب‬
‫عطفی ليترالهای مثبت و تالی آن يک ليترال مثبت است‬
‫‪‬اي ررن ن رروع بن رردهای ه ررورن ک رره فق ررط ي ررک ليت ررال مثب ررت دارن ررد‪ ،‬بن رردهای مع ووين نامي ررده‬
‫ميشوند‬
‫‪‬ليترال مثبت را سرو ليترالهای منفی را بدنه بندها گويند‬
‫‪‬عبارت معيني که فاقد ليترالهای منفی باشد‪ ،‬گزاره ای بنام واقعیت نام دارد‪.‬‬
‫‪‬بند های معين اساس برنامه نويس ي منطقی را ميسازد‬
‫‪‬اس ررتنتاج ب ررا بن رردهای ه ررورن‪ ،‬از طري ررق الگ رروريتم ه ررای زنجي ووره ای پ وويش رو و زنجي ووره ای پ وس رو‬
‫انجام ميگیرد‬
‫‪39‬‬
‫زنجير پيش رو‬
‫الگوريتم زنجیر پيش رو تعيین ميکند آيا نماد گزاره ای ‪(q‬تقاضا)‪ ،‬توسط پايگاه دانش‬
‫بند های هورن ايجاب ميشود يا خیر‬
‫‪40‬‬
‫زنجير پيش رو‬
‫‪41‬‬
‫زنجير پيش رو‬
‫‪42‬‬
‫زنجير پيش رو‬
‫‪43‬‬
‫زنجير پيش رو‬
‫‪44‬‬
‫زنجير پيش رو‬
‫‪45‬‬
‫زنجير پيش رو‬
‫‪46‬‬
‫زنجير پيش رو‬
‫‪47‬‬
‫زنجير پيش رو‬
‫‪48‬‬
‫الگوريتم عقبگرد کامل‬
‫‪49‬‬
‫الگوريتم پس گرد کامل‬
‫‪‬تغيیرات عمده‪ :‬خاتمه زودهنگام‪ ،‬هیوریستیک نماد محض‪ ،‬هیوریستیک بند واحد‬
‫‪50‬‬
‫الگوريتم پس گرد کامل‬
‫‪51‬‬
‫الگوريتم پس گرد کامل‬
‫‪52‬‬
‫الگوريتم پس گرد کامل‬
‫‪53‬‬
‫الگوريتم پس گرد کامل‬
‫‪54‬‬
‫الگوريتم پس گرد کامل‬
‫‪55‬‬
‫الگوريتم پس گرد کامل‬
‫‪56‬‬
‫الگوريتم پس گرد کامل‬
‫‪57‬‬
‫الگوريتم پس گرد کامل‬
‫‪58‬‬
‫الگوريتم پس گرد کامل‬
‫‪59‬‬