$w0=10;
$w1=50;
$w2=-30;
$v=$w0+($w1*$x1)+($w2*$x2);
if($a['sotoon'.$i]["kh".$j]===2)
{
if(isset($a['sotoon'.($i+1)]["kh".($j+1)]))
{
if($a['sotoon'.($i+1)]["kh".($j+1)]===0)
{
$a['sotoon'.$i]["kh".$j]=0;
$a['sotoon'.($i+1)]["kh".($j+1)]=2;
}
}
}
اجازه بدین من کلا بگم هدف چیه
تا شما دوستان با توجه به اطلاعاتتون به من خنگ کمک کنید از دستم راحت شید
من همه کد قبلیا را پاک کردم
الان این را دارم
ببینید
این بازی چکرز برای درس یادگیری طبق الگوریتم minmax با عمق یک
چیزی که من فهمیدم اینه در هر لحظه
نوبت هرکی هست
باید بیایم از دیدگاه اون تمام حرکت های ممکن را برسی کنیم
به ازای هر حرکت جدید یه v داریم v ارزش صفحه بازی هست
v های جدید را با v قبلی مقایسه میکنیم
اگر v جدیدی نبود و تمام v های بدست اومده با v قبلی برابر بود
رندوم یکیشو انتخاب میکنیم و حرکتشو انجام میدیم
اگر v جدید داشتیم میایم vجدید را از v قدیم کم میکنیم یه مقداری بدست میاریم که میشه error
حالا طبق این فرمول w ها را تغییر میدیم
wجدید=wقدیم +0.1*تعداد مهره های همون w * مقدار errror
مثلا برای w1 تعداد مهره های 1 میشه همون x1 در واقع میشه تعداد خانه هایی که مقدار یک دارن
تا جایی انجام میدیم که مقدار v بشه 100 یا -100 یا 0
این همه آن چیزی بود که باید بنویسم
من اینجوری گفتم
گفتم با اون دوتا حلقه for تو در تو میام به هر خانه دسترسی پیدا میکنیم
بعد مثلا نوبت شماره های 2 است
تمام حالت هایی که 2 بتونه انجام بده را در نظر میگیریم
شما فرض کنید شماره دو فقط در صورتی که خونه سطر بعد و ستون بعدش 0 باشه میتونه بره در آن خانه قرار بگیرد که در این صورت خودش مقدارش میشه 0 خونه سطر بعد و ستون بعدش میشه 2
(که من حتی این حرکت را نمیتونم بنویسم خودش میشه صفر ولی دوتا خونه سطر بعد و ستون بعدش میشه2 )
الان باید بیام به ازای هر خونه ای که میتونه این حرکت را انجام بده بیا v راجدا حساب کن با v قبلی مقایسه کن
و
...
الان اگر درست فهمیده باشم باید اول توی اون دوتا حلقه for تو در تو تمام حرکات ممکن برای مثلا مهره های 2 حساب کنم بزارم توی تابع
همونجا باید فرمول v را هم حساب کنم و مقایسه را انجام بدم
ولی من حتی نمیتونم تابع حرکت را بنویسم
خواهشا کمکم کنید
اگرم به نظرتون نشدنیه بگین لطفا
ممنون میشم