تبلیغات
مهندسی مکانیک و هوافضا - الگوریتم ژنتیک
هر آنچه که یک مهندس بخواهد اینجا هست!
 
آخرین مطالب
 
محبوبترین ها ی سایت
الگوریتم ژنتیک

در دهه  ۱۹۶۰ و ۱۹۷۰ جان هالند الگوریتم ژنتیک یا Genetic algorithm را ارایه کرد و یکی از شاگردان وی به نام گلدبرگ تمامی کارهای جان هالند را گردآوری و در کتاب منتشر ساخت. الگوریتم ژنتیک الگوریتمی برای بهینه سازی است و مبتنی بر جمعیت می باشد در این الگوریتم که بر مبنای علم ژنتیک می باشد اعضای جمعیت رشد کرده و بهبود می یابند تا به جوابی بهینه دست یابند.

تعاریف خاصی در الگوریتم ژنتیک وجود دارد:

۱- کروموزم : برای تبدیل هر جواب به یک جواب کدینگ شده از کروموزم استفاده می شود.

۲- ژن : عناصر تشکیل دهنده یک کروموزم را ژن می گویند.

۳- جمعیت: مجموعه ای از کروموزم ها را جمعیت می گویند.

۴- نسل : هر تکرار از الگوریتم را نسل می گویند.

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

برای کدینگ باینری می توان از عملگر جهشی mutation استفاده نمود بدین صورت که یک ژن انتخاب شده و مقدار آن اگر صفر است به یک و اگر یک است به صفر تغییر یابد. همچنین برای عملگر تقاطع می توان از عملگر تقاطع تک نقطه ایOne point crossover، عملگر تقاطع دو نقطه ای و یا عملگر تقاطع چند نقطه ای استفاده نمود.

کد الگوریتم ژنتیک

برای کدینگ به صورت عدد صحیح می توان از عملگر های زیر استفاده نمود:

swap

insertion

scramble

برای انتخاب والدین در الگوریتم ژنتیک می توان از روش های چون چرخ رولت Roulette wheel selection یا روش انتخاب تورنمنت Tournament selection استفاده نمود.

مراحل الگوریتم ژنتیک به صورت زیر می باشد:

* ایجاد جمعیت اولیه و ارزیابی آن ها

* از یک عملگر انتخاب برای انتخاب والدین استفاده می شود

* اعمال تقاطع بر روی والدین و ایجاد فرزندان

* ایجاد جهش بر روی والدین و ایجاد فرزندان

* ارزیابی کل جمعیت اصلی و جمعیت فرزندان و انتخاب از بین آن ها به تعداد جمعیت اصلی

* تکرار تا رسیدن به شرط خاتمه

 



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