میخواهیم الگوریتم ژنتیک را برای Circle Packing پیاده سازی کنیم. هدف این هست که تعدادی دایره (تعداد و شعاع آنها ثابت است) را داخل یک مربع قرار دهیم و مقادیر مربع را با استفاده از فرمولهای داده شده محاسبه کنیم که در واقع به دنبال مینیمم کردن ضلع مربع هستیم (در فایل توضیحات چون قدرمطلق در نظر گرفته است محاسبه ماکسیمم آورده است). فایل توضیحات کامل پروژه ضمیمه شده حتما مطالعه شود.
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
\* نکاتی که باید رعایت شود:
- برنامه باید به زبان پایتون نوشته شود.
- دایرهها نباید با یکدیگر تداخل داشته باشند و همه جوابها باید معتبر باشند.
- در ساختار کد حتما یک تابع با عنوان ()show وجود داشته باشد تا یک کروموزوم را به عنوان پارامتر بگیرد و در خروجی نتیجه را ترسیم کند. یعنی برای بهترین کروموزوم هر نسل بتوان خروجی را نمایش داد. بعد از هر show هم یک pause یا مکث چند ثانیهای باشد تا نتایج قابل مشاهده باشد. بخشهای مختلف کد هم توابع مشخصی داشته باشد (مثلا: برای مرحله crossover یک تابع، برای mutation یک تابع جداگانه و..)
- محاسبه حد بالا، پایین، چپ و راست که فرمول آن در فایل توضیحات هست بهتر است داخل تابعی بنام fitness\_function نوشته شود که مقدار L را محاسبه و برمیگرداند. fitness هر کروموزوم هم کنار ساختار کروموزوم خودش ذخیره شود و نمایش داده شود.
- بهتر است boundaryها در ابتدا ایدهآل یا کوچک در نظر گرفته نشود و با توجه به تعداد دایرهها انتخاب شود. برای شروع 24 مناسب هست.
- موقع تحویل گزارش کار یا توضیحات کامل کد ارائه شود.
این آگهی از وبسایت پارسکدرز پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت پارسکدرز برین و از اونجا برای این شغل اقدام کنین.
هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک، با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.