Artificial Intelligence - هوش مصنوعی

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   حل مسائل معروف هوش مصنوعي (http://artificial.ir/intelligence/forum102.html)
-   -   حل مسئله کشيش‌ها و آدمخوارها به روش هاي مختلف (http://artificial.ir/intelligence/thread827.html)

Astaraki ۰۸-۲۱-۱۳۸۸ ۰۶:۴۹ بعد از ظهر

حل مسئله کشيش‌ها و آدمخوارها به روش هاي مختلف
 
مسئله کشيش‌ها و آدمخوارها:

سه کشيش و سه آدم خوار در يک طرف رودخانه قرار دارند و هم چنين قايقي که قادر است يک يا دو نفر را حمل کند. راهي را بيابيد که هر نفر (همه) به سمت ديگر رودخانه برود، بدون آنکه تعداد کشيش‌ها در يکجا کمتر از آدم خوارها شود.

حالات: يک حالت شامل يک دنبالة مرتب شده از عدد است که تعداد کشيش‌ها، تعداد آدمخوارها و محل قايق در ساحلي از رودخانه که از آنجا مسئله شروع شده را نمايش مي‌دهد.

عملگرها: از هر حالت، عملگرهاي ممکن يک کشيش، يک آدمخوار، دو کشيش، دو آدمخوار، يا يکي از هر کدام را در قايق جا مي‌دهند.

آزمون هدف: رسيدن به حالت(0و 0 و 0).

هزينه مسير: تعداد دفعات عبور از رودخانه.

Astaraki ۰۸-۲۱-۱۳۸۸ ۰۷:۱۷ بعد از ظهر

1(ها)ضميمه
این برنامه که بیشتر حالت الگوریتمیک دارد تا هوش مصنوعی با استفاده از جستجوی عمقی (DFS)اولین راه حل را نمایش میدهد . دوستان با کمی تغییر میتوانند آن را به سی شارپ تبدبل کنند .ابتدای کار قایق سمت چپ قرار دارد و سه کشیش و سه آدمخوار نیز سمت چپ هستند .

right >> M=2 C=2 M=1 C=1

یعنی
دو کشیش و دو آدمخوار سمت چپ رودخانه، یک کشیش و یک آدمخوار سمت راست ،قایق نیز سمت راست رودخانه ایستاده

Astaraki ۰۸-۲۱-۱۳۸۸ ۰۷:۱۹ بعد از ظهر

1(ها)ضميمه
فلش زیر این مسئله را شبیه سازی کرده است

Astaraki ۰۸-۲۱-۱۳۸۸ ۰۷:۲۱ بعد از ظهر

اگه آدمخوارها رو با k و کشیشها رو با aنشون بدیم و left و right سمت چپ و راست رودخونه باشن, الگوریتم به این صورت میشه:

كد:

left(a1,a2,a3,k1,k2,k3); & right(null);

left(a1,a2,a3,k3); & right(k1,k2);(دوتا آدمخور از رودخونه رد میشن)

left(a1,a2,a3,k1,k3); & right(k2);(یکی از آدمخورها برمیگرده)

left(a1,a2,a3); & right(k1,k2,k3);(دوتا دیگه از ادمخورها از رودخونه رد میشن)

left(a1,a2,a3,k1); & right(k2,k3);(یکی از آدمخورها برمیگرده)

left(a3,k1); & right(a1,a2,k2,k3);(دوتا از کشیش ها رد میشن)

left(a1,a3,k1,k2); & right(a2,k3);(یه کشیش و یه ادمخور برمیگردن)

left(k1,k2); & right(a1,a2,a3,k3);(دو تا کشیش رد مشن)

left(k1,k2,k3); & right(a1,a2,a3);(یه ادمخور برمیگرده)

left(k3); & right(a1,a2,a3,k1,k2);(دوتا آدمخور از رودخونه رد میشن)

left(k1,k3); & right(a1,a2,a3,k2);(یکی از آدمخورها برمیگرده)

left(null); & right((a1,a2,a3,k1,k2,k3);(دو تا آدمخور باقی مونده هم رد میشن)


Astaraki ۰۸-۲۱-۱۳۸۸ ۰۷:۲۳ بعد از ظهر

كد:

unit HV;

interface
const
 Left=false;
 Right=true;

 Human=0;
 Vampire=1;

Type
 TPopulation=array[Human..Vampire] of byte;

 TRiverCondition=Record
  SidesPopulation:array[Left..Right] of TPopulation;
  BoatSide:Boolean;
 end;

var
 n:byte;
 FirstSide:boolean;

 function Transport(a:TRiverCondition):Boolean;
implementation


function IsValid(a:TRiverCondition):boolean;
begin
 Result:=(a.SidesPopulation[Left][Human]>0)and
        (a.SidesPopulation[Left][Vampire]>0)and
        (a.SidesPopulation[Right][Human]>0)and
        (a.SidesPopulation[Right][Vampire]>0)and

        (a.SidesPopulation[Left][Human]>=
          a.SidesPopulation[Left][Vampire]) and

        (a.SidesPopulation[Right][Human]>=
          a.SidesPopulation[Right][Vampire]);

end;

function Goal(a:TRiverCondition):boolean;
begin
 Result:=(a.SidesPopulation[FirstSide][Human]=0)and
        (a.SidesPopulation[FirstSide][Vampire]=0)and
        (a.SidesPopulation[not FirstSide][Human]=n)and
        (a.SidesPopulation[not FirstSide][Vampire]=n);
end;

procedure WriteCondition(a:TRiverCondition);
begin
 //display a in somewhere
end;

function Transport(a:TRiverCondition):Boolean;
var
 vv,hh:byte;
 ok:Boolean;
 b:TRiverCondition;
begin
 b.BoatSide:=not a.BoatSide;
 ok:=Goal(a);
 if IsValid(a) and not ok then
 for vv:=0 to 2 do
  for hh:=0  to 2 do
    if ((vv+hh)>0) and (not ok) then begin
      b.SidesPopulation[a.BoatSide][Human]:=a.SidesPopulation[a.BoatSide][Human]-hh;
      b.SidesPopulation[not a.BoatSide][Human]:=a.SidesPopulation[a.BoatSide][Human]+hh;
      b.SidesPopulation[a.BoatSide][Vampire]:=a.SidesPopulation[a.BoatSide][Vampire]-vv;
      b.SidesPopulation[not a.BoatSide][Vampire]:=a.SidesPopulation[a.BoatSide][Vampire]+vv;

      ok:=Transport(b);
    end;


 if ok then WriteCondition(a);
 Result:=ok;
end;

end.


Astaraki ۰۸-۲۱-۱۳۸۸ ۰۷:۲۹ بعد از ظهر

1(ها)ضميمه
بازی شبیه کشیش و آدمخوار:d

Astaraki ۰۸-۲۱-۱۳۸۸ ۰۷:۳۰ بعد از ظهر

1(ها)ضميمه
پیاده سازی کامل مسئله کشیش ها و آدمخواران
;)

amironline ۰۸-۲۳-۱۳۸۸ ۰۱:۰۲ قبل از ظهر

1(ها)ضميمه
خوب حالت اوليه رو 0و0و0 بترتيب قايق، كشيش، آدم‌خوار در نظر ميگيريم كه حالت هدف ميشه 1و3و3

حركات مجاز:
1- يك آدم‌خوار به طرف مقابل مي‌رود
2- دو آدم‌خوار به طرف مقابل مي‌رود
3- يك كشيش به طرف مقابل مي‌رود
4- يك كشيش به طرف مقابل مي‌رود
5- يك آدم‌خوار و يك كشيش به طرف مقابل مي‌روند

اين هم نمايش

تا اينجا فرموله كردن بود حالا گام بعدي براي پياده سازي چيه؟

pasmod ۰۹-۳۰-۱۳۸۸ ۰۱:۳۲ قبل از ظهر

چه جالب. من اولین بار بازی این مسپله رو انجام دادم. بعد ها که بزرگتر شدم، فهمیدم که مربوط به هوش مصنوعی می شه. چند وقت پیش یک نوشته کوتاه در مورد این مسپله نوشتم که تو یه پست جدید به اشتراک می گذارم.

maskofgod ۱۰-۱۱-۱۳۸۸ ۰۵:۲۱ بعد از ظهر

حل مسئله کشیشها و آدمخوار | ::وبلاگی برای تمام فصول::

این هم حل مسئله کشیشها که در زمان دانشجویی انجام دادم.
امیدوارم مورد استفاده دوستان قرار بگیره.

alijy ۰۳-۷-۱۳۸۹ ۰۵:۵۶ بعد از ظهر

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

.

nadia.g ۱۰-۳-۱۳۸۹ ۰۸:۰۱ بعد از ظهر

سلام كسي فضاي حالت مساله كشيش و ادمخوارها رو داره؟ لطفا من و راهنمايي كنه با تشكر.:7:

Astaraki ۰۱-۳۰-۱۳۹۰ ۰۹:۰۱ قبل از ظهر

1(ها)ضميمه
مسئله کشیش ها و آدمخوارها در هوش مصنوعی به صورت گرافیکی به زبان #C
:34:

در واقع این برنامه سورس بازی مسئله کشیش ها و آدمخوارها به صورت کاملا گرافیکی است برنامه ای بسیار راحت و جالب است.
و داستان از این قراره که 3 کشیش و 3 آدم خوارو به گونه ای باید از اینور رود خونه به اونور رود خونه ببرید که هیچوقت تعداد آدمخوارها از کشیش ها بیشتر نباشد در غیر اینصورت کشیش ها توسط آدمخوارها خورده میشوند.
اصل این برنامه باید به گونه ای باشد خود برنامه راه حل را تشخیص بده (هوش مصنوعی) ولی این برنامه یک بازی است و شما باید راه حل را پیدا کنید.
کاملا گرافیکی و همراه با صدا میباشد !تقدیم به تمام بچه های نرم افزاری !

برنامه نویس : سید حسن عاشوری
لينک منبع

summerson ۰۲-۸-۱۳۹۰ ۰۴:۰۷ بعد از ظهر

Artificial Intelligence - Volume 1: Missionaries-and-Cannibals NetLogo Model

summerson ۰۲-۸-۱۳۹۰ ۰۴:۰۸ بعد از ظهر

Plastelina Logic Games
سناریو ها.....

greenface ۰۵-۱۵-۱۳۹۰ ۰۶:۰۸ بعد از ظهر

حل مسئله کشیش و آدم خوار رو به زبان c++ می خوام

shotokanpoloto ۰۹-۳۰-۱۳۹۰ ۰۸:۴۸ بعد از ظهر

چطور میشه با *a و ids این مساله رو پیاده سازی کرد؟
کسی کدی داره؟

zoha88 ۱۱-۳-۱۳۹۰ ۰۳:۴۸ بعد از ظهر

سلام
ببخشید من کد پرولوگ این مساله رو میخوام
ممنون میشم اگه کسی داره کمکم کنه
اینم آدرس ایمیلم
t.hajmohamadi@yahoo.com

omid.azhdari ۰۳-۳۱-۱۳۹۱ ۱۱:۳۵ بعد از ظهر

سلام
من کدینگ برنامه کشیش و آدمخوارها رو می خواهم در سی شارپ.البته با استفاده از الگورتیم های csp مانند:
تپه نوردی و ...

aj_jojo ۱۱-۲۴-۱۳۹۱ ۰۸:۵۶ بعد از ظهر

chera file ha download nemishan?

ehsan_teimouri ۱۲-۸-۱۳۹۱ ۰۴:۳۵ قبل از ظهر

سلام دوستان
سوال واسم پیش اومد
اول از همه اینکه آیا این یه جواب یکتا داره؟ یا میتونه چندجواب متفاوت هم داشته باشه.
و بعد من هر جور فکر کردم نتونستم بدونم که چه جور dfs را رو این بازی پیاده کردین. میشه به نسبت خود بازی بیشتر توصیح بدین؟
ممنون میشم

raha_hakhamanesh ۰۳-۲۲-۱۳۹۲ ۰۸:۱۹ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله ehsan_teimouri (پست 27761)
اینجا چه خبره؟؟
چرا فقط پست جدید زده میشه؟؟
و هیچ کس هم جواب گو نیست؟
همه تایپیک ها رو ه چک کردم به زور تا دو پست اول جواب داده شده و بعد دیگه هیچ

با سلام
سوال خوبی پرسیدید اگر چه دیر ولی برای بقیه می نویسم

زیرا اینجا کاربران عادت کرده اند بیایند و نیازشان را بخواهند! در حالیکه اینجا انجمن است و محیطی برای بحث.
اگر کسی مشکل یا مسئله ای را به چالش بکشد یا راهنمایی بخواهد قطعا دوستان و مدیران پاسخ می دهند ولی خودتان ببینید کاربران چه خواسته اند!! بنابراین مسلم است پاسخی برایشان وجود نخواهد داشت!

مثلا یادم هست یک زمانی یک کاربری آمده بود می گفت من 5 تا مقاله در زمینه هوش می خوام که ترجمه هم شده باشه و بعد ایمیل هم داده بود که براش بفرستیم!!!!

واقعا آیا اینچنین پست هایی پاسخ دارند؟؟
اگر چه بنده شخصا تا جاییکه توانسته ام و بتوانم چنین پست هایی را حذف می کنم ولی متاسفانه کاربران همچنان به این راه که در ایران نهادینه شده ادامه می دهند.
جای تاسف است

موفق باشید و امیدوارم کاربران به این نکات توجه داشته باشند

محبوبه20 ۱۱-۲۵-۱۳۹۲ ۰۱:۲۷ بعد از ظهر

سلام خوبین؟مسئله کشیش و آدمخوارها رو با c++ پیداکردید؟ا/ر دارید میشه در اختیار من قرار بدید.ممنون

بختیار ۰۲-۱۷-۱۳۹۳ ۱۰:۵۴ قبل از ظهر

باسمه تعالی
از صمیم قلب از دوستان و از مدیریت سایت تشکر می کنم

بختیار ۰۲-۱۷-۱۳۹۳ ۱۱:۰۵ قبل از ظهر

متشکرم از شما با نوشته هاتون

fun_9990 ۰۳-۲۷-۱۳۹۳ ۰۳:۲۱ بعد از ظهر

سلام دوستان
استاد گرامی ما طی یک تمرین گفته که مسئله فوق رو "فرموله سازی کنید " منظورش چی هست ؟ کدوم یک از جوابهایی که دادین می تونه پاسخ سوال ایشون باشه و آیا جواب داده شده طی پاسخ های قبلی یا نه ؟ من دقیقا متوجه نمیشم منظور از اینکه "مسئله کشيش‌ها و آدمخوارها را فرموله سازی کنید " چی هست

ممنون

mona-007 ۰۶-۱۱-۱۳۹۳ ۰۸:۲۶ بعد از ظهر

سلام ممنون از سایتتون
این فایل های ضمیمه نمیتونم دریافت کنم.
روش دریافت چطوریه؟

cadence ۰۸-۱۸-۱۳۹۳ ۱۲:۱۴ قبل از ظهر

مرسی بابته زحماتتون

amirttt ۱۰-۲-۱۳۹۳ ۰۳:۳۶ بعد از ظهر

لطفا مشکل دانلود فایل های ضمیمه مقاله ها و یا پروژه های تحلیل زبرجد باهوش مصنوعی رو رفع کنید
خیلی ممنون

mary.y ۱۰-۲۱-۱۳۹۳ ۰۷:۱۰ بعد از ظهر

خداااااااااااا کمممممممممممممممممممممممم ممممک
 
خدایا دو روزه دیگه امتحان هوش دارممممممممممم
:20::20::20::20::20::20::20::20::20::107::107::107 ::107:
واسمممممممم دعاا کنید
میترسمممم به خداااااااااا

zarzari1996 ۰۲-۲۴-۱۳۹۵ ۱۱:۰۵ قبل از ظهر

با سلام
وقت همگی بخیر
من میخوام مساله کشیش و ادمخوارها رو به روش سطحی به زبان سی شارپ پیاده سازی کنم .
من تازه با درس هوش مصنوعی آشنا شدم و میخوام برنامه نویسی شو یاد بگیرم .
میشه در این راه کمکم کنید .
لطفا اگه میشه پاسخ هاتون رو سریعتر اعلام کنید اخه وقت زیادی ندارم.
ممنون بابت تمامی زحماتتون

shaygaansys ۰۴-۱۱-۱۳۹۶ ۰۲:۲۸ بعد از ظهر

جوابش این میشه
هیچ کس حق نداره به اونطرف رودخانه حرکت کنه تا تکلیف معلوم بشه


زمان محلي شما با تنظيم 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.