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

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

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

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

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

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

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

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

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

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

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

swap

insertion

scramble

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

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

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

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

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

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

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

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

 



می توانید دیدگاه خود را بنویسید
Tami دوشنبه 25 اردیبهشت 1396 03:55 ق.ظ
I read this post completely on the topic of the resemblance of most recent and previous
technologies, it's remarkable article.
manicure چهارشنبه 13 اردیبهشت 1396 09:37 ق.ظ
Greetings! I know this is kinda off topic but I was wondering
if you knew where I could find a captcha plugin for my comment form?
I'm using the same blog platform as yours and I'm having
trouble finding one? Thanks a lot!
manicure دوشنبه 11 اردیبهشت 1396 06:08 ب.ظ
Hi there! I simply wish to offer you a big thumbs up for your great info you have got right here
on this post. I'll be coming back to your website for more soon.
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر