PDA

View Full Version : سوال: پیاده سازی 8وزیر با الگوریتم DFS



reza4344
چهارشنبه 04 اردیبهشت 1392, 17:04 عصر
سلام دوستان

می خواستم بدونم کسی می تونه مساله 8 وزیر رو به وسیله DFS برام پیاده سازی کنه و یه مقدار توضیح بده؟؟

با تشکر

alimahboobi
پنج شنبه 05 اردیبهشت 1392, 20:47 عصر
سلام خب یه حالت اولیه برای وزیر مثلا خونه ی 0 و 0 گوشه سمت چپ بزار یعنی ستون اول سطر اول. وقتی اونجا گذاشتی مسلما یه وزیر می تونه چهار جهت رو پوشش بده فرزند بعدیش تو این الگوریتم چون اول عمقه از ستون دوم اون خونه هایی که وزیر اول پوشش نمیدن میشه فرزنداش. از اولین فرزندش تا آخر عمق برو . به ترتیب تا اینکه وزیر داشته باشی و جای برای گذاشتنش نداشته باشی که بک ترک می کنی .

reza4344
یک شنبه 08 اردیبهشت 1392, 16:30 عصر
مرسی دوست عزیز

می تونه یه برنامه یا قطعه کد (و یا الگوریتم) برام بزاری و توضیح بدی؟

چون اصلا متوجه منظورت نشدم

alimahboobi
دوشنبه 09 اردیبهشت 1392, 16:01 عصر
معرفی الگوریتم
همانگونه که می دانید استفاده از الگوریتم بازگشتی دارای مزیت بسیار بزرگی است ، و آن خوانایی ودرک راحت تر آن می باشد . از اینرو است که بیشتر برنامه نویسان از الگوریتم های بازگشتی برای حل مسائلاش استفاده می کنند..
در الگوریتم بازگشتی هشت وزیر که در زیر آورده شده است. روش محاسبه آن بصورت زیر می باشد.

public void place(int row) {
if (row == 8) {

for (int r = 0; r< 8; r++)
{
for (int c = 0; c < 8; C++‎)
{
if (board[r] == c){
memory[r, c, number] = true;

}else
memory[r, c, number] = false;
}

}
this.number++;
return;
} else {
for (int i = 0; i < 8; i++) {
board[row] = i;
if (valid(row)) place(row + 1);
}
}
}

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

alimahboobi
دوشنبه 09 اردیبهشت 1392, 16:04 عصر
البته اگه خواستی می تونیم مرحله به مرحله با زبون c# به شیوه ی گرافیکی پیش بریم
و من بهت کمک بکنم

reza4344
پنج شنبه 12 اردیبهشت 1392, 17:16 عصر
مرسی علی آقا

من بیشتر دنبال پیاده سازی 8 وزیر با DFS هستم،راستش خیلی مطلب راجع بهش کمه می خواستم بدونم جز روش بازگشتی با dfs میشه پیاده سازیش کرد؟

reza123654
سه شنبه 14 خرداد 1392, 19:10 عصر
سلام دوستان
نیاز ب کمک فوری دارم
من الگوریتم 8 وزیر به زبان vb را به استاد ارائه دادم حالا بهونه کرده که باید سه تابع اصلی از برنامه رو واسم توضیح بدی و منم اصلا نمیدونم ازم چی میخواد
دوستان هرکس میدونه منظورش چیه لطفا کمک کنید شیش نمره داره
لینک : http://artificial.ir/intelligence/attachments/1613d1263927559-queentest-rar
التماس دعا..

parniyan7rang
پنج شنبه 18 مهر 1392, 22:44 عصر
دوستان من الگوریتم dfs میخام ....به حالت تئوریشو بلدم ولی کدنویسشو نمیدونم استادمون گفته با چهار گره یا همون (نود) الگوریتم dfsشو بنویسیم میشه کدشو برام بزارید ممنون میشم یکم برام توضیح بدید چجوریه ؟؟؟؟:لبخندساده: ممون...