EslamiSepehr.com
مقدمهای بر الگوریتمهای ژنتیک
الگوریتم ژنتیک یک روش اکتشافی است که از نظریه تکامل طبیعی چارلز داروین الهامگرفته شدهاست. این الگوریتم فرآیند انتخاب طبیعی را منعکس میکند که در آن افراد شایسته برای تولید مثل به منظور تولید فرزندان نسل بعدی انتخاب میشوند.
مفهوم انتخاب طبیعی
فرآیند انتخاب طبیعی با انتخاب شایستهترین افراد از یک جمعیت آغاز میشود. آنها فرزندهایی تولید میکنند که ویژگیهای والدین را به ارث میبرند و به نسل بعدی اضافه خواهند شد. اگر والدین تناسب بهتری داشته باشند، فرزندان آنها بهتر از والدین خواهند بود و شانس بیشتری برای زنده ماندن خواهند داشت. این فرآیند تکرار میشود و در نهایت، نسلی با شایستهترین افراد پیدا خواهد شد.
این مفهوم را می توان برای یک مساله جستجو به کار برد. ما مجموعهای از راهحلها را برای یک مساله در نظر میگیریم و مجموعهای از بهترین راهحلها را از میان آنها انتخاب میکنیم.
پنج فاز در یک الگوریتم ژنتیک در نظر گرفته میشوند.
- جمعیت اولیه - Initial population
- تابع تناسب - Fitness function
- انتخاب - Selection
- ترکیب - Crossover
- جهش - Mutation
جمعیت اولیه - Initial population
این فرآیند با مجموعهای از افراد آغاز میشود که جمعیت نامیده میشود. هر فرد راه حلی برای مشکلی است که میخواهید حل کنید.
یک فرد با مجموعهای از پارامترها (متغیرها) شناختهشده به نام ژنها مشخص میشود. ژنها به یک رشته متصل میشوند تا یک کروموزوم (راهحل) را تشکیل دهند.
در یک الگوریتم ژنتیک، مجموعه ژنهای یک فرد با استفاده از یک رشته به صورت الفبایی نمایش داده میشود. معمولا مقادیر باینری استفاده میشوند (رشته 1s و 0s). ما میگوییم که ژنها را در یک کروموزوم کدگذاری میکنیم.
تابع تناسب - Fitness function
تابع تناسب تعیین میکند که یک فرد چقدر مناسب است (توانایی یک فرد برای رقابت با افراد دیگر). این کار به هر فرد امتیاز تناسب میدهد. احتمال اینکه یک فرد برای تولید مثل انتخاب شود براساس امتیاز تناسب آن است.
انتخاب - Selection
ایده مرحله انتخاب، گزینش مناسبترین افراد است و به آنها اجازه میدهد تا ژنهای خود را به نسل بعدی منتقل کنند.
دو جفت از افراد (والدین) براساس امتیاز تناسب انتخاب میشوند. افراد با تناسب بالا شانس بیشتری برای انتخاب شدن برای تولید مثل دارند.
ترکیب - Crossover
ترکیب مهمترین مرحله در یک الگوریتم ژنتیک است. برای هر جفت از والدین که باید جفتگیری کنند، یک نقطه ترکیب به طور تصادفی از درون ژنها انتخاب میشود.
به عنوان مثال، نقطه ترکیب را ۳ در نظر بگیرید که در زیر نشانداده شدهاست.
فرزندان با تبادل ژنهای والدین بین خودشان ایجاد میشوند تا به نقطه ترکیب برسند.
فرزندان جدید به جمعیت اضافه میشوند.
جهش - Mutation
در برخی از فرزندان جدید تشکیل شده، برخی از ژنهای آنها میتواند در معرض جهش با احتمال تصادفی پایین قرار گیرند. این نشان میدهد که برخی از بیتها در رشته بیتی میتوانند برگردانده شوند.
جهش برای حفظ تنوع در جمعیت و جلوگیری از همگرایی زودهنگام رخ میدهد.
پایان
اگر جمعیت همگرا شود، الگوریتم به پایان میرسد (فرزندی تولید نمیکند که با نسل قبلی تفاوت چشمگیری داشته باشد). همچنین گفته میشود که الگوریتم ژنتیک مجموعهای از راهحلها را برای مشکل ما فراهم کردهاست.
توضیحات
جمعیت یک اندازه ثابت دارد. همانطور که نسلهای جدید شکل میگیرند، افراد با کمترین تناسب میمیرند و فضایی را برای فرزندان جدید فراهم میکنند.
توالی فازها برای تولید افراد در هر نسل جدید که بهتر از نسل قبلی هستند، تکرار میشود.
اینستاگرام در حال آزمایش ویژگی پست دسکتاپ است
این لگو سورتر راهی هوشمندانه برای تفکیک قطعات فراهم میکند
سه نشانه برای اینکه مهندسی تجزیه و تحلیل شغل مناسب شما است