ویژگی های این برنامه:
1.
تنظیمات مختلف مربوط به پارامترهای الگوریتم ژنتیک مانند احتمال Crossover
، Mutation Probability , اندازه جمعیت Population Size, Generations
4. نمایش خروجی هشت وزیر در صفحه شطرنج
و سایر تنظیمات که میتوانید در تصاویر نمونه ملاحظه نمایید
آنچه تحویل داده می شود:
1.
کد برنامه قابل اجرا در ویژال استودیو 2012 به بعد - خروجی طبق تصویر
نمونه آورده شده (این برنامه درVisual Studio 2012 تست شده و 100 درصد به
صورت تضمینی قابل اجرا می باشد)
2. فایل اجرایی برنامه
توضیحات فایل :
وزیر مهره ای از مهره های بازی شطرنج است که می تواند در تمامی هشت جهت به هر تعداد خانه - تا زمانی که مهره ای مانع نباشد - حرکت کند. اگر در این مسیرها مهره ای از حریف قرار گرفته باشد، آن مهره در معرض خطر حمله توسط وزیر قرار دارد؛ یا به اصطلاح وزیر آن مهره را تهدید می کند.
مساله هشت وزیر از جمله مسائل پرمخاطب است. 8 مهره وزیر را روی صفحه شطرنج چنان بچینید که نتوانند همدیگر رو تهدید کنند.
الگوریتم ژنتیک
- نحوه نمایش مسئله:
می دانیم اگر دو وزیر در یک ستون قرار گیرند قطعاً به جواب نخواهیم رسید. بنابراین قرار دادن دو وزیر در یک ستون باعث غیرامیدبخش شدن جواب مسئله می شود.
برای نمایش مسئله در کروموزوم ها از این ویژگی استفاده کرده و به صورت زیر عمل می کنیم:
یک آرایه تک بعدی ایجاد می کنیم که به تعداد ستون های صفحه شطرنج عنصر دارد. هر عنصر از این آرایه نشان می دهد که وزیر در کدام سطر از آن ستون قرار دارد. به عنوان مثال اگر مسئله 8 وزیر را در نظر بگیریم، آرایه تک بعدی باید دارای 8 عنصر باشد. فرض کنید آرایه دارای مقادیر زیر باشد:
مقدار 8 در اولین عنصر آرایه گویای این مطلب است که در ستون اول صفحه شطرنج وزیری در سطر هشتم قرار داده ایم.
- تولید جمعیت اولیه:
الگوریتم های ژنتیک ابتدا جمعیت اولیه ای تولید کرده و سپس سعی در بهبود بخشیدن این جمعیت دارند. برای مسئله n وزیر تولید جمعیت به صورت تصادفی خواهد بود. بدین صورت که وزیرها به طور تصادفی روی صفحه شطرنج قرار می دهیم.
برای محاسبه میزان بهینگی جواب تعداد جفت وزیرهایی را که به هم گارد می دهند، محاسبه می کنیم. برای مسئله 8 وزیر در بدترین حالت هر وزیر با همه وزیرهای دیگر گارد می دهد (فرض کنید همه وزیرها در یک سطر قرار گیرند). در این حالت حداکثر تعداد جفت وزیرهایی که به همگدیکر کارد می دهند 28 جفت است:
در حالت کلی برای مسئله n وزیر حداکثر تعداد جفت وزیرهایی که به همدیگر گارد می دهند به صورت زیر محاسبه می شود:
- برای محاسبه میزان بهینگی هر کروموزوم از فرمول زیر استفاده می کنیم: