٨وزیر
این بازی یک معمای شطرنجی و ریاضیاتی است که بر اساس آن باید n وزیر شطرنج در یک صفحه n×n شطرنج بهگونهای قرار داده شوند که هیچیک زیر ضرب دیگری نباشند.
از اهداف این بازی به موارد زیر میتوان اشاره کرد.
- نگهداری ذهنی را افزایش داده و حافظه، تمرکز و توجه را تقویت میکند.
- تقویت هوش ریاضی
یک صفحه شطرنج8*8 رو فرض کنید، قصد داریم 8 وزیر راطوری قرار دهیم که همدیگر را گارد ندهند (به عبارتی دیگر هیچ وزیری ، وزیر دیگری را نزند).
نکته:حرکت مهره وزیر در شطرنج به صورت زیر است:« وزیر میتوانددر تمام جهات افقی ،عمودی و مورب مهرههای دیگر را تهدید کند.»
اين مسئله كه داراي 92 جواب است بايد تكنيك هايي جهت كاهش حالات ،روش BruteForce يا امتحان تك تك جوابها انجام شود. تعداد همه حالاتي كه ميتواند در روش Brute Force چك شود برابر16,777,216 يا هشت به توان هشت است!در مجموع برای حل مسئله این بازی به شیوههای زیر اشاره میشود:«الگوريتم ژنتيک- جستجوي محلي - الگوريتم عقبگرد- مسئلهارضاي محدوديت- جستجوي تپه نوردي - و غيره» قابل حل شدن است.
يكي از روش هاي حل اين مسئله براي n>=4 يا n=1 استفاده از روش مكاشفه اي (heuristic) است:
1- عدد n را برعدد 12 تقسيم كن و باقي مانده را يادداشت كن
2- به ترتيب اعداد زوج 2 تا n را در ليستي بنويس
3- اگر باقي مانده 3 يا 9 بود ، عدد 2 رابه انتهاي ليست انتقال بده.
4- به ليست اعداد فرد 1 تا N را به ترتيب اضافه كنید، اما اگر باقي مانده 8 بود اعداد رادو به دو باهم عوض كند (مثلا 1و3و5و7و9 تبديل به 3و1و7و5و9 ميشه)
5- اگر باقي مانده 2 بود جاي 1 و3 را باهم عوض كن و 5 را به انتهاي ليست ببر
6- اگر باقي مانده 3 يا 9 بود ، اعداد 1 و3 را به انتهاي ليست ببر.
7- حال با استفاده از ليست بدست آمده وزيرهادر صفحه شطرنج چيده ميشوند، بطوريكه جاي وزير ستون اول ،اولين عدد ليست ،جاي وزيرستون دوم ، دومين عدد ليست و ...
اين الگوريتم يك راه حل براي حل اين مسئله است، براي بدست آوردن همه حالات از روشهاي ديگري مي توان استفاده كرد.
روش حل مسئله 12 راه حل يكتا دارد كه با در نظر گيري تقارن وچرخش به 92 حالت قابل تبديل است.
روش دوم:
استفاده از الگوريتم ژنتيک- نمایش عددیکروموزوم: در این شیوه نمایش هر یک از ژنها میتوانند یک مقدار عددی را بگیرند. و از آنجایی که هرکروموزوم دربردارنده یک سری ژن است، در نتیجه یک کروموزوم در بردارند یک سری ازاعداد میباشد.
حالا اگر بخواهیم این مسئله رو با الگوریتم ژنتیک حل کنیم اولباید کروموزومها رو بسازیم. همون طور که گفتیم کروموزوم یعنی یک جواب احتمالیبرای مسئله. خوب حالا چند تا کروموزوم بررسی کنیم
کرموزوم ما 8 تا ژن خواهد داشت. هر ژن نماینده یک وزیر است.مقداری که هر ژن می گیرد نیز برابر است با خانهای که آن وزیر در آن قرار میگیرد.برای برطرف شدن ابهام شما ،مثال زیر رو ببینید
کروموزوم 1 مسئله 8وزیر در الگوریتم ژنتیک:
کروموزوم بالا یعنی چی:
وزیر اول در سطر اول در خونه 5 باشد
وزیر دوم در سطر دوم در خونه 7 باشد
وزیر سوم در سطر سوم در خونه 2 باشد
وزیر چهارم در سطر چهارم در خونه 6 باشد
وزیر پنجم در سطر پنجم در خونه 3 باشد
وزیر ششم در سطر ششم در خونه 1 باشد
وزیر هفتم در سطر هفتم در خونه 8 باشد
وزیر هشتم در سطر هشتم در خونه 4 باشد
تصویر قرار گیری وزیرها در شکل زیر مشخص شده. همانطور که مشخص است هیچ ویزی همدیگر را تهدید نمیکند. پس این می تواند یک جواب برای مسئله ما باشد.
شما باهمین روش میتوانید بازی را ادامه دهید.همانطور که در بالا هم ذکر شد شیوه های دیگری نیز برای حل معمای این بازی وجود دارد.
٢- ٨ مهره یک شکل(نماد هشت وزیر)