PDA

View Full Version : Wumpus World Algorithm



CodeMasterX
جمعه 31 فروردین 1386, 03:09 صبح
تو مباحث هوش مصنوعی بچه های کارشناسی کتاب جدید به اسم "هوش مصنوعی رهیافتی نوین" تدریس میشه که از انتشارات دانشگاه MIT آمریکا و Alberta از کانادا هست.توی این کتاب در مورد Wumpus World هم صحبت شده.نمیدونم اینجا دوستان کسی با این برنامه (یا بهتر، بازی!) آشنایی داره یانه ولی یه مختصر توضیحی می دم.
داستان از این قراره که ما یه شبکه داریم که از 9 سلول تشکیل شده،یعنی سه سلول در سطر و سه سلول در ستون.حالا ستون شماره 1،1 همیشه محل قرار گیری آدمک اصلی بازی یا خود ما هست.تو یکی از خونه ها یه غول به اسم Wumpus قرار میگیره که جاش با هر بار اجرای برنامه متغیر خواهد بود.و یک "طلا" هم به همین شکل تو یه خونه قرار میگیره و این آدمک باید این طلا رو پیدا کنه و به خونه اول برگرده.
منتها این جا یه کم مساله پیچیده تر میشه.خونه های مجاور از سمت های شمال،جنوب،شرق و غرب این غول ما با "بوی گند" علامت گذاری باید بشن یعنی اگر آدمک تو یکی از این خونه های مجاور قرار گرفت باید بفهمه که اینجا الان بوی گند میاد و توی فلان خونه ها احتمال وجود غول هست.همینطور در 3 تا سلول دیگه هم که اونا هم جاشون بصورت تصادفی تولید میشه چیزی به اسم "چاله" وجود داره که با "باد" علامت گذاری میشه و آدمک در خونه های مجاورشون باید محل اونا رو حدس بزنه و از اونا دوری کنه.
این الگوریتم خیلی داره کلافم میکنه.والا چیز سختی نیست و با ++C و توربو پاسکال و QBasic پیاده سازیش کردم.ولی حالا میخوام این برنامه رو بصورت گرافیکی یعنی GUI بسازم.
دوستان کسی اینجا نیست که تا حالا این بازی رو بصورت گرافیکی پیاده سازی کرده باشه ؟
برای محدود تر کردن بحث باید بگم که برای گرافیکی کردن برنامه در روش های جستجو مشکل پیدا می کنم.

SuperElectric
جمعه 31 فروردین 1386, 12:28 عصر
مهم الگوریتم کلی مساله است
من وقتی با سی نوشتم این جور گفته بودم که هر وقت رفتم تو یه خونه جدید وضعیت جدید خونه ها رو به دست میاوردم بعد اونها رو توی یک آرایه 4*4 (همون میدون نبرد) قرار میدادم و هر بار اون آرایه رو چاپ میکردم
تو حالت گرافیکی هم همین طوره منتها به جای آرایه باید وضعیت میدان نبرد رو به اشکال مورد نظر اختصاص بدی و هر بار اون اشکال رو رسم کنی (یا show/hide کنی)

CodeMasterX
جمعه 31 فروردین 1386, 16:55 عصر
ممنون دارم روش کار میکنم.
ولی قبل از اینکه آدمک ما وارد یه خونه بشه باید بتونه احتمال بده که خونه مورد نظر برای حرکت بعدی چه خواصی داره!

CodeMasterX
یک شنبه 02 اردیبهشت 1386, 01:09 صبح
کسی این سیستم رو تا حالا با جاوا اسکریپت تنها یا با جاوا اسکرت در نرم افزار فلش پیاده سازی کرده ؟ یا کسی نمونه مثالی داره ؟!

amirsadeghi
چهارشنبه 12 اردیبهشت 1386, 21:19 عصر
اگه با vb یا .net طراحی کردین به ما هم بگین
ممنون

CodeMasterX
دوشنبه 31 اردیبهشت 1386, 07:12 صبح
سورس کد این برنامه با QBasic رو میذارم شاید برای بعضی ها جالب باشه.
دات نت که نه ولی توی vb6 دارم روش کار میکنم بتونم گرافیکی پیاده سازیش کنم.
هنوز که خبری نشده!

Spiro1361
شنبه 12 بهمن 1387, 06:10 صبح
مهم الگوریتم کلی مساله است
من وقتی با سی نوشتم این جور گفته بودم که هر وقت رفتم تو یه خونه جدید وضعیت جدید خونه ها رو به دست میاوردم بعد اونها رو توی یک آرایه 4*4 (همون میدون نبرد) قرار میدادم و هر بار اون آرایه رو چاپ میکردم
تو حالت گرافیکی هم همین طوره منتها به جای آرایه باید وضعیت میدان نبرد رو به اشکال مورد نظر اختصاص بدی و هر بار اون اشکال رو رسم کنی (یا show/hide کنی)

كسي نمونه پياده سازي شده اين مساله رو با يكي از زبانهاي برنامه نويسي وي‍ژوال مثل #C نداره؟
ممنون.