مسئله 8 وزیر با الگوریتم ژنتیک در MATLAB
مسئله هشت وزیر یک مشکل در نظریه بازی (Game theory) است که در آن هشت وزیر باید به طور ایمن روی یک صفحه شطرنج 8 در 8 قرار گیرند. به این معنا که هیچ وزیری نباید بتواند با یک حرکت مستقیم به وزیر دیگری حمله کند. در این بخش سورس کد پروژه مسئله 8 وزیر به کمک الگوریتم ژنتیک در محیط نرم افزار MATLAB را آماده کرده ایم که در ادامه توضیحاتی از معرفی مسئله ارائه شده و تصاویر خروجی قرار داده شده است.
مسئله 8 وزیر با الگوریتم GA
الگوریتم ژنتیک یک تکنیک حل مسئله است که از تکامل طبیعی برای پیدا کردن راه حل های بهینه برای مشکلات استفاده می کند. این الگوریتم با یک جمعیت از راه حل های بالقوه شروع می شود و سپس راه حل های بهتر را با انتخاب، جفت گیری و جهش انتخاب می کند. این فرآیند تا زمانی که یک راه حل بهینه یافت نشود ادامه می یابد. الگوریتم ژنتیک می تواند برای حل مسئله 8 وزیر نیز استفاده شود. برای انجام این کار، می توانیم هر یک از 8 وزیر را به عنوان یک کروموزوم در نظر بگیریم. کروموزوم ها می توانند به هر یک از 64 خانه روی صفحه شطرنج تخصیص داده شوند. راه حل بهینه زمانی است که هیچ دو کروموزوم در یک خانه قرار نگیرند.
الگوریتم ژنتیک با یک جمعیت از 1000 کروموزوم شروع می شود. سپس راه حل های بهتر را با انتخاب، جفت گیری و جهش انتخاب می کند. انتخاب به این معنی است که راه حل هایی که احتمال بیشتری دارند به یک راه حل بهینه برسند، انتخاب می شوند. همچنین جفت گیری به این معنی است که دو راه حل با هم ترکیب می شوند تا یک راه حل جدید ایجاد شود. و همینطور جهش به این معنی است که تغییراتی در یک راه حل ایجاد می شود. این فرآیند تا زمانی که یک راه حل بهینه یافت نشود ادامه می یابد. الگوریتم ژنتیک معمولاً می تواند در عرض چند ثانیه یک راه حل بهینه برای مسئله 8 وزیر پیدا کند. تصاویر خروجی این پروژه در محیط متلب که سه بار اجرا شده است را مشاهده می کنید.
هیچ نظری ثبت نشده است