دانشگاه علمی کاربردی قروه رشته ای تی |
|||||||||||||||||
چهار شنبه 23 اسفند 1389برچسب:, :: 20:13 :: نويسنده : مخدومی
مسئله چند وزیر یک معمای شطرنجی و ریاضیاتی است که بر اساس آن باید n وزیر شطرنج در یک صفحه n×n شطرنج بهگونهای قرار داده شوند که هیچیک زیر ضرب دیگری نباشند. با توجه به اینکه وزیر بهصورت افقی، عمودی و اُریب حرکت میکند، باید هر وزیر را در طول، عرض و قطر متفاوتی قرار داد. اولین و مشهورترین شکل این مسئله معمای هشت وزیر است که برای حل آن باید ۸ وزیر را در یک صفحهً معمولی (۸×۸) شطرنج قرار داد. این مسئله ۹۲ جواب دارد که ۱۲ جواب آن منحصر بهفرد است یعنی بقیه جوابها از تقارن جوابهای اصلی بهدست میآید.
صورت مسئله هدف از مسئله n وزیر ، چیدن n مهره وزیر در یک صفحه شطرنج(n*n) است ، به طوری که هیچ دو وزیری یکدیگر را گارد ندهند،یعنی هیچ دو مهرهای نباید در یک سطر، ستون یا قطر یکسان باشند.وزیر در خانههای شطرنج به صورت عرضی،طولی و قطری میتواند حرکت کند. مسئله n وزیر از جمله مسائل NP در هوش مصنوعی است که روشهای جستجوی معمولی قادر به حل آنها نخواهد بود.
از تکنیک عقبگرد Backtracking برای حل مسائلی استفاده میشود که در آنها دنبالهای از اشیاء از یک مجموعه مشخص انتخاب میشود، به طوری که این دنباله ، ملاکی را در بر میگیرد.عقبگرد حالت اصلاح شدهٔ جست و جوی عمقی یک درخت است.این الگوریتمجست و جوی عمقی است، با این تفاوت که فرزندان یک گره فقط هنگامی ملاقات میشوند که گره امید بخش باشدو در آن گره حلی وجود نداشته باشد. با توجه به اینکه هیچ ۲ وزیری نباید همدیگر را گارد کنند و در یک سطر نمیتوانند باشند، تعداد کل حالتها برای n=۴ برابر ۴*۴*۴*۴=۲۵۶ است. در شطرنج یک وزیر میتواند به مهرههایی که در خانههای عمود یا مورب به وی قرار دارند حمله کند. یا به عبارت ریاضی، اگر ردیفها و ستونهای شطرنج را از یک تا هشت شماره گذاری کنیم و وزیر در خانه (i, j) قرار داشته باشد، مهرههایی که در خانههای (i, m) یا (m, j) یا (i ± m, j ± m) قرار دارند توسط وزیر تهدید میشوند. همانند برای سادگی تشریح این مسئله با استفاده از روش بازگشت به عقب، فرض میکنیم که خانههای شطرنج ۴x۴ و تعداد وزیرها نیز ۴ باشد. سپس بعد از یافتن راه حل برای این مسئله ساده شده، اقدام به نوشتن الگوریتم برای مسئله اصلی میکنیم. مراحل جستجو برای یافتن جواب را به این صورت دنبال میکنیم که: وزیر اول را در ردیف اول و ستون اول قرار میدهیم. برای حل این مسئله که دارای ۹۲ جواب است ، باید تکنیکهایی جهت کاهش حالات ،روش Brute Force یا امتحان تک تک جوابها انجام شود. تعداد همه حالاتی که میتواند در روش Brute Force چک شود برابر ۱۶٬۷۷۷٬۲۱۶ یا هشت به توان هشت است! یکی از روشهای حل این مسئله برای n>=۴ یا n=۱ استفاده از روش مکاشفهای ( heuristic)است: ۱- عدد n را بر عدد ۱۲ تقسیم کن و باقی مانده را یادداشت کن ۲- به ترتیب اعداد زوج ۲ تا n را در لیستی بنویس ۳- اگر باقی مانده ۳ یا ۹ بود ، عدد ۲ را به انتهای لیست انتقال بده. ۴- به لیست اعداد فرد ۱ تا n را به ترتیب اضافه کن، اما اگر باقی مانده ۸ بود اعداد را دو به دو باهم عوض کند (مثلا ۱و۳و۵و۷و۹ تبدیل به ۳و۱و۷و۵و۹ میشه) ۵- اگر باقی مانده ۲ بود جای ۱ و۳ را با هم عوض کن و ۵ را به انتهای لیست ببر. ۶- اگر باقی مانده ۳ یا ۹ بود ، اعداد ۱ و ۳ را به انتهای لیست ببر. ۷- حال با استفاده از لیست بدست آمده وزیرها در صفحه شطرنج چیده میشوند، بطوریکه جای وزیر ستون اول ،اولین عدد لیست ،جای وزیر ستون دوم ، دومین عدد لیست و ... این الگوریتم یک راه حل برای حل این مسئلهاست، برای بدست آوردن همه حالات از روشهای دیگری میتوان استفاده کرد. روش حل مسئله ۱۲ راه حل یکتا دارد که با در نظر گیری تقارن و چرخش به ۹۲ حالت قابل تبدیل است.
نظرات شما عزیزان:
درباره وبلاگ با سلام خدمت دوستان عزیز مخدومی هستم از همدان.رشته فناوری اطلاعات د mehdi24.hamedan@yahoo.com 09355130078 دوستان و دانشجویان میتوانند جهت دریافت مقالات و صفحه وب های طراحی شده و اماده ،عضو سایت شده و از طریق ایمیل یا درخواست از طریق مسیج دریافت نمایند.اماده سازی وبسایت با همراه دامین و هاست با کمترین هزینه آخرین مطالب پيوندها
![]() نويسندگان
|
|||||||||||||||||
![]() |