3- ساختار الگوريتمهاي...

76
ده : ی ک چ(- ک ی ت ن ژ م ت ی وژ گ ل اGenetic Algorithm - GA ن ت" ف ا یرای( ب ه" ان م ژای عل ی دژ ی و( ج ت س( ج ک ی" کت ی) ای ه م ت ی وژ گ ل ا" ی اژ ص ا" " وع چ ن ک ی ت ن ژ م ت یوژ گ ل . ا ت س و ا( ج ت س( ج لE نا س م ی و" اژ هس" ن هت( ب رای( ب ی( بM یر ق تل چ ژاه د." ی ک ی م اده" ف ت س ا ش ه( ج و ت ث د وژا" ی ی ی ما س ا" ی س ت س ی" های ژ ک ی" کت ی" که اژ ت س ل ا م کا تال دژ س د" ی ل ها ان( ط چ وس ن ده, ه س ن" ج ا" ی س ی( ی ا ه ی" ن هت( ب ی" فاد ص ت های ش ژو" ی اژ کM ی وان" ن ع ه( ه ن ک ک ی ت ن م ژ ت یوژ گ ل ا۱۹۶۷ رگ( بد ل گ های ش لا ی ا( ی ژوش ن ی ا عدها( ت. ت س دها داع س( ای۱۹۸۹ , ه" روژ م ه و ا ن" ف ا ژا ی ش ی خ ان مک داژد. ها ش ر ژو گ ی د ان ی م ی دژ( سب ا" ی م ای( , چ ش ی خ های یM ی ا" وای ن واسطه( ن" ر ی" ن

Transcript of 3- ساختار الگوريتمهاي...

Page 1: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

چکیده :

( تکنیک جستجویی در علم رایانه برایGenetic Algorithm - GAالگوریتم ژنتیک-) یافتن راه حل تقریبی برای بهینه سازی و مسائل جس$$تجو اس$$ت. الگ$$وریتم ژنتی$$ک نوع خاصی از الگوریتمه$ای تکام$$ل اس$$ت ک$ه از تکنیکه$ای زیست شناس$$ی مانن$د

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

اب$$داع شده اس$$ت. بع$$دها این روش ب$$ا تالش$$های۱۹۶۷توسط جان هالند در سال مکان خویش را یافته و امروزه نیز بواس$$طه تواناییه$$ای خ$$ویش ,, ۱۹۸۹گلدبرگ

جای مناسبی در میان دیگر روشها دارد.

تعریف الگوریتم ژنتیک :

Page 2: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

الگوریتمهای ژنتیک معموال به عنوان یک شبیه ساز کامپیوتر که در آن جمعیت ی$$ک انتزاعی )کروموزومها( از نامزدهای راه حل یک مس$$أله بهینه س$$ازی ب$$ه راهنمونه

حل بهتری منجر شود، پیاده سازی می شوند. ب$$ه ط$$ور س$$نتی راه حله$$ا ب$$ه ش$$کل بودن$$د، ام$$ا ام$$روزه ب$$ه گونه ه$$ای دیگ$$ری هم پیاده س$$ازی۱ و ۰رش$$ته هایی از

شده اند. فرضیه با جمعیتی کامال تصادفی منحصر بفرد آغاز می ش$$ود و در نس$$لها ادامه می یابد. در هر نسل گنجایش تمام جمعیت ارزی$$ابی می ش$$ود، چن$$دین ف$$رد منحص$$ر در فراین$$دی تص$$ادفی از نس$$ل ج$$اری انتخ$$اب می ش$$وند )ب$$ر اس$$اس شایستگیها( و برای ش$کل دادن نس$ل جدی$د، اص$الح می ش$وند )کس$ر ی$ا دوب$اره

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

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

ض$$رایب و ثابت ه$$ا جهت م$$دل ک$$ردن قیمت نفت اس$$تفاده خ$$واهیم ک$$رد. در این نکته اساسی وج$$ود دارد. اول این ک$$ه روش خطی اس$$ت و مس$$ئله دوم2روش

این اس$$ت ک$$ه م$$ا ب$$ه ج$$ای اینک$$ه در می$$ان "فض$$ای پارامتره$$ا" جس$$تجو ک$$نیم،پارامترهای مورد استفاده را مشخص کرده ایم.

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

20می کند.سپس داده هایی ب$رای گ$روهی از متغیره$ای مختل$$ف،ش$$اید در ح$دود متغیر فراهم خواهیم کرد. سپس الگوریتم ژنتیک اجرا خواهد شد که بهترین ت$$ابع و متغیره$$ا را م$$ورد جس$$تجو ق$$رار می ده$$د.روش ک$$ار الگ$$وریتم ژنتی$$ک ب$$ه ط$$ور فریبنده ای ساده،خیلی قابل درک و به طور قابل مالحظه ای روشی است ک$$ه م$$ا معتقدیم حیوانات آنگونه تکامل یافته اند.هر فرمولی ک$$ه از ط$$رح داده ش$$ده ب$$اال

تبعیت کند فردی از جمعیت فرمول های ممکن تلقی می شود. متغیرهایی که هر فرم$$ول داده ش$$ده را مش$$خص می کنن$$د ب$$ه عن$$وان یکس$$ری از

( آن فرد را تشکیل می دهند.DNAاعداد نشان داده شده اند که معادل ) موتور الگوریتم ژنتیک یک جمعیت اولیه از فرمول ایجاد می کند.هر ف$$رد در براب$$ر

10مجموعه ای از داده های مورد آزمایش قرار می گیرند و مناسبترین آنها )ش$$اید

Page 3: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

درصد از مناسبترین ها( باقی می مانند؛ بقی$$ه کن$$ار گذاش$$ته می ش$$وند.مناس$$بترین افراد با هم جفتگیری )جابجایی عناصر دی ان ای( و تغییر )تغییر تصادفی عناص$$ر دی ان ای( کرده اند. مش$$اهده می ش$$ود ک$$ه ب$$ا گذش$$ت از می$$ان تع$$داد زی$$ادی از نسلها، الگ$$وریتم ژنتی$$ک ب$$ه س$$مت ایج$$اد فرمول ه$$ایی ک$$ه دقیق$$تر هس$$تند، می$$ل می کنند. در حالی ک$$ه ش$$بکه های عص$$بی هم غ$$یرخطی و غیرپارامتری$$ک هس$$تند، جذابیت زیاد الگوریتم های ژنتیک این است نتایج نهایی قابل مالحظه ترند. فرم$$ول نهایی برای کاربر انسانی قابل مشاهده خواهد بود، و برای ارائه س$$طح اطمین$$ان نتایج می توان تکنیک های آم$$اری متع$$ارف را ب$$ر روی این فرمول ه$$ا اعم$$ال ک$$رد. فناوری الگوریتم های ژنتیک همواره در حال بهبود اس$$ت و ب$$رای مث$$ال ب$$ا مط$$رح کردن معادله ویروس ه$$ا ک$ه در کن$$ار فرمول ه$ا و ب$$رای نقض ک$ردن فرمول ه$ای

ضعیف تولید می شوند و در نتیجه جمعیت را کال قویتر می سازند. ( یک تکنیک برنامه نویسی اس$$تGAمختصرا گفته می شود که الگوریتم ژنتیک یا )

که از تکامل ژنتیکی به عنوان یک الگوی حل مس$$ئله اس$$تفاده می کن$$د.مس$$ئله ای که باید حل شود ورودی است و راه حلها طبق یک الگ$$و کدگ$$ذاری می ش$$وند ک$$ه

ن$$ام دارد و ه$$ر راه ح$$ل کاندی$$د را ارزی$$ابی می کن$$د ک$$ه اک$$ثر آنه$$ا ب$$هfitnessتابع صورت تصادفی انتخاب می شوند.

( یک تکنیک جستجو در علم رایانه برای یافتن راه ح$$ل بهین$$هGAالگوریتم ژنتیک ) و مسائل جستجو است. الگوریتم های ژنتیک یکی از انواع الگوریتم های تکاملی اند که از علم زیست شناسی مثل وراثت، جهش، انتخاب ناگهانی، انتخ$$اب ط$$بیعی و

ترکیب الهام گرفته شده. نش$$ان داده می ش$$وند، ولی روش$$های1 و 0 ت$$ایی 2عموما راه حله$$ا ب$$ه ص$$ورت

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

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

Page 4: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

برای ایجاد نسل اول تولید می شوند. در ط$$ول ه$ر نس$ل، ه$ر مشخص$$ه ارزی$ابی( توسط تابع تناسب اندازه گیری می شود.fitnessمی شود وارزش تناسب )

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

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

( ،...Tournamentانتخاب وجود دارد: چرخ منگنه دار)رولت(، انتخاب مسابقه ای )

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

کروم$$وزوم فرزن$$د ایج$$اد می کن$$د، ک$ه ب$$ه نس$ل2با هم ترکیب می شوند. اتصال بعدی اضافه می شوند. این کارها انجام می شوند ت$$ا این ک$$ه کاندی$$دهای مناس$$بی برای جواب، در نسل بعدی پیدا شوند. مرحل$$ه بع$دی تغی$$یر دادن فرزن$$دان جدی$د است. الگوریتم های ژنتی$$ک ی$$ک احتم$$ال تغی$$یر کوچ$$ک و ث$$ابت دارن$$د ک$$ه معم$$وال

ی$$ا کم$$تر دارد. ب$$ر اس$$اس این احتم$$ال، کروموزوم ه$$ای0.01درجه ای در ح$$دود

Page 5: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

فرزند به طور تصادفی تغییر می کنند یا جهش می یابند، مخصوصا با جهش بیت هادر کروموزوم ساختمان داده مان.

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

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

عملگرهای یک الگوریتم ژنتیک در هر مسئله قبل از آنکه بتوان الگوریتم ژنتیک را برای یافتن ی$$ک پاس$$خ ب$$ه ک$$ار برد به دو عنصر نی$$از اس$$ت: اول روش$$ی ب$$رای ارائ$$ه ی$$ک ج$واب ب$$ه ش$$کلی ک$ه الگوریتم ژنتیک بتواند روی آن عمل کند الزم است. به شکل سنتی یک جواب ب$$ه صورت یک رشته از بیتها، اعداد یا نویس$$ه ه$$ا.نم$$ایش داده می ش$$ود.دوم روش$$ی الزم است که بتواند کیفیت هر جواب پیشنهاد شده را با استفاده از توابع تناسب محاسبه نماید. مثال اگر مسئله ه$$ر مق$$دار وزن ممکن را ب$$رای ی$$ک کول$$ه پش$$تی مناسب بداند بدون اینکه کوله پشتی پاره شود، )مسئله کوله پشتی را ببینید( یک

در نظر گرفت$$ه۱ و۰روش برای ارائه پاسخ می تواند به شکل رشته ای از بیتهای ب$$ودن نش$$انه اض$$افه ش$$دن ی$$ا نش$$دن وزن ب$$ه کول$$ه پش$$تی۰ ی$$ا ۱ش$$ود, ک$$ه

است.تناسب پاسخ، با تعیین وزن ک$$ل ب$$رای ج$$واب پیش$$نهاد ش$$ده ان$$دازه گ$$یریمی شود.

روال بهینه یابی در الگوریتم ژنتی$$ک براس$$اس ی$$ک رون$$د تص$$ادفی- ه$$دایت ش$$ده استوار می باشد. این روش,بر مبنای نظری$$ه تکام$$ل ت$$دریجی و ای$$ده های بنی$$ادین داروین پایه گذاری شده است.در این روش , ابتدا برای تعدادی ث$$ابت ک$$ه جمعیت نامیده می شود مجموعه ای از پارامترهای هدف بصورت اتفاقی تولی$$د می ش$$ود , پس از اجرای برنامه شبیه ساز عددی را که معرف انح$$راف معی$$ار و ی$$ا ب$$رازش آن مجموعه از اطالعات است را به آن عضو از جمعیت مذکور نس$$بت می دهیم. این عمل را برای تک تک اعضای ایجاد شده تکرار می کنیم , سپس ب$$ا فراخ$$وانی

از جمل$$ه لق$اح , جهش و انتخ$$اب نس$ل بع$د را ش$$کلژنتیکعملگرهای الگوریتم می دهیم و این روال تا ارضای معیار همگرایی ادامه داده خواهد شد.

بصورت متداول سه معیار به عنوان معیار توقف شمرده می شود:

Page 6: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

زمان اجرای الگوریتم . ۱ تعداد نسلهایی که ایجاد می شوند . ۲همگرایی معیار خطا. 3

:کاربردهای الگوریتم ژنتیک • روندیابی هیدرولوژیکی رواناب جاری در شبکه رودخانه خشک

• کمک در حل مسایل تصمیم گیری چند معیاره• بهینه سازی چند هدفه در مدیریت منابع آبی

• بهینه سازی و بارآرایی شبکه های توزیع نیروی برق

شرایط خاتمه الگوریتم های ژنتیک عبارتند از:به تعداد ثابتی از نسل ها برسیم.

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

بازرسی دستی.

الگوريتم ژنتيك يك روش آم$$اري ب$$راي بهين$$ه س$$ازي و جس$$تجو اس$$ت. الگ$$وريتم ژنتيك جزئي از محاسبات تكاملي است ك$$ه خ$$ود ج$$زئي از ه$$وش مص$$نوعي مي باش$$د. ويژگيه$$اي خ$$اص اين الگ$$وريتم ب$$اعث مي ش$$ود ك$$ه نت$$وانيم آن را ي$$ك جستجوگر تصادفي ساده قلمداد ك$$نيم. در واق$$ع اي$$ده اولي$$ه اين روش از نظري$$ه الهام گرفته شده است و كاركرد آن بر اساس ژنتي$$ك ط$$بيعي اس$$توار مي باش$$د

Darwin تكاملي داروين ك$$ه در زمين$$ه اس$$تراتژيهاي Rechenbergاي$$دة محاس$$بات توسط رچنبرگ تك$$املي تحقي$$ق مي ك$$رد بوج$$ود١٩٦٠تكاملي اولين بار در سال

آمد كه نظريه او بعدها توس$$ط ديگ$$ر محقق$$ان توس$$عه داده ش$$د. اص$$ول اولي$$ه و الگوريتمHolland ارائه شد. آنان ١٩٦٢همكارانش در دانشگاه ميشيگان در سال

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

توانايي هاي اصلي سيستم هاي طبيعي باشند، تالش نمودند.

Page 7: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

، مب$$اني١٩٧٥نتيجه اين تالش$$ها، پي$$دايش الگ$$وريتم ژنتي$ك ب$ود. س$$پس در س$ال “ توسطAdaptive in Natural and Artificial Systemرياضي آن در كتابي منتشر

هلند ب$$ا ن$ام ”تط$ابق در سيس$تمهاي ط$$بيعي و مص$$نوعي الگ$$وريتم ژنتي$$ك را ب$$هJohnمنظور انجام وظايف خاص$$ي در برنام$$ه Koza ج$$ان١٩٩٢ ش$$د. در س$$ال ،

Geneticكوزا ناميد. در برنامه ريزي Programmingهايش بكار ب$$رد. او اين روش را برنامه ريزي تكاملي

تكاملي، هدف پيدا كردن الگوريتمي است كه بتواند جواب هر صورت مس$$اله اي را پيدا كند. در اين روش بايد براي الگوريتمها مطلوبيت تعري$$ف ك$$رد ت$$ا فهمي$$ده

شود كه كدام الگوريتم بهتر است. خاصيت مهم الگوريتم ژنتيك، مقاوم بودن آن اس$$ت ، بطوريك$$ه درآن ي$$ك تع$$ادل انعط$$اف پ$$ذير بين ك$$ارايي و خصوص$$يات الزم ب$$راي بق$$ا در محيطه$$ا و ش$$رايط گون$$اگون وج$$ود دارد. بط$$ور كلي ه$$ر چ$$ه سيس$$تم مص$$نوعي از نظ$$ر مق$$اومت دردرجه باالتري باشد، هزينه ط$$راحي مج$$دد آن ك$$اهش يافت$$ه و ح$$تي ح$$ذف مي گردد. در واقع چنانچه ميزان سازگاري سيستمي افزايش ياب$$د، آن سيس$تم ق$$ادر خواهد بود كه به مدت ط$$والني ت$ر و ب$ه نح$$و مطل$$وب ت$ري ب$ه ك$ار ب$پردازد. در سيستم هاي بيولوژيك ميزان انعطاف پذيري، مقاوت و كارايي به ش$$كل ش$$گفت انگيزي زي$اد اس$ت. س$$ازگاري، بق$ا، خ$ودترميمي، ه$دايت و تولي$د مث$ل از ديگ$ر ويژگي ه$$اي خ$اص سيس$تمهاي ط$$بيعي و بيولوژي$ك مي باش$د ك$$ه مهندس$$ان در صددند تا در سيستمهاي مصنوعي از آنه$$ا تقلي$$د كنن$$د. ام$$ا بط$$ور كلي ج$$ايي ك$$ه كاركرد مقاوم مورد نياز باشد، طبيعت بهتر عمل خواهد كرد. از الگ$$وريتم ژنتي$$ك در كاربردهاي مختلفي مثل بهينه سازي توابع، شناس$$ايي سيس$$تم ه$$ا و پ$$ردازش تصوير استفاده شده است. در زير برخي از موارد استفاده از الگوريتم ژنتيك در

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

علوم كامپيوتر : جستجو براي تكامل تابع ارزشيابيمهندسي : شناسايي سيستمهاي ديناميكي

فيزيك : حل معادالت غير خطي براي انطباق سطوح پتانسيل ملكوليتجارت : جستجو براي قوانين پيشگويي كننده سود شركتها

Page 8: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

در ادامه پس از آشنايي با مفاهيم اوليه الگوريتم ژنتيك، مراح$$ل اج$$راي آن بي$$انمي شود. سپس به كمك حل يك مساله نمونه، اين مراحل روشنتر مي گردد.

- زمينه هاي بيولوژيكي٢ بدن تمام موجودات زنده متشكل از سلول مي باشد. در هر سلول مجموع$$ه اي

وج$$ود دارن$$د.DNAاز موج$$ودات هم ش$$كل مي باش$$ند ك$$ه ه$$ر ك$$دام متش$$كل بنام كرموزوم هستند. ه$$ر ژن ي$$ك پروت$$ئينChromosomeكرموزومها، رشته هاي

از تع$دادي ژن مي كن$$د. ب$هGene ي$ا هم$ان بلوكه$اي DNAخاص يا در واق$ع ي$ك خصيص$$هcodeعنوان مثال رنگ چشم مي تواند يك خصيصه باشد. مجموعه هاي

Allelرا كد ناميده مي ش$$وند. ه$$ر ژن در كروم$$وزوم م$$وقعيت خ$$اص خ$$ودش را

نام دارد. مجموع$$ه كام$$ل هم$$ه كروموزمه$$اGenomeممكن براي يك خصيصه آلل دارد كه اين موقعيت خاص لوكوس نام دارد. ژنوتيپها بعد از تكام$$لLocousژنوم

Genotypeناميده مي شود و ي$$ك مجموع$$ه خ$$اص از ژنه$$ا در ژن$$وم، ژن$$وتيپ ك$$ه Phenotypeهمان خصوصيات فيزيكي و رواني مانند رنگ چشم ي$$ا ه$$وش و غ$$يره

بيشتر به فنوتيپها مي باشند، تبديل مي شوند.- فضاي جستجو٣

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

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

اي از فضاي جواب را نشان مي دهد مشكلي ك$ه در اينج$$ا وج$ود دارد اين اس$ت ك$ه جس$تجو مي توان$د خيلي پيچي$ده باشد. مشخص نيست كه كجاها بايد به دنب$$ال ج$$واب گش$$ت و اص$$ال از كج$$ا باي$$د

Page 9: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

ش$$روع ك$$رد. روش$$هاي زي$$ادي ب$$راي پي$$دا ك$$ردن ج$$واب مناس$$ب (ن$$ه لزوم$$ا به$ترين) وج$ود دارد ك$ه ب$ه عن$وان مث$ال مي ت$وان ب$ه روش$$هاي ص$عود از تپ$$ه ،

(S.Aجس$$تجوي و الگ$$وريتم ژنتي$$ك اش$$اره ك$$رد. جوابه$$ايي ك$$ه از اين طري$$ق ) محدود ، شبيه سازي آبكاري فل$$زات بدس$$ت مي آين$$د، معم$$و ال جوابه$$اي خ$$وبي

هستند، چون واقعا اثباتي براي اينكه كدام يكي بهينه واقعي است وجود ندارد.NP مسائل٤ -

(NPنمون$$ه ه$$ايي از مس$$ائل س$$خت مي باش$$ند ك$$ه از طري$$ق روش$$هاي س$$نتي ) مسائل غير چند جمله اي قابل حل نيستند. براي ش$$ناخت الگوريتمه$اي س$$ريع ي$$ا چند جمله اي مراحل زي$$ادي باي$$د س$$پري ش$$ود و از ط$$رفي مس$$ائلي هس$$ت ك$$ه بصورت الگوريتمي قابل حل نيستند. براي بعضي مس$$ائل ث$$ابت ش$$ده اس$$ت ك$$ه حل آنها در يك زمان چند جمله اي امكان پذير نيست. البته وقتي ما يك جواب را نداريم، پيدا ك$$ردنش خيلي س$$خت اس$$ت، ام$$ا اگ$$ر م$$ا ج$$واب را داش$$ته باش$$يم،

مي ش$$ود. ح$$التNP_completeبررسي كردن جواب كار بسيار ساده تري بيشتر NP_completeمي باشد. اين مطلب منجر به مسائل به معناي يك چن$$د جمل$$ه اي

. مربوط به مسائل تصميم گيري است جواب راNPغيرقطعي است و اين بدين معناست كه مي توان بوسيله الگوريتمهاي غ$$ير قطعيNPحدس زد و سپس آن

در يك زمان را بررسي نمود. اگر ما يك ماشين ح$$دس زن داش$$ته باش$$يم، آنگ$$اهقادر به پيدا كردن جواب در يك زمان مقبول مي باشيم.

NP_completeبخ$$اطر س$$ادگي اعم$ال ش$$ده ب$$ه مس$$اله مي باش$$د، چ$ون ج$واب

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

NP-hard نامي$$ده مي ش$$وند. اين گ$$روه از مس$$ائل ب$$ه مح$$دوديت گ$$روه مس$$ائل

بيش$$تر مرب$$وط ب$$ه مس$$ائل بهين$$ه س$$ازي اس$$ت .يكي ازNP_completeمس$$ائل نيستند. حالت اين است كه هنگام روي$$ارويي ب$$اNP-hardخصوصيات بارز مسائل

NPاين مسائل، الگوريتم يا الگوريتمهايي را كه براي حل اين مسائل

- مناسب هستند براحتي مي توان يافت و كار آنها تنها جستجوي تمامي جوابه$$ايممكن است. اما مشكل

( اين است كه اين الگوريتمه$$ا بس$$يار كن$$دOnو حتي گاهي اوقات براي يك بيت )هستند .معمو ال

Page 10: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

اضافه تر به منظور ايجاد نمونه اي بزرگتر، الگوريتم غير قابل استفاده مي شود. امروزه كسي نمي داند ك$$ه آي$$ا الگوريتمه$$اي دقي$$ق س$$ريعتري هم وج$$ود دارد ي$$ا خير؟ اثبات يا عدم اثبات اين مطلب ج$$زء وظ$$ايف خط$$ير محقق$$ان ام$$روزي مي باشد. امروزه خيلي از محققين بر اين باورند كه چنين الگوريتمي وج$$ود ن$$دارد و بنابراين به دنبال يافتن بعضي روشهاي جايگزين ي$$ا ف$$رعي هس$$تند ك$$ه الگ$$وريتم

ژنتيك يكي از اين روشها مي باشد.

- مفاهيم اوليه در الگوريتم ژنتيك٥٥- اصول پايه -١

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

به منظور ايجاد جوابهايOffspringبعضي از جوابها از ميان كل بر اساس ميزان جوابها وال$$دين مطل$$وبيت آنه$$ا مي باش$$د. ط$$بيعيParentجديد يا همان فرزندان

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

ميزان بهبود جواب ادامه مي يابد.٥-١ شماي كلي الگوريتم ژنتيك -١

( توليد جمعيت تصادفي شامل١ nكرموزوم ( بررسي تابع مطلوبيت٢) Fittness Function f(x) هر كروموزوم xدر جمعيت

( ايجاد يك جمعيت جديد بر اساس تكرار قدمهاي زير٣٣( انتخاب دو كروموزوم والد از يك جمعيت بر اساس ميزان مطلوبيت آنها -١ ٣ Crossoverو (درنظر گرفتن مقدار مشخصي براي احتمال اعمال عملگر تقاطعي2

سپس انجام عمليات تركيب بر روي والدين ب$$ه منظ$$ور ايج$$اد فرزن$$دان.اگ$$ر هيچتركيب

Page 11: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

جديدي صورت نگيرد فرزندان همان والدين خواهند بود. Mutationوسپس تغييرفرزندان در هر لوكوس

٣( در نظر گرفتن احتمال جهش -3٣( جايگزيني فرزندان جديد در جمعيت جديد -٤( استفاده از جمعيت جديد براي اجراهاي بعدي الگوريتم٤ ( توقف اجراي الگوريتم در صورت مشاهده شرايط توقف و برگرداندن به$$ترين٥

جواب درجمعيت فعلي

٢( رفتن به قدم ٦ همانطوركه مشاهده مي شود، اصول پايه اي الگوريتم ژنتيك بسيار عمومي

مسائل مختلف فاكتورهاي مختلف زيادي وجود دارد كه بايد است. بنابراين براي سؤال اين است كه ايجاد يك كروموزوم چگونه مورد بررسي قرار گيرد. اولين

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

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

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

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

گردد. براي جلوگيري از اين پيشامد، هميشه بهترين كرموزومهاي نسل قبل مينسل جديد منتقل مي كنيم. جواب نسل قبل را بدون هيچ تغييري به

Encoding ٥- كدكردن -٢ الگوريتم ژنتيك بجاي اينكه بر روي پارامترها يا متغيرهاي مساله كاركند، با ش$$كل

مناسب سروكار دارد. روشهاي كدگذاري مت$$داول در الگ$$وريتم كدشده آنها بطورTreeژنتيك عبارتند از ك$$دينگ ب$$اينري، ك$$دينگ Encoding و ك$$دينگ درخ$$تيValu

Encoding، كدينگ ارزشي Permutation Encodingcجهشي تعداد بيتهايي كه براي كدگذاري متغيرها استفاده مي شود وابسته به دقت م$$ورد

محدوده تغييرات پارامترها و رابطه بين متغيرها مي باشد. نظر براي جوابها،

Page 12: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

٥-٢- انواع كدينگ -١كدينگ به دو صورت كلي مي باشد :

كدينگ مستقيم• در اين روش كل يك جواب به عن$$وان ي$$ك كروم$$وزوم در نظ$$ر گرفت$$ه مي ش$$ود.

پيچي$$ده چ$$نين روش$$ي مناس$$ب نيس$$ت، زي$$را عملگره$$اي ژن$$تيكي ب$$راي مس$$ائل غيرك$$اربردي مي ش$$وند و در نتيج$$ه منج$$ر ب$$ه بخاطرگس$$تردگي زي$$اد فرزن$$دان

جوابهاي غيرقابل قبول و غيرقانوني مي شوند.كدينگ غيرمستقيم•

در اين روش تنها قسمتي از يك جواب بصورت يك كروموزوم كد مي شود.١-٥- روشهاي كدينگ -٣١-٥-٣- كدينگ باينري -١

اين نوع كدينگ، مت$$داولترين ن$$وع ك$$دينگ مي باش$$د. در اين روش كدگ$$ذاري، ه$$ر مي باش$$د. ك$$دينگ ب$$اينري مي توان$$د١و ٠بيته$$اي ش$$امل كروموزوم يك رشته از

كه تعداد آلل ها كم باشد. حالتهاي زيادي را پوشش دهد، حتي در موارديA كروموزوم١٠١١٠٠١٠١١٠٠١٠١٠١١١٠٠١٠١ B كروموزوم١١١١١١١٠٠٠٠٠١١٠٠٠٠٠١١١١١

( : كدينگ باينري٢شكل ) از طرف ديگر اين نوع كدينگ براي خيلي از مسائل حالت ط$$بيعي ن$$دارد و اغلب

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

١-٥-٣- كدينگ جهشي -٢ اين نوع كدينگ مي تواند در مسائل ترتيبي نظير مس$$اله فروش$$نده دوره گ$$رد ي$$ا

مساله ترتيب كارها بكار رود. در كدينگ جهشي، هر كروموزوم يك رش$$ته از اع$$داد مي باش$$د. ش$$كل زي$$ر

نمونه اي از اين نوعكدينگ را نشان مي دهد.

A ٨ ٩ ٧ ٤ ٦ ٢ ٣ ٥ كروموزوم ١B ٩ ٤ ١ ٣ ٢ ٧ ٦ ٥ كروموزوم ٨

( : كدينگ جهشي٣شكل )

Page 13: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

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

تقاطعها و جهشهاي اصالحي به منظ$$ور ايج$$اد كروموزومه$$اي س$$ازگار و مناس$$بانجام شود.

١-٥-٣- كدينگ ارزشي -٣ اين نوع كدينگ درمسائلي كه در آنها مقادير پيچيده نظ$$ير اع$$داد حقيقي بك$$ارمي

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

ارزشي هر ژن يك كروموزوم ارزش خاصي دارد. اين پارامتر باارزش مي تواند عدد، حرف يا كلم$$ه

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

A ٢,٤٥٤٥ ٢,٣٢٩٣ ٠,٤٥٥٦ ٥,٣٢٤٣ كروموزوم ١,٢٣٢٤B كروموزوم ABDJEIFJDHDIERJFDLDFLFEGT

C( كروموزوم back( ,)back( ,)right( ,)forward( ,)left)( : كدينگ ارزشي٤شكل )

١-٥-٣- كدينگ درختي -٤ كدينگ درختي در برنامه هاي تكاملي به منظ$$ور برنام$$ه ري$$زي تك$$املي بك$$ار مي

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

مي باشد. شكل زير دو نمونه از اين كروموزومها را نشان مي ده$$د. اين ن$$وع ك$$دينگ ب$$راي برنام$$ه ه$$اي

تكاملي بسيار عالي است. LISPاغلب از اين نوع كدينگ استفاده مي كند و اين بدين علت است كه برنام$$ه

زبان برنامه نويسي هاي آن به اين فرم نمايش داده مي شوند و مي توانند براحتي مورد تجزيه ق$$رار

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

Page 14: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

( : كدينگ درختي٥شكل )- B كروموزوم Aكروموزوم

+(x / ( ٥ yانجام تا برقراري شرط خاتمه( ( ) ) ١-٥- مسائل مربوط به كدينگ -٤

نكت$$ه اي ك$$ه در انته$$اي اين قس$$مت باي$$د ب$$ه آن توج$$ه ك$$رد اين اس$$ت ك$$هدرالگوريتمهاي ژنتيكي كدينگ

يك رابطه بين فضاي كدينگ و فضاي جوابها مي باشد بطوريك$$ه الگ$$وريتم ژنتي$$كعمليات تكاملي را بطور

((. انتخاب ط$$بيعي ن$يز ب$$ه عن$وان٦متناوب در اين دو فضا انجام مي دهد)شكل) يك رابطه بين

كروموزومها و عملكرد جوابهاي كدشده آنها مي باشد.( : فضاي كدينگ و فضاي جواب٦شكل )

همانطور كه ذكر ش$$د، نح$$وه ك$$دينگ ي$$ك ج$واب ب$ه ص$ورت ي$ك كروم$$وزوم ي$$كموضوع كليدي در الگوريتم

ژنتيك مي باشد. در كدينگ هاي غ$$ير رش$$ته اي س$$ه موض$$وع بس$$يار مهم مط$$رحاست كه عبارتند از :

قابل قبول بودن• Feasibilityكروموزوم قانوني بودن• Legalityكروموزوم

يگانگي رابطه• قاب$$ل قب$$ول ب$$ودن ي$$ك كروم$$وزوم ب$$ه اين مفه$$وم اس$$ت ك$$ه آي$$ا ديك$$دينگ اين

كروموزوم در ناحيه قابل قبولكه جزئي از فضاي جواب مساله است قرار دارد يا خير؟

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

در مس$$ائل بهين$$ه س$$ازي فض$$اي قاب$$ل قب$$ول بوس$$يله ي$$ك سيس$$تم مع$$ادالت ي$$انامعادالت تشكيل مي شود. در

Penaltyمتعددي به منظور جلوگيري از ايج$$اد Methodsچ$$نين م$$واردي روش$$هاي جريمه اي

Page 15: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

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

آدينگديكدينگ

مرز بين فضاي قابل قبول و فضاي غيرقابل قبول قرار دارد. در نتيج$$ه روش$$هايجريمه اي الگوريتم

ژنتيك را مجبور مي كنند كه از هر دو طرف به سمت جواب حركت كند. قانوني بودن يك كروم$$وزوم ب$$ه اين مفه$وم اس$$ت ك$$ه آي$$ا اين كروم$$وزوم دراث$$ر

ديكدينگ به يك جواب منجرخواهد شد يا خير ؟ يعني در فضاي جواب قرار خواهد گرفت يا خير؟

غير قانوني بودن يك كروموزوم ناشي از طبيعت روشهاي كدينگ مي باشد. چونيك كروموزوم

غيرق$$انوني ق$$ادر نيس$$ت ب$$ه ي$$ك ج$$واب تب$$ديل ش$$ود، در نتيج$$ه ارزي$$ابي چ$$نينكروموزومي غير ممكن است و

بنابراين روشهاي جريمه اي در اينجا عملي نيستند. در چنين مواردي معم$$و ال ازروشهاي تعميري

به منظور تبديل كروموزمهاي غير قانوني ب$ه كرومزومه$اي ق$انوني اس$$تفاده ميRepairing Techniques

كنند( : رابطه بين كروموزومها و جوابها٧شكل )

مساله سوم، بحث يكساني رابطه است. روابط بين كرومزومها و جوابه$$ا معم$$و ال به يكي از سه

صورت زير است :رابطه يك به يك

رابطهnبه يك n به nرابطه

( اين سه نوع رابطه را نشان مي دهد. از اين س$$ه ن$$وع رابط$$ه، رابط$$ه٨شكل ) يك به يك بهترين

Page 16: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

نوع رابطه و رابطهnبه يك بدترين نوع آن است. *

* فضاي آدينگ**

× فضاي جوابفضاي *

قابل قبولغير قانوني *

غير قابل قبولقابل قبول

-١٠- ( : انواع روابط بين فضاي جواب و فضاي كدينگ٨شكل )

١-٥- كروموزوم -٥ رشته يا دنباله اي از بيتها كه به عنوان شكل كد شده يك ج$$واب ممكن )مناس$$ب

يا نامناسب( از مساله مورد نظر مي باشد، را كروموزوم مي گويند. در حقيقت بيتهاي ي$$ك كروم$$وزوم،

نقش ژنها رادر طبيعت ب$$ازي مي كنن$$د. ه$$ربيت، متغ$$يري گسس$$تهQعضوي انتخاب مي ش$$ود. چنانچ$$ه

است كه از يك مجموعه را مي١ يا ٠= از كدگذاري باينري استفاده شود، هر بيت يكي از دومقدار Qمي

٢پذيرد. بنابراين باش$$د.n( نمايش داده ش$$ده اس$$ت ٩ . ژن يا بيت مي باشد در شكل ) biدر اين

يك كروموزوم كه داراي ش$$كل نش$ان دهن$دهi ام اس$$ت ك$ه از مجموع$ه Q=mعضوي انتخاب مي ش$ود.

مقدار بيتb ١ b ٢ b ٣ … bn-١ bn

m بيتي در پايه عددي n ( نمايش يك كروموزوم٩ شكل : )bi∈(٠،١,..,m-١ )i =١,...,n

Population ١-٥- جمعيت -٦

Page 17: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

مجموعه اي از كروموزومها را جمعيت گويند. يكي از ويژگيهاي ژنتي$$ك اين اس$$تكه به جاي تمركز بر

روي ي$$ك نقط$$ه از فض$$اي جس$$تجو ي$$ا ي$$ك كروم$$وزوم، ب$$ر روي جمعي$$تي ازكروموزومها كار مي كند. بدين

ترتيب در هر مرحله، الگ$$وريتم داراي جمعي$$تي از كروموزومه$$ا ب$$وده ك$$ه خ$$واصمورد نظر را بيشتر از

جمعيت مرحله قبل دارا مي باشد. هر جمعيت يا يك نس$$ل از كروموزوه$$ا، داراييك اندازه مي باشد كه

Populationمعروف است. اندازه جمعيت معرف تعداد كروموزومهاي موج$$ود در

Sizeبه اندازه جمعيت * فضاي آدينگ

* ***

فضاي جواب ** *

**

n 1به n 1به

1 به 1 جمعيت يا يك نسل است. اگر تعداد كروموزومه$$ا خيلي كم باش$$د، امك$$ان ش$$كل

گيري عمليات جابجايي توسط الگوريتم ژنتيك بسيار كم خواهد بود و تنها قسمت كمي از فضاي جستجو

مورد كاوش قرار خواهد گرفت. از طرف ديگر، اگر تعداد كروموزومها خيلي زي$$اد باش$$د، الگ$$وريتم

بسيار كند خواهد شد. كروموزوم دارند.٣٠ تا ٢٠بر اساس تحقيقات، جمعيتهاي با اندازه مناسب حدود

البته گاهي اوقات

Page 18: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

بهترين جوابها را داده اند. بعضي تحقيقات نيز نش$$ان١٠٠ تا ٥٠جمعيت با اندازه مي دهد كه اندازه

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

وهرگز به حل سريعتر مساله كمك نمي كند.Fitness Value ١-٥- مقدار برازندگي -٧

مناسب بودن يا نبودن جواب، با معياري كه از تابع هدف بدست مي آيد، سنجيدهمي شود. هر چه كه

يك جواب مناسب تر باشد، مقدار برازن$$دگي بزرگ$$تري دارد. ب$$راي آنك$$ه ش$$انسبقاي چنين جوابي بيشتر

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

برازنده ترين است با احتمال بيشتري در توليد فرزندان شركت مي كند و دنبال$$ههاي بيشتري از آن به

وجود مي آيد. به عنوان مثال چنانچه هدف بيشينه ك$$ردن ي$$ك ت$$ابع باش$$د، مق$$داربرازندگي، يك تابع

صعودي از تابع هدف در نظر گرفته مي شود و اگر هدف يافتن مقدار كمينه ي$$كتابع باشد، عدد

برازندگي، يك ت$$ابع ن$$زولي از آن ق$$رار داده مي ش$$ود. معم$$و ال در م$$واردي ك$$هامكان دارد، تابع برازندگي را

[ نرماليزه مي كنند.١و ٠در فاصله ] ١-٥- عملگر تقاطعي -٨

اين عملگ$$ر ب$$ر روي ي$$ك جفت از كروم$$وزوم ه$$ا عم$$ل مي كن$$د و مي توان$$د ب$$هصورت تك نقطه اي، چند

نقطه اي و يكنواخت باشد . عملگر تقاطعي ت$$ك نقط$$ه اي، دو كروم$$وزوم را ب$$هطور تصادفي از يك نقطه

شكسته و بخش هاي شكسته دو كروم$$وزوم را جابج$$ا مي كن$$د. ب$$دين ت$$رتيب دوكروموزوم جديد بدست

Page 19: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

مي آيد. به كروموزومهاي اوليه، كروموزومهاي”والد“ و به كروموزومهاي حاص$$لشده از عمل جابجايي و

عمل جهش، كروموزوم”فرزند“مي گويند.١١٠٠١١١١ = ١١٠١١١١١+١١٠٠١٠١١

( : مثالي از عمل جابجايي تك نقطه اي١٠شكل ) Pc بر روي كروموزوم ه$$اي وال$د عم$ل مي كن$$د. ب$دين مع$ني ك$ه ب$ا احتم$$ال Pc

عملگر تقاطعي با احتمال عمل تقاطع انج$ام مي گ$$يرد. اگ$ر هيچ تق$اطعي ص$$ورت نگ$$يرد، فرزن$دان دقيق$ا

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

صورتي كه عمل تقاطع صورت بگيرد، فرزندان از قسمتهاي مختل$$ف كروموزومه$$اي وال$$د س$$اخته

مي شوند. اگر احتمال باشد، تمامي فرزندان از طريق عمل تقاطعي ايجاد مي شوند. عملي$$ات١تقاطع

تقاطع با اين هدف انجام مي ش$$ود ك$$ه كروموزومه$$اي جدي$$د در بردارن$$ده قس$$متهاي مناس$$ب و خ$$وب

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

هميشه بهترينكروموزومهاي نسل قبلي بدون هيچ تغييري به نسل جديد منتقل شوند.

معمو ال اگر كروموزوم از كدگذاري چند متغير به وجود آم$$ده باش$$د، به$$تر اس$$تكه نقطه جابجايي، محل

x و y و z و w ( كروموزومها از شكل١١ اتصال متغيرها انتخاب شود. در شكل ) كدشده متغيرهاي

ساخته شده اند. محل اتصال متغيرها مي تواند به عنوان نقط$$ه تق$$اطع اس$$تفادهشود. به طور مثال در

(، مح$$ل اتص$$ال١١ ش$$كل ) y و xبه عنوان نقط$$ه تق$$اطع انتخ$$اب ش$$ده اس$$ت. متغيرهاي

١ والد ١فرزند

Page 20: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

٢ والد ٢فرزند ( : تقاطع در كروموزومهايي كه از شكل كد ش$$ده چه$$ا متغ$$ير بوج$$ود١١شكل )

آمده است تفاوت عملگر چندنقطه اي در مقايس$$ه ب$$ا عملگ$$ر تق$$اطعي ت$$ك نقط$$ه اي دراين

است كه نقطه شكست دو كروموزوم، بيش از يكي است و تقاطع در بخشهاي شكسته شده دو كروم$$وزوم

به صورت يك در ميان ( مث$$الي از عم$$ل تق$$اطع دو نقط$$ه اي را نش$$ان مي١٢انجام مي گيرد. ش$$كل )

دهند١١٠١١١١١ = ١١٠١١١١١ + ١١٠٠١٠١١

( : تقاطعي دو نقطه اي١٢شكل ) X ١ Y ١ Z ١ W ١X ٢ Y ١ Z ١ W ١X ١ Y ٢ Z ٢ W ٢X ٢ Y ٢ Z ٢ W ٢

ك$$پي مي٢ يا وال$$د ١در عمل تقاطعي يكنواخت، بيتها به صورت تصادفي از والد شوند.

١١٠١١١١١ = ١١٠١١١٠١ + ١١٠٠١٠١١ ( : عمل تقاطعي يكنواخت١٣شكل )

بايد خاطر نشان ساخت كه اثر استفاده از هر كدام از انواع عملگرهاي تق$$اطعيدر سرعت همگرايي

الگوريتم، دقيقا مشخص نمي باشد و به مساله مورد نظر بستگي دارد.١-٥- عملگر جهشي -٩

اين عملگر روي هر ي$$ك از كروموزومه$$اي حاص$$ل از عملگ$$ر تق$$اطعي عم$$ل ميكند. بدين ترتيب كه به ازاي

Pmهر بيت از كروموزوم، يك عدد تصادفي توليد مي گردد. اگر مق$$دار اين ع$$دد تصادفي از مقدار

)احتمال انجام جهش( كمتر باش$$د، در آن بيت عم$$ل جهش انج$$ام مي ش$$ود و درغير اينصورت، در آن

Page 21: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

٠بيت عمل جهش انجام نمي گيرد. عمل جهش در هر بيت با توليد تصادفي عدد و جايگزيني آن١يا

بجاي بيت مورد جهش انجام مي گيرد.١٠٠٠١٠٠١ =< ١١٠٠١٠٠١

( : نمونه اي از عمل جهش١٤شكل) اگر عمليات جهش صورت نگيرد، فرزندان بعد از عملي$$ات تق$$اطعي ب$$دون تغي$$ير

ديگري وارد نسل جديد مي شوند. اما اگر عمليات جهش صورت بگيرد همانطور كه در ش$$كل پيداس$$ت،

قسمتهايي از كروموزوم باشد، تم$ام كروم$وزوم تغي$ير مي كن$د و اگ$ر١تغيير مي كند. اگر احتمال جهش

اين احتمال صفر باشد، هيچ تغي$$يري ص$ورت نمي گ$يرد. عملي$$ات جهش ب$ه منظ$$ور جلوگ$يري از افت$$ادن

الگوريتم ژنتيك در دام بهينه هاي محلي انج$$ام مي ش$$ود. باي$$دPmرا خيلي زياد كرد، چون در اينصورت

توجه داشت كه نبايد الگ$$وريتم ژنتي$$ك تب$$ديل ب$$ه ي$$ك جس$$تجوگر تص$$ادفي س$$اده مي گ$$ردد و س$$رعت

الگوريتم بطور قابل توجهي كاهش مي ياب$$د. تحقيق$$اتPm ١ درصد بهترين بوده است. جدول ) ٥ تا ١ ) بين

نشان داده است كه=Pmرا نشان مي دهد. همانطوركه در اين جدول مش$$اهده مي / نمون$$ه اي از٠

٠٨عمل جهش با احتمال =Pmاست، / ش$$ود، چ$$ون تم$$ام اع$$داد تص$$ادفي تولي$$د ش$$ده ب$$راي بيت ه$$اي٠

٠٨كروموزوم اول بزرگتر از عمل جهش در كروموزوم اول اتفاق نيافتاده است ولي در بيت سوم كروم$$وزوم

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

اندفرزندان بيت جديد اعداد تصادفي والدين

١٠١٠ - ٠/٣٧٣ ٠/٢٦٦ ٠/١٠٢ ٠/٨٠١ ١٠١٠

Page 22: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

١١٠٠ ٠ ٠/٨٤٠ ٠/٠٠٥ ٠/٠٩٦ ٠/١٢٠ ١١٠٠٠٠١١ ١ ٠/٠٠١ ٠/٨٩٤ ٠/٤٧٣ ٠/٧٦٠ ٠٠١٠

( : نمونه اي از عمل جهش١جدول ) در اغلب كاربردهاي الگوريتم ژنتيك، عمل جهش در يك بيت ب$$ا متمم س$$اختن آن

انجام مي گيرد و بدين ترتيب نرخ جهش تا دو برابر افزايش مي يابد. آزمايشات نشان داده اس$$ت

كه اين روش مناسب تر مي باشد. روشهاي ديگري نيز براي انجام عمل جهش پيشنهاد شده است ك$$ه از

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

هر بيت از كروموزوم، با احتمال• Pmتغيير كند. تعداد بيتهايي كه در يك كروموزوم مي توانند تغيير كنند، مشخص است.•

بيت ها بطور تصادفي انتخاب شده و عمل جهش در آنه$$ا ب$$اPmانجام مي گيرد. احتمال

تعداد بيت هايي كه در يك جمعيت مي توانند تغيير كنند، مشخص است.• بيت ه$$ا بط$$ور تص$$ادفي انتخ$$اب ش$$ده و عم$$لPmانجام __________مي ش$$ود.

جهش در آنها با احتمال به هر بار ايج$$اد ي$$ك جمعيت جدي$$د از طري$$ق عملگ$$ر تق$$اطعي وGenerationمي

جهش، يك مرحله توليدگويند.

١-٥ - مراحل اجراي الگوريتم ژنتيك -١٠ پس ازبيان مفاهيم اوليه، مراح$$ل مختل$$ف در اس$$تفاده از الگ$$وريتم ژنتي$$ك م$$ورد

بررسي قرار مي گيرد. ابتدا با توجه به صورت مساله، متغيرهايي كه بايد تع$$يين ش$$وند، مش$$خص مي ش$$وند.

سپس اين متغيرها به نحو مناسبي كد گذاري شده و به شكل كروموزوم نمايش داده مي ش$$وند. براس$$اس

تابع هدف، يك تابع برازندگي براي كروموزومه$$ا تعري$$ف مي گ$$ردد و ي$$ك جمعيت اولي$$ه دلخ$$واه ن$$يز

بطور تصادفي انتخاب مي

Page 23: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

شود. به دنبال آن، ميزان تابع برازندگي براي هر كروموزوم جمعيت اوليه حسابمي شود. سپس

( نم$$ايش داده ش$$ده اس$$ت ب$$ه ت$$رتيب زي$$ر انج$$ام مي١٥مراحلي كه در شكل ) گيرد. آنچه كه تا كنون به

عن$$وان س$$اختار كلي الگ$$وريتم ژنتي$$ك ارائ$$ه ش$$دهGerfenstet و بيك$ر Bakerارائه است، توسط گرفنستت

گرديده است و خالصه آن به صورت زير مي باشد:Procedure: Genetic Algorithm

begin

t ٠initialize P(t)

evaluate P(t)

while ( recombination condition ) do

recombination P(t) to yield C(t)

evaluate C(t)

selecte P(t+١ )from P(t) , C(t)

end

end

( : مراحل اجراي الگوريتم ژنتيك١٥شكل ) اتنتخاب جمعيت اوليه و محاسبه برازندگيانتخاب آروموزومهايي براي ايجاد فرزندان

عمل تقاطععمل جهش

ارزيابي فرزندان با محاسبه برازندگي هر آروموزومجايگزين آردن آروموزومهاي شايسته تر )انتخاب جمعيت جديد(

آيا جوابها مناسبهستند

پايانبلي

Page 24: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

خير١: مرحله

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

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

است چندين بار در مراحل تولي$$د انتخ$$اب ش$$وند، در حاليك$$ه كروموزومه$$ايي ك$$هبرازندگي آنها كم مي

باشد، ممكن است هيچگاه انتخاب نگردن$$د. س$$اده ت$$رين روش ب$$راي اج$$راي اينمرحله، استفاده از مدل

است. در اين مدل، س$$طح چ$رخ ب$$ه بخش$$هايي تقس$يم مي ش$$ود ك$$ه تع$$داد آنه$اRoulette Wheelچرخ رولت

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

چرخ به گ$$ردش درمي آي$$د تادرنقط$$ه اي ب$$ه تص$$ادف متوق$$ف گ$$ردد. اين نقط$$ه،كروموزوم انتخاب شده را

( شمايي از چرخ رولت را نشان مي دهد.١٦مشخص مي سازد. شكل ) ( : چرخ رولت١٦شكل )

داراي برازن$$$دگي بيش$$$تري نس$$$بت ب$$$ه٢ و ١در اين ش$$$كل كروموزومه$$$اي هستند و٤و ٣كروموزومهاي

بنابراين در مرحله انتخاب، شانس بيشتري دارن$$د. اين ش$$يوه انتخ$$اب س$$بب ميشود كه با گذشت زمان،

تعداد كروموزومهاي مطلوب در جمعيت اف$$زايش ياب$$د بطوريك$$ه مي$$انگين مق$$داربرازندگي جمعيت، در

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

شامل مراحل زير باشد : كروموزومهاي جمعيت به شكل دنباله در آورده مي شوند. سپس مجم$$وع مق$$دار

برازندگي هر كروموزوم با

Page 25: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

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

برازندگي تمام كروموزومهاي جمعيت ايجاد مي شود. از بين كروموزومه$$ا، اولينكروموزومي كه مقدار

برازن$$دگي آن ب$$ه اض$$افه مق$$دار برازن$$دگي هم$$هnباش$$د، انتخ$$اب مي گ$$ردد. كروموزومهاي قبل از آن، بيشتر از

( نمون$$ه اي از انتخ$$اب كروموزومهابااس$$تفاده از م$$دل چ$$رخ رولت را٢ج$$دول ) نشان مي دهد.

( : انتخاب كروموزومهابااستفاده از مدل چرخ رولت٢جدول ) ٩ ٨ ٧ ٦ ٥ ٤ ٣ ٢ شماره كروموزوم ١٣ ٧ ١١ ١٢ ٢ ٧ ١٧ ٢ برازندگي ٨٦٩ ٦٦ ٥٩ ٤٨ ٣٦ ٣٤ ٢٧ ١٠ برازندگي كل ٨

٤١ ٢٧ ٣٣ ٥٧ ١٠ ١٣ ٦٩ ٤٩ عدد تصادفي ٢٣٦ ٣ ٤ ٧ ٢ ٣ ٩ ٧ كروموزوم انتخابي ٣

٢: مرحله در اين مرحله عملگ$$رPcبر روي كروموزومهاي والد عمل كرده و با تركيب آنها،

تقاطعي با احتمال كروموزومهاي جديدي )فرزندان( را تولي$$د مي كن$$د. در عم$$ل تق$$اطع ، اطالع$$ات

جديد معمو ال فقط بر اس$$اس اطالع$$ات موج$$ود در كروموزومه$$اي فعلي )كروموزومه$$اي حاض$$ر در

جمعيت والدين( استخراج ميگردد. چنانچه اطالعات خاصي به داليلي مثل :

محدوديت در ذخيره سازي اطالعات )محدوديت در تعداد اعضاي جمعيت(• ازدس$$ت رفتن اطالع$$ات در مرحل$$ه انتخ$$اب ب$$ه دلي$$ل آنك$$ه اين اطالع$$ات در•$$

كروموزومهاييبا برازندگي كم قرار دارد.

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

رفته باشند، به وجود آورد.

Page 26: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

٣: مرحله در اين مرحلهPmبر روي كروموزومهاي حاصل از عمل جابجايي انجام شده و با

عمل جهش با احتمال تغيير بيت هاي اين كروموزومها، راهي را براي ورود اطالع$$ات جدي$$د بوج$$ود مي

آورد.٤: مرحله

دراين مرحله به منظور ارزيابي فرزن$$دان، مق$$دار برازن$$دگي كرومزومه$اي جدي$$دمحاسبه مي گردد.

٥: مرحله در اين مرحله، جمعيت جدي$$د ب$$راي ورود ب$$ه مرحل$$ه بع$$د الگ$$وريتم، انتخ$$اب مي

گردد. اين كار با مقايسه مقدار برازندگي كروموزومه$$ا انج$$ام مي ش$$ود. روش$$هاي مختلفي ب$$راي انتخ$$اب

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

تمام اعضاي جمعيت جديد از ميان كروموزومهاي فرزندان انتخاب مي شوند.• تعدادي از افراد جمعيت مرحله بعد، همان افراد جمعيت مرحله قبل هس$$تند و•$$

بقيه از ميان فرزندان جديدانتخاب مي گردد. البته درهرمورد، شايسته ترين كروموزومها

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

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

ميان فرزندان، ممكن است بسياري از جوابهاي مناس$$ب را ك$$ه در مي$$ان جمعيتمرحله قبل وجود دارد،

حذف نمايد. بن$$ابراين پيش$$نهاد مي ش$$ود ك$$ه چنانچ$$ه از روش اول ب$$راي انتخ$$ابجمعيت جديد استفاده مي

شود، در هر مرحل$$ه، به$$ترين جوابه$$ا ذخ$$يره گردن$$د و چنانچ$$ه در مراح$$ل بع$$دي،جوابهاي بهتري بدست

Page 27: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

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

انتخاب مي شود.٦: مرحله

در اين مرحله همه اف$$راد جمعيت جدي$$د ال$$ورود م$$ورد ارزي$$ابي ق$$رار مي گيرن$$د.چنانچه شرايط خاتمه

الگ$$وريتم ف$$راهم باش$$د، الگ$$وريتم پاي$$ان مي پ$$ذيرد و در غ$$ير اينص$$ورت جمعيتموجود به عنوان جمعيت

اوليه براي مرحله بعد م$$ورد اس$$تفاده ق$$رار مي گ$$يرد. ش$$رايط خاتم$$ه الگ$$وريتمژنتيك مي تواند توسط مساله

مشخص شود و يا شرايطي مانند زمان اجراي الگوريتم، تعداد محدودي تولي$$د درانجام الگوريتم و يا

تغيير نكردن بهترين جواب براي تعداد مشخصي از مراحل توليد باشد.١-٥ - حل يك مساله نمونه توسط الگوريتم ژنتيك -١١

فرض كنيد كه بيشينه كردن تابع زير مورد نظر باشد.f(x,y)=sqrt(x ٢+y ٢)

يك ع$$دد ص$$حيح در فاص$$له ]y[ مي باشد. براي ٠و ٧يك عدد صحيح در فاصله ] ، در اين تابعx[ و ٠ و ٣١

استفاده از الگ$$وريتم ژنتي$$ك،f(x,y) ابتدا الزم است متغيرهاي ،x و yبا دنباله اي ،جهت بيشينه كردن

مناسب از اعداد باينري نمايش داده شوند. بطور كلي تعداد بيت در نظ$$ر گرفت$$هشده براي هر كروموزوم،

را٣١ و ٠به دقت الزم براي جواب بستگي دارد. در اين مثال هر عدد صحيح بين مي توان توسط پنج

٠<y را ب$$ا س$$ه بيت نم$$ايش داد. بن$$ابراين ه$$ر٧و ٠> بيت و هر عدد ص$$حيح بين ٧نقطه در فضاي دو بعدي

٣١> و x به شكل زير كدگذاري مي شود. >٠(x,y) & ( : )(x,y ( شكل )نمايش كروموزوم معادل زوج١٧ : )

Page 28: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

-١٩- چ$ون ه$دفf(x,y) است، تابع برازندگي بايد ي$ك ت$ابع ص$عودي از f(x,y)باشد. به

بيشينه كردن تابععنوان نمونه مي توان توابع زير را براي تابع برازندگي پيشنهاد كرد :

Fitness= f(x,y)/max f(x,y) Fitness=exp[-{١ /f(x,y)-١/max f(x,y)}]در اين مثال، تابع برازندگي بصورت زير در نظرگرفته شده است :

Fitness= sqrt(x ٢+y ٢ /)sqrt(٧٢+٣١٢) / براي انجام٠ = Pc ٢/ و ٠ =Pm فرض شده و محل اتصال دو متغير x و yبه ،

٧عمل تقاطع و جهش، عنوان نقطه تقاطع انتخ$$اب گردي$ده اس$$ت. جمعيت اولي$$ه ك$$ه بص$$ورت تص$$ادفي

انتخاب شده است، در جدول( نمايش داده شده است. (٣

( : نمايش جمعيت اوليه٣جدول ) ( برازندگي كروموزوم معادلx,yشماره )

٠/٠٩٩٥ ٠٠٠٠١٠١١ ( ١و ٣ ) ١٠/١٦٠٤ ٠٠١٠١٠٠١ ( ٥و ١ ) ٢٠/٠٦٢٩ ٠٠٠٠٠٠١٠ ( ٠و ٢ ) ٣

( : نتايج عمل تقاطع٤جدول ) برازندگي كروموزومهاي

جديدنتايج عمل تقاطع

(x,yكروموزوم معادل )كروموزوم شركت

كننده در تقاطع٠/٠٤٤٥ ٠٠٠٠١٠٠١ ( ١و ١) ٠/١٨٣٥ ٠٠١٠١٠١١ ( ٥و ٣) {١و ٢} ٠/٠٧٠٣ ٠٠٠٠١٠١٠ ( ١و ٢) ٠/٠٩٤٤ ٠٠٠٠٠٠١١ ( ٠و ٣)

Page 29: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

{١و ٣} ٠/١٦٤٩ ٠٠١٠١٠١٠ ( ٥و ٢) ٠/٠٣١٥ ٠٠٠٠٠٠٠١ ( ٠و ١) {٢و ٣}

Pm= ٢( : نتايج عمل جهش با ٥ / جدول ) ٠(x,yبرازندگي )

حاصل(x,yاعداد تصادفي )

اوليه و٥ ) ٠/٩٥٠١ ٠/٠١٨٥ ٠/١٧٦٣ ٠/٣٥٢٩ ٠/٢٧٢٢ ٠/٤١٨٦ ٠/٦٨١٣ ٠/٩١٦٠ ( ١و ١)$ ٠/٢٢٢٥ ( ٥ و٣ ) ٠/٨٣١٨ ٠/٢٣١١ ٠/٨٢١٤ ٠/٤٠٥٧ ٠/٨١٣٢ ٠/١٩٨٨ ٠/٨٤٦٢ ٠/٣٧٥٩ ( ٥و ٣)$ ٠/١٨٣٥ ( ٥ و٢ ) ٠/٢٠٢٦ ٠/٥٠٢٨ ٠/٦٠٦٨ ٠/٤٤٤٧ ٠/٩٣٥٥ ٠/٠٠٩٩ ٠/٠١٥٣ ٠/٥٢٥٢ ( ١و ٢)$

٠/٦٠١١ ( ١٩ و٣ ) ٠/٤٤٥١ ٠/٦٧٢١ ٠/٧٠٩٥ ٠/٤٨٦٠ ٠/٦١٥٤ ٠/٩١٦٩ ٠/١٣٨٩ ٠/٧٤٦٨ ( ٠و ٣)$ ٠/١٥٧٣ ( ٤ و٢ ) ٠/١٩٨٧ ٠/٩٣١٨ ٠/٨٣٨١ ٠/٤٢٨٩ ٠/٨٩١٣ ٠/٧٩١٩ ٠/٤١٠٣ ٠/٢٠٢٨ ( ٥و ٢)$

٠/٣٥١٨ ( ١١ و٣ ) ٠/٠٥٧٩ ٠/٦٠٣٨ ٠/٤٦٦٠ ٠/٠١٩٦ ٠/٣٠٤٦ ٠/٧٦٢١ ٠/٩٢١٨ ٠/٨٩٣٦ ( ٠و ١)$ ٠/٢٦٨٨ ( ٨

ح$$$ال از بين كروموزومه$$$اي جدي$$$د بدس$$$ت آم$$$ده از عم$$$ل تق$$$اطع و جهش وكروموزومهاي اوليه، كروموزوم

با بيشترين مقدار برازندگي به عنوان جمعيت جديد براي مرحله بع$$دي الگ$$وريتم(( انتخاب٦)جدول ) مي گردد.٦) جدول )

( برازندگي كروموزوم معادلx,yشماره )٠/٦٠١١ ١٠٠١١٠١٠ ( ١٩و ٢ ) ١

Page 30: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

٠/٢٦٨٨ ٠١٠٠٠٠١١ ( ٨و ٣ ) ٢٠/٣٥١٨ ٠١٠١١٠١٠ ( ١١و ٢ ) ٣

( مشاهده مي شود كه كروموزومهاي حاص$$ل از ي$$ك٣( و ) ٦با مقايسه جداول ) بار انجام مراحل الگوريتم،

داراي برازندگي به$$تري نس$$بت ب$$ه كروموزومه$$اي اولي$$ه هس$$تند. كروموزومه$$ايجديد، جمعيت اوليه مرحله

بعد مي باشند. عمل جابجايي و جهش بر روي آنه$$ا انج$$ام ش$$ده و به$$ترين نت$$ايج،انتخاب مي گردد. آنقدر

اين عمليات ادامه مي يابد تا در نهايت، م$$اكزيمم ت$ابع برازن$دگي بدس$$ت آي$د. دراين حالت، الگوريتم پايان

مي پذيرد-١-همگرايي الگوريتم ژنتيك -٦

سؤال مهمي كه مي تواند مطرح شود، اين اس$$ت ك$ه آي$$ا روش الگ$$وريتم ژنتي$$كهمواره به سمت بهينه

، همگ$$رايي الگ$$وريتم١٩٩٤مطلق همگرا مي شود؟ تحقيقات رونكل$$ف در س$$ال ژنتيك را تحت شرايط

خاص به اثبات مي رساند. در اين تحقيقات، نشان داده شده است كه همگ$$راييبه سمت بهينه مطلق

يك خاصيت ذاتي الگوريتم ژنتيك نمي باشد ولي با رعايت شرايط خاص$ي امك$انپذير است. آناليزهاي

رياضي انجام شده در قالب چندين قضيه و با استفاده از مدل زنجيره م$$اركوف،در اين تحقيق نشان داده

-٢١- است كه چنانچه در هر مرحله توليد ازالگوريتم ژنتيك، بهترين جوابها نگاه داش$$ته

وبا احتمال يك، بهمرحله بعد وارد شوند، الگوريتم به سمت بهينه مطلق همگرا مي شود.

عوام$$ل متع$$ددي در س$$رعت همگ$$رايي الگ$$وريتم ژنتي$$ك مؤثرن$$د. جمعيت اولي$$ه،مقادير احتمال جهش و

Page 31: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

جابج$$ايي، چگ$$ونگي انج$$ام عم$$ل جابج$$ايي و جهش، ت$$ابع برازن$$دگي و چگ$$ونگيانتخاب جمعيت مرحله بعد

از جمله اين عوامل مي باشند. چگونگي ت$$اثير اين عوام$$ل در س$$رعت همگ$$راييالگوريتم ژنتيك، به مساله

مورد نظربستگي دارد وازطريق آزمايش بدست مي آيد.

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

- مقدمه1

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

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

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

-ان$$د ,تق$$ريبهاي انتخاب شده به کمک عملگرهايي که از ژنتيک طبيعي تقليد شده ش$$ود ک$$ه نس$$لهايآي$$د. اين فراين$$د ب$$اعث ميهاي بهتري از جواب نهايي بدست مي

جديد با شرايط مساله سازگارتر باشد.

- تاریخچه2

توسط آقاي ريچنبرگ ارائه شد1960 حساب تکاملي ,براي اولين بار در سال که تحقيق وي در مورد اس$$تراتژي تکام$$ل ب$$ود.بع$$دها نظري$$ه او توس$$ط محقق$$ان

( توس$$ط ج$انGAزيادي مورد بررسي قرار گرفت ت$ا اينک$ه الگ$$وريتم ژنتي$$ک ) در دانشگاه ميشيگان ,ارائه شد.1975 ( و در سال John Hollandهولند)

( براي حلGA ( از الگوريتم ژنتيک )John Koza نيز جان کوزا )1992در سال و بهينه سازي مسائل مهندسي پيشرفته استفاده کرد و توانست ب$$راي اولين ب$$ار

( را به زبان ک$$امپيوتر در آورد و ب$$راي آن ي$$ک زب$$انGAروند الگوريتم ژنتيک )

Page 32: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

برنامه نويسي ابداع کندکه به اين روش برنامه نويس$ي ,برنام$ه نويس$ي ژنتي$ک )GP گويندو نرم افزاري که توسط وي ابداع گرديد به ن$$رم اف$$زار ) LISPمش$$هور

است که هم اکنون نيز اين نرم افزار کاربرد زيادي در حل و بهينه سازي مس$$ائلمهندسي پيدا کرده است .

تاريخچه بيولوژيکي 2-1

ب$$دن ه$$ر موج$$ود زن$$ده اي از س$$لول تش$$کيل يافت$$ه اس$$ت و ه$$ر س$$لول هم از تش$$کيل يافت$$هDNAکروموزوم تشکيل يافته است.کروموزومها نيز از رشته هاي

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

( مي گويند.Genomeمجموعه از ژنها يک ژنوم )

- ساختار الگوريتمهاي ژنتيكي3به طور كلي, الگوريتمهاي ژنتيكي از اجزاء زير تشكيل ميشوند:

1 كروموزوم3-1

در الگوريتمهاي ژن$تيكي, ه$ر كروم$وزوم نش$ان دهن$$ده ي$ك نقط$ه در فضاي جستجو و يك راهح$$ل ممكن ب$$راي مس$$ئله م$$ورد نظ$$ر اس$$ت.

)متغ$$ير( تش$$كيل2خ$$ود كروموزومه$$ا )راه حله$$ا( از تع$$داد ث$$ابتي ژن ميشوند. براي نم$$ايش كروموزومه$$ا, معم$$وال از كدگ$$ذاريهاي دودويي

)رشتههاي بيتي( استفاده ميشود.

3 جمعيت3-2

مجموعهاي از كروموزومه$$ا ي$$ك جمعيت را تش$$كيل ميدهن$$د. ب$$ا ت$$اثير عملگره$$اي ژن$$تيكي ب$$ر روي ه$$ر جمعيت, جمعيت جدي$$دي ب$$ا هم$$ان

تعداد كروموزوم تشكيل ميشود.

1 Chromosome2 Gene3 Population

Page 33: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

4 تابع برازندگي3-3

به منظور حل هر مسئله با استفاده از الگوريتمهاي ژنتيكي, ابتدا بايد يك تابع برازندگي براي آن مسئله ابداع ش$$ود. ب$$راي ه$$ر كروم$$وزوم, اين تابع عددي غير منفي را برميگرداند كه نشان دهنده شايستگي ي$$ا

توانايي فردي آن كروموزوم است.

عملگرهاي الگوریتم ژنتيك3-4 در الگوريتمه$$اي ژن$$تيكي, در طي مرحل$$ه تولي$$د مث$$ل ازعملگره$$اي ژنتيكي استفاده ميشود. ب$$ا ت$$اثير اين عملگره$$ا ب$$ر روي ي$$ك جمعيت,

6 , آم$$يزش5نسل بعدي آن جمعيت توليد ميشود. عملگره$$اي انتخ$$اب معموال بيشترين كاربرد را در الگوريتمهاي ژنتيكي دارند.7و جهش

(:Selection)عملگر انتخاب 3-4-1 اين عملگ$$ر از بين كروموزومه$$اي موج$$ود در ي$$ك جمعيت, تع$$دادي كروم$$وزوم را ب$$راي تولي$$د مث$$ل انتخ$$اب ميكن$$د. كروموزومه$$اي

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

روش های انتخاب :

:Elitist Selection)انتخاب نخبگان( o.ب$$ا توج$$ه ب$$همناسب ترین عضو ه$$ر اجتم$$اع انتخ$$اب می ش$$ود

مقدار شایستگی که از تابع ارزیاب دریافت کرده است.

نمونهبرداري به روش چرخ رولت

4 Fitness Function5 Selection6 Crossover7 Mutation

Page 34: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

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

تع$$داد اف$$راد در جمعيت اس$$ت. درN بار چرخانده ميشود كه Nچرخ هر چرخش, فرد زير نشانگر چرخ انتخاب ميشود و در مخزن وال$$دين نسل بعد قرار ميگيرد. اين روش ميتواند به ص$$ورت زي$$ر پيادهس$$ازي

شود:

T نرخ انتظ$$ار ك$$ل اف$$راد جمعيت را جم$$ع كني$$د و حاص$$ل آن را -1

بناميد. بار تكرار كنيد:N مراحل زير را -2

انتخاب كنيد.T و 0 بين rيك عدد تصادفي

در مي$$$ان اف$$$راد جمعيت بگردي$$$د و نرخه$$$اي انتظ$$$ار) مق$$$دار شایستگی( آنها را با هم جمع كنيد تا اين ك$$ه مجم$$وع بزرگ$$تر ي$$ا

شود. فردي كه نرخ انتظارش باعث بيشتر شدن جم$$عrمساوي از اين حد ميشود, به عنوان فرد برگزيده انتخاب ميشود.

نحوه ارزیابی شایستگی در چرخ رولت2شکل

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

می شوند.

Crossover)عملگر آميزش 3-4-2

Page 35: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

در جریان عمل تلفیق به صورت اتف$اقی بخش$$هایی از کروم$$وزوم ه$ا ب$$ا یکدیگر تعویض می شوند. این موضوع باعث می شود که فرزندان ترکیبی از خصوصیات والدین خود را به همراه داشته باشند و دقیقا مشابه یکی از

والدین نباشند.

هدف تولید فرزند جدید می باش$$د ب$$ه این امی$$د ک$$ه خصوص$$یات خ$$وب دوموجود در فرزندشان جمع شده و یک موجود بهتری را تولید کند.

روش کار به صورت زیر است:

بصورت تصادفی یک نقطه از کروموزوم را انتخاب می کنیم

ژن های مابعد آن نقطه از کروموزوم ها را جابجا می کنیم

( تلفیق تک نقطه ایSingle Point Crossover ) اگر عملی$$ات تلفی$$ق را در ی$$ک نقط$$ه انج$$ام دهیم ب$$ه آن تلفی$$ق ت$$ک

نقطه ای می گویند.

بدين صورت انجام مي گيرد که حاصل ترکيب کروموزومهاي تلفیق پدر و مادر مي باشد.روش توليد مثل نيز بدين صورت است که ابت$$دا بصورت تصادفي ,نقطه اي ک$$ه ق$$رار اس$$ت تولي$$د مث$$ل از آنج$$ا آغ$$از گردد ,انتخاب مي گردد.سپس اعداد بعد از آن به ت$$رتيب از بيت ه$$اي کروموزومهاي پدر و مادر قرار مي گيرد که در شکل زي$$ر ن$$يز نش$$ان

داده شده است.

یک نمونه تلفیق )آمیزش(3شکل

در نقش والدين هستند. و حاص$$ل2 و1در شکل باال کروموزومهاي ذخيره ش$$ده اس$$ت.دقتOffspringتوليد مثل آنها در رشته هائي بنام

Page 36: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

شود که عالمت "|" مربوط به نقطه شروع توليد مثل مي باشد و در اعدادي که بعد از نقطه شروع توليد مث$$ل ق$$رارOffspringرشته هاي

مي گيرن$$$د مرب$$$وط ب$$$ه کروموزومه$$$اي مرب$$$وط ب$$$ه خ$$$ود مي Offspring1باشند.بطوريکه اعع$$دار بع$$د از نقط$$ه ش$$روع مرب$$وط ب$$ه

و اعداد1مربوط به اعداد بعد از نقطه شروع مربوط به کرومکوزوم مربوط به اع$$دادOffspring2بعد از نقطه شروع توليد مثل مربوط به

مي باشند2بعد از نقطه شروع توليد مثل مربوط به کروموزوم

(روش ادغام دو نقطه ای(Two-point CrossOver: در این روش دو مکان را به صورت تصادفی انتخ$$اب ک$$رده و مق$$ادیر

بین این دو نقطه را جابجا می کنیم.

( تلفیق نقطه ایMultipoint Crossover: ) می توانیم این عملیات را در چند نقط$$ه انج$$ام دهیم ، ک$$ه ب$$ه آن

بازترکیبی چند نقطه ای می گویند

( تلفیق جامع.Uniform Crossover: ) اگر تمام نقاط کروموزوم را بعنوان نقاط بازترکیبی انتخ$$اب ک$$نیم

به آن بازترکیبی جامع می گوئیم. مثال(

(:Mutation)عملگر جهش .3-4-3

پس از اتمام عمل آم$$يزش, عملگ$$ر جهش ب$$ر روي كروموزومه$$ا اث$$ر داده ميشود. اين عملگر يك ژن از يك كروموزوم را به طور تص$$ادفي انتخاب نم$$وده و س$$پس محت$$واي آن ژن را تغي$$ير ميده$$د. اگ$$ر ژن از جنس اعداد دودويي باشد, آن را ب$$ه وارونش تب$$ديل ميكن$$د و چنانچ$$ه

Page 37: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

جهش 4شكل عملگر اعمال از بعد و قبل كروموزوم يك

جهش

1 0 1 0 0 0 1 1 1 0

1 0 1 0 1 0 1 1 1 0

جهش محل

متعلق به يك مجموعه باشد, مقدار يا عنصر ديگري از آن مجموعه را چگ$$ونگي جهش ي$$افتن2ب$$ه ج$$اي آن ژن ق$$رار ميده$$د. در ش$$كل

پنجمين ژن يك كروموزوم نشان داده شده است.

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

- روند كلي الگوريتمهاي ژنتيكي4

قبل از اين كه يك الگ$$وريتم ژن$$تيكي بتوان$$د اج$$را ش$$ود, ابت$$دا باي$$د كدگ$$ذاري )ي$$ا معمولي ت$$رين ش$$يوه نم$$ايشنمايش( مناسبي براي مسئله مورد نظر پيدا شود.

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

شود .گرچه اين روش گسترده ترين ش$$يوه کدگ$$ذاريمتغيرها کروموزوم ايجاد مي است ام$$ا ش$$يوه ه$$اي ديگ$$ري مث$$ل نم$$ايش ب$$ا اع$$داد حقيقي در ح$$ال گس$$ترش

همچنين يك تابع برازندگي نيز بايد ابداع شود تا به ه$$ر راه ح$$ل كدگ$$ذاريهستند. ش$$ده ارزش$$ي را نس$$بت ده$$د. در طي اج$$را, وال$$دين ب$$راي تولي$$د مث$$ل انتخ$$اب ميشوند و با اس$$تفاده از عملگره$$اي آم$$يزش و جهش ب$$ا هم ت$$ركيب ميش$$وند ت$$ا فرزندان جديدي توليد كنند. اين فرآيند چندين ب$$ار تك$$رار ميش$$ود ت$$ا نس$$ل بع$$دي

Page 38: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

جمعيت اوليه

ارزيابی جوابها

آيا جواب مورد نظر حاصل شده؟

پايان

انتخاب

بلهتلفیق

T=T+1جهش

T=0

خير

شروع

جمعيت توليد شود. سپس اين جمعيت بررسي ميشود و در ص$$ورتي ك$$ه ض$$وابطهمگرايي رآورده شوند, فرآيند فوق خاتمه مييابد.

و فلوچارت آن کد برنامه مجازي الگوريتم ژنتيک ساده5شکل

- روند کلي بهينه سازي و حل مسائل در الگوريتم ژنتيک :5

Page 39: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

( ک$$ه ش$$امل تع$$دادPopulation ( : تولي$$د تص$$ادفي ي$$ک جمعيت)Start شروع)5-1زيادي کروموزم)روشهاي حل مسئله است( مي باشد.

ب$$ه ازائ ه$$رf(x) (: ارزي$$ابي ص$$حت ب$$راي ت$$ابع Fitness-ص$$حت و درس$$تي)5-2 درجمعيت.xکروموزوم

نحوه ارزیابی تابع شایستگی در چرخ رولت6شکل

New-ايجاد يک جمعيت جديد)5-3 Populationتوليد يک جمعيت جدي$$د ب$$ا انج$$ام:) تمامي زير گروههاي زير تا آنکه يک جمعيت جديد ايجاد گردد.

(:انتخاب کروموزومهاي پ$$در و م$$ادر از جمعيت قبليSelection : انتخاب)5-3-1 به$$تر باش$$دFitnees (.بطوريک$$ه ه$$ر چ$$ه Fitnessبا توجه به صحت و درس$$تي آن )

)دقت جواب در همگرائي بيشتر باشد( شانس بيشتري براي انتخاب دارد.

(:انجام زادو ولد و ايجاد يک نسل جديد.Crossover :توليد مثل)5-3-2

(:مشخص شدن مکان فرزند توليد شده در کروموزومMutation :جهش)5-3-3

(: جا دادن فرزند جديد در داخل جمعيت.Accepting :پذيرش)5-3-4

(:جايگزيني جمعيت جديد ب$$ه ح$$اي جمعيت قبلي و م$$وردReplace-جايگزيني)5-4استفاده قرار دادن جمعيت جديد در مراحل بعدي الگوريتم

(: اگر شرائط مطلوب در حل مسئله ارضا شد اعالم ميک$$نيمTest-امتحان: )5-5 که به بهترين جواب رسيده ايم و از الگوريتم خارج مي شويم در غير اين صورت

ميرويم و دوباره همين روند را تکرار مي کنيم.Fitneess يعني 2به مرحله

Page 40: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

- شرط پايان الگوريتم6

ج$$واب مس$$الهچون که الگوریتم های ژنتیک ب$$ر پای$$ه تولی$$د و تس$$ت می باش$$ند، دانیم که کدامیک از جواب ه$$ای تولی$$د ش$$ده ج$$واب بهین$$همشخص نیست و نمی

،. ب$$ه همین دلیلشرط خاتمه را پیدا شدن جواب در جمعیت تعریف کنیماست تا یم:گیر معیارهای دیگری را برای شرط خاتمه در نظر می

تعداد مشخصی نسل: می.1 دور چ$$رخش100 توانیم ش$$رط خاتم$$ه را مثالحلقه اصلی برنامه قرار دهیم.

عدم بهبود در بهترین شایستگی جمعیت در طی چند نسل متوالی.2.تغییری نکندخاصی تا یک زمان بهترین شایستگی جمعیت .3توانیم ترکی$$بی از توانیم تعریف کنیم و همچنین می شرایط دیگری نیز می

. عنوان شرط خاتمه به کار ببندیمه موارد فوق را ب

يک مثال ساده:

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

NNN

NNN

NNN

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

=24

=24

= = =

24 24 24

Page 41: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

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

نسل اول

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

مي شوند. حاال مثال مان:

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

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

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

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

1110

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

14

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

مي کنيم و بررسي مي کنيم که چقدر با جواب اصلي فاصله دارند.

Page 42: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

15126

10411

1457

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

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

1¿|33−24|+|25−24|+|26−24|+|24−24|+|21−24|+|39−24|¿

¿¿

19+1+2+0+3+15

130

≈0 . 033

است.هرچقدر که اعداد0.033بنابراين درجه تناسب براي اين ژنوم تقريبا برابر ما به جواب نزديکتر باشند عدد تناسب بزرگتر خواهد شد.اما اگر مخرج ما براب$$ر

ش$$ده ان$$د وم$$ا24شود چه اتفاقي مي افتد؟ دراين صورت همه اعداد ما برابر 0به جواب رسيده ايم.

33=

25=

=33

=25

= = =

Page 43: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

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

تشکيل شده:

-انتخاب1

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

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

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

شود. تابع انتخاب به صورت زير خواهد بود:

RouletteSelection)({

float ball = rand_float_between(0.0, total_fitness); float slice = 0.0;

  for each genome in population

{ slice += genome.fitness//;ژنوم با کروموزوم( ژنوم) هر مقدار شایستگی

های بعدی جمع میشود if slice > ball

return genome;}

}

( Crossover- تلفیق)2

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

Page 44: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

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

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

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

Before Crossing

Father 011110010011 001011011000111011010000

Mother 010100111110 010101111101000100010010

After Crossing

Child1 011110010011 010101111101000100010010

Child2 010100111110 001011011000111011010000

( Mutation- جهش)3

قبل از اين که ژنوم ها در نسل بع$دي ق$$رار بگيرن$$د،احتم$$ال دارد دچ$$ار جهش ي$$ا تغيير ناگهاني شوند شوند.جهش يک تغيير ناگهاني در ژن است.در ژنه$$اي ب$$اينري

است. درجه جهش نشان0 به 1 يا از 1به 0اين تغيير به معناي تغيير يک بيت از % ب$$راي ژنه$$اي5-1دهن$$ده احتم$$ال ب$$روز جهش در ي$$ک ژن اس$$ت و تغريب$$ا بين

%براي ژنهاي عددي است.20-5باينري و

این روند تا تولید نسل های متعددی ادامه می یابد تا در نهایت به جواب برسیم.

- برخي از كاربرد الگوريتمهاي ژنتيكي7

Page 45: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

توپولوژي هاي شبکه هاي کامپيوتي توزيع شده.

بهينه سازي ساختار ملکولي شميايي )شيمي(

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

مهندسي نرم افزار

بازي هاي کامپيوتري

مهندسي مواد

مهندسي سيستم

(Roboticsرباتيک)

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

حل مسئله فروشنده دوره گرد

آموزش شبکه هاي عصبي مصنوعي

.GAياددهي رفتار به رباتها با

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

- نتيجه گيري 8

الگوريتم هاي ژنتيك الگوريتم هايي هستند كه داراي قدرت بسيار زي$$ادي در ي$$افتن جواب مسئله هستند، اما باي$$د توج$$ه داش$$ت ك$$ه ش$$ايد بت$$وان ك$$اربرد اص$$لي اين الگوريتم ها را در مسائلي در نظر گرفت ك$$ه داراي فض$$اي ح$$الت بس$$يار ب$$زرگ هستند و عمال بررسي همه حالت ها براي انسان در زمان هاي نرمال )در حد عمر بشر( ممكن نيست. از ط$$رفي باي$$د توج$$ه داش$$ت ك$$ه حتم$$ا بين ح$$االت مختل$$ف مسئله باي$$د داراي پيوس$$تگي مناس$$ب و منطقي باش$$يم. در نه$$ايت الگوريتم ه$$اي

Page 46: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

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

مسئله به سوي جواب مشغول پرواز هستيم.

Page 47: 3- ساختار الگوريتمهاي ژنتيكيcld.persiangig.com/dl/hwRzt/Ws3NbCe7xD/الگوریتم... · Web viewمتغیرهایی که هر فرمول داده شده را

منابع

http://www.geodetic http://daneshnameh.roshd.ir

http://www.lenjan.ir