27
1 م ت ي ور گ ل ا هاي ک ي ت ن رGenetic Algorithms : دگان دا! ورن ر گ ا ي ت م ان ي& ج را س را ت ي م ی& ج حا ی علدي مد وي& ج ش ن دا اوري ن ف عات لا ط اIT اد ي س ا: اي ا! ق ر کت د ري ت ش

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

Embed Size (px)

Citation preview

Page 1: الگوریتم ژنتیک

مطالب فهرست

1

ژنتيک هاي الگوريتم

Genetic Algorithms

گردآورندگان:

سراجيان مينامددی علی حاجی ميترا

ITاطالعات فناوري دانشجوي

علوم در تکميلي تحصيالت مرکززنجان پايه

http://iasbs.ac.ir/it/archive

: استادشيري دکتر آقاي

Page 2: الگوریتم ژنتیک

……………………………………………………………………… موضوع چکيده

……………………………………………………مقدمه

……………………………………چيست؟ ژنتيک الگوريتم……………………………………

………………………………………………………………………………… اصلي ايده

.……………………………………………………………………… ژنتيک الگوريتم

..………………………………………………………الگوريتم کد و سود

.………………………………………………………… نمايش هاي روش

..……………………………………………………… انتخاب هاي روش

..…………………………………………………………… تغيير هاي روش

……………………………………ژنتيک... هاي الگوريتم قوت نقاط

……………………………………ژنتيک. هاي الگوريتم ضعف نقاط

دنياي در ژنتيک هاي الگوريتم کاربردهاي از هايي نمونه..……………………………………امروز

.…………………………………… جزئيات با ساده مثال يک

................... هیوریستیک هایپر

2

Page 3: الگوریتم ژنتیک

چکيده

جهت بهينه فرمول يافتن براي داروين طبيعي انتخاب اصول از ژنتيک هاي الگوريتم براي خوبي گزينه اغلب ژنتيک هاي کنند.الگوريتم مي استفاده الگو تطبيق يا بيني پيش

يک وپارامتري ساده،خطي طور هستند.همان رگرسيون مبناي بر بيني پيش هاي تکنيکگفت. پارامتريک غير توان مي ژنتيک هاي الگوريتم شود،به مي گفته

N که است نويسي برنامه تکنيک ( يکGA )يا ژنتيک الگوريتم که شود مي گفته مختصرا حل بايد که اي کند.مسئله مي استفاده نمسئله حل الگوي يک عنوان به ژنتيکي تکامل از

همfitness تابع که شودومتريک مي گذاري کد الگو يک طبق حلها راه و است ورودي شود مي انتخاب تصادفي صورت به آنها اکثر کندکه مي ارزيابي را کانديد حل راه هر دارد نام

شوند.

N : شوند مي تشکيل زير هاي بخش از ها الگوريتم اين کًال

تغيير – انتخاب – - نمايش برازش تابع

داد. خواهيم توضيح را آنها ادامه در که

مقدمه

مي آيد. ذهن به آن منفي ارزشي بار اغلب مي رود كار به بقا تنازع لغت كه هنگامي قوي تر! بقاي حكم و برسد ذهن به جنگل قانون همزمان شايد

برنده قوي ترين ها هم هميشه كه كنيد فكر مي توانيد شود راحت خيالتان آنكه براي البته   طبيعي كامًال روندي طي در بودن قوي تر و عظيم جثه وجود با دايناسورها نبوده اند. مثًال

آنها از ضعيف تر بسيار موجوداتي كه حالي در كردند واگذار را نسل ادامه و بقا بازي انتخاب هيكل اساس بر تنها را بهترين ها طبيعت دادند. ظاهرا ادامه را خويش حيات

انتخاب را(Fittest) ترين ها مناسب طبيعت بگوييم كه آنست درست تر واقع نمي كند! دربهترين ها. نه مي كند

نسل ادامه جمعيت يك از گونه هايي تنها كه است صورت بدين طبيعي انتخاب قانون     نداشته را خصوصيات اين كه آنهايي و باشند داشته را خصوصيات بهترين كه مي دهند

مي روند. بين از زمان طي در و تدريج به باشند

يا جامعه يك افراد بقيه از بيشتري بسيار هوش افراد، از خاصي گونه كنيد فرض مثًال    نسبتا رفاه و كرد خواهند بهتري پيشرفت افراد اين طبيعي كامًال شرايط دارند. در كولوني خواهد بهتر باروري و بيشتر عمر طول باعث خود رفاه اين و داشت خواهند باالتري

يعني امروزي مًالحظات با باال سطح جامعه يك در نه طبيعيست شرايط كنيد بود)توجه اين اگر است(. حال همراه بيشتر ولد و زاد با نمونه جامعه اين در بيشتر عمر طول

به باهوش افراد تعداد جامعه همان بعدي نسل در طبع به باشد خصوصيت)هوش(ارثي دهيد ادامه را روند همين بود. اگر خواهد بيشتر افراد اين گونه بيشتر ولد و زاد دليل

باهوش تر و باهوش ما نمونه جامعه دائما متوالي نسل هاي طي در كه ديد خواهيد عمًال نسل چند طي در است توانسته طبيعي ساده مكانيزم يك ترتيب مي شود. بدين

نيز جامعه متوسط هوش ميزان اينكه بر عًالوه كند حذف جامعه از را هوش كم افراد

3

Page 4: الگوریتم ژنتیک

باهوش افراد بي عرضگي داروين اگر داشت امكان است)البته افزايش حال در دائماديگريست!(. مسئله اين اما مي كرد نظر تجديد خود تئوري در كمي مي ديد را امروزي

ساده)حذف بسيار روش يك از بهره گيري با طبيعت كه ديد مي توان ترتيب بدين     دائما است بهينه( توانسته گونه هاي باالتر تكثير حال عين در و نامناسب گونه هاي تدريجي

بخشد. ارتقا مختلف خصوصيات لحاظ از را نسل هر

طبيعت در تكامل قالب در واقعا آنچه كننده توصيف تنهايي به شد ذكر باال در آنچه البته    در را طبيعت نمي تواند خود خودي به تدريجي تكامل و نيست. بهينه سازي مي افتد اتفاق

شرح مثال يك با را مساله اين تا دهيد دهد. اجازه ياري نمونه ها بهترين به دسترسيدهيم.

سرعت هاي با بهتري اتومبيل هاي سال ها طي در و تدريج به اتومبيل اختراع از پس    اين كه شدند. طبيعيست توليد اوليه نمونه هاي به نسبت بيشتر قابليت هاي و باالتر

بوده قبلي طراحي هاي بهينه سازي جهت طراح مهندسان تًالش حاصل متاخر نمونه هايمي دهد. نتيجه بهتر" را "اتومبيل يك تنها اتومبيل يك بهينه سازي كه كنيد دقت اند. اما

مي توان فرضا يا است؟ بوده تًالش همين نتيجه هواپيما اختراع گفت مي توان آيا اما    بوده اند؟ هواپيماها اوليه طرح بهينه سازي حاصل پيماها فضا گفت

بوده اتومبيل صنعت دستاورهاي تاثير تحت قطعا هواپيما اختراع گرچه كه اينست پاسخ    فضا يا و اتومبيل بهينه سازي حاصل صرفا هواپيما كه گفت نمي توان وجه به هيچ اما است حكم فرماست. روند همين عينا هم طبيعت هواپيماست. در بهينه سازي حاصل پيما

گونه تدريجي تكامل حاصل صرفا گفت نمي توان كه دارند وجود متكامل تري گونه هايهستند. قبلي

مفهوميست كند ياري مساله اين فهم در را ما حدودي تا بتواند شايد آنچه ميان اين در جهش. يا : تصادف نام به

حركت يك نه و بود جهش يك اتومبيل طرح به نسبت هواپيما طرح عبارتي به    به خصوصيات از بعضي جديد نسل هر گونه است. در همين به نيز طبيعت تدريجي. در

داديم توضيح پيشتر كه تدريجي تكامل اثر بر سپس مي يابند تغيير تصادفي كامًال صورتي غير در مي شود حفظ كند ارضا را طبيعت شرايط تصادفي خصوصيت اين كه صورتي در

مي گردد. حذف طبيعت چرخه از اتوماتيك شكل به اين صورت

كرد: جست وجوي خًالصه اين صورت به را طبيعي تكامل مي توان واقع در قوي تر. (+ بقايBlind Search يا كوركورانه)تصادف

اصلي هدف. چيست مصنوعي هوش روش هاي با طبيعي تكامل رابطه كه ببينيم حال    مسائل بهينه پاسخ يافتن مصنوعي هوش در شده گرفته كار به هوشمند روش هاي را بازدهي بهترين تا كنيم طراحي را موتور يك چگونه اينكه مثال ست. بعنوان مهندسي

مقصد تا را مسير كوتاه ترين تا كنيم محرك را ربات يك بازوهاي چگونه يا باشد داشته سادگي به ديگر مسير كوتاه ترين يافتن مانع وجود صورت در كه كنيد كند)دقت طي

هستند. بهينه سازي مسائل نيست( همگي مقصد و مبدا بين راست خط يك كشيدن

4

Page 5: الگوریتم ژنتیک

نقطه روش ها اين هستند. اغلب اساسي اشكال دو داراي رياضيات كًالسيك روش هاي    از يك هر نيز و مي گيرند نظر در كلي بهينه نقطه بعنوان ( راLocal Optima)محلي بهينه ساده اي مثال هاي با را نكته دو دارند. اين كاربرد خاصي مساله براي تنها روش ها اين

مي كنيم. روشن

آنها از يكي مي باشد. كه ماكزيمم نقطه دو داراي منحني كنيد. اين توجه زير شكل به    كنيم استفاده رياضي بهينه سازي روش هاي از اگر ست. حالا محلي ماكزيمم تنها

شروع1 نقطه از بيابيم. مثًال را تابع ماكزيمم مقدار كوچك بسيار بازه يك در تا مجبوريم مقدار به تنها كنيم شروع1 نقطه از اگر ستا كنيم. بديهي ماكزيمم را تابع و كنيم

در شد. اما خواهد متوقف آن از پس ما الگوريتم و يافت خواهيم دست محلي ماكزيمم نقطه از هم اگر حتي آنها تصادفي خصلت بدليل ژنتيك الگوريتم خاصه هوشمند روش هاي

كه شود انتخاب تصادفي صورت بهA نقطه راه ميان در است ممكن باز كنيم شروع1 خواهيم را( Global Optima) كلي بهينه نقطه به دست يابي شانس ما صورت اين در

داشت.

كه بگوييم بايد دوم نكته مورد در    منجر اغلب بهينه سازي رياضي روش هاي

براي خاص دستورالعمل يا فرمول يك به كه حالي مي شوند. در مسئله هر حل

دستورالعمل هايي هوشمند روش هاي حل در مي توانند كلي صورت به كه هستند

نكته شوند. اين گرفته كار به مسئله اي هر و بيشتر الگوريتم خود با آشنايي از پس را

[1] ديد. خواهيد بهتر

چيست؟ ژنتيک الگوريتم

انتخاب اصول از ژنتيک هاي الگوريتم بهينه فرمول يافتن براي داروين طبيعي

خوبي گزينه اغلب ژنتيک هاي کنند.الگوريتم مي استفاده الگو تطبيق يا بيني پيش جهت ساده،خطي طور هستند.همان رگرسيون مبناي بر بيني پيش هاي تکنيک براي

گفت. پارامتريک غير توان مي ژنتيک هاي الگوريتم شود،به مي گفته وپارامتريک

وارزش خارجي عوامل از استفاده با را نفت قيمت نوسانات بخواهيم اگر مثال براي زمان در نفت کرد:قيمت خواهيم توليد را فرمول کنيم،اين مدل ساده خطي رگرسيون

tزمان در بهره نرخ1 =ضريب tزمان در بيکاري نرخ2 +ضريب tاز . سپس1 +ثابت نفت قيمت کردن مدل جهت ها ثابت و ضرايب مجموعه بهترين کردن پيدا براي معيار يک

است خطي روش اين دارد.اول وجود اساسي نکته2 روش اين کرد.در خواهيم استفاده کنيم پارامترها"جستجو "فضاي ميان در اينکه جاي به ما که است اين دوم مسئله و

ايم. کرده مشخص را استفاده مورد ،پارامترهاي

چيزي که کنيم مي تنظيم طرح يا فرمول ابر يک ما ژنتيک هاي الگوريتم از استفاده با داده کند. سپس مي بيان است"را متغير4 حداکثر از تابعيt زمان در نفت شبيه"قيمت

خواهيم فراهم متغير20 حدود در مختلف،شايد متغيرهاي از گروهي براي هايي

5

Page 6: الگوریتم ژنتیک

قرار جستجو مورد را متغيرها و تابع بهترين که شد خواهد اجرا ژنتيک الگوريتم کرد.سپس طور وبه درک قابل ساده،خيلي اي فريبنده طور به ژنتيک الگوريتم کار دهد.روش مي

فرمولي اند.هر يافته تکامل آنگونه حيوانات معتقديم ما که است روشي اي مًالحظه قابل شود مي تلقي ممکن هاي فرمول جمعيت از فردي کند تبعيت باال شده داده طرح از که

است. ممکن هاي انسان جمعيت از فردي بوش جرج بگوييم که اين به شبيه خيلي

اعداد از يکسري عنوان به کنند مي مشخص را شده داده فرمول هر که هايي متغير دهند. مي تشکيل را فرد آن اي ان دي معادل که اند شده داده نشان

برابر در فرد کند.هر مي ايجاد فرمول از آغاز جمعيت يک ژنتيک الگوريتم موتور درصد10 شايد آنها مناسبترين و گيرند مي قرار آزمايش مورد ي ها داده از اي مجموعه

هم با افراد شوند. مناسبترين مي گذاشته کنار مانند.بقيه مي باقي ها مناسبترين از اي( کرده ان دي عناصر تصادفي اي(وتغيير)تغيير ان دي عناصر )جابجايي جفتگيري

سمت به ژنتيک نسلها،الگوريتم از ريادي تعدد ميان از گذشت با که شود مي اند.مشاهده هم عصبي هاي شبکه که حالي کنند.در مي هستند،ميل دقيق بيشتر که هايي فرمول ايجاد نهايي نتايج است اين ژنتيک هاي الگوريتم زياد هستند،جذابيت پارامتريک غير و خطي غير

ارائه براي بود،و خواهد مشاهده قابل انساني کاربر براي نهايي ترند.فرمول مًالحظه قابل اعمال ها فرمول اين روي رابر متعارف آماري هاي تکنيک توان مي نتايج اطمينان سطح

کردن مطرح با مثال استفبراي بهبود حال در همواره ژنتيک هاي الگوريتم کرد.فناوري مي توليد ضعيف ي ها فرمول کردن نقض وبراي ها فرمول کنار در که ها ويروس معادله

N را جمعيت نتيجه شوندودر [1]سازند. مي قويتر کًال

N که است نويسي برنامه تکنيک ( يکGA )يا ژنتيک الگوريتم که شود مي گفته مختصرا حل بايد که اي کند.مسئله مي استفاده سئلهم حل الگوي يک عنوان به ژنتيکي تکامل از

همfitness تابع که شودومتريک مي گذاري کد الگو يک طبق حلها راه و است ورودي شود مي انتخاب تصادفي صورت به آنها اکثر کندکه مي ارزيابي را کانديد حل راه هر دارد نام

[3]شوند.

بهينه حل راه يافتن کامپيوتربراي علم در جستجو تکنيک يکGA ژنتيک الگوريتم از که اند تکاملي هاي الگوريتم انواع از يکي نتيکژ هاي است.الگوريتم جستجو ومسائل

الهام ترکيب و طبيعي انتخاب ، ناگهاني جهش،انتخاب وراثت، مثل شناسي يستز علم[2]. شده گرفته

N نمايش روشهاي ولي شوند مي داده نشان1و0 تايي2 صورت به حلها راه عموماN مجموعه يک از دارد.تکامل وجود هم ديگري مي شروع ها موجوديت از تصادفي کامًال

نه شوند مي انتخاب ها نسل،مناسبترين هر شود.در مي تکرار بعدي نسلهاي در و شودها. بهترين

به که شود مي داده نشان پارامترها از ليست يک نظر،با مورد مسئله براي حل راه يک N ها گويند.کروموزوم مي ژنوم يا کروموزوم آنها داده از ساده رشته يک صورت به عموما استفاده مورد توانند مي هم ديگر هاي داده ساختمان انواع شوند،البته مي داده نمايش ها

مي توليد اول نسل ايجاد براي تصادفي صورت به مشخصه چندين ابتدا گيرند.در قرار ( توسطfitnessتناسب) وارزش شود مي ارزيابي مشخصه ،هر نسل هر طول شوند. در

شود. مي گيري اندازه تناسب تابع

6

Page 7: الگوریتم ژنتیک

روي از ،توليد انتخاب فرآيندهاي پايه بر که است جامعه از نسل دومين ايجاد بعدي گام يکديگر سر به ها کروموزوم است:اتصال ژنتيکي عملگرهاي با شده انتخاب هاي مشخصه

تغيير. و

مناسبترين که اند اي گونه به شود.انتخابها مي انتخاب والد جفت ،يک فرد هر براي از تا باشند داشته انتخاب شانس هم عناصر ضعيفترين حتي تا شوند انتخاب عناصر منگنه دارد: چرخ وجود انتخاب الگوي شود.چندين جلوگيري محلي جواب به شدن نزديک

( ،... .Tournament) اي مسابقه دار)رولت(،انتخاب

N که است1و0.6 بين که دارد اتصال احتمال عدد يک ژنتيک هاي الگوريتم معموال با دوباره هم با احتمال اين با ها دهد.ارگانيسم مي نشان را فرزند آمدن وجود به احتمال

اضافه بعدي نسل به کند،که مي ايجاد فرزند کروموزوم2 شوند.اتصال مي ترکيب هم نسل جواب،در براي مناسبي کانديدهاي که اين تا شوند مي انجام کارها شوند.اين مي

يک ژنتيک هاي است.الگوريتم جديد فرزندان دادن تغيير بعدي شوند. مرحله پيدا بعديN که دارند وثابت کوچک تغيير احتمال دارد. بر کمتر يا0.01 حدود در اي درجه معموال مي جهش يا کنند مي تغيير تصادفي طور به فرزند هاي ،کروموزوم احتمال اين اساس

N مان. داده ساختمان کروموزوم در بيتها جهش با يابند.مخصوصا

نسل با که شود، مي يي ها کروموزوم از جديدي نسل آمدن وجود به باعث دفرآين اين ترکيب براي شود،جفتها مي تکرار هم بعدي نسل براي فرآيند است.کل متفاوت قبلي

آيندو... . مي وجود به سوم نسل شوند،جمعيت مي انتخاب

برسيم. مرحله آخرين به که اين تا شود مي تکرار فرآيند نيا

از: عبارتند ژنتيک هاي الگوريتم خاتمه شرايط

برسيم ها نسل از ثابتي تعداد به .

محاسبه/پول(. شود)زمان تمام شده داده اختصاص بودجهکند. برآورده را )کمترين(مًالک مينيمم که شود شده( پيدا توليد فرزندفرد) يکنشود. حاصل بهتري نتايج ديگر يا شود حاصل فرزندان برازش درجه بيشتريندستي. بازرسيباال ترکيبهاي.

اصلي ايده

از استفاده ايده هلند جان نام به ميشيگان دانشگاه از دانشمندي ميًالدي هفتاد دهه در    الگوريتم اين اساسي كرد. ايده مطرح مهندسي بهينه سازي هاي در را ژنتيك الگوريتم

انسان خصوصيات مجموعه كنيد ژن هاست. فرض توسط موروثي خصوصيات انتقال كروموزوم ها اين در ژن مي شوند. هر منتقل بعدي نسل به او كروموزوم هاي توسط طول2 ژن ، باشد چشم رنگ مي تواند1 ژن مثال است. بعنوان خصوصيت يك نماينده

يابد، انتقال بعد نسل به تمامي، به كروموزوم اين اگر آخر. حال الي و مو رنگ3 ژن قد، در كه بود. بديهيست خواهد قبل نسل خصوصيات به شبيه بعدي نسل خصوصيات تمامي كروموزوم ها براي اتفاق دو همزمان بصورت واقع نمي دهد. در رخ اتفاقي چنين عمل

كه است صورت اين به ( است. موتاسيونMutation) موتاسيون اول مي افتد. اتفاق كم بسيار ژن ها گونه اين تعداد مي كنند. البته تغيير تصادفي كامًال بصورت ژن ها بعضي

7

Page 8: الگوریتم ژنتیک

است. مهم بسيار ديديم پيشتر كه همانگونه تصادفي تغيير اين حال هر در اما مي باشد داراي نفر يك بعدي نسل در تا شود باعث تصادفي بصورت مي تواند چشم رنگ ژن مثًال

بر بوده اند. عًالوه قهوه اي چشم داراي قبل نسل تمامي كه حالي باشد. در سبز چشمان به نسبت بيشتري بسيار تعداد به اتفاق اين البته و مي افتد كه ديگري اتفاق موتاسيون است. ديگر كروموزوم يك انتهاي به كروموزوم يك ابتداي چسبيدن مي دهد رخ موتاسيون

مي شود باعث مثًال كه چيزيست همان مي شود. اين شناختهCrossover نام با مساله اين از و ببرد ارث به هم با را مادر خصوصيات از تعدادي و پدر خصوصيات از تعدادي فرزند تا

[1]مي كند. جلوگيري والدين از يكي تنها به فرزند تام شدن شبيه

هستندX نمونه فضاي به متعلق که X1,X2,…,Xnها، ورودي از مشخصي تعداد ابتدا در دهيم..در مي نمايش)X=(x1,x2,…xn برداي عدد يک در را آنها و کنيم مي انتخاب را

N افزار نرم مهندسي گروه شود.به مي گفته کروموزوم يا ارگانيسم آنها به اصطًالحا اساس بر و کند مي رشدColony دوره هر گوييم.در مي جمعيت ياColony ها کروموزوم

يابند. مي تکامل است زيستي تکامل از حاکي که مشخصي قوانين

مي همf(Xi) را آن که داريم(Fitness)تناسب ارزش يک ،ماXi کروموزوم هر براي نزديکترColony بهينه به آنها تناسب ارزش که هايي کروموزوم يا قويتر ناميم.عناصر

را شدن توليد دوباره و ديگر هاي دوره طول در ماندن زنده براي بيشتري شانس است به که هايي ورودي الگوريتم ديگر عبارت اند. به نابودي به محکوم ضعيفترها و دارند

کند. مي نظر صرف بقيه واز داشته نزديکترندرانگه بهينه جواب

افتد. محتويات مي اتفاق يکبار دوره هر در که است درالگوريتم،تولد ديگر مهم گام يک کروموزوم2 تا ميشوند ترکيب هم با کنند مي شرکت توليد فرآيند در که کروموزومي دو

تا2 تا دهد مي اجازه ما به هيوريستيک کنند.اين ايجاد ناميم مي فرزند را انها ما که جديد در عًالوه به( evolution).کنيم ترکيب هم با آنها از بهتر يکي ايجاد براي را ها بهترين از

.(Mutation[)6]يابند جهش است ممکن ها کروموزوم از سري دوره،يک هر طول

الگوريتم

ژنتيک الگوريتم اجراي .براي دارد قرار)X=(x1,x2,..,xn برداري عدد يک درx ورودي هر بيتlog(n) داشتن با را اين توانيم کنيم.مي تبديل کروموزوم يک به را ورودي هر بايد مان. زير شکل مثل دهيم انجامXi ارزش تبديل عنصرو هر براي

0111111 ... 1010111 1111011

از دسته يک ،0 دوره کنيم.در استفاده اعداد براي کردن کد روش هر از توانيم مي ارزش ما امi دوره هر براي کنيم.بعد مي انتخالب تصادفي صورت به راX هاي ورودي که يابد مي پايان وقتي کنيم.الگوريتم مي اعمال را وانتخاب توليد،تغيير راFitness مقدار

برسيم. معيارمان به

8

e(X1) e(X1)e(X1)

(X1, X2,…,Xn)= (123, 87,…, 63)

Page 9: الگوریتم ژنتیک

[6]

: کد و سود

Choose initial population

Repeat

Evaluate the individual fit nesses of a certain proportion of the population

Select pairs of best-ranking individuals to reproduce

Apply crossover operator

Apply mutation operator

Until terminating condition

[2]

9

Page 10: الگوریتم ژنتیک

[5]

نمايش هاي روش

کد براي روش شود،يک اجرا مسئله يک براي ژنتيک الگوريتم يک که اين از قبل به کردن کد معمول هاي روش از رود. يکي کار به بايد کامپيوتر زبان به ها ژنوم کردن

راه کدکردن ديگر مشابه حل راه . يک1و0 هاي است:رشته باينري هاي رشته صورت از جنبه يک جايگاه هر دوباره ،که است اعشاري يا صحيح اعداد از اي آرايه در ها حل

تر مشکل و تر پيچيده قبلي با مقايسه در حل راه دهد.اين مي نشان را ها ويژگيN پروتئين يک بعدي3 ساختار حدس کرمر،براي استفان توسط روش اين است. مثًال

شبکه آموزش براي که ژنتيکي هاي شد.الگوريتم استفاده ها اسيد آمينو در موجودگيرند. مي بهره روش اين شوند،از مي استفاده عصبي هاي

حرف هر است،که حروف از رشته يکGA يک در صفات نمايش براي روش سوميناست. حل راه از خصوصيت يک دهنده نمايش دوباره

تغييرات که را ايي سازنده تعريف آنها که است اين روشها اين تاي3 هر خاصيت کردن کم يا وبرعکس،اضافه1 به را0کنند: مي آسان را کنند مي ايجاد آنها در تصادفي

ديگر. حرف به حرف يک تبديل يا عدد يک ارزش

10

Page 11: الگوریتم ژنتیک

Genetic) ژنتيک نويسي يافت،برنامه توسعه John Koza توسط که ديگر روش يک programming)نشان درخت ساختار در داده هاي شاخه عنوان به را ها برنامه است.که

دادن تغيير يا عملگرها کردن عوض با توانند مي تصادفي تغييرات روش اين دهد.در ميآيند. وجود به ديگري با درخت زير يک کردن عوض درخت،يا در شده داده گره يک ارزش

انتخاب هاي روش

انتخاب براي توان مي که دارند وجود ژنتيک هاي الگوريتم براي مختلفي هاي روش ها روش معمولترين از پايين در شده ليست هاي روش کرد.اما استفاده آنها از ها ژنوم

هستند.

شود. مي انتخاب اجتماع هر عضو :مناسبترينElitist انتخاب

عدد که عنصري آن در که است انتخاب روش : يکRoulette انتخاب شود. مي باشد،انتخاب داشته برازش)تناسب(بيشتري

هم انتخاب جامعه،سنگيني برازش عدد متوسط افزايش موازات :بهScaling انتخاب باشد عناصري داراي مجموعه که دارد کاربرد وقتي روش تر.اين شودوجزئي مي بيشتر

کند. مي تفکيک هم از را آنها کوچکي هاي تفاوت وفقط دارند بزرگي برازش عدد که

شوندواعضاي مي انتخاب جامعه يک صفات از مجموعه زير : يکTournament انتخاب توليد براي گروه زير هر از صفت يک فقط سرانجام کنندو مي رقابت هم با مجموعه آن

شوند. مي انتخاب

-Rank Selection, Generational Selection, Steadyاز: عبارتند ديگر روشهاي از بعضي State Selection .Hierarchical Selection

تغيير هاي روش

براي تصادفي طور به شدند،بايد انتخاب ها کروموزوم انتخاب هاي روش با وقتي وساده دارد.اولين وجود کار اين براي اساسي حل راه2شوند. اصًالح تناسبشان افزايش

عبارت که زنده موجودات در جهش مثل شود.درست مي ناميده(Mutation) جهش ترين از نقطه يک در کوچکي تغيير جهش ژنتيک الگوريتم در ديگري، به ژن يک تغيير از است

کند. مي ايجاد خصوصيات کد

11

Page 12: الگوریتم ژنتیک

کدشان سگمنتهاي معاوضه براي کروموزوم2 و دارد نامCrossover روش دومين در مثل توليد طول در ها کروموزوم ترکيب فرآيند اساس بر فرآيند شوند.اين مي انتخاب

Single-point شاملCrossover معمول هاي روش شده. اغلب سازي شبيه زنده موجوداتCrossoverاز قبل اول است.بخش ها ژنوم بين تصادفي جايي در تعويض نقطه که ، هستند

يک از برگرفته قسمت هر کند،که مي پيدا ادامه آن از بعد سگمنت دوم بخش ،و نقطهشده. انتخاب50/50 است،که والد

نشان بيتي8 هاي کروموزوم روي را ژنتيک هاي عملگر از يک هر تاثير باال هاي شکل مکان امين6 و امين5 بين تعويض نقطه که دهد مي نشان را ژنوم2 باالتر دهد. شکل مي وم2 آيند.شکل مي بدست والد2 اين پيوند از جديد ژنوم يک گرفته،ايجاد قرار ژنوم در

. شده تبديل1 به مکان آن در0 و شده جهش دچار که دهد مي نشان را ژنومي

ژنتيک هاي الگوريتم قوت تقاط

N ژنتيک هاي الگوريتم که است اين ها الگوريتم اين قوت نقطه مهمترين و اولين ذاتا مورد مسئله فضاي توانند مي فقط و نيستند موازي ديگر هاي الگوريتم .اکثر اند موازي

بهينه جواب يک شده پيدا حل راه واگر کنند جستجو لحظه يک در جهت يک در را نظر حال به تا که کارهايي تمام بايد باشد اصلي جواب از اي مجموعه زير باشدويا محلي نقطه چندينGA که آنجايي کرد.از شروع اول از ودوباره گذاشت کنار را شده انجام

کند. اگر جستجو مختلف چندجهت از را مسئله فضاي تواند مي لحظه يک دارد،در شروع قرار شان اختيار در را بيشتري منابع و يابند مي ادامه ها راه ساير نرسيد نتيجه به يکي مي تشکيل را جستجو فضاي يک باينري رشته عدد8 بگيريد: همه نظر گيرد.در مي

از يکي01101010 شود.رشته داده ******** نشان صورت به تواند مي دهند،که*1و*0 ******0و01و******0******* فضاهاي از عضوي فضاست.همچنين اين اعضاي

باشد. آخر والي01*01**0 و0*1*1

گيرند مي قرار ارزيابي مورد لحظه يک در رشته چندين که واين بودن موازي دليل به GAکه مسائلي .اکثر است مفيد بسيار دارند بزرگي حل راه فضاي که مسائلي براي ها هرFitnessخطي، مسئله يک اند.در شده خطي" شناخته "غير عنوان به اند گونه اين

تاثير سيستم کل وپيشرفت تغيير بر قسمت يک در تغييري هر است،پس مستقل عنصر اند.در خطي صورت به واقعي دنياي مسائل از کمي تعداد که دانيم دارد.مي مستقيم ويا سيستم کل بر ناهماهنگ تاثيري است ممکن قسمت يک در تغيير خطي غير مسائل

باعثGA بودن موازي بگذارد. خوشبختانه سيستم بر فراواني تاثير عنصر چند در تغييرN مي حل مشکل کمي مدت ودر شود مي مسئله اين حل مسئله يک حل براي شود.مثًال

رقمي1000 خطي غير يک براي ولي دارد وجود حل امکان2000 رقمي1000 خطي. امکان 21000

12

Page 13: الگوریتم ژنتیک

اين رسد مي نظر به کمبود يک ابتدا در که ژنتيک هاي الگوريتم قوت نقاط از يکي N دانندو نمي کنند مي حل که مسائلي مورد در چيزي هيچ هاGA: که است آنها به اصطًالحا

Blind Watchmakers مي کانديدشان هاي حل راه در را تصادفي تغييرات . آنها گوييم مي اند کرده ايجاد پيشرفتي تغييرات آن آيا که اين سنجش براي برازش تابع از وسپس دهند

ذهني با يا دهند مي اجازهGA به که است اين تکنيک اين کنند.مزيت مي استفاده نه، ياN آن تصميمات که آنجايي کنند.از حل به شروع باز تئوري اساس است،بر تصادفي اساسا

اطًالعات به محدود که مسائلي است،ولي باز مسئله روي به ممکن حلهاي راه همه را وجديد نو حلهاي راه از بسياري صورت اين ودر بگيرند تصميم قياس راه از بايد هستند

. دهند مي دست از را پارامتر چندين توانند مي آنها که است اين ژنتيک الگوريتم مزاياي از ديگر يکي

آن تا شوند ويژگي يک به محدود توانند نمي واقعي ازمسائل تغييردهند.بسياري همزمان گونه اين حل در هاGAشوند. گرفته نظر در جانبه چند بايد و مينيمم يا شود ماکسيمم ويژگي مي آنها به را خاصيت اين آنها کردن کار موازي قابليت حقيقت در مفيدند،و بسيار مسائل

نظر در با کدام هر شود،که پيدا حل راه چند يا2 مسئله يک براي است ممکن بخشد.واند. رسيده جواب به خاص پارامتر يک گرفتن

هاGA محدوديتهاي براي حل راه بهترين به منجر که استFitness عملگر نوشتن چگونگي مشکل يک

شود باعث است ممکن نشود انتخاب قوي و خوبي به برازش کارکرد اين شود.اگر مسئله براي عًالوه کنيم. به حل اشتباه به را ديگر اي مسئله يا نکنيم پيدا مسئله براي حلي راه که

و جهش جمعيت،نرخ اندازه مثل ديگري ،پارامترهايFitness براي مناسب تابع انتخابCrossoverگيرند. قرار توجه مورد بايد هم انتخاب ونوع ،قدرت

ساير با اش فاصله که ژنوم يک اگر که است اين ناميم مي نارس را آن ديگر،که مشکل شود)ايجاد ديده زود خيلي باشد(و بقيه از بهتر باشد)خيلي زياد اش نسل هاي ژنوم

سوق محلي بهينه جواب سوي به را حل راه و کند ايجاد محدوديت است شود(ممکنN اتفاق دهد.اين Rank ,Scaling هاي افتد.روش مي اتفاق کم هاي جمعيت در معموال

tournament selection[3.]کنند مي غلبه مشکل اين برژنتيک هاي الگوريتم هاي کاربرد از نمونه چند ايراني مبتکران همت به شده ثبت تصوير از استفاده با چهره شناسايي نرم افزار

و چهره اجزاي فاصله براساس چهره شناسايي روش، اين در . شد ساخته و طراحي و نور تغييرات گيم، از ناشي تغييرات که مي گيرد صورت هندسي و محلي ويژگي هاي

. داشت خواهد را تأثير کمتين سن افزايش

با و شده ساخته ژنتيک الگويتم هاي از استفاده با جديد چهره هاي براي گراف ها همچنين در به سزايي تأثير امر اين که هستند يکديگر با مقايسه قابل تشابه، تابع يک از استفاده . داشت خواهد شناسايي سرعت افزايش

شده. توزيع کامپيوتي هاي شبکه هاي توپولوژي)شيمي( ش�ميايي ملکولي ساختار سازي بهينه

Crooked-Wire Genetic Antenna آنتنهاي ساخت براي برق مهندسيافزار نرم مهندسي

کامپيوتري هاي بازيمواد مهندسيسيستم مهندسي

(Robotics)رباتيک(Data mining)داده استخراج الگوو تشخيص

گرد دوره فروشنده مسئله حلمصنوعي عصبي هاي شبکه آموزش

13

Page 14: الگوریتم ژنتیک

.GA با رباتها به رفتار ياددهيژنتيک. هاي الگويتم از استفاده با فازي قوانين يادگيري

شود. مراجعه 3 شماره مرجع به تر کامل و بيشتر اطًالعات کسب براي:ساده مثال يک

دهيم قرار مربع اين در را15تا1 بين اعدادي ميخواه مي که داريم3*3 مربع يک ما جمع که طوري به

شود. 24 برابر ستون سطرو هر در اعداد

NNN

NNNNNN

زماني مدت در را آن بتواند انسان يک است است.ممکن پيچيده حدودي تا سئلهم ابن زمان مدت رادر آن توانست نخواهد کامپيوتر يک گاه هيچ ولي کند حل مشخص اين تواند مي ژنتيک الگوريتم کند. ولي حل تصادفي اعداد از استفاده با کوتاهيکند. حل را مشکل

اول نسل

ژنوم تعدادي شامل که است کار شروع براي ابتدايي نسل يک کردن ايجاد گام اولين مثال شوند. حاال مي داده ( نشان1و0باينري) صورت به ها ژنوم است.اين تصادفي

مان:

شامل کروموزوم يا ژنوم د. هرنشو مي توليد تصادفي صورت به عدد يکسري اول مي دارند15تا0 بين مقادير اعداد اين .چون است خالي جاي9 هر براي اطًالعاتي

است. بيت36 شامل ژنوم هر داد. پس نمايش داده ژن يا بيت4 با را آنها توان

باشد: زير شکل به تواند مي ژنوم نمونه يک

Bits (Genes) 0110 1100 1111 1011 0100 1010 0111 0101 1110

Values(Traits) 6 12 15 11 4 10 7 5 14

مسئله حل در آن تاثير ( بنابرFitnessتناسب) عدد يک مجموعه در ژنوم هر به حاالبايد الگوي کند.انتخاب مي فرق مسئله هر براي عدد اين محاسبه وروش داد.فرآيند نسبت

14

= = =24 24 24

Page 15: الگوریتم ژنتیک

است.دراين ژنتيک مسئله حل در بخش حساسترين و مشکلترين مسئله براي مناسب با چقدر که کنيم مي بررسي و کنيم مي جايگذاري هايشان مکان در را اعداد ما مثال

دارند. فاصله اصلي جواب

15126

10411

1457

را مسئله مقادير اين که است .واضح39و21و24و26و25و33 از عبارتند معادل مقادير ابتدا کار اين کرد.براي محاسبه ژنوم اين براي را تناسب مقادير بايد کنند.پس نمي حل

محاسبه را آنها تفاصل مجموع معکوس کرده،سپس محاسبه24از را هرمجموع فاصله. کنيم مي

N ژنوم اين براي تناسب درجه بنابراين به ما اعداد که است.هرچقدر0.033 برابر تقريبا چه شود0 برابر ما مخرج اگر شد.اما خواهد بزرگتر تناسب عدد باشند نزديکتر جوابايم. رسيده جواب به وما اند شده24 برابر ما اعداد همه صورت دراين افتد؟ مي اتفاقي

بعدي نسل

ترين اصلي شوند. اين مي انتخاب بعدي نسل توليد براي تصادفي طور به ژنوم دو شده: تشکيل مرحله3 از که است ژنتيک الگوريتم بخش

انتخاب

15

=33

=25

=26

= = = 24 21 39

33=

25=

26=

Page 16: الگوریتم ژنتیک

تناسب اعداد داراي ها ژنوم شوند.اين مي انتخاب قبل نسل از تصادفي طور به ژنوم دو معني بدين شوند. اين مي منتقل بعدي نسل به آنها صفات بعضي و هستند بزرگتري

بود. خواهد افزايش حال در تناسب عدد که است

(Rouletteرولت) نام به روشي مسئله اين در(Fitness)انتخاب تابع براي روش بهترين انتخاب شود. تابع مي انتخاب قبلي نسل تناسب وعدد0 بين تصادفي عدد يک است.اول

بود: خواهد زير صورت به

RouletteSelection(){ float ball = rand_float_between(0.0, total_fitness); float slice = 0.0;  for each genome in population { slice += genome. fitness; if ball < slice return genome; }}

(Cross over)بعدي نسل به نسل يک از تغيير

تغيير آنها کنند. اگر مي اهدا بعدي نسل ايجاد براي را ژنهايشان از بخشي ژنوم دو حاال نشانCrossover شد.درجه خواهند منتقل بعدي لسن به تغيير بي همانطور نکنند پيدا

در بايد عدد اين و کرد خواهند پيدا تغيير ها ژنوم يکبار وقت چند هر که است اين دهنده% باشد.85-65 حدود

تغيير براي ژنوم در تصادفي مکان يک انتخاب با ما مثال باينري هاي ژنوم در تغيير عملگر شوند)و مي ترکيب هم با مادر ژنهاي دوم بخش و پدر ژنهاي اول شود. بخش مي آغاز

بينيم. مي را تغيير عمل زيريک شوند. در توليد فرزند2بالعکس( تا

Before Crossing

Father 011110010011 001011011000111011010000

Mother 010100111110 010101111101000100010010

After Crossing

Child1 011110010011 010101111101000100010010

Child2 010100111110 001011011000111011010000

( Mutation)جهش

16

Page 17: الگوریتم ژنتیک

تغيير يا جهش دچار دارد بگيرند،احتمال قرار بعدي نسل در ها ژنوم که اين از قبل به تغيير اين باينري ژنهاي است.در ژن در ناگهاني تغيير يک شوند.جهش شوند ناگهاني بروز احتمال دهنده نشان جهش است. درجه0 به1 از يا1 به0 از بيت يک تغيير معنايN و است ژن يک در جهش ژنهاي %براي20-5 و باينري ژنهاي % براي5-1 بين تغريبااست. عددي

[4]است. شده آورده تحقيق اين همراه++C زبان به مسئله اين برنامه نمونه

هيوريستيک هايپر

است شده استفاده ژنتيک الگوريتم از ها ان حل براي که دارد وجود بسياري هاي مثال پرسنل زماني جدول ي .مسئله Traveling salesman& bin packing&scheduling جمله از

. است شده حل اميزي موفقيت صورت به ژنتيک الگوريتم از استفاده با وکارکنانaickelin& dowslamdهاي بيمارستان از يکي در پرستاران کار ليست ژنتيک الگوريتم از

ي مسئله حل براي ژنتيک الگوريتم ازeston & mansour شد برده ر کا به انگلستان بزرگ توزيع ژنتيک الگوريم از مسئله اين حل براي واقع .در کردند استفاده کار بندي زمان جدول اين از يافتند.آنچه دست داشت وجود کار محل ي شبکه روي موازي صورت به که شده

متفاوت کارهاي از اي مجموعه براي بندي زمان متفاوت ي دسته سه آمد بدست تحقيق مقايسه هم با ميکرند کار هيوريستيک متا و هيوريستيک با که را مسائلي محققين بود. اين

الگوريتم نتيجه در کرد مي کار آنها ي همه از بهتر ژنتيک الگوريتم که بود ان نتيجه و کردند اي گسترده صورت به مستقيم غير هاي کروموزوم و مستقيم هاي کروموزوم با ژنتيک هاي

با ژنتيک الگوريتم ازhart & ross& nelson مثال عنوان . به گرفت قرار مطالعه مورد شد. انه طراحي امتحانات بندي زمان ي مسئله حل براي مستقيم هاي کروموزوم

ها کروموزوم کردند. بنابراين ايجاد ارايه اي خانه ده در پارامتر عنوان به هاي استراتژي غير هاي بندي. کروموزوم زمان جدول خود نه کنند مي ايجاد را بندي زمان جدول ساختار

گيرند. مي قرار استفاده مورد مستقيم هاي کروموزوم هاي محدوديت رفع براي مستقيمداشت. وجود مسئله حل مختلف هاي قسمت بين هماهنگ شکست همان محدوديت اين که ي مسئله روي که گرفت مي قرار استفاده مورد مسائلي در بيشتر ژنتيک الگوريم از

. داريم مسئله دانش ي دامنه به نياز ما مسائل نوع اين در و داشت تاکيد بندي زمان و زمان طراحي در مسئله دانش بودند مسئله حل ساختار عنوان به که ها کروموزوم واقع در

به طراحي اين زياد . وابستگي است ضروري و الزم بسيار ژنتيک الگوريتم در ها کروموزوم مسائل در آمده بدست ژنتيک الگوريتم نتوانيم تا شود مي موجب مسئله دانش ي دامنهببريم. کار به ديگر تکاملي مراتب سلسله ي پايه بر مستقيم غير هاي کروموزوم از که ژنتيک هاي الگوريتم

مي پرسنل کار بندي زمان ي مسئله همچون مسائلي در را است شده طراحي هيوريستيککرد. استفاده ها مکان ي همه ودر عمومي صورت به توان

تکامل و سعه تو زنده هاي مرغ نقل و حمل ي مسئله در ان از که هيوريستيک هايپر متد يک هر کردند تقسم مسئله زير دو به را مسئله اين که شد حل شيوه اين به مسئله دادنداين

الگوريتم دو اين از کدام ميکردند. هر استفاده جدا زنتيک الگوريتم از مسئله زير دو اين از باشند برنامه يک خودشان اينکه نه کنند مي معين برنامه توليد براي استراتژي يک ژنتيک جستجوي توانايي ي وسيله به که است قانون يکسري عنوان به شرکت اطًالعات تمامي

که ميکند معين هيوريستيک الگوريتم در مراتب شود.سلسله مي پشتيباني ژنتيک الگوريتم تحقيق اين ي نتيجه شود. در استفاده برنامه در کارها دادن قرار براي هيوريستيک کدام

خانه کار يک در زنده مرغ زيادي تعداد نقل و حمل براي بندي زمان ي برنامه ساختار هاي موزوم کرو با زنتيک هاي الگوريتم با که هيوريستيک هايپر هاي شد.الگوريتم طراحي

17

Page 18: الگوریتم ژنتیک

هاي اندازه داراي ها کروموزوم الگوريتم نوع اين در .که ايم کرده طراحي مستقيم غيرگيرد. مي قرار استفاده مورد بندي زمان مسائل براي هم الگوريتم نوع انداين متغير

سطح هيوريستيک يکسري از که است الگوريتمي مستقيم غير هايپرهيوريستيک الگوريتم توابع کي که ميداند فقط که هيوريستيک هايپر که باال سطح هيوريستيک يکسري و پايين نشان را چيزي چه هدف تابع اينکه مورد در اطًالعاتي هيچ هستندو مينيمم يا ماکسيمم هدف

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

www.ccwmagazine.com کامپيوتر و علم مجله[1]

[2] www.wikipedia.com

[3] www.talkorigins.org

[4] www.gpwiki.org

Koza پاورپوينت[5]

www.smi.stanford.edu/people/koza

کاناداMcGill دانشگاه وتريکامپ دانشکده [6]

www.cgm.cs.mcgill.ca

[7]www.sharifthinktank.com

[8] www.itna.com

Guided operators for a hipper-heuristic Genetic Algorithm ]9[

www.cs.nott.ac.ukIT university of Nottingham

18