دنیای ومپوز در هوش مصنوعی AI

دنیای ومپوز در هوش مصنوعی AI
در این پست، محیطی را توصیف میکنیم که در آن عامل های مبتنی بر دانش میتوانند ارزش خود را نشان دهند. دنیای ومپوز مثالی از یک استدلال منطقی است و غاری است که اتاق های آن با راهروهایی به هم متصل هستند. در جایی از این غار، ومپوز کمین کرده است، ومپوز حیوانی است که هر کس وارد اتاقش شود او را میخورد. عامل میتواند به ومپوز شلیک کند، ولی فقط یک تیر در اختیار دارد. بعضی از اتاق ها گودالهای بی انتهایی دارند و هر کس را که به آن اتاقها وارد شوند، (به جز ومپوز که بزرگ است و در آن جا نمیشود) در دام می اندازد. تنها خاصیت تسکین دهنده برای زندگی کردن در این محیط، امید به یافتن کوهی از طلاست. گرچه دنیای ومپوز نسبت به استانداردهای بازی کامپیوتری مدرن بی روح شده است، ولی نمونه ی خوبی برای عامل های هوشمند است.
تعریف دقیق محیط کار، توسط توصیف PEAS مشخص شده است:
معیار کارایی Performance measure
+1000 برای انتخاب طلا، -1000 برای افتادن در گودال یا خورده شدن توسط ومپوز، -1 برای هر فعالیتی که اجرا میشود، -10 برای استفاده از تیر، بازی وقتی خاتمه می یابد که عامل بمیرد یا عامل از غار خارج شود.
محیط (Environment) :
شبکه 4*4 از اتاقها. عامل همیشه مربعی با برچسب [1 , 1] شروع میکند، و جهت آن به سمت راست است. مکانهای طلا و ومپوز با یک توطیع یکنواخت بطور تصادفی انتخاب میشود، بطوریکه از مربع های غیر از مربع شروع استفاده خواهد شد. علاوه براین هر مربع به جز مربع شروع میتواند با احتمال 0.2 گودال باشد.
محرک ها (Actuators) :
عامل میتواند به طرف جلو (Forward)، به سمت چپ با زاویه 90 درجه (TurnLeft)، یا به سمت راست با زاویه 90 درجه (TurnRight) حرکت کند. اگر عامل وارد اتاقی شود که حاوی گودال یا ومپوز است، میمیرد. اگر در حرکت به جلو با دیوار مواجه شود، حرکت بی اثر است. فعالیت Grab میتواند برای انتخاب شیءای به کار رود که در همان مربع عامل باشد. فعالیت Shoot برای پرتاب تیر در خط مستقیم و در روبروی عامل به کار میرود. تیر به جلو میرود تا به ومپوز برخورد کند. عامل فقط یک تیر دارد. لذا فقط اولین فعالیت shoot موثر است. سرانجام فعالیت Climb فقط میتواند با شروع از مربع [1 , 1] برای خروج از غار استفاده شود.
سنسورها یا حسگرها (Sensors) :
عامل ، پنج سنسور دارد که هر کدام اطلاعاتی را در اختیارش قرار میدهند.
► در مربع حاوی ومپوز و مربع های همجوار (نه قطری) عامل بوی تعفن(Stench) را احساس میکند.
► در مربع های همجوار گودال، عامل نسیم (Breeze) را احساس میکند.
► در مربعی که طلا وجود دارد، عامل درخشش (Gold) را احساس میکند.
► وقتی عامل به دیوار برخورد میکند، ضربه را احساس میکند.
► وقتی ومپوز کشته شد، جیغ غمگینی صادر میکند که در هر جای غار قابل احساس است.
ادارکات (یافته ها) بصورت لیستی از 5 نماد به عامل تحویل داده میشوند. بعنوان مثال اگر تعفن و نسیم وجود داشته باشد، ولی درخشش، ضربه یا جیغ وجود نداشته باشد، عامل، ادراک [Stench, Breeze, None, None, None] را دریافت میکند.
محیط ومپوز را میتوان با ابعاد مختلفی مشخص کرد. روشن است که این محیط، گسسته، ایستا (استاتیک) و تک عاملی است. (خوشبختانه ومپوز حرکت نمیکند.) این محیط ترتیبی است زیرا پاداش در صورتی داده میشود که فعالیت های زیادی انجام شده باشد. این محیط پاره ای قابل مشاهده است، زیرا بعضی از جنبه های حالت، مستقیما قابل درک نیستند. مثل مکان عامل، سلامتی ومپوز و وجود تیر. علاوه براین مکانهای گودال و ومپوز مستقیما قابل ادراک نیستند. آنها را میتوان بخش های مشاده نشده ی حالتی دانست که به نظر میرسد تغییر ناپذیر باشند (که در این صورت مدل گذار مربوط به محیط کاملا شناخته شده است) که در این صورت یافتن مکان گودال ها و ومپوز دانش عامل را درباره مدل گذار کامل میکند.
چالش اصلی عامل موجود در این محیط، بی خبری اولیه آن از پیکربندی محیط است، غلبه بر این بی خبری نیاز به استدلال منطقی دارد. در اغلب نمونه های دنیای ومپوز عامل میتواند به طلا دست یابد. گاهی عامل بین رفتن به خانه خالی و خطر مردن برای یافتن طلا، تصمیم گیری کند. در حدود 21% از محیط ها مناسب نیستند، زیرا طلا در گودال قرار دارد یا توسط گودال ها محاصره شده است.
یک عامل ومپوز مبتنی بر دانش را در نظر میگیریم که محیط را کشف میکند. پایگاه دانش اولیه ی عامل شامل قوانین محیط است که قبلا توصیف شدند مثلا میداند که در [1 , 1] قرار دارد و آن مربع امنی است. اولین ادراک آن [None, None, None, None, None,] است که عامل میتواند از آن نتیجه بگیرد که مربع های همسایه یعنی [1 , 2] و [2 , 1] خطری ندارند و ok هستند. عامل باهوش فقط به مربعی حرکت میکند که ok باشد. در هر حرکت برای تشخیص مکان گودال و ومپوز استنتاج بسیار دشواری لازم است، زیرا دانشی را که در زمانهای مختلفی از مکانهای مختلف به دست آمده است با هم ترکیب میکند و برای انجام یک مرحله بحرانی و بسیار مهم، به عدم وجود ادراک متکی است.
در هر موردی که عامل با استفاده از اطلاعات موجود نتیجه گیری میکند، اگر اطلاعات موجود درست باشد، تضمین میشود که نتیجه گیری درست است، این موضوع خاصیت مهم استدلال منطقی است.
خوب بود منطق برنامه را متوجه شدم فقط کاش کد ها(سورس) برنامه را هم توضیح میدادید