سورس حل مسئله هشت وزیر با الگوریتم ژنتیک

40.000تومان

توضیحات

در این جلسه تیم کدگیت سورس حل مسئله هشت وزیر با الگوریتم ژنتیک را تهیه کرده است. مسئله NQueen یا چند وزیر یک مسئله قدیمی است که ذهن همگان را به چالش می‌کشد. جذابیت حل این معما به کمک الگوریتم ژنتیک بسیار بیشتر می‌شود. به همین دلیل اقدام به تهیه سورس حل مسئله هشت وزیر با الگوریتم ژنتیک نمودیم. با ما همراه باشید تا این سورس کد را به شما معرفی کنیم. همچنین پیشنهاد می‌کنیم از دیگر محصولات ما نیز دیدن فرمایید:

سورس حل مسئله هشت وزیر با الگوریتم ژنتیک

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

  • دو وزیر در یک سطر باشند.
  • دو وزیر در یک ستون باشند.
  • دو وزیر به صورت اریب با هم برخوردی داشته باشند.

هر کدام از این شرط‌ها باعث می‌شود که وزیرها با یکدیگر برخورد داشته و مسئله ما را دچار مشکل کند. ما برای حل این مسئله از الگوریتم ژنتیک کمک گرفته و سعی کردیم سه شرط را بررسی و در صورت برخورد امتیازی از آن چینش کم کنیم. تمامی عملیات‌های Crossover و Mutate را در این پیاده سازی انجام گردیده و تعداد جمعیت خود را برابر با 100 قرار داده‌ایم. در صورتی که می خواهید تعداد وزیر‌ها را کم یا زیاد کنید پارامتری برای آن قرار داده شده که شما با کمک آن، پارامتر تعداد وزیر مسئله را تغیر دهید.

نحوه اجرا مسئله هشت وزیر با الگوریتم ژنتیک

پس از تهیه سورس حل مسئله هشت وزیر با الگوریتم ژنتیک، فایلی با فرمت zip در اختیار شما قرار می‌گیرد. این فایل را از حالت zip خارج کنید تا سورس برنامه را ببینید. سورس کد تهیه گردیده به زبان پایتون می باشد. فایل اصلی برنامه  GeneticAlgorithmNQueens نام دارد. پس از اجرای این فایل، خروجی زیر را مشاهده خوهید کرد:

Generation #1 - fittest is: 05741356 with fitness value 0.2

Generation #2 - fittest is: 35716227 with fitness value 0.2

Generation #3 - fittest is: 35716227 with fitness value 0.2

Generation #4 - fittest is: 35716206 with fitness value 0.2

Generation #5 - fittest is: 35716206 with fitness value 0.2

Generation #6 - fittest is: 35716027 with fitness value 0.3333333333333333

Generation #7 - fittest is: 40316267 with fitness value 0.14285714285714285

Generation #8 - fittest is: 47005163 with fitness value 0.2

Generation #9 - fittest is: 64603572 with fitness value 0.3333333333333333

Generation #10 - fittest is: 40316257 with fitness value 0.2

Generation #11 - fittest is: 50752613 with fitness value 0.2

Generation #12 - fittest is: 24700551 with fitness value 0.2

Generation #13 - fittest is: 24704613 with fitness value 0.3333333333333333

Generation #14 - fittest is: 14603702 with fitness value 0.3333333333333333

Solution found...

25704613

اعداد بین 0 تا 7 جایگاه هر وزیر را در هر ستون نمایش می‌دهد. عدد صفر اولین خانه ستون است و عدد هفت آخرین خانه می باشد. به عنوان مثال در 25704613 خانه اول عدد دو است یعنی وزیر اول در ستون اول در خانه سوم (اعداد از صفر شروع می‌شوند) قرار دارد. عدد دوم، پنج است یعنی وزیر دوم در ستون دوم در خانه ششم قرار دارد. به همین ترتیب الی آخر. در زیر نحوه چینش این خروجی را نمایش داده‌ایم:

0 - - - Q - - - -

1 - - - - - - Q -

2 Q - - - - - - -

3 - - - - - - - Q

4 - - - - Q - - -

5 – Q - - - - - -

6 - - - - - Q - -

7 - - Q - - - - -

در پایان باید گفت فرمول محاسبه fitness برابر با 1/1+C می باشد که C تعداد برخورد وزیرها می‌باشد.

توضیحات تکمیلی

زبان برنامه نویسی

پایتون

فرمت فایل

.py

قابلیت اجرا

در سیستم هایی که پایتون بر روی آن نصب باشد

تست شده

توسط کارشناسان تیم کدگیت

نقد و بررسی‌ها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین کسی باشید که دیدگاهی می نویسد “سورس حل مسئله هشت وزیر با الگوریتم ژنتیک”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *