Transcript EEE 243B

‫به نام خداوند بخشنده ی مهربان‬
‫‪1‬‬
‫هوش مصنوعی‬
Artificial Intelligence
By M. Joudaki
2
‫هوش مصنوعی‬
‫ منابع و مراجع‬
‫ هوش مصنوعی‬
‫ جی راسل و پیتر نورویگ‬.‫ استوارت‬:‫ نویسندگان‬
‫ حمید تیموری‬،‫ محمد بهداد‬،‫ سعید راحتی‬:‫ مترجمان‬
Artificial Intelligence A Modern Approach ‫ روی وبالگ‬
Stuart J. Russell and Peter Norvig 
Artificial Intelligence 
Elaine Rich 
3
‫هوش مصنوعی‬
‫‪ ‬ارزیابی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫امتحان میان ترم‬
‫پروژه‬
‫تمرین‬
‫امتحان پایان ترم‬
‫جزییات بیشتر در آینده‬
‫‪ ‬ارتباط من با شما‬
‫‪ ‬کالس درس‬
‫‪ ‬وبالگ درس ‪http://mylectures.blogfa.com‬‬
‫‪ ‬ارتباط شما با من‬
‫‪ ‬پست الکترونیک درس ‪[email protected]‬‬
‫‪4‬‬
‫نکات قابل توجه در کالس درس‬
‫‪ ‬حضور به موقع‬
‫‪ ‬حضور من‬
‫‪ ‬حضور شما‬
‫‪ ‬عواقب‬
‫‪ ‬خاموش کردن تلفن همراه‬
‫‪ ‬عواقب‬
‫‪ ‬رعایت احترام‬
‫‪5‬‬
‫فصل اول‬
‫معرفی‬
‫‪6‬‬
‫مقدمه‬
‫‪ ‬نام علمی انسان‪ Homo Sapiens ،‬به معنای انسان خردمند‬
‫‪ ‬تالش بشر برای فهمیدن‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فکر کردن‬
‫حس کردن‬
‫پیش بینی کردن‬
‫کنترل محیط اطراف‬
‫‪ ‬هوش مصنوعی ‪ :‬همه کارهای باال‪ ،‬فراتر رفتن و ساختن موجودات هوشمند‬
‫‪7‬‬
‫هوش مصنوعی ؟‬
‫‪ ‬سیستم عقالنی‬
‫‪ ‬سیستم بر اساس دانسته هایش ”کار درست“ را انجام دهد‪.‬‬
‫‪ ‬تعاریفی در مورد هوش مصنوعی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪8‬‬
‫فکر و استدالل‬
‫تفکر انسان‬
‫عملکرد انسان‬
‫مفهوم ایده آل هوشمندی‬
‫هوش مصنوعی ؟‬
‫تفکر انسان گونه‬
‫تفکر خردمندانه‬
‫رفتار انسان گونه‬
‫رفتار خردمندانه‬
‫رفتار‬
‫‪9‬‬
‫مفهوم ایده آل‬
‫هوشمندی‬
‫عملکرد انسان‬
‫فکر و استدالل‬
‫هوش مصنوعی(عملکرد انسان گونه)‬
‫‪ ‬آزمون تورینگ(‪)Turing Test 1950‬‬
‫‪10‬‬
‫هوش مصنوعی(عملکرد انسان گونه) (ادامه‪)...‬‬
‫‪ ‬آزمون تورینگ(‪)Turing Test‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫پردازش زبان طبیعی(‪)Natural Language Processing‬‬
‫بازنمایی دانش(‪)Knowledge Representation‬‬
‫استدالل خودکار(‪)Automated Reasoning‬‬
‫یادگیری ماشین(‪)Machine Learning‬‬
‫‪ ‬آزمون جامع تورینگ(‪)Total Turing Test‬‬
‫‪ ‬همه موارد باال‬
‫‪ ‬بینایی کامپیوتر(‪)Computer Vision‬‬
‫‪ ‬علم رباتیک(‪)Robotic‬‬
‫‪11‬‬
‫هوش مصنوعی(تفکر انسان گونه)‬
‫‪ ‬انسان چگونه فکر میکند؟‬
‫‪ ‬درونگری‪ :‬ثبت افکار در حالی که می گذرند‪.‬‬
‫‪ ‬روانشناس ی‬
‫‪ ‬علم شناخت(‪)Cognitive Modeling‬‬
‫‪ ‬مدل های کامپیوتری هوش مصنوعی ‪ +‬فنون تجربی روانشناس ی ← طرز کار ذهن‬
‫‪ ‬مثال ‪ )Global Problem Solver ( GPS‬آلن نیوول ‪ -‬هربرت سیمون‬
‫‪12‬‬
‫هوش مصنوعی(تفکر خردمندانه)‬
‫‪ ‬ارسطو ‪ ،‬قیاس صوری‪ :‬فرض درست ← نتیجه درست‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪A is B and B is C → A is C‬‬
‫منطق(‪)Logic‬‬
‫امید به پیدا کردن برنامه های اصطالحا منطق گرا در زمینه هوش مصنوعی و در نتیجه خلق‬
‫سیستم های هوشمند‪.‬‬
‫دو تا مشکل؟‬
‫‪ ‬بیان دانش غیر رسمی با استفاده از کلمات رسمی نظام عالمت گذاری منطق کار آسانی نیست‪.‬‬
‫‪ ‬بین توانایی حل یک مساله از دیدگاه نظری و انجام این کار در عمل تفاوت بسیار زیادی وجود دارد‪.‬‬
‫‪ ‬مسائل مهار نشدنی ‪ -‬عدم توقف برنامه ؟؟؟‬
‫‪13‬‬
‫هوش مصنوعی(عملکرد خردمندانه)‬
‫‪ ‬عامل(‪ :)Agent‬هر چیزی که کاری را انجام می دهد‪.‬‬
‫‪ ‬فرق عامل ها با برنامه های کامپیوتری معمولی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫عمل با کنترل خودمختار‬
‫درک محیط‬
‫استمرار در طول زمان‬
‫انطباق با تغییرات‬
‫توانایی پیگیری هدف یک عامل دیگر‬
‫‪ ‬عامل عقالنی‬
‫‪ ‬رسیدن به بهترین نتیجه و در صورت عدم قطعیت پیدا کردن بهترین نتیجه ممکن‬
‫‪14‬‬
‫هوش مصنوعی(عملکرد خردمندانه) (ادامه‪)...‬‬
‫‪ ‬عقالنیت‪ :‬استنتاج صحیح ‪ +‬اقدام‬
‫‪ ‬مواقعی که هیچ کار صحیح قابل اثباتی وجود ندارد ولی اقدامی باید صورت گیرد‪.‬‬
‫‪ ‬اجاق گاز‪ ،‬عمل واکنش ی‪ ،‬عدم استدالل‪ ،‬نتیجه بهتر از تفکر‬
‫‪ ‬مطالعه هوش مصنوعی از این دیدگاه دو مزیت دارد‪:‬‬
‫‪ ‬بسیار کلی تر از تفکر خردمندانه‪ ،‬به دلیل داشتن عقالنیت‬
‫‪ ‬نسبت به رفتار و تفکر انسان بسیار بیشتر تابع پیشرفت علمی است‬
‫‪ ‬استاندارد عقالنیت به وضوح تعریف شده است‪.‬‬
‫‪ ‬وابستگی رفتار انسان به محیط خاص‪.‬‬
‫‪ ‬نقش فرایند تکامل در شکل گیری رفتار‪.‬‬
‫‪15‬‬
‫علوم مرتبط و مبانی هوش مصنوعی‬
‫‪ ‬هوش مصنوعی‪ ،‬دانش ی میان رشته ای‬
‫‪ ‬مطالعه بیشتر (کتاب و منابع مطالعاتی‪)...‬‬
‫‪16‬‬
‫فصل دوم‬
‫عامل های هوشمند‬
‫‪17‬‬
‫رئوس مطالب‬
‫‪ ‬عامل ها و محیط ها‬
‫‪ ‬عقالنیت(‪) Rationality‬‬
‫‪ ‬معیار کارآیی‪ ،‬محیط‪ ،‬عمل کننده ها‪ ،‬حسگرها ‪PEAS‬‬
‫‪ ‬انواع محیط‬
‫‪ ‬انواع عامل‬
‫‪18‬‬
‫عامل ها و محیط ها‬
‫‪ ‬عامل‪ :‬انسان‪ ،‬ربات‪ ،‬عامل نرم افزاری‪ ،‬ترموستات و غیره‬
‫‪ ‬تابع عامل(‪ :)agent function‬رشته ادراکات را به یک اقدام نگاشت می کند‪.‬‬
‫‪ ‬برنامه عامل(‪ :)agent program‬بر روی یک معماری فیزیکی برای تولید ‪ f‬در حال‬
‫اجرا است‪.‬‬
‫‪19‬‬
‫دنیای جارو برقی‬
‫‪ ‬ادراکات(‪ :)percepts‬موقعیت و محتوا‪ .‬مثال‪[A, Dirty] :‬‬
‫‪ ‬اقدام‪Left, Right, Suck, NoOp :‬‬
‫‪20‬‬
‫یک عامل جارو برقی‬
‫‪ ‬مقادیر متفاوت در ستون سمت راست ← عامل های مختلف‪.‬‬
‫‪ ‬عامل خوب یا بد و یا احمق ؟؟؟‬
‫‪21‬‬
‫عقالنیت‬
‫‪ ‬عامل عقالنی‪ :‬عاملی که کار درست انجام می دهد‪.‬‬
‫‪ ‬کار درست‪ :‬اقدامی است که باعث می شود عامل موفق ترین باشد‪.‬‬
‫‪ ‬معیار موفقیت؟‬
‫‪ ‬معیار کارایی میزان موفقیت یک عامل را نشان می دهد‪.‬‬
‫‪ ‬معیار موفقیت برای همه عامل ها ثابت نیست‪.‬‬
‫‪ ‬در زمان ‪ T‬به ازای هر مربع که تمیز می شود یک امتیاز داده شود‪.‬‬
‫‪ ‬امتیاز مثبت برای هر مربع که تمیز می شود و امتیاز منفی برای تولید سروصدا و مصرف برق‪.‬‬
‫‪ ‬امتیاز منفی برای مربع های کثیف‪.‬‬
‫‪ ‬عامل عقالنی بر اساس شواهد حاصل از رشته ادراکات و دانش درونی خود‪ ،‬اقدامی‬
‫را انتخاب می کند که مقدار معیار کارایی مورد انتظار را افزایش دهد‪.‬‬
‫‪22‬‬
‫عقالنیت(ادامه‪)...‬‬
‫‪ ‬عقالنیت ≠ همه چیز دانی‬
‫‪ ‬ادراکات همه ی اطالعات مرتبط را فراهم نمی کنند‪.‬‬
‫‪ ‬عقالنیت کارایی مورد انتظار را بیشینه می کند‪ ،‬در حالی که کمال کارایی واقعی را ‪.‬‬
‫‪ ‬محیط های متغیر‬
‫‪ ‬یادگیری‪.‬‬
‫‪ ‬مثال سوسک و زنبور‬
‫‪ ‬خودمختاری‬
‫‪ ‬استفاده از ادراکات برای اصالح دانش غلط یا ناقص قبلی‬
‫‪ ‬دانش اولیه در عامل = غریزه در حیوانات‬
‫‪ ‬اکتشاف ‪ +‬یادگیری ‪ +‬خودمختاری ← عقالنیت‬
‫‪23‬‬
‫‪PEAS‬‬
‫‪ ‬برای طراحی یک عامل عقالنی ابتدا باید محیط کار آن را در حد امکان به صورت‬
‫کامل تعیین کنیم‪.‬‬
‫‪ ‬مثال‪ :‬راننده خودکار تاکس ی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪24‬‬
‫معیار کارایی؟ امنیت‪ ،‬مقصد‪ ،‬مصرف بهینه‪ ،‬احترام به قانون‪ ،‬راحتی مسافران‬
‫محیط؟ خیابان ها و بزرگراه ها‪ ،‬ترافیک‪ ،‬عابران پیاده‪ ،‬شرایط آب و هوا‬
‫اقدام گرها؟ فرمان اتومبیل‪ ،‬پدال گاز‪ ،‬ترمز‪ ،‬بوق‪ ،‬بلندگو و صفحه نمایش برای ارتباط‬
‫حسگرها؟ تصویری‪ ،‬سرعت سنج‪ ،‬سنسور مقدار سوخت‪ ،‬حسگرهای موتور‪GPS ،‬‬
‫‪(PEAS‬ادامه‪)...‬‬
‫‪ ‬مثال دیگر‪ :‬عامل خرید اینترنتی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪25‬‬
‫معیار کارایی؟ قیمت‪ ،‬کیفیت‪ ،‬تناسب‪ ،‬کارایی‬
‫محیط؟ صفحات وب جاری و صفحاتی که در آینده مالقات می شوند‪ ،‬فروشنده‪ ،‬حمل کننده‬
‫اقدام گرها؟ نمایش به کاربر‪ ،‬دنبال کردن لینک ها‪ ،‬پر کردن فرم ها‬
‫حسگرها؟ صفحات ‪(HTML‬متن ها‪ ،‬گرافیک‪ ،‬اسکریپت ها)‬
‫محیط‬
‫‪ ‬هر محيط داراي مجموعه اي از حالت ها مي باشد‪:‬‬
‫‪ ‬محيط در هر لحظه فقط در يكي از اين حالت ها مي باشد‪.‬‬
‫‪ ‬مثال‪ :‬دنیای جاروبرقی‬
‫}‪S = {1, 2, 3, 4, 5, 6, 7, 8‬‬
‫‪26‬‬
‫عامل و محیط‬
‫‪ ‬در لحظه شروع‪ ،‬محيط در يكي از حالت هاي ممكن مي باشد‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫عمل عامل در محيط‪ ،‬باعث تغيیر حالت محيط مي شود‪.‬‬
‫حالت فعلي ‪Si :‬‬
‫عمل عامل ‪Action :‬‬
‫حالت بعدي ‪Sj :‬‬
‫‪ ‬مثال‪ :‬دنیای جاروبرقی‬
‫‪27‬‬
‫انواع محیط‬
‫‪ ‬كامال قابل مشاهده (در مقابل مشاهده پذير جزئي)‬
‫‪ ‬قطعي (در مقابل اتفاقي)‬
‫‪ ‬اپیزودیک (در مقابل ترتيبي)‬
‫‪ ‬ايستا (در مقابل پويا)‬
‫‪ ‬گسسته (در مقابل پيوسته)‬
‫‪ ‬تك عاملي (در برابر چند عاملي)‬
‫‪28‬‬
‫انواع محیط(ادامه‪)...‬‬
‫‪ ‬كامال قابل مشاهده (در مقابل مشاهده پذير جزئي)‪ :‬محيطي كه در آن در هر لحظه از‬
‫زمان حسگرهاي عامل به آن امكان دستيابي به حالت كامل محيط را مي دهند‪.‬‬
‫‪ ‬مثال‪ :‬دنياي جاروبرقی ‪ -‬حسگرها‪[ location, status] :‬‬
‫‪ ‬تشخيص مكان ‪ :‬چپ يا راست‬
‫‪ ‬تشخیص وضعیت‪ :‬تمیز ویا کثیف‬
‫]‪[LEFT, CLEAN‬‬
‫‪29‬‬
‫انواع محیط(ادامه‪)...‬‬
‫‪ ‬قطعي (در مقابل اتفاقي)‪ :‬حالت بعدي محيط كامال بوسيله حالت فعلي و عمل انجام‬
‫شده توسط عامل قابل تعيین مي باشد‪.‬‬
‫‪ ‬اگر محيط به جز در مورد عمل عامل هاي ديگر قطعي باشد‪ ،‬آنگاه محيط استراتژيك مي باشد‪.‬‬
‫مکش‬
‫؟؟؟‬
‫‪30‬‬
‫مکش‬
‫قطعی‬
‫اتفاقی‬
‫انواع محیط(ادامه‪)...‬‬
‫‪ ‬اپیزوديك (در مقابل ترتيبي)‪ :‬تجربه عامل به ”دوره های“غیرقابل تجزيه تقسيم مي‬
‫شود (هر دوره شامل ادراك عامل و سپس انجام يك عمل مي باشد) و انتخاب عمل‬
‫در هر دوره تنها به خود همان دوره بستگي دارد‪.‬‬
‫‪ ‬مثال‪ :‬روبات كنترل كننده كيفيت‬
‫‪31‬‬
‫انواع محیط(ادامه‪)...‬‬
‫‪ ‬ايستا (در مقابل پويا)‪ :‬محيط در حین سنجش عامل (براي انتخاب عمل) تغيیر نمي‬
‫كند‪.‬‬
‫‪ ‬اگر خود محيط با گذشت زمان تغيیر نكند ولي معيار كارآيي عامل تغيیر كند‪ ،‬آنگاه‬
‫محيط نيمه پويا مي باشد(شطرنج با ساعت)‬
‫‪32‬‬
‫انواع محیط(ادامه‪)...‬‬
‫‪ ‬گسسته (در مقابل پيوسته)‪ :‬محيطي كه در آن تعداد محدود و متمايزي از ادراك و‬
‫عمل هاي كامال واضح تعريف شده باشد‪.‬‬
‫‪ ‬در محيط گسسته‪ ،‬مجموعه حاالت محيط يك مجموعه گسسته مي باشد و حاالت‬
‫بسادگي قابل تمايز مي باشند‪.‬‬
‫‪ ‬مثال‪ :‬محيط دنياي جاروبرقی‬
‫}‪– State = {1, 2, …, 8‬‬
‫}‪– Action = {Left, Right, Suck, NoOp‬‬
‫}… ‪– Percept = {[Left, Clean], [Left, Dirty], [Right, Clean],‬‬
‫‪33‬‬
‫انواع محیط(ادامه‪)...‬‬
‫‪ ‬تك عاملي (در برابر چند عاملي)‪ :‬يك عامل خودش به تنهايي در محيط عمل مي كند‪.‬‬
‫‪ ‬مثال‪ :‬محيط عامل حل كننده جدول كلمات متقاطع و دنياي مكش‬
‫‪ ‬چند عاملي‪ :‬تعدادي عامل كه با يكديگر در تعامل مي باشند‪.‬‬
‫‪ ‬مثال‪ :‬شطرنج (رقابتي)‪ ،‬روبوكاپ (بین اعضاي يك تيم همياري و بین اعضاي دو تيم‬
‫رقابتي)‪ ،‬محيط تاكس ي خودكار (هميياري جزيي)‬
‫‪34‬‬
‫انواع محیط(ادامه‪)...‬‬
‫شطرنج با ساعت‬
‫رانندگي تاكس ي‬
‫بله‬
‫خیر‬
‫استراتژیک‬
‫خیر‬
‫خیر‬
‫خیر‬
‫نیمه پویا‬
‫خیر‬
‫گسسته‬
‫بله‬
‫خیر‬
‫تك عاملي‬
‫خیر‬
‫خیر‬
‫كامال قابل مشاهده‬
‫قطعي‬
‫دوره اي‬
‫ايستا‬
‫‪ ‬نوع محیط تاثیر بسیار زیادی بر طراحی عامل خواهد گذاشت‪.‬‬
‫‪ ‬دنیای واقعی‪ :‬مشاهده پذير جزئي‪ ،‬اتفاقي‪ ،‬ترتيبي‪ ،‬پويا‪ ،‬پيوسته و چندعاملي‬
‫‪35‬‬
‫توابع و برنامه هاي عامل‬
‫‪ ‬يك عامل كامال بوسيله تابع عامل مشخص مي شود‪.‬‬
‫‪ ‬يادآوري‪ :‬تابع عامل دنباله ادراكي را به عمل نگاشت مي كند‪.‬‬
‫‪ ‬يك تابع عامل (يا يك كالس هم ارزي كوچك) منطقي (‪ )rational‬مي باشد‪.‬‬
‫‪ ‬هدف‪ :‬يافتن روش ي به منظور پياده سازي تابع عامل منطقي به طور مختصر و مفيد‬
‫‪36‬‬
‫عامل مبتني بر جدول جستجو‬
‫‪ ‬يك روش به منظور توصيف تابع عامل‬
‫‪ ‬نشان دهنده فعاليت مناسب براي هر دنباله ادراكي ممكن‬
‫‪ ‬مثال‪ :‬جدول دنياي جاروبرقي‬
‫‪37‬‬
‫برنامه عامل مبتني بر جدول جستجو‬
‫‪38‬‬
‫عامل مبتني بر جدول جستجو(ادمه‪)...‬‬
‫‪ ‬معايب‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪39‬‬
‫جدول بسيار عظيم (مثال در شطرنج ‪ 10150‬سطر‪ ،‬اتم ها در دنیای واقعی کمتر از ‪) 1080‬‬
‫زمان بسيار زياد براي ايجاد جدول و احتمال باالي خطا‬
‫عدم خود مختاري‬
‫حتي با قابليت يادگیري‪ ،‬نياز به زمان بسيار زيادي براي يادگیري مداخل جدول دارد‪.‬‬
‫انواع عامل ها‬
‫‪ ‬چهار نوع اصلي به ترتيب افزايش عموميت )‪:(Generality‬‬
‫‪ ‬عامل هاي واكنش ي ساده )‪(Simple reflex‬‬
‫‪ ‬عامل هاي واكنش ي مبتني بر مدل )‪(Model-based reflex‬‬
‫‪ ‬عامل هاي مبتني بر هدف )‪(Goal-based‬‬
‫‪ ‬عامل هاي مبتني بر سودمندي )‪(Utility-based‬‬
‫‪40‬‬
‫عامل هاي واكنش ي ساده‬
‫‪ ‬ساده ترين نوع عامل‬
‫‪ ‬در هر لحظه‪ ،‬عمل تنها بر اساس درك فعلي انتخاب مي شود‬
‫‪ ‬مثال‪:‬‬
‫‪ ‬شامل قوانین شرط‪ -‬عمل مانند‪:‬‬
‫‪“ ‬اگر چراغ ترمز اتومبيل جلويي روشن شد‪ ،‬آنگاه ترمز كن”‬
‫‪41‬‬
‫ساختار عامل هاي واكنش ي ساده‬
‫‪42‬‬
‫برنامه عامل واكنش ي ساده‬
‫‪43‬‬
‫عامل هاي واكنش ي مبتني بر مدل (حافظه دار)‬
‫‪ ‬عامل واكنش ي ساده در صورتي كار مي كند كه محيط كامال قابل مشاهده باشد‬
‫‪ ‬اگر محيط مشاهده پذير جزئي باشد‪ ،‬پيگیري تغيیرات دنيا الزم است‬
‫‪ ‬مثال‪ :‬تاكس ي اتوماتيك‬
‫‪ ‬مستلزم دو نوع دانش‬
‫‪ ‬نحوه تغيیر دنيا‬
‫‪ ‬تاثیر اعمال عامل بر دنيا‬
‫‪44‬‬
‫عامل هاي واكنش ي مبتني بر مدل(ادامه‪)...‬‬
‫‪45‬‬
‫برنامه عامل هاي واكنش ي مبتني بر مدل‬
‫‪46‬‬
‫عامل هاي مبتني بر هدف‬
‫‪ ‬اطالعات الزم براي تصميم گیري در مورد عملي كه بايد انجام شود‪:‬‬
‫‪ ‬اطالعات مربوط به حالت فعلي‬
‫‪ ‬اطالعات هدف (توصيف موقعيت مطلوب)‬
‫‪ ‬مثال‪:‬‬
‫‪ ‬عمل مناسب براي تاكس ي اتوماتيك در يك چهار راه كدام است؟ (باال‪ ،‬پايین چپ‪ ،‬راست)‬
‫‪ ‬اگر براي رسيدن به هدف نياز به چندين عمل باشد‬
‫‪ ‬جستجو (‪)Search‬‬
‫‪ ‬برنامه ریزی (‪)Planning‬‬
‫‪47‬‬
‫عامل هاي مبتني بر هدف‬
‫‪48‬‬
‫مثال‪ :‬عامل هدف گرا‬
‫‪49‬‬
)...‫ عامل هدف گرا(ادامه‬:‫مثال‬
 [UP, UP, UP, RIGHT]
 [RIGHT, RIGHT, RIGHT, UP, UP, UP, LEFT, LEFT]
50
‫عامل هاي سودمند‬
‫‪ ‬در بسياري از محيط ها اهداف براي توليد رفتاري با كيفيت باال مناسب نيستند‬
‫‪ ‬مثال‪ :‬تاكس ي اتوماتيك‬
‫‪ ‬ممكن است چندين مسیر براي رسيدن به مقصد موجود باشد‪ ،‬اما بعض ي از آنها سريعتر‪ ،‬امن‬
‫تر‪ ،‬مطمئن تر و يا ارزانتر از بقيه مي باشند‬
‫‪ ‬اهداف مالكي خام براي توصيف وضعيت ها هستند (مطلوب و نامطلوب)‬
‫‪ ‬تابع سودمندي‪ :‬حالت ( يا دنباله اي از حاالت) را به يك عدد حقيقي نگاشت مي كند‬
‫كه درجه مطلوبيت آن را توصيف مي كند‬
‫‪ ‬امكان تصميم گیري در مواردي كه‪:‬‬
‫‪ ‬اهداف متناقض باشند‬
‫‪ ‬چندين هدف وجود دارد ولي رسيدن به هيچ يك قطعي نيست‬
‫‪51‬‬
‫عامل هاي مبتني بر سودمندي‬
‫‪52‬‬
‫عامل هاي يادگیرنده‬
‫‪ ‬تورينگ ( ‪ :) 1950‬ايده برنامه نويس ي واقعي هوشمند به صورت دستي‬
‫‪ ‬نياز به روشهاي سريعتر‬
‫‪ ‬ساخت ماشین هاي يادگیرنده و آموزش به آنها‬
‫‪ ‬مولفه هاي عامل يادگیرنده‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫عنصر يادگیرنده ‪ :‬براي ايجاد بهبود‬
‫عنصر كارآيي‪ :‬انتخاب فعاليت هاي خارجي‬
‫منتقد‪ :‬توليد بازخورد با توجه به استاندارد كارآيي براي عنصر يادگیرنده‬
‫مولد مساله‪ :‬پيشنهاد فعاليت هاي اكتشافي‬
‫‪ ‬مثال‪ :‬تاكس ي اتوماتيك‬
‫‪53‬‬
‫‪ ‬عنصر كارآيي‪ :‬حركت سريع از خط ‪ 3‬به خط ‪1‬‬
‫‪ ‬منتقد‪ :‬دريافت شكايت راننده هاي ديگر‬
‫‪ ‬ايجاد یک قانون‪ ،‬بيانگر بد بودن اين عمل و اصالح عنصر كارآيي‬
‫عامل هاي يادگیرنده(ادامه‪)...‬‬
‫‪ ‬انواع دانش ي كه عنصر يادگیرنده مي تواند ياد بگیرد‪:‬‬
‫‪ ‬يادگیري مستقيم از دنباله ادراكي‬
‫‪ ‬يادگیري نحوه تغيیرات دنيا‪ :‬مشاهده دو حالت متوالي‬
‫‪ ‬يادگیري در مورد تاثیر عمل عامل‪ :‬مشاهده نتايج فعاليت عامل‬
‫‪ ‬مثال‪ :‬نحوه ترمز كردن در جاده هاي خيس‬
‫‪ ‬پاداش و جريمه(کیفیت رفتار عامل)‬
‫‪54‬‬
‫عامل هاي يادگیرنده(ادامه‪)...‬‬
‫‪55‬‬
‫فصل سوم‬
‫حل مسائل توسط جستجو‬
‫‪56‬‬
‫مقدمه‬
‫‪ ‬عامل هاي حل مسأله‬
‫‪ ‬انواع مسأله‬
‫‪ ‬فرموله سازي مسأله‬
‫‪ ‬مسائل نمونه‬
‫‪ ‬الگوريتم هاي ابتدايي جستجو‬
‫‪57‬‬
‫عامل هاي حل مسأله‬
‫‪ ‬فرضيات در مورد محيط‪ :‬ايستا‪ ،‬قابل مشاهده‪ ،‬گسسته و قطعي‬
‫‪58‬‬
‫مثال‪ :‬روماني‬
‫‪ ‬مكان فعلي شهرآراد‪ ،‬حرکت و رسیدن به شهر بخارست‬
‫‪ ‬فرموله سازي هدف‪:‬‬
‫‪ ‬بودن در بخارست‬
‫‪ ‬فرموله سازي مسأله‪:‬‬
‫‪ ‬حالت ها‪ :‬شهرهاي مختلف‬
‫‪ ‬عمليات‪ :‬رفتن از شهري به شهر ديگر‬
‫‪ ‬يافتن پاسخ‪:‬‬
‫‪ ‬دنباله اي از شهرها‪ ،‬مانند‪:‬‬
‫‪Arad → Sibiu → Fagaras → Bucharest‬‬
‫‪59‬‬
‫مثال‪ :‬روماني‬
‫‪60‬‬
‫انواع مسأله‬
‫‪ ‬قطعي‪ ،‬كامال مشاهده پذير ← مسائل تك‪-‬حالته‬
‫‪ ‬عامل دقيقا مي داند در چه حالتي خواهد بود؛ راه حل يك دنباله مي باشد‪.‬‬
‫‪ ‬قطعي‪ ،‬مشاهده پذير جزئي ← مسائل چند‪-‬حالته‬
‫‪ ‬ممكن است عامل ايده اي درباره اينكه كجاست نداشته باشد؛ راه حل يك دنباله است‪.‬‬
‫‪ ‬غیر قطعي و‪/‬يا مشاهده پذير جزئي ← مسائل احتمالی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ادراك اطالعات جديدي درباره حالت فعلي فراهم مي كند‪.‬‬
‫در حین اجرا بايد از حسگرها استفاده كند‪.‬‬
‫راه حل به صورت يك درخت‬
‫اغلب جستجو و اجرا به صورت يك در ميان (‪)Interleave‬‬
‫‪ ‬فضاي حالت ناشناخته ← مسائل اکتشافی (‪)online‬‬
‫‪61‬‬
‫مثال‪ :‬دنياي جاروبرقی‬
‫‪ ‬تك‪-‬حالته‪ ،‬شروع در ‪#5‬‬
‫‪ ‬راه حل ؟ ]‪[Right, Suck‬‬
‫‪ ‬چند‪-‬حالته‪ ،‬شروع از حالت های‬
‫}‪{1, 2, 3, 4, 5, 6, 7, 8‬‬
‫‪ ‬راه حل؟]‪[Right, Suck, Left, Suck‬‬
‫‪ ‬احتمالي‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪62‬‬
‫غیر قطعي‪ :‬مكش مي تواند يك فرش تمیز را كثيف كند‪.‬‬
‫درك محلي‪ :‬گرد و خاك در محل فعلي‬
‫ادراک‪ [left, clean] :‬یعنی شروع در ‪ #5‬یا ‪#7‬‬
‫راه حل؟ ]‪[Right, if dirty then Suck‬‬
‫فرموله سازي مسائل تك ‪-‬حالته‬
‫‪ ‬يك مسأله بوسيله چهار مورد تعريف مي شود‪:‬‬
‫ً‬
‫‪‬‬
‫‪ ‬اقدامات يا تابع حالت بعدي(پسین)‬
‫حالت اوليه مثال بودن در شهر ‪Arad‬‬
‫‪ = S(x) ‬مجموعه اي از زوج هاي عمل‪ -‬حالت‬
‫‪ ‬مثال‪S(Arad) = {<Arad → Zerind, Zerind>,…} :‬‬
‫‪ ‬تابع تست هدف‬
‫‪ ‬صریح ”‪x = "at Bucharest‬‬
‫‪ ‬ضمنی )‪NoDirt(x‬‬
‫‪ ‬تابع هزينه مسیر ‪:‬‬
‫‪ ‬مثال‪ :‬مجموع فواصل‪ ،‬تعداد عمل هاي انجام شده و ‪...‬‬
‫‪ ‬هزينه گام (‪c(x, a, y)≥0 :)step cost‬‬
‫‪ ‬راه حل‪ :‬دنباله اي از حرکت ها كه از حالت اوليه شروع و به حالت هدف ختم مي‬
‫شود‪.‬‬
‫‪63‬‬
‫انتخاب يك فضاي حالت‬
‫‪ ‬دنياي واقعي به شدت پيچيده مي باشد‪.‬‬
‫‪ ‬بنابراين‪ ،‬براي حل مسأله بايد فضاي حالت انتزاعي باشد‪.‬‬
‫‪ ‬حالت( انتزاعي) = مجموعه اي از حالت هاي واقعي‬
‫‪ ‬عمل ( انتزاعي) = تركيبي پيچيده از عمل هاي واقعي‬
‫‪ ‬مثال عمل ‪ Arad→Zerind‬مي تواند مجموعه اي پيچيده از اعمال باشد‪.‬‬
‫‪ ‬راه حل ( انتزاعي) = مجموعه اي از مسیرهاي واقعي كه در دنياي واقعي راه حل مي‬
‫باشند‪.‬‬
‫‪ ‬هر عمل انتزاعي بايد از مسأله اصلي ساده تر باشد!‬
‫‪64‬‬
‫مثال‪ :‬گراف فضاي حالت دنياي جاروبرقی‬
‫‪ ‬حاالت؟وجود گرد و خاك و مكان عامل(بدون در نظر گرفتن مقدار گرد و خاك)‬
‫‪ ‬اعمال؟ حرکت های ‪Left, Right, Suck, NoOp‬‬
‫‪ ‬تست هدف؟ نبودن گرد و خاك‬
‫‪ ‬هزینه مسیر؟ بازاء هر عمل ‪(1‬صفر برای ‪)NoOp‬‬
‫‪65‬‬
‫مثال‪ :‬معماي هشت‬
‫‪ ‬حاالت؟ اعداد صحيح بيانگر محل كاش ي ها‬
‫‪ ‬اعمال؟ حركت خانه خالي به چپ‪ ،‬باال‪ ،‬راست و پايین‬
‫‪ ‬تست هدف؟ حالت هدف( داده شده)‬
‫‪ ‬هزینه مسیر؟ بازاء هر حركت ‪1‬‬
‫]توجه‪ :‬راه حل بهينه خانواده معماي ‪ n‬یک مساله ‪ NP-Hard‬می باشد[‬
‫‪66‬‬
‫مثال‪ :‬روبات اسمبل كننده‬
‫‪ ‬حاالت؟ زاويه مفاصل روبات‪ ،‬مختصات قطعات‬
‫‪ ‬اعمال؟ حركت پيوسته مفاصل روبات‬
‫‪ ‬تست هدف؟ سرهم بندي كامل‬
‫‪ ‬هزينه مسیر؟ زمان اجرا‬
‫‪67‬‬
‫مسأله هشت وزير‬
‫‪ ‬حاالت؟ ترتيب ‪ 8‬وزير هر كدام در يك ستون {‪}1, 3, 5, 7, 2, 4, 6, 8‬‬
‫‪ ‬اعمال؟ انتقال يك وزير داراي برخورد به مربع ديگري در همان ستون‬
‫‪ ‬تست هدف؟ ‪ 8‬وزير روي صفحه شطرنج كه با هم برخورد ندارند‪.‬‬
‫‪ ‬هزينه مسیر؟ زمان اجرا‬
‫‪68‬‬
‫الگوريتم هاي جستجوي درخت‬
‫‪ ‬ایده اصلی‪ :‬کاوش ‪ offline‬و شبيه سازي شده فضاي حالت‪ ،‬بوسيله توليد حاالت‬
‫بعدي حالت هايي كه تا كنون توليد شده اند‪.‬‬
‫‪69‬‬
‫مثال جستجوي درخت‬
‫‪70‬‬
71
‫مثال جستجوي درخت‬
‫‪72‬‬
‫پياده سازي‪ :‬حالت و گره‬
‫‪ ‬يك حالت ( بيانگر) يك پيكره بندي فیزيكي مي باشد‬
‫‪ ‬يك گره يك ساختار داده اي تشكيل دهنده بخش ي از درخت جستجو شامل‪ :‬پدر‪ ،‬فرزندان‪،‬‬
‫عمق و هزينه مسیر )‪ g(x‬است‪.‬‬
‫‪ ‬حالت ها ‪ :‬پدر‪ ،‬فرزند‪ ،‬عمق و هزينه مسیر ندارند!‬
‫‪ ‬تابع ‪ EXPAND‬گره هاي جديد ايجاد مي كند‪ ،‬فيلدهاي مختلف را مقدار مي دهد و با‬
‫استفاده از تابع ‪ SuccessorFn‬مسأله‪ ،‬حالت هاي مربوطه ايجاد مي شود‪.‬‬
‫‪73‬‬
‫پياده سازي‪ :‬جستجوي عمومي درخت‬
‫‪74‬‬
‫استراتژي هاي جستجو‬
‫‪ ‬يك استراتژي بوسيله ترتيب گسترش گره ها تعريف مي شود‪.‬‬
‫‪ ‬ابعاد ارزيابي استراتژي ها‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫كامل بودن‪ -‬آيا در صورت وجود راه حل‪ ،‬هميشه راه حلي پيدا مي كند؟‬
‫پيچيدگي زماني‪ -‬تعداد گره هاي توليد شده‪/‬گسترش يافته‪.‬‬
‫پيچيدگي حافظه‪ -‬حداكثر تعداد گره ها در حافظه‪.‬‬
‫بهينگي‪ -‬آيا هميشه كم هزينه ترين راه حل را پيدا مي كند؟‬
‫‪ ‬پيچيدگي زمان و فضا برحسب پارامترهاي زير سنجيده مي شوند‪:‬‬
‫‪ :b ‬حداكثر فاكتور انشعاب درخت جستجو‪.‬‬
‫‪ :d ‬عمق كم هزينه ترين راه حل‪.‬‬
‫‪ :m ‬حداكثر عمق فضاي حالت ( ممكن است ∞ باشد)‪.‬‬
‫‪75‬‬
‫استرتژي هاي جستجوي ناآگاهانه‬
‫‪ ‬استراتژي هاي ناآگاهانه(‪ )Uninformed‬تنها از اطالعات موجود در تعريف مسأله‬
‫استفاده مي كنند‪.‬‬
‫‪‬‬
‫جستجوي اول‪-‬سطح )‪Breadth-rst search (BFS‬‬
‫‪ ‬جستجوي هزينه‪ -‬يكنواخت )‪Uniform-cost search (UCS‬‬
‫‪‬‬
‫جستجوي اول‪-‬عمق ( عمقي) )‪Depth-first search (DFS‬‬
‫‪ ‬جستجوي با عمق محدود )‪Depth-limited search (DLS‬‬
‫‪‬‬
‫‪76‬‬
‫جستجوي عميق كننده تكراري )‪Iterative deepening search (IDS‬‬