اگه آشنایی با الگوریتم ژنتیک دارین
در این الگوریتم گام اول کد کردن و ساختن جمعیت اولیه هست
خوب برای کد کردن به این صورت میتونین عمل کنین که مثلا در شکل بالا که چهار تکه دارین برای تاکردن خط کش به این صورت عمل می کنین که باید جهت اونها تعیین بشه. مثلا اول بخش 7 هست. بسته به دقت بازه 0 تا 360 درجه رو به بازه هایی گسسته می کنین مثلا 8 بازه 45 درجه ای که به سه بیت نیازه داره. خوب بعدش برای تکه بعدی یعنی سه دوباره برای تعیین زاویه اش به سه بیت نیازه و برای بعدیام به همین صورت.
پس کلا به 4*3==12 بیت نیاز هست که میشه برای افزایش دقت تقسیم بازه 0 تا 360 بیشتر بشه و خوب تعداد بیتهایی که اونهارو کد میکنه هم بیشتر میشه. خوب جمعیت اولیه ساخته میشه مثلا 100 تا کد 12 بیتی صفر و یک. بر اساس جمعیت تصادفی از صفر و یکها و برای هر کدوم . بعدش برای هر کدوم مقدار طول اونها به دست میاد (تابع ارزیاب) و بر اساس بهتر بودن هر کدوم (در اینجا کمترین بهترین است)با احتمال بیشتری برای تولید فرزندان و نسل بعدی اون کروموزوم انتخاب میشه. سپس عمل جهش و تقاطع برای ساختن جمعیت بعدی و نسل بعدی اعمال میشه و این اعمال تکرار میشه.
اگه وقت داشتم کدشو میزدم
موفق باشین