Artificial Intelligence - هوش مصنوعی  
انجمن را در گوگل محبوب کنيد :

بازگشت   Artificial Intelligence - هوش مصنوعی > مقدمات هوش مصنوعی > حل مسائل معروف هوش مصنوعي


 
تبليغات سايت
Iranian Association for the Advancement of Artificial Intelligence
ارسال تاپيک جديد  پاسخ
 
LinkBack ابزارهاي تاپيک نحوه نمايش
قديمي ۰۸-۲۱-۱۳۸۸, ۰۶:۴۹ بعد از ظهر   #1 (لینک دائم)
Administrator
 
آواتار Astaraki
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: تهران-کرج!
پست ها: 3,465
تشكرها: 754
16,300 تشكر در 3,124 پست
My Mood: Mehrabon
ارسال پيغام Yahoo به Astaraki
Arrow حل مسئله کشيش‌ها و آدمخوارها به روش هاي مختلف

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

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

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

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

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

هزينه مسير: تعداد دفعات عبور از رودخانه.
Astaraki آفلاين است   پاسخ با نقل قول
از Astaraki تشكر كرده اند:
*sepid* (۰۳-۲۶-۱۳۸۹), advanture (۰۱-۳۱-۱۳۹۳), ehsan_teimouri (۱۲-۷-۱۳۹۱), farimoon (۱۰-۶-۱۳۹۲), green_Dream (۱۲-۷-۱۳۸۸), keeper (۰۱-۱۷-۱۳۹۲), mogtabaa (۰۷-۲۰-۱۳۹۰), mr.sina (۰۵-۲۴-۱۳۹۰), naser2263 (۱۱-۱۳-۱۳۹۱), sam1983 (۰۸-۲۴-۱۳۹۲), sbaran (۰۹-۲۹-۱۳۹۰)

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online  
قديمي ۰۸-۲۱-۱۳۸۸, ۰۷:۱۷ بعد از ظهر   #2 (لینک دائم)
Administrator
 
آواتار Astaraki
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: تهران-کرج!
پست ها: 3,465
تشكرها: 754
16,300 تشكر در 3,124 پست
My Mood: Mehrabon
ارسال پيغام Yahoo به Astaraki
Question

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

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

یعنی
دو کشیش و دو آدمخوار سمت چپ رودخانه، یک کشیش و یک آدمخوار سمت راست ،قایق نیز سمت راست رودخانه ایستاده
فايل ضميمه
نوع فايل: zip Missionaries And Cannibals.zip (1.3 كيلو بايت, 3101 نمايش)
Astaraki آفلاين است   پاسخ با نقل قول
از Astaraki تشكر كرده اند:
green_Dream (۱۱-۲۲-۱۳۸۸), keeper (۰۱-۱۷-۱۳۹۲), mogtabaa (۰۷-۲۰-۱۳۹۰), mr.sina (۰۵-۲۴-۱۳۹۰), parsasat (۰۱-۲۲-۱۳۹۱), sam1983 (۰۸-۲۴-۱۳۹۲)
قديمي ۰۸-۲۱-۱۳۸۸, ۰۷:۱۹ بعد از ظهر   #3 (لینک دائم)
Administrator
 
آواتار Astaraki
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: تهران-کرج!
پست ها: 3,465
تشكرها: 754
16,300 تشكر در 3,124 پست
My Mood: Mehrabon
ارسال پيغام Yahoo به Astaraki
Red face

فلش زیر این مسئله را شبیه سازی کرده است
فايل ضميمه
نوع فايل: zip adamkhar.zip (223.2 كيلو بايت, 4635 نمايش)
Astaraki آفلاين است   پاسخ با نقل قول
از Astaraki تشكر كرده اند:
*sepid* (۰۳-۲۶-۱۳۸۹), green_Dream (۱۲-۱۸-۱۳۸۸), keeper (۰۱-۱۷-۱۳۹۲), mogtabaa (۰۷-۲۰-۱۳۹۰), mr.sina (۰۵-۲۴-۱۳۹۰), parsasat (۰۱-۲۲-۱۳۹۱), sam1983 (۰۸-۲۴-۱۳۹۲)
قديمي ۰۸-۲۱-۱۳۸۸, ۰۷:۲۱ بعد از ظهر   #4 (لینک دائم)
Administrator
 
آواتار Astaraki
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: تهران-کرج!
پست ها: 3,465
تشكرها: 754
16,300 تشكر در 3,124 پست
My Mood: Mehrabon
ارسال پيغام Yahoo به Astaraki
Wink

اگه آدمخوارها رو با 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 آفلاين است   پاسخ با نقل قول
از Astaraki تشكر كرده اند:
advanture (۰۱-۳۱-۱۳۹۳), Artemiss (۰۱-۱۷-۱۳۹۰), artificial_intelligence (۰۴-۲۳-۱۳۹۱), ehsan_teimouri (۱۲-۷-۱۳۹۱), Elayxaa (۰۴-۱۸-۱۳۹۳), keeper (۰۱-۱۷-۱۳۹۲), M.Mhoosh (۱۰-۱۳-۱۳۹۴), mogtabaa (۰۷-۲۰-۱۳۹۰), mr.sina (۰۵-۲۴-۱۳۹۰), m_niazy (۰۳-۱۸-۱۳۹۰), queen2010 (۰۲-۱۱-۱۳۹۰), sam1983 (۰۸-۲۴-۱۳۹۲), اارکیده (۰۷-۱۴-۱۳۹۰)
قديمي ۰۸-۲۱-۱۳۸۸, ۰۷:۲۳ بعد از ظهر   #5 (لینک دائم)
Administrator
 
آواتار Astaraki
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: تهران-کرج!
پست ها: 3,465
تشكرها: 754
16,300 تشكر در 3,124 پست
My Mood: Mehrabon
ارسال پيغام Yahoo به Astaraki
Question

كد:
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 آفلاين است   پاسخ با نقل قول
از Astaraki تشكر كرده اند:
green_Dream (۱۱-۲۲-۱۳۸۸), keeper (۰۱-۱۷-۱۳۹۲), M.Mhoosh (۱۰-۱۳-۱۳۹۴), mogtabaa (۰۷-۲۰-۱۳۹۰), mr.sina (۰۵-۲۴-۱۳۹۰), sam1983 (۰۸-۲۴-۱۳۹۲), tooppi (۱۱-۷-۱۳۸۸), vahab60 (۰۷-۶-۱۳۹۲)
قديمي ۰۸-۲۱-۱۳۸۸, ۰۷:۲۹ بعد از ظهر   #6 (لینک دائم)
Administrator
 
آواتار Astaraki
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: تهران-کرج!
پست ها: 3,465
تشكرها: 754
16,300 تشكر در 3,124 پست
My Mood: Mehrabon
ارسال پيغام Yahoo به Astaraki
Wink

بازی شبیه کشیش و آدمخوار:d
فايل ضميمه
نوع فايل: zip iq.zip (440.2 كيلو بايت, 2878 نمايش)
Astaraki آفلاين است   پاسخ با نقل قول
از Astaraki تشكر كرده اند:
hamedmehdihamed (۰۱-۱۷-۱۳۹۱), keeper (۰۱-۱۷-۱۳۹۲), M.Mhoosh (۱۰-۱۳-۱۳۹۴), mr.sina (۰۵-۲۴-۱۳۹۰), sam1983 (۰۸-۲۴-۱۳۹۲)
قديمي ۰۸-۲۳-۱۳۸۸, ۰۱:۰۲ قبل از ظهر   #7 (لینک دائم)
عضو جدید
 
آواتار amironline
 
تاريخ عضويت: مهر ۱۳۸۸
پست ها: 9
تشكرها: 5
7 تشكر در 2 پست
My Mood: Khonsard
پيش فرض

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

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

اين هم نمايش

تا اينجا فرموله كردن بود حالا گام بعدي براي پياده سازي چيه؟
عكس ضميمه
نوع فايل: jpg AI.JPG (21.0 كيلو بايت, 1092 نمايش)
amironline آفلاين است   پاسخ با نقل قول
از amironline تشكر كرده اند:
keeper (۰۱-۱۷-۱۳۹۲), mr.sina (۰۵-۲۴-۱۳۹۰), sam1983 (۰۸-۲۴-۱۳۹۲)
قديمي ۰۹-۳۰-۱۳۸۸, ۰۱:۳۲ قبل از ظهر   #8 (لینک دائم)
Super Moderator
 
آواتار pasmod
 
تاريخ عضويت: آذر ۱۳۸۸
محل سكونت: آلمان
پست ها: 101
تشكرها: 59
219 تشكر در 66 پست
My Mood: Khonsard
ارسال پيغام Yahoo به pasmod
پيش فرض

چه جالب. من اولین بار بازی این مسپله رو انجام دادم. بعد ها که بزرگتر شدم، فهمیدم که مربوط به هوش مصنوعی می شه. چند وقت پیش یک نوشته کوتاه در مورد این مسپله نوشتم که تو یه پست جدید به اشتراک می گذارم.
__________________
https://www.facebook.com/Pashutan.M
pasmod آفلاين است   پاسخ با نقل قول
از pasmod تشكر كرده است:
sam1983 (۰۸-۲۴-۱۳۹۲)
قديمي ۱۰-۱۱-۱۳۸۸, ۰۵:۲۱ بعد از ظهر   #9 (لینک دائم)
Active users
 
آواتار maskofgod
 
تاريخ عضويت: آذر ۱۳۸۸
محل سكونت: اهواز
پست ها: 9
تشكرها: 1
33 تشكر در 7 پست
My Mood: Khonsard
ارسال پيغام Yahoo به maskofgod
پيش فرض

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

این هم حل مسئله کشیشها که در زمان دانشجویی انجام دادم.
امیدوارم مورد استفاده دوستان قرار بگیره.
maskofgod آفلاين است   پاسخ با نقل قول
از maskofgod تشكر كرده اند:
green_Dream (۱۱-۲۲-۱۳۸۸), kebriya (۱۱-۱۲-۱۳۸۹)
قديمي ۰۳-۷-۱۳۸۹, ۰۵:۵۶ بعد از ظهر   #10 (لینک دائم)
Super Moderator
 
آواتار alijy
 
تاريخ عضويت: خرداد ۱۳۸۹
محل سكونت: ارض الله الواسعة
پست ها: 78
تشكرها: 23
249 تشكر در 77 پست
My Mood: Khonsard
پيش فرض

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

.
فايل ضميمه
نوع فايل: zip lambwolf.zip (763 بايت, 430 نمايش)
alijy آفلاين است   پاسخ با نقل قول
از alijy تشكر كرده اند:
Astaraki (۰۳-۷-۱۳۸۹), ayfer.a11 (۰۲-۶-۱۳۹۰), djmorteza (۰۲-۲۹-۱۳۹۲), ehsan_teimouri (۱۲-۸-۱۳۹۱), sonasona (۰۲-۱-۱۳۹۲)
پاسخ



كاربران در حال ديدن تاپيک: 1 (0 عضو و 1 مهمان)
 
ابزارهاي تاپيک
نحوه نمايش

قوانين ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلکها فعال است
كد [IMG] فعال است
كدهاي HTML غير فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال




زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۱:۲۶ بعد از ظهر ميباشد.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

Teach and Learn at Hexib | Sponsored by www.Syavash.com and Product In Review

استفاده از مطالب انجمن در سایر سایت ها، تنها با ذکر انجمن هوش مصنوعي به عنوان منبع و لینک مستقیم به خود مطلب مجاز است

Inactive Reminders By Icora Web Design