![]() |
حل مسئله کشيشها و آدمخوارها به روش هاي مختلف
مسئله کشيشها و آدمخوارها:
سه کشيش و سه آدم خوار در يک طرف رودخانه قرار دارند و هم چنين قايقي که قادر است يک يا دو نفر را حمل کند. راهي را بيابيد که هر نفر (همه) به سمت ديگر رودخانه برود، بدون آنکه تعداد کشيشها در يکجا کمتر از آدم خوارها شود. حالات: يک حالت شامل يک دنبالة مرتب شده از عدد است که تعداد کشيشها، تعداد آدمخوارها و محل قايق در ساحلي از رودخانه که از آنجا مسئله شروع شده را نمايش ميدهد. عملگرها: از هر حالت، عملگرهاي ممکن يک کشيش، يک آدمخوار، دو کشيش، دو آدمخوار، يا يکي از هر کدام را در قايق جا ميدهند. آزمون هدف: رسيدن به حالت(0و 0 و 0). هزينه مسير: تعداد دفعات عبور از رودخانه. |
1(ها)ضميمه
این برنامه که بیشتر حالت الگوریتمیک دارد تا هوش مصنوعی با استفاده از جستجوی عمقی (DFS)اولین راه حل را نمایش میدهد . دوستان با کمی تغییر میتوانند آن را به سی شارپ تبدبل کنند .ابتدای کار قایق سمت چپ قرار دارد و سه کشیش و سه آدمخوار نیز سمت چپ هستند .
right >> M=2 C=2 M=1 C=1 یعنی دو کشیش و دو آدمخوار سمت چپ رودخانه، یک کشیش و یک آدمخوار سمت راست ،قایق نیز سمت راست رودخانه ایستاده |
1(ها)ضميمه
فلش زیر این مسئله را شبیه سازی کرده است
|
اگه آدمخوارها رو با k و کشیشها رو با aنشون بدیم و left و right سمت چپ و راست رودخونه باشن, الگوریتم به این صورت میشه:
كد:
|
كد:
unit HV; |
1(ها)ضميمه
بازی شبیه کشیش و آدمخوار:d
|
1(ها)ضميمه
پیاده سازی کامل مسئله کشیش ها و آدمخواران
;) |
1(ها)ضميمه
خوب حالت اوليه رو 0و0و0 بترتيب قايق، كشيش، آدمخوار در نظر ميگيريم كه حالت هدف ميشه 1و3و3
حركات مجاز: 1- يك آدمخوار به طرف مقابل ميرود 2- دو آدمخوار به طرف مقابل ميرود 3- يك كشيش به طرف مقابل ميرود 4- يك كشيش به طرف مقابل ميرود 5- يك آدمخوار و يك كشيش به طرف مقابل ميروند اين هم نمايش تا اينجا فرموله كردن بود حالا گام بعدي براي پياده سازي چيه؟ |
چه جالب. من اولین بار بازی این مسپله رو انجام دادم. بعد ها که بزرگتر شدم، فهمیدم که مربوط به هوش مصنوعی می شه. چند وقت پیش یک نوشته کوتاه در مورد این مسپله نوشتم که تو یه پست جدید به اشتراک می گذارم.
|
حل مسئله کشیشها و آدمخوار | ::وبلاگی برای تمام فصول::
این هم حل مسئله کشیشها که در زمان دانشجویی انجام دادم. امیدوارم مورد استفاده دوستان قرار بگیره. |
زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۱۱:۳۶ بعد از ظهر ميباشد. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.