76
ل ص ف اول ك ي ت ن ژ: 1 - 1 ي ن ا ي م ل م كا ت دژ ان"$ ه ج ت ع ي* ب$ ط ودات $ ج و مً ا$ م4 ئ دا دژ ال$ ح ه اژژ $ ي م راي $ ب ده $ ن ژ دن" $ مان و راژ$ ف اژ ت$ س د ان" ي م $ ش د ود $ ج وده $ ب و ز ي $ ن راي $ ب ا ق ب ت س ك و ا د غ اژ ي ن ه ن ه ب ل غر ب هاي م س ي ن مكا ي ع ا دف ر گ ن د هاي ه ون گ ي ن ا ي ح وده ب ا ن ها ن^ ا ژا ه ن وان" ن ع ا د غ مه ع ط ود ج راژ ف د. ي ه د ر ه هاي ون گ اژ ودات ج و م م ع ا اژ ي ه ا ي گ و وژي ب ا ح راي ب ل ي ن ه ن واژد ملا ا ن ه ن ژهاي ا ر ب ا ي ص ا ح ح سل م د ي ت$ س ه كه دژ وژت$ صژا^ مدكا ا ن ودن" ب" ن ي اژها ا ر ب ا دژ ل ن ا ق م دات هدن ن، ي ج اژ ح ات $ ي ح و اي $ ق ب" ا^ ن ه ون گ اص $ ح اژ ودات $ ج و م ا ن ر ط خ دي $ ح ه واج م ود. ش ي م ه ون گ اي$ ه ي نراوا$ ف اژ ودات $ ج و م دژ ن" ي ا د ي ن^ را ف ع اژ $ ي ن< ا ق ب1 ا ن> اي $ ق ب< ح ل$ ص ا2 > ه ن وي$ ح ن اژ ن" ي ن د هان ب ف ژ كه ط ق ف اژ ژوي ها ل ي س ف ا ن ر گ ن د اژ ا^ ن ان" ي س ا ن ي س ا ي س ه ن ود ج و ها ن^ ا دژ هاي ن ما ژ اژ يس ب دوژ ه ب س گد ي نرده ب ده ش. ت س اما ا دژ واژد م اژي يس ب هاي م س ي نژگا ا ده ن ژ ه ن وي ح ن ود ج ژا ا ن$ ط زاي ش واژي ش د كه اي ق ب ه ون گ ها ن^ ا ژا د هدن ن رد، ك ي م اژ ي ك ده$ ا^ م د ان و دژ ول ط" ن ي د ن ح ل س ب ق ف و م ده ش د ان ا ن ا ن ز ي ي غ ب ش ه ج و ي ك ي ت ن ژ دژ دام ان ود، ج ه ن ي گ د ن ژ ادامه د. ي ه د ن ل ك $ ش ك $ ن وع $ ب وال ي ن ا $ دژن ه ن ام $ ن$ وژوس وژ ل ي$ س ا ن< 3 ژا> " ان $ س ب" ن ي د.ا$ ده ي م" وان $ ن حود د$ ح45 ون" $ ن ل ي م ال$ ش ش ي¥ ن ه ب$ س ب ز مي ت$ س ا وداژاي15 ز مي ول ط و5 ن"ُ ي" ن وژ وده ب. ت س ا وژاك ج" ن ي ا وان" ن ح ودات ج و م ك وح ك ي ن ا دژن ود $ ب كه ا ن ت كر$ ح ي جو$ م ود $ ج ه ن ت م ش" ان ا^ ن ه ب ف ژ و كاژ ش ود ج ژا ن" مي ا ن رد. ك ي م ا ن اه$ گ ت ز ي $ ق ي ف د ه ن ش ك غ ه وج ن م ه ب ك ن ي م ه م م ي ه وا $ ج د ش كه هاي م دا $ ان ي ن و$ ل ح" وان $ ن ح اله ن اي$ ه اژ ي$ س ب ي ك ح و$ ك دژ سه ب ا ق م ا ن ه ب ح" وان $ ن ح د ي ت$ س ه كه اژ اي$ ه ت ن ا" ح ن ا^ ژ ت ع $ ش ميً ا$ غ ط ف د. $ ردن گ ي م ا ي $ س" ردن$ ك و ه ن1 Struggle for Existance 2 Survival of Fittest 3 Basilosaurus 1

طراحی الگوریتم بروش پنتیگ

Embed Size (px)

Citation preview

Page 1: طراحی الگوریتم بروش پنتیگ

: ژنتيك اول فصل تكامل مباني 1 - 1� موجودات طبيعت جهان در �ت از فرار و ماندن زنده براي مبارزه حال در دائما� دس

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

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

�لح >بقاي < يا1بقا >تنازع فرآيند اين در موجودات از فراواني هاي گونه��ه <2اص� ب�ود به شناسي باستان آثار ديگر يا فسيلها روي از فقط كه رفته اند بين از نحوي� وج

است. شده برده پي گذشته دور بسيار زمانهاي در آنها�ود نحوي به زنده ارگانيسمهاي بسياري موارد در اما��ا را خ��رايط ب��واري ش��ه دش� ك

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

�كل�����ك ش�����وع ي�����ايي وال ن�����ه دري�����ام ب���� ن ح�دود حيوان مي دهد .اين نشان < را3>باسيلوزوروس

�ون45��ال ميلي��ته پيش س��ت ميزيس� 15 وداراي اسWن5 و طول متر است. بوده وزن ت

�ود دريايي كوچك موجودات حيوان اين خوراك��ه ب� ك�ه آنان سمت به خود موجي حركت با��كار و رفت� ش

مي كرد. تامين را خود�واهيم مهمي نكته متوجه عكس به دقيقتر نگاه با� خ

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

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

مي گيرد: صورت زير شرح به محيط با تطبيق تكاملييافته تكامل 5باله هاي به 4ها پنجه تبديل6انتهايي قدرت> باله افزايش>ه انگشتان ايجاد� و ن�يزتر بس�يار انگش�ت دو ك�ه نح�وي ب�ه آن ش�كل ش�دن وبهين

�تند انگشتان ديگر از درازتر��ا هس��ركت ت��كار تعقيب و آب در ح��انتر ش��ورت آس� ص(2-1بگيرد. )شكل

1 Struggle for Existance

2 Survival of Fittest3 Basilosaurus4 Paw5 Flipper6 Caudal Fin

1

Page 2: طراحی الگوریتم بروش پنتیگ

�درو اصول رعايت با تكاملي هاي فرآيند��ك هي��راي دينامي��ا ب��ان ماهيه��ول و وآبزي� اص�دگي متمادي نسلهاي و سالها طول در خفاشها، و پرندگان براي ديناميكي آئرو��ا زن� ب

�اي علم آمدي كار اثبات بااست. كرده فراهم را بيشتري اطمينان ضريب��ك نوپ� <1>بيوني. يافت بيشتري نمود طبيعي فرآيندهاي به توجه بيستم، قرن اوايل در

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

باشد.� شاخص، مثال يك بعنوان �رد روي >رادار< از دستگاه ساخت ايده و الهام قطعا��اش عملك� خف

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

تاريخي بحث 1-2�ي داروين چارلز جنجالي و مهم كتاب انتشار با ژنتيك مقوله��ه انگليس��يه آن در ك��املي فرض� تك

�د.او مط�رح ج�دي طور به ميالدي1859 سال نوامبر24 درتاريخ بود كرده مطرح را خود� در ش�اني كرده پيدا < شهرت2انواع >بنياد نام با فارسي در كه خود كتاب��ت,مب��ري اس��يه و فك� فرضكرد. ارائه < را3تدريجي >خلقت جلوي روبه و رونده پيش سير برتكامل دال خود

آني آفرينش به كه زمان آن كليساي نظريات با شديد تعارض در مساله اين كه پيداست ناگفته .داشت قرار بود، معتقد < انسان 4دفعي >خلقت و

�يش 5مندل گريگوري تحقيقات ميالدي1865 سال در��ي كش��اره اتريش��ل و وراثت درب� و تكام�ور به كه اصولي��ربي ط��ه تج��ت ب��ود آورده دس��د ب��ال چن��رگش از پس س��افت. اين انتش�ار م� ي

نمود. موضوعات اين به معطوف را بسياري توجه 6تحقيقاتگرديد. معرفي وراثت واحد عنوان < به >كروموزوم1903 سال در

�ام نام به انگليسي شناس زيست يك >ژنتيك<توسط واژه بار اولين براي1905 درسال� ويليگرفت. قرار استفاده مورد و گرديد وضع 7بيتسون

شد. وضع ژنها در فيزيكي تغييرات بيان < براي8>جهش واژه1927 سال درWري < يا9>برش واژه1931 سال در گرديد. < وضع10>همب

و 11واتسون جيمز توسط مارپيچي شكل به كامل بطورDNA ساختار ميالدي1953 سال در آورد. ارمغان به نيز را نوبل جايزه آنان براي كه شد داده توضيح 12كريك فرانسيس

به انساني ژنوم يعني ژنتيكي كامل مدل به دستيابي براي تالشها اولين ميالدي1977 سال در �ر بسيار تحقيقات همچون بسياري نشست.مشكالت بار��ه پ��ان و هزين��والني زم��لها ط��راي نس� ب

1 Bionics

2 “The Origin of species” by Charles Darwin3 Transformism4 Fixism5 Gregor Mendel6 Experiment on Plant Hybridization7 William Bateson8 Mutation9 Crossing over10 Crossing over11 James Watson12 Francis Crick

2

Page 3: طراحی الگوریتم بروش پنتیگ

�اد امكان عدم نيز و ژنتيكي مطالعات��اي ايج��ا ازدواجه��ه ب��د برنام��ودات مانن��گاهي موج� ازمايشمي كرد. خودنمايي همچنان

�ا انسان ژنتيكي كامل برداري نقشه < يعني1>ژنوميك پروژه مي شود بيني پيش��ان ت��ال پاي� س�د. در انجام به ميالدي2005��ورت برس��وع ص��نين وق��ري، چ��اله اين اهميت ام��ف مس��ا همردي� بمي شود. ارزيابي خط اختراع يا آتش كشف

هستند: خود دامنه پيش از بيش بسط مشغول ژنتيك علم در فراواني هاي شاخه اكنون همژنتيك( )سيتو ها كروموزوم بررسيمولكولي( )ژنتيك ژنها ساختمان مطالعهباليني( )ژنتيك بيماريها تشخيصاپيدميولوژي ژنتيكتوسعه ژنتيكجمعيت ژنتيك

1 Genomic3

Page 4: طراحی الگوریتم بروش پنتیگ

ژنتيك الگوريتمهاي :معرفي دوم فصل ژنتيك الگوريتمهاي عملكرد2-1

�گاه از هالند جان به را 1ژنتيك الگوريتمهاي واژه ابداع و اصطالح��يگان دانش� ميش�اب در مي دهند. او نسبت��ود كت��ال خ��ول ميالدي1975 درس��اي اص��ك الگوريتمه� ژنتيكرد. تشريح را ساده

Adaptation in Natural and Artificial SystemB: john holland, 1975Michigan University

مي باشد: گلدبرگ كتاب زمينه اين در مهم بسيار كتاب ديگرGenetic Algorithm in Search, Optimization, and Machine LearningBy David, E. GoldbergAddison –Wesley 1989

است: كتاب همين به متعلق ژنتيك الگوريتمهاي تعاريف جامعترين و بهترين از يكي The genetic algorithm is a model of machine learning which derives its behaviour

from a metaphor of the processes of evolution in nature.�ت ماشين يادگيري از مدلي ژنتيك الگوريتمهاي��ه اس��وه ك��ار نح��ثيلي آن رفت��د هاي از تم� فرآين

است. طبيعت عالم در موجود تكاملي

�ا كه است ازطبيعت برگرفته روشهاي قويترين از يكي ژنتيك الگوريتمهاي ��ام ب��ك از اله� و ژنتي�وم مسائل در عددي سازي بهينه اشكال بهترين از طبيعي, يكي انتخاب��ي و عل��ه را مهندس� ارائ

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

2 طبيعي انتخاب�رادي نابودي باعث طبيعي شرايط در حذف عمل��ه 3اف��ازگاري ك��تري س��ا كم��ط ب��د محي� دارن

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

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

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

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

�ادگي به ژنها پذيرد صورت مداوم طور به واحدي جمعيت��ان س��راد مي��ذكور جمعيت اف��ع م� توزيشد. خواهند

�ر مي شوند. در برخوردار موروثي عوامل تمام از جمعيت اعضاي كليه مدتي از پس نتيجه در� اث داشت. در خواهند ژن ها ساختار در سهمي افراد از يك هر متعدد نسل هاي در متوالي مثل توليد

�د بوجود جديد ژن هاي از تركيبي 5جهش و 4برش انواع اثر بر مواقع بعضي جمعيت هر��ه مي آي� ك زن�دگي ب�ه اف�راد اين هرگ�اه مي كنن�د، كس�ب ت�ازه اي صفات جمعيت، افراد از پاره اي نتيجه در

1 Genetic Algorithms (GA)2 Natural Selection3 Individual=Choromosome 4 Crossover5 Mutation

4

Page 5: طراحی الگوریتم بروش پنتیگ

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

5

Page 6: طراحی الگوریتم بروش پنتیگ

مقايسة الگوريتم ژنتيك با سيستم هاي طبيعي1-2جدول ژنتيك الگوريتمطبيعي سيستمهاي

كروموزوم اطالعات كه هستند ژني بسته هاي ديگر نسل به نسلي از را وراثتي

� مي يابند انتقال عينا

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

شدهاست

محيط در جمعيت كه را محيطي شرايط

دارد. قرار آن

برازش تابع رياضي رابطة يك صورت به مساله

مي نامند. برازش تابع كه درآمده

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

تكثير متغير عنوان به را جمعيت رشته هر تابع مقدار و گرفته نظر در برازش تابع

مي شود، محاسبه رشته هر برازش برازش، تابع مقدار با متناسب انتخاب جديد جمعيت رشته هاي

مي شود.

تقاطع از قسمتي تبادل يا تقاطع نتيجه در

پيوسته ژنهاي مبادله كروموزوم هامي گيرد صورت

(Crossover) تقاطع دو به دو صورت به جمعيت رشته هاي

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

مي شوند. تعويض رشته دوجهش

ژن جاي به ژني شدن جانشين ياDNA زنجيره طول در ديگر

ژن در شده ايجاد تغييرات

(Mutation) جهش صورت به عددي رشته از بيت يك

تغيير دچار و ميشود انتخاب تصادفيمي گردد.

تكامل و جديد نسلهاي ايجادموجودات

تكثير مرحلة از بعد فوق مراحل تكرار

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

�اختار ايدة از مولفه ها از بردار يك كمك با پيچيده ساختار��تيكي س��ك ژن��وزوم ي��مه كروم� سرچش� شده معرفي تازه عملگرهاي[مي گيرد. ]شد. خواهند داده توضيح بعدا

�مي بايد چيز هر از قبل ژنتيك الگوريتم كلي ساختار مورد در��راي مكانيس��ايش ب��ر نم��واب ه� ج�ك صورت به مساله��وزوم ي��ف كروم��ود، تعري��پس نم��وعه اي س��ا از مجم��ه را كروموزوم ه� در ك

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

�د، كروموزوم هاي توليد به اقدام 2ژنتيك اعمال بكارگيري با بايد مرحله اين از بعد��وم جدي� موس�ا برازنده ترين انتخاب به بايد جديد كروموزوم تعدادي توليد از نمود. پس ، 3نوزاد به� كروموزوم ه

باش�د. فراين�د اولي�ه جمعيت ان�دازه ب�ا برابر منتخب كروموزوم هاي تعداد كه طوري به پرداخت�رازش تابع اغلب كه بوده رشته هر 4 برازندگي مقدار بر مبتني انتخاب��ر را ب��ا براب��ان ب��ابع هم� ت

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

1 Population size 2 Genetic Operations3 Offspring4 Fitness Value

6

Page 7: طراحی الگوریتم بروش پنتیگ

�ته نگاه جواب ها بهترين ژنتيك، الگوريتم از توليد مرحله هر در چنانچه��ود داش��وريتم ش��ه الگ� ب�اهيت كه مي گيرد صورت دليل اين به مساله مي شود.اين همگرا مطلق بهينة سمت��ادفي م� تص

در حض�ور امك�ان ب�اال بس�يار ب�رازش ب�ا حلي راه تا شود باعث است ممكن ژنتيك الگوريتمهاي�د دليل، همين برود. به بين از هميشه براي و نكند پيدا را بعد نسل��وچكي درص��ل از ك��د نس� بع

� مي شود. برده < نام1گرايي >نخبه نام با فرآيند اين شد.از خواهد كپي قبل، نسل از مستقيما�يين كاربر توسط قبل از كه بوده تكرار معيني تعداد كردن طي مي تواند مساله توقف شرط� تع

باشد. ديگري خاص شرط يا و الگوريتم از مشخص تكرار چند در تغيير عدم است، يا شده 2 كردن كد

�اي يا پارامترها روي بر كه اين جاي به ژنتيك الگوريتم��اله متغيره��ار مس��د، ك��ا كن� ي�د روش هاي از دارد. يكي سروكار آنها شده كد شكل��دكردن ك��ردن، >ك� <3دودويي ك

�اي )در اعدادباينري از رشته اي به مساله جواب تبديل هدف آن در كه باشد مي� مبن( است.2

�ذاري براي كه بيت هايي تعداد��ا كدگ��تفاده متغيره��ود، اس��ه مي ش��ورد دقت ب��ر م� نظ�ته متغيرها بين رابطه و پارامترها تغيير محدوده جواب ها، براي��ته وابس��ت. رش��ا اس� ي

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

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

�اي يك ها( در )كروموزوم افراد يعني است شكل همين به نيز درطبيعت� حقيقي فض�وتيپ حالت در كدشده غير��ور 4فن��د. در حض��ورت دارن��دن ص��ا كدش��ر ب��انيزمي ه� مك

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

�اينري نوع از كردن كد منظور��ته ب��د)رش��نين ه�اي مي باش��اختمان دودويي(. همچ��ورد داده س� م< مي باشد.6>رشته فرض، پيش بطور استفاده

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

7 شما شكل به مساله شماتيك مدل باشندl طول داراي مساله موزومهاي كرو كه كنيد فرض

مي شود: داده نشان زير)a1, a2, ..., ai, ..., al(, ai {0, 1, #}.

�ه��اندهنده آن در ك��امي # نش��اي تم��از و ممكن >حالته��راي 8مج��ك < ب��وقعيت ي��تي >م� بيباشد. مي بيانگر(1#0#01) كلي حالت در < ميباشد.يعني9خاص

{)010001(, )010011(, )011001(, )011011(}.

1 Elitism

2 Coding3 Binary Coding4 Phenotype 5 Genotype 6 String7 Schemata8 Allel9 Locus

7

Page 8: طراحی الگوریتم بروش پنتیگ

تعداد مي باشد مجاز مختلف حالتk آن مكاني موقعيت هر در كد L طول به رشته اي برايkL دارد. وجود جوابها اوليه مجموعه در حالت

)تعداد مي باشد مجاز مختلف حالتk آن مكاني موقعيت هر در كدL طول به رشته اي برايK+1)Lدارد. وجود شماتيك مجموعه در حالت

8

Page 9: طراحی الگوریتم بروش پنتیگ

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

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

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

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

هستند. بيتي16 مثال عنوان هابه كروموزوم كه باشد درصد95 تا80 بين برش احتمال معموال درصد1 تا نيم بين جهش احتمال مي شود. گرفته نظر در30تا20 بين جمعيت اندازه و �ه آنگاه��وزوم ب��اي كروم��اب ه��ده انتخ��ا ش��ه ب��ه توج��ك ب��ابع ي��رازش ت��داري ، ب��ه حقيقي مق� ك

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

�ا را جواب از محل هايي و گرفته نظر در را جواب يك عملگرها، اين��اي ب��ر جواب ه��ه ديگ� معاوضمي شود گفته برشي عملگرها، عملگر نوع اين مي آورند. به وجود به را جديد جواب هاي و كرده

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

مي يابد. تغيير محل ها آن در كاراكترها از: عبارتند است، مهم نوع اين در كه مواردي

يابند. تغيير است قرار كه محل هايي تعدادمحل ها انتخاب نحوةتغيير عمليات نحوة

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

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

ميباشد مفيد جمعيت داخل به جديد ژنتيكي مواد ورود جهت بودن تصادفي اين و بود آن شبه كد به همراه الگوريتم مجدد توضيح

طي را زي�ر چرخ�ه مي ش�ود، اعم�ال ژن�تيكي الگ�وريتم ي�ك وق�تي كلي، ح�الت در: مي كند خاصي معيار گرفتن نظر در بدون و اتفاقي به طور افراد از اوليه جمعيت ي�ك ابتدا

�اي كروموزوم تمامي مي شود.براي انتخ�اب��ل ه��راد( نس��فر، )اف��دار ص��رازش مق��ا ب� ب�د پيچيده يا س�اده بسيار است ممكن كه برازش تابع به توجه��يين باش��ود تع� . مي ش

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

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

� باشند. اما برخوردار بيشتري شايستگي آنان, از روي �ر نخواهد چنين الزاما��ود(. به ه�� ب�ترين كه ماند خواهند باقي افرادي حال��دار بيش���رازش مق��ته را ب��نين داش���ند. چ� باش

9

Page 10: طراحی الگوریتم بروش پنتیگ

�ه جمعيت عنوان به مجموعه ي�ك مقام در افرادي��راي اولي��ه ب��دي مرحل��وريتم بع� الگ�د نسل يك الگوريتم تكرار مرحله كرد. هر خواهد عمل��اد را جدي��د، ايج��ه مي كن��ا ك� ب�ه توجه��الحاتي ب��ه اص��ورت آن در ك��ه ص��ت، پذيرفت��ه رو اس��وي ب��ل س��د تكام� خواه

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

داده اند. نشان را خود مي شود،كارآيي س�ازي پياده نيز

PSEUDO CODE of GA //GA برنامه شبه// start with an initial timeكنيد // شروع اوليه زمان يك باt:=0;// initialize a usually random population of individualsبدهيد ي // اشخاص تصادفى �معموًال جمعيت كinitpopulation P(t);// evaluate fitness of all initial individuals of populationبكنيد // ارزيابى جمعيت از را همه اشخاص شايستگىevaluate P (t);// test for termination criterion (time, fitness, etc.)// ) غيره و شايستگي زمان، بكنيد آزمايش انقضاء معيار )براىwhile (not done) do// increase the time counterبدهيد // افزايش را شمارنده زمانt:=t+1;// select a sub-population for offspring productionبكنيد // انتخاب توليد فرزند براى زيرجمعيت يكP':=selectparents P(t);// recombine the "genes" of selected parentsكردن // تركيب برگزيده ژن‌هاي دوباره والدينrecombine P'(t);// perturb the mated population stochasticallyبكنيد // آشفته را شده جفت‌گيري جمعيت �تصادفاmutate P'(t);// evaluate its new fitnessبكنيد // ارزيابى را جديدش شايستگىevaluate P'(t);// select the survivors from actual fitnessبكنيد // انتخاب را واقعى شايستگى از بازماندگان براىP:=survive P,P'(t);end GA. //GA برنامه شبه پايان

ويژگي ها خالصه مختلف راه�هاي از يعني مي باشند، تصادفي ماهيت داراي ذاتي به طور ژنتيك - الگوريتمهاي1�رد نحوه بدليل كاركرد رسيد. اين خواهيم مختلف جوابهاي به��وريتم عملك��ت الگ��ه اس��دس ك� ح

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

بدهيم. انجام منطقي و كالسيك جستجوي بخواهيم كه است آن از وسيعتر بسيار را خ�اص جواب چند يا ي�ك فقط كه عددي مسائل ح�ل الگوريتمهاي از بس�ياري از - متفاوت3

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

�ته بندي كروموزوم ش�كل به -راه حل�ه�ا4��دي و )فرد( دس��وند، رمز بن��ه مي ش��ر ك��وزوم ه� كروممي كنند. رابيان مختلفي خواص كه است ژنها از مجموعهاي داراي

10

Page 11: طراحی الگوریتم بروش پنتیگ

�ند بقا( درست )تن�ازع اصلح بقاي - اصل5���ان مان��عيت جه���الم و واق��ت، ع���ازي طبيع� پياده س�د، ارضاء را برازش تابع شرايط كه اوليه جمعيت يا ژني استخر از افرادي مي شود.يعني� نمي كنن

شاعر: قول به هستند!! و فنا به محكوم و داشت نخواهند حضور بعدي درنسلهاي به طورقطع ضعيف طبيعت، جهان در كهطلبي نجها راحت اگر شو قوي »برو

است« پامال

11

Page 12: طراحی الگوریتم بروش پنتیگ

1 مثال�ان عملگر ها رفتار ساده، بسيار مثال يك با اينجا در��رض داده نش��ود.ف��د مي ش��ه كني� جمعيت ك

بيتي هشت دودويي رشته هاي شامل كه است شده )فرد(تشكيل كروموزوم چهار از فقط اوليهمي باشند.�دار���دد مق����رازش ع���اندهنده ب���داد نش���ددهاي تع���ك< در ع���ته اين >ي���ت رش���تي هش�� بي

�ترين بوده،11111111 رشته به متعلق برازش بيشترين كه است روشن مي باشد.بنابراين� كم�ابع كه است بود.واضح خواهد00000000يعني صفر بيتي رشته آن از نيز برازش��رازش ت� در ب

�اده بسيار مثال اين���اب س��ده انتخ��ت ش��ازي هيچ و اس��ه ني��بات ب��ي محاس��ذاري رياض� دررمزگنمي باشد. انها برازش تعيين براي افراد وارزشيابي

باشد: ذيل مانند جهش و بWرش از استفاده واحتمال اوليه جمعيت كه كنيد فرض شروع، برايTable(1)

Label Genome Fitness A 00000110 2 B 11101110 6 C 00100000 1 D 00110100 3 Pcross=0.7 , Pmut=0.001

�ك )تعداد برازشها باالترين دارايD وB ليبل با شده مش�خص ژنومهاي اينجا در��اي ي��ود ه� موج مك�ان و بگ�يرد ص�ورتD وB بين ب�رش عم�ل ك�ه مي كنيم فرض رشته( مي باشند. بنا براين در

مي آيند: بدست مي شوند ناميدهF وE كه آنها باشد. فرزندان اول بيت هم برش

B = 1 | 1101110 E = 10110100 (Fitness = 4) D = 0 | 0110100 F = 01101110 (Fitness = 5)

نشده استفاده جهش عملگر از )هنوز است ثابت رشته دو در موجود يكهاي تعداد مجموع چون�اي تعداد كاه�ش يا افزايش باعث بيت يك مقدار تغيير تا است��ود يكه��ا موج��ود( ب��ر بش��ه ه� گون

ماند. خواهد ( ثابت9 عدد با مساوي )دراينجا برازشها مجموع برش، عملگر از استفاده�ه كنيد مي دهيم.فرض تاثير را جهش عملگر حال��وقعيت درE ك��م م��وقعيت درBو شش� اول م�وند، جهش داراي��ني ش��دار يع��ورد بيت مق��ر م��وس نظ��ود معك��ا ش��ت'B و'E ت��د. بدس� بياين

E'=10110000 , B'=01101110 شده باع�ث جهش عمل كه مي شود نمي ده�يم.مشاه�ده تاثير را جهش عملگر هم،C وF روي

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

است: شده داده نشان پائين در فعلي شد. جمعيت برازش مقدار كاهش باعث Table(2) Label Genome Fitness E' 10110000 3 F 01101110 5 C 00100000 1 B' 01101110 3

است: اهميت حائز زير نكات بايكديگر2 و1 جداول مقايسه در�ته1��ترين داراي -رش��رازش بيش��ا )در ب��ل ( درB اينج��دي نس��ور بع��ه حض��ت، نيافت��ني اس� يع

است. يافته ما, كاهش مساله فرضهاي به توجه با برازش عدد ماكزيموم برازشهايي داراي جديد نسل افراد كه معنا اين به است، يافته افزايش 1برازش متوسط -اما2اند. شده شبيه يكديگر به بيشتر و هستند يكديگر به نسبت كمتر تفاوت با

1 Average Fitness 12

Page 13: طراحی الگوریتم بروش پنتیگ

�ا و برش،جهش )انتخاب، ژنتيك الگوريتمهاي -عمليات3��اي ارزشيابي( ت��رايط ارض��ف ش� توقدارد. شود(ادامه8 با برابر بايد برازش عدد خاص مساله اين )در جواب به رسيدن يا مساله

13

Page 14: طراحی الگوریتم بروش پنتیگ

انتخاب مكانيزمهاي2-2

� كه تصادفي نمونه گيري دو از عبارتند مي شود استفاده آن از اكثرا1 رولت چرخ انتخاب

�ار اولين كه رولت چرخ انتخاب��ط ب��د توس��د پيش�نهاد هالن��ب ترين از يكي ش� انتخاب ه�اي مناس بر كروموزوم، هر با متناظر انتخاب احتمال.مي باشد 2 انتخاب احتمال ايدة آن، كه بوده تصادفي�دار اگر كه شده محاسبه آن برازندگي اساس��دگي مق��وزوم برازن��د، امk كروم��ال باش� احتم

از: است عبارت كروموزوم آن با متناظر بقاي

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

يك بين تصادفي عدد يك كروموزوم هر انتخاب براي كه مي كند عمل صورت اين به رولت چرخ �اظر گرفت، كروموزوم قرار كه بازه اي هر در مذكور عدد و كرده توليد صفر و��ا متن��اب آن ب�انتخ

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

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

1-2 شكل

1 Roulette Wheel Selection 2 Selection Probability

14

Page 15: طراحی الگوریتم بروش پنتیگ

1 سر قطع انتخاب�هT عدد يك ابتدا شده، ارائه و معرفي گلدبرگ توسط كه روش اين در��وچك تر ك��د از ك� مي ص

�د،��ف باش��ده تعري��پس ش��ا س��ر را كروموزوم ه��اي ب��ادير مبن��دگي مق��رتب برازن��رده م� T و ك

�د نسل به كپي آنها از يك هر از مي كنيم. حال انتخاب از درصد، برتر��ال بع�� مي دهيم انتق مثال

�يز كروموزوم ها تعداد وT=20 كنيد فرض��دد20 ن��ابراين ع��د. بن��اي20% باش� اول كروموزوم ه�ني���������������������������������������������������������������������������������������������������������������������� يع

بگيريد. نظر در كپي5 كدام هر از و كرده انتخاب شده مرتب ليست از را اول تاي5/100=4

2 بريندل قطعي انتخاب

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

�ر��وزوم ه��ق كروم��ول طب��به معم��ود محاس��داد و مي ش��ورد تع��ار م��راي انتظ��ر ب� ه

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

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

نخبه گرا انتخاب

.مي شود منتقل بعد نسل بهPop-Size تعداد به كروموزوم بهترين روش اين در

شده اصالح نسلي جايگزيني انتخاب منظم برازش مقدار اساس بر كروموزوم ها ابتدا شده، ارائه 3وايت لي توسط كه روش اين در

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

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

1 Truncation Sampling2 Brindles Determininstic Sampling 3 Whitely

15

Page 16: طراحی الگوریتم بروش پنتیگ

مسابقه انتخاب از كه عضو چند شامل مجموعهPop-Size تعداد به شده، ارائه گلدبرگ توسط كه روش دراين

مجموعة مي گردد. اندازة انتخاب عضو بهترين مجموعه هر در و كرده توليد شده، مشخص قبل� مي شود گفته 1 مسابقه اندازه آن به كه فوق مي گردد فرض2 برابر معموال

2 تصادفي مسابقه انتخاب�ه كه تفاوت اين با بوده، قبل حالت مانند شده، ارائه 3وزل توسط كه روش اين��اي ب��ه اين ج� ك

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

1 Tournament size2 Stochastic Tournament Selection 3 Wetzel

16

Page 17: طراحی الگوریتم بروش پنتیگ

برش مكانيزمهاي 2-3

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

مي شود. ايجاد چهارتايي مجموعه اي نتيجه در شده، تقسيم

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

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

�ادفي صورت به كه نقطه يك��اب تص��ود، انتخ��ر مي ش��ته ه��ه رش��يم بخش دو ب��ده تقس� نيم و شمي شوند. تعويض رشته دو بخش هاي

2 برش نقطه يك

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

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

.Crossoverواژه 1 است بوده روبرو متفاوتي ترجمه هاي با ژنتيك الگوريتمهاي بحث در. كرد اشاره برش و Wري همب پيوند، تقاطع، كلمات به مي توان جمله آن از كه

� عمدتا جهش كلمه با آن هم آوايي نيز و برش كلمه بيان سهولت بدليل تحقيق اين درمفهوم بيان براي كلمه اين .Crossoverاز شد خواهد استفاده

2 .One-Cut-Point17

Page 18: طراحی الگوریتم بروش پنتیگ

�ردد����������������������������������������������������������������������������������������������������������������� مي گ

كنيد فرض مثال عنوان به

اول : والد10110/110 اول : نوزاد110/ 01100دوم : والد01100/010 دوم : نوزاد10110/010

ديگرداريم: مثال يك عنوان به همچنين

Before crossover After crossover

A B C D|E F G H A B C D|M N O P

I J K L |M N O P I J K L |E F G H

The One-Point Crossover Operator

1 برش نقطه دو

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

كنيد فرض مثال عنوان به

اول : والد101/101/10 اول : نوزاد11101110

1 .Two-Cut-Point 18

Page 19: طراحی الگوریتم بروش پنتیگ

دوم : والد110/010/11 اول : نوزاد10010101

before crossover after crossover

A B C | D E F | G H A B C | L M N | G H

I J K | L M N | O P I J K | D E F | O P

Two-Point Crossover

1بخش-نگاشته

�روفPMX روش به شده معرفي 2لينگل و گلدبرگ توسط كه روش اين��وده مع��ة در و ب� حقيق است شده ارائه خاصي حالت براي كه مي باشد برش نقطه دو عملگر همان

�ت به برش نقاط عنوان به تصادفي صورت به عدد دو روش اين در��پس آورده، دس��مت س� قس ط�وري ط�رف دو قس�مت هاي آنگ�اه و ك�رد تع�ويض كروم�وزوم دو در را ب�رش نقطه دو مابين

�ك با كار نگيرد. روش صورت تكراري كروموزوم، دو از كدام هيچ در كه مي شوند مقدارگذاري� ياست. شده روش مثال791/5628/43 اول: والد

217/8349/65 دوم: والد والد در بعد كرده عوض را مابين قسمت كه مي شود عمل صورت اين به نوزاد توليد براي حال�د جديد كروموزوم مابين قسمت در كه را عددي هر نموده شروع كروموزوم ابتداي از اول� نباش� �اي براي و نوشته عينا��اي تكراري ه��الي ج��رار خ��ود داده ق��پس مي ش��د در س��داي از دوم وال� ابت

�ددي هر و كرده شروع كروموزوم��ه ع��وزاد در ك��د ن��د جدي��ه نباش��اي ب��ل ج��الي، مح��ته خ� گذاش1 .Partial Mapped 2 .Lingle

19

Page 20: طراحی الگوریتم بروش پنتیگ

�ود. عم�ل ص�ورت همين ب�ه ن�يز دوم ن�وزاد گ�ردد. ب�راي پ�ر خالي جاهاي كليه تا مي شود� مي شمي شود. حاصل زير كروموزوم دو كرده جابجا را مياني قسمت هاي ابتدا بنابراين/--8349 ---/اول: نوزاد/--5628---/ دوم: نوازد

مي شود. پر نظر مورد ژن نبودن تكراي صورت در اول نوزاد خالي جاهاي سپس/--7/8349-1 اول: نوزادمي شود. پر اول نوزاد باقيمانده خالي جاهاي حال

8349/65/ 721 اول: نوزادمي آيد. دست به زير دست به دوم نوزاد شده، گفته مطالب به توجه با

/--5628-/17 اول: نوازد 917/5628/43 دوم: نوزاد

20

Page 21: طراحی الگوریتم بروش پنتیگ

1 ترتيب

�ه و گرديده معرفي 2ديويس توسط روش اين�O روش ب Xروف���د مع� دو روش اين در مي باش�ت به برش نقاط عنوان به تصادفي صورت به را عدد��پس آورده دس��مت س��ابين قس� دو در را م

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

مي شود: روشن بحث زير مثال با12/3598/476 اول: والد29/7641/835 دوم: والد

مي شود. جابجا تغيير بدون يك، والد مابين قسمت اول نوزاد براي/---3598 --/اول: نوزاد

مي گردد. پر دوم والد روي از خالي قسمت حال12/3598/746 اول: نوزاد

مي شود: عمل صورت همان به نيز دوم نوزاد براي82/7641/359 دوم: نوزاد

1 .Order2 .Davis

21

Page 22: طراحی الگوریتم بروش پنتیگ

يكنواخت برش

before crossover after crossover

A B C D E F G H A B K D M N G P

I J K L M N O P I J C L E F O H

mask: 1 1 0 1 0 0 1 0

Uniform Crossover

مي́شود استفاده ماسك يك از برش عملگر از استفاده حالت اين در

22

Page 23: طراحی الگوریتم بروش پنتیگ

1 چرخه

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

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

اين برس�د(. در شروع نقطه به كه جايي )تا مي يابد ادامه شود كامل چرخه كه جايي تا عمل اين�وزوم از باقيمانده ژ نهاي بايد اول نوزاد تكميل براي لحظه��ه را دوم كروم��ان ب��رتيب هم��وزاد ت� ن

نمود. جاي گذاري اول

مي كند. روشن را بحث زير مثال346578291اول: والد794356281 دوم: والد

�وزاد توليد براي��دا اول، ن��وزوم از ژن اولين ابت��د كروم��ل را اول وال��رده منتق��ل و ك��ه عم� اداممي يابد:

3---57 ----اول: نوزاد

�رتيب به باقيمانده كرده حذف دوم والد در را آمده دست به عددهاي شد كامل چرخه كه حال� تمي گيرد: قرار اول نوزاد خالي جاهاي در حالت همين به كه946281 از است عبارت394576281اول: نوزاد

مي شود. عمل صورت همان به نيز دوم نواد براي7—35 ---دوم: نوزاد

مي شود. حاصل زير رشته فوق روند ادامه با كه746358291دوم: نوازد

1 .Cycle23

Page 24: طراحی الگوریتم بروش پنتیگ

1 محدب

حاص�ل زي�ر ص�ورت ب�ه دوم و اول ن�وزاد ش�ودP2 دوم وال�د وP1 اول وال�د اگ�ر عملگر اين در

مي شود:

اول: نوزاد

دوم: نوزاد

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

مي گويند يافته توسعه ميانه تقاطعي آن

�عه ميانه تقاطعي و ديويس توسط 2متوسط تقاطعي��ه توس��ط 3يافت��ولن توس��بت و 4بين م� نسشده اند ارائه 6رايت توسط 5سلبي

�ه ��گ البت��التي 7وجن چن��ه را ح��دد دو ك��ادفي ع��وده تص��رط داراي و ب� و و ش نمودند ارائه خطي عملگر عنوان تحت را باشد

1 .Convex2 .Average Coeossover 3 .Exended Intermediate Crossover 4 .Muhlenbein 5 .Affine6 .Wright 7 .Cheng & Gen

24

Page 25: طراحی الگوریتم بروش پنتیگ

جهش مكانيزمهاي 2-4

�اي در تغيير نوع هر پيدايش كه بوده موجودات، جهش در تحول زا عوامل از ديگر يكي��ك ژن ه� ي واقع صورت بدين عددي رشته هاي روي جهش عمل فوق، فرايند با مي باشد. مشابه كروموزوم

�د فرض شده عددي( انتخاب رشته )طولL تا يك بين تصادفي عدد يك ابتدا كه مي شود� اين كني�ورد عددي رشته در باشد. سپسK عدد��ر امينK نظ�ر م��ده مش�خص عنص��ير و ش� اعم�ال تغي

مي گردد.

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

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

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

Before mutation After mutation

1 0 1 1 0 0 1 0 0 1 0 0

The Mutation Operator

25

Page 26: طراحی الگوریتم بروش پنتیگ

1 محدوديت ها با برخورد استراتژي

�أله محدوديت هاي با برخورد چگونگي دارد وجود ژنتيك الگوريتم اجراي در كه ديگري بحث� مس�ورد ژنتيك عملگرهاي زيرا مي باشد،��تفاده م��وريتم در اس��اعث الگ��د ب��اي تولي��ير كروموزوم ه� غ

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

2 ژنتيك عملگرهاي اصالح استراتژي

�ه غير كروموزوم توليد از جلوگيري براي روش يك��ت اين موج��ه اس��ر ك��تيكي عملگ��وري ژن� ط�ه نيز شده توليد كروموزم كروموزم ها، روي بر عمل از پس كه گردد تعريف��د. در موج� اين باش� وجود مشكالت يكسري حالت �وق شرط داراي كه عملگري كردن پيدا دارد. مثال��د ف��يار باش� بس

مي باشد. متفاوت ديگر مسأله به مسأله اي از و بوده دشوار

3 ردي استراتژي�ورت در و كرده تست بودن موجه نظر از آنرا كروموزوم هر توليد از پس روش اين در��ير ص� غ

باشد. مي كارا و ساده بسيار روش مي گردد. اين حذف بودن موجه

4 اصالحي استراتژي�ردد حذف موجه غير كروموزوم اينكه جاي به روش اين در��ديل گ��ه تب��ك ب��وزوم ي��ه كروم� موج

�أله به اول روش مانند نيز روش مي شود. اين��ته مس��وده وابس��افتن و ب��د ي��الح فرآين��اهي اص� گ. مي باشد پيچيده بسيار

5 جريمه اي استراتژي

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

�ه فضاي از بيرون نقطه اي هيچ به��ه موج��د، توج��ا نمي كردن��ي در ام��ائل بعض��ه مس��ازي، بهين� س�تجو اگر شرايطي چنين مي كنند. در اشغال را جمعيت از زيادي درصد موجه غير جواب هاي� جس

باشد مشكل و وقت گير خيلي موجه جواب يافتن شايد گيرد انجام موجه درناحيه فقط

1 .Handling Constraints2 .Modifying Genetic operators strategy3 .Rjecting Strategy4 .Repairing Strategy5 .Penalizing Strategy

26

Page 27: طراحی الگوریتم بروش پنتیگ

�داول ترين از جريمه اي، استراتژي��ك مت��اي تكني��ورد ه��تفاده م��راي اس��ر ب��ار و س��تن ك��ا داش� ب�أله محدوديت هاي ابتدا آبن در كه مي باشد موجه غير جواب هاي��ر در مس��ه نظ��وند گرفت� نمي ش

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

�ائل حل در تا مي باشد جريمه مقدار براي مناسب مقدار يك انتخاب چونگي اصلي مسأله � مسنمايد. كمك ما به�واب يك كه است اين دارد وجود جريمه روش در كه نكته اي ��ير ج��ه غ��ه موج��ادگي ب��ذف س� ح

به تغيير اندكي با كه باشد داشته وجود مفيدي اطالعات آن ژنهاي در است ممكن زيرا نمي شودشود تبديل بهينه جواب

27

Page 28: طراحی الگوریتم بروش پنتیگ

سوم فصل :داده ساختمان و كhدينگ

28

Page 29: طراحی الگوریتم بروش پنتیگ

مقدمه

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

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

Coding: Binary encoding Permutation encoding Value encoding

Tree encoding

: نظير هايي داده ساختمان رشته، متداول بسيار داده ساختمان از غير به درضمنمي گيرند. قرار بررسي مورد نيز درخت و ليست آرايه،

29

Page 30: طراحی الگوریتم بروش پنتیگ

جايگشتي كدينگ 3-2

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

و ش�هر ي�ك از ش�روع ب�ا و اس�ت معل�وم آنها ميان فاصله كه داريم شهر تعدادي مساله اين دربه ختم

نمائيم. عبور يكبار فقط و فقط شهرها تمام -از1: شهر هماننماييم. طي را ممكنه مسافت -كمترين2

در كه نكته اي است.اما گرفته قرار بررسي مورد1-4 قسمت در بيشتري توضيح با مساله ايناينجا�ت نكته اين نباشد، مساله اين براي مناسبي روش باينري كدينگ تا شده باعث و است مهم� اس

باشد. نداشته وجود تكراري عنصر هيچ كه بگيرد صورت بنحوي والد دو ميان برش بايد حتما كه

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

مي شوند. كپي فرزند در دوم والد در گرفتنشان قرار ترتيب با اند,مطابق

(1 2 3 4 5 6 7 8 9) + (4 5 3 6 8 9 7 2 1) = (1 2 3 4 5 6 8 9 7)

Single point crossover

1 Traveling Sales Person (TSP)30

Page 31: طراحی الگوریتم بروش پنتیگ

نمود. استفاده همPMXاز ميتوان جايگشتي درحالت البته

before crossover after crossover

I H D|E F G |A C B J I H D|B C J |A G E F

H G A|B C J |I E D F H C A|E F G|I B D J

Partially Mixed Crossover

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

(1 2 3 4 5 6 8 9 7) => (1 8 3 4 5 6 2 9 7)

31

Page 32: طراحی الگوریتم بروش پنتیگ

مقدار كدگذاري 3-3

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

ميشود: عمل زير مانند نيز جهش عملگر براي

(1.29  5.68  2.86  4.11  5.55) => (1.29  5.68  2.73  4.22  5.55)

ميگردد كم آنها از يا شده اضافه عددي تصادفي بطور ژنها بعضي به يعني

32

Page 33: طراحی الگوریتم بروش پنتیگ

درخت كدينگ 3-4

ميكند تغيير دلخواه نود يك هم جهش براي

33

Page 34: طراحی الگوریتم بروش پنتیگ

آرايه 3-5

34

Page 35: طراحی الگوریتم بروش پنتیگ

35

Page 36: طراحی الگوریتم بروش پنتیگ

ليست 3-6

36

Page 37: طراحی الگوریتم بروش پنتیگ

37

Page 38: طراحی الگوریتم بروش پنتیگ

درخت 3-7

38

Page 39: طراحی الگوریتم بروش پنتیگ

39

Page 40: طراحی الگوریتم بروش پنتیگ

: چهارم فصلكاربرد از مثالهايي

40

Page 41: طراحی الگوریتم بروش پنتیگ

گرد دوره فروشنده

41

Page 42: طراحی الگوریتم بروش پنتیگ

فانتي ديو معادله 4-2

a+2b+3c+4d=30

42

Page 43: طراحی الگوریتم بروش پنتیگ

Chromosome (a,b,c,d)

1 (1,28,15,3)

2 (14,9,2,4)

3 (13,5,7,3)

4 (23,8,16,19)

5 (9,13,5,2)

Table 1: 1st Generation Chromosomes and Their Contents

Chromosome Fitness Value

1 |114-30|=84

2 |54-30|=24

3 |56-30|=26

4 |163-30|=133

5 |58-30|=28

Table 2: Fitness Values of 1st Generation Chromosomes (Solution sets)

(1/84)+(1/24)+(1/26)+(1/133)+(1/28)=0.135266

One solution is to take the sum of the multiplicative inverses of the fitness values (0.135266),

average fitness value for the parent chromosomes were 59.4

43

Page 44: طراحی الگوریتم بروش پنتیگ

Chromosome Likelihood

1 (1/84)/0.135266 = 8.80%

2 (1/24)/0.135266 = 30.8%

3 (1/26)/0.135266 = 28.4%

4(1/133)/0.135266 =

5.56%

5 (1/28)/0.135266 = 26.4%

Table 3: Parent Selection by Percentages

Father Chromosome

Mother Chromosome

Offspring Chromosome

a1 | b1,c1,d1 a2 | b2,c2,d2 a1,b2,c2,d2 or a2,b1,c1,d1

a1,b1 | c1,d1 a2,b2 | c2,d2 a1,b1,c2,d2 or a2,b2,c1,d1

a1,b1,c1 | d1 a2,b2,c2 | d2 a1,b1,c1,d2 or a2,b2,c2,d1

Table 5: Generalization of Cross-overs Between Parents

Father Chromosome

Mother Chromosome

Offspring Chromosome

(13 | 5,7,3) (1 | 28,15,3) (13,28,15,3)

(9,13 | 5,2) (14,9 | 2,4) (9,13,2,4)

(13,5,7 | 3) (9,13,5 | 2) (13,5,7,2)

(14 | 9,2,4) (9 | 13,5,2) (14,13,5,2)

44

Page 45: طراحی الگوریتم بروش پنتیگ

(13,5 | 7, 3) (9,13 | 5, 2) (13,5,5,2)

Table 6: Simulated Crossovers from Parent Chromosomes

Offspring Chromosome Fitness Value

(13,28,15,3) |126-30|=96

(9,13,2,4) |57-30|=27

(13,5,7,2) |57-30|=22

(14,13,5,2) |63-30|=33

(13,5,5,2) |46-30|=16

Table 7: Fitness Values of Offspring Chromosomes

The average fitness value for the offspring chromosomes were 38.8

Mutate : for example we can change one of the values some random integer between 1 and 30.

Source Code در CDاست. موجود ضميمهb قسمت درappendix 2 در همچنين

45

Page 46: طراحی الگوریتم بروش پنتیگ

پروتئين ساختار4-3

46

Page 47: طراحی الگوریتم بروش پنتیگ

Appendixes

47

Page 48: طراحی الگوریتم بروش پنتیگ

Appendix 1 : Resources

A) Electronic-Based Resources

Note : “http//www.” Has been omitted from the headers for shortness 1- aic.nrl.navy.mil/galist2- en.wikipedia.org/wiki/3- solver.com/gabasics.html4- estec.esa.nl/outreach/gatutor/5- cee.hw.ac.uk/~alison/ai3/6- renard.org/alife/english/gavgb.html7- aaai.org/AITopics/html/genalg.html8- watchcomputer.com/genetic_algorithm.html9- seas.gwu.edu/~simhaweb/cs177/10- nature.com/nsu/index.html 11- scs.carleton.ca/~csgs/resources/gaAI.htm 12- lancet.mit.edu/~mbwall/presentations/IntroToGA 13- tjhsst.edu/~rlatimes/ai/lingo.html 14- cs.felk.cvut.cz/~xobitko/ga/main.html 15- cs.bgu.ac.il/~sipper/ga.html 16- fact_index.com/g/ge/genetic_algorithm.html 17- systentechnick.tu-ilemnau.de/~pohlheim 18- cs.cmu.edu/Groups/AI/html/faqs/ai/genetic 19- home.ksp.or.jp/csd/english/ga/gatrial_index.html

48

Page 49: طراحی الگوریتم بروش پنتیگ

B) Paper-Based Resources

[1]- Coley, David. E. {University of Exeter} “An Introduction to Genetic Algorithms for scientists and engineers” World Scientific Poblication co , 1999

[2]- Vose, Michael. D. {University of Tennessee} “The Simple Genetic Algorithms :Foundations and Theory” Eastern Economy Edition, 1999

[3]- Gen,M. and cheng, R. “Genetic Algorithms and engineering design” John Wiley & sons, 1997

[4]- Thompson & Thompson “genetics in Medicine” (Farsi Translation) By: Dr.Hemmatkhah(phd)

49

Page 50: طراحی الگوریتم بروش پنتیگ

Appendix 2 : Source Codes

a) evaluate pi value by GA through 100 digit Percision

#include <time.h>#include <math.h>#include <stdlib.h>#include <iostream.h>

const int gPopulation =100;const int gIterations =10;const double gPi =

3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067;

// This is terrible programming practice, but in the interest// readability, I will make the population and fitnesses global.

double dPopulation[gPopulation];double dFitnesses[gPopulation];

void GenerateFitnesses() {for (int i=0;i<gPopulation;i++) {

dFitnesses[i] = fabs((gPi - dPopulation[i]) / gPi);}

// Now sort them accordingly!// Use a simple bubble sort to sort the fitnesses and// indices. If we wanted the algorithm to be any quicker// this is probably the first place we'd alter.

int n = gPopulation;int disorder = n;double dTemp;

50

Page 51: طراحی الگوریتم بروش پنتیگ

while (disorder) {disorder = 0;for(int i=1;i<n;i++) {

if (dFitnesses[i] < dFitnesses[i-1]) {dTemp = dPopulation[i-1];dPopulation[i-1] = dPopulation[i];dPopulation[i] = dTemp;

dTemp = dFitnesses[i-1];dFitnesses[i-1] = dFitnesses[i];dFitnesses[i] = dTemp;

disorder++;}

}n--;

}}

void NewPopulation() {double temppop[gPopulation];int x,y,half = gPopulation / 2;

for (int i=0;i<gPopulation;i++) {x = rand () % half;y = rand () % half;

temppop[i] = fabs((dPopulation[x] + dPopulation[y]) / 2.0);}

for (i=0;i<gPopulation;dPopulation[i] = temppop[i++]);}

void main() {int i = 0;double bestpi = 0;

51

Page 52: طراحی الگوریتم بروش پنتیگ

srand(unsigned(time(NULL)));

// Initialize the population. For the hell of it,// I initialize all the population entries to a number// between 0 and 10 (max that rand will generate is 32767).

for (i=0;i<gPopulation;dPopulation[i++] = rand() / 3278.0);

for (i=0;i<gIterations;i++) {GenerateFitnesses();

// Generate the fitnesses amd sort populationbestpi = dPopulation[0];

// Store the best option.NewPopulation();

// Generate the next population.

cout << "Current best: " << bestpi << endl;}

cout << endl << "Best value: " << bestpi << "." << endl;}

52

Page 53: طراحی الگوریتم بروش پنتیگ

b) a Diophantine Equation

#include <stdlib.h>#include <time.h>

#define MAXPOP 25

struct gene {int alleles[4];int fitness;float likelihood;

// Test for equality.operator==(gene gn) {

for (int i=0;i<4;i++) {if (gn.alleles[i] != alleles[i]) return false;

}

return true;}

};

class CDiophantine {public:

CDiophantine(int, int, int, int, int);// Constructor with coefficients for a,b,c,d.

int Solve();// Solve the equation.

// Returns a given gene.gene GetGene(int i) { return population[i];}

protected:

53

Page 54: طراحی الگوریتم بروش پنتیگ

int ca,cb,cc,cd;// The coefficients.

int result;gene population[MAXPOP];

// Population.

int Fitness(gene &);// Fitness function.

void GenerateLikelihoods();// Generate likelihoods.

float MultInv();// Creates the multiplicative inverse.

int CreateFitnesses();void CreateNewPopulation();int GetIndex(float val);

gene Breed(int p1, int p2);

};

CDiophantine::CDiophantine(int a, int b, int c, int d, int res) : ca(a), cb(b), cc(c), cd(d), result(res) {}

int CDiophantine::Solve() {int fitness = -1;

// Generate initial population.srand((unsigned)time(NULL));

for(int i=0;i<MAXPOP;i++) {// Fill the population with numbers between

for (int j=0;j<4;j++) {// 0 and the result.

population[i].alleles[j] = rand() % (result + 1);}

}

if (fitness = CreateFitnesses()) {return fitness;

}

54

Page 55: طراحی الگوریتم بروش پنتیگ

int iterations = 0;// Keep record of the iterations.while (fitness != 0 || iterations < 50) {

// Repeat until solution found, or over 50 iterations.GenerateLikelihoods();

// Create the likelihoods.CreateNewPopulation();if (fitness = CreateFitnesses()) {

return fitness;}

iterations++;}

return -1;}

int CDiophantine::Fitness(gene &gn) {int total = ca * gn.alleles[0] + cb * gn.alleles[1] + cc * gn.alleles[2] + cd *

gn.alleles[3];

return gn.fitness = abs(total - result);

}

int CDiophantine::CreateFitnesses() {float avgfit = 0;int fitness = 0;for(int i=0;i<MAXPOP;i++) {

fitness = Fitness(population[i]);avgfit += fitness;if (fitness == 0) {

55

Page 56: طراحی الگوریتم بروش پنتیگ

return i;}

}

return 0;}

float CDiophantine::MultInv() {float sum = 0;

for(int i=0;i<MAXPOP;i++) {sum += 1/((float)population[i].fitness);

}

return sum;}

void CDiophantine::GenerateLikelihoods() {float multinv = MultInv();

float last = 0;for(int i=0;i<MAXPOP;i++) {

population[i].likelihood = last = last + ((1/((float)population[i].fitness) / multinv) * 100);

}}

int CDiophantine::GetIndex(float val) {float last = 0;for(int i=0;i<MAXPOP;i++) {

if (last <= val && val <= population[i].likelihood) return i;else last = population[i].likelihood;

}

return 4;}

56

Page 57: طراحی الگوریتم بروش پنتیگ

gene CDiophantine::Breed(int p1, int p2) {int crossover = rand() % 3+1;

// Create the crossover point (not first).int first = rand() % 100;// Which parent comes first?

gene child = population[p1];// Child is all first parent initially.

int initial = 0, final = 3;// The crossover boundaries.if (first < 50) initial = crossover;// If first parent first. start from crossover.else final = crossover+1;// Else end at crossover.

for(int i=initial;i<final;i++) {// Crossover!

child.alleles[i] = population[p2].alleles[i];if (rand() % 101 < 5) child.alleles[i] = rand() % (result + 1);

}

return child;// Return the kid...

}

void CDiophantine::CreateNewPopulation() {gene temppop[MAXPOP];

for(int i=0;i<MAXPOP;i++) {int parent1 = 0, parent2 = 0, iterations = 0;while(parent1 == parent2 || population[parent1] == population[parent2]) {

parent1 = GetIndex((float)(rand() % 101));parent2 = GetIndex((float)(rand() % 101));if (++iterations > 25) break;

}

temppop[i] = Breed(parent1, parent2);

57

Page 58: طراحی الگوریتم بروش پنتیگ

// Create a child.}

for(i=0;i<MAXPOP;i++) population[i] = temppop[i];}

58

Page 59: طراحی الگوریتم بروش پنتیگ

c) Appendix 3 : Glossary

Adaptationتطبيق اقتباس، ،

بنحويكه مي شود، گفته خاص منظور يك به رسيدن براي ژنتيكي تغييرات به زيست شناسي در�ورت بشود. در اوليه ژنهاي به رشته هايي شدن اضافه مستلزم��دم ص��افه ع��دن اض��يزي، ش� چ

به جاياست. گرفته صورت كپي فرآيند تطبيق، فرآيند

آن به وارده نور ميزان تنظيم براي روشنايي و تاريكي در چشم مثال: تطبيق

Allel Locus يك در گرفتن قرار براي ژن يك مختلف حالتهاي

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

Answerباشند. برازش باالترين داراي كه مسالهsolution چند يا بهينه،يك جواب،راه حل

Choromosome�اي فيلد با ژنها از مجموعه اي بهينه، جواب عنوان به كانديدا حلهاي راه از هريك ، كروموزوم�ه

دارند حضور اوليه ژني استخر در افراد عنوان به كه مختلف .

CrossoverWري، ژنتيك الگوريتمهاي مهم عملگرهاي از يكي برش،تقاطع،همب

مي باشد. نيزSexual Recombination معني به ژنتيك الگوريتمهاي در

Elitismگرايي،بهينه گزيني نخبه

بين از نسل يك افراد بهترين ژنتيك، الگوريتمهاي تصادفي ماهيت بدليل است ممكن چون �اله اين از جلوگيري براي نداشته باشند، حضور بعد نسل در و رفته��ترين مس��راد به��دون را اف�ب

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

59

Page 60: طراحی الگوریتم بروش پنتیگ

Epistasisمي شود مخفي ديگر نژاد يك در كه ژن يك ويژگيهاي و خصوصيات .

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

Featureباشد. ها كروموزوم يا ژنها ديگر به انتقال يا برداري كپي قابل كه خاصي ويژگي خصيصه،

Fitness مثل توليد براي ژنوتيپ يك از خاص كروموزوم يك قابليت برازش، شايستگي،

Fitness Functionحل راه يك شايستگي ميزان تعيين برازش، تابع

objective function حل، راه يك بهينگي مقدار بررسي

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

كروموزومي رشته يك بيتهاي از يك هر� است: مشخصات اين جانورداراي يك چشم رنگ ژن مثال

است.(10 شمارهPosition در آنLocus) است10 شماره دارايAllel Value( سبز، مشكي، >آبي< است. )يا آن...

Genome� ك�ه دس�تورالعمل وdata ش�امل مس�اله ي�ك مختلف حلهاي راه بي�ان رش�ته ش�كل ب�ه معم�وال

مي شود. ها، كروموزوم از مجموعه يك ازDNA كامل دنباله

60

Page 61: طراحی الگوریتم بروش پنتیگ

مي نمايد. تعريف را مساله حل راه كه پارامتر ها از مجموعه يك

Genotypeرشته ها تمامي شامل شده كد جوابهاي فضاي

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

شده كد ژنوتيپ=فنوتيپ

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

Implicit Parallelism�وم مختلف شاخه هاي در متفاوت ماهيتهاي با مسائلي مجازي، توازي��ه عل��د ك��د از بع��دن ك� شبه بسيار

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

Individualفرد، به منحصر فرد، شخص،

Locus موجود آللهاي از هركدام بوسيله مي تواند كه كروموزوم يك روي ژن يك مكاني موقعيت

� اشغال دارد. قرار چپ سمت از چهارم مكاني موقعيت در0 عدد11101 رشته در شود.مثال

Mutation ژنتيك الگوريتمهاي عملگرهاي از يكي جهش،

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

Natural Selectionاست. شده داده توضيح داروين چارلز بوسيله كه طبيت در انتخاب و تكامل اصلي مكانيزم

61

Page 62: طراحی الگوریتم بروش پنتیگ

Offspring منشا مبدا، اوالد، فرزند، ولد، و زاد

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

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

Premature Convergence

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

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

Recombinationاسپرم و تخمك ميان لقاح شناسي:پديده زيست

كه آن شدن شارژ عمل طول در باتري يك در اكسيژن و هيدروژن گاز هاي شيمي: تركيبمي شود آب توليد باعث .

Reproductionبرداري كپي باشد، نشده كم آن از يا اضافه اوليه چيز به نحويكه به خودش از چيز يك توليد ،

�ف( و وال�د دو از جنس�ي مواد )اشتراك جنسي شيوه دو به عمل اين��ير مختل��د جنس�ي غ�)تولي كپي

مي پذيرد (صورت والد از .

Selection

�يزش، بعدي اعمال براي كه نوع يك از خاصي شناسي:آلل هاي زيست��رش و جهش مانند: آم� باست: زير حالتهاي شامل طبيع�ت در ان نوع هاي مي شوند.معمول�ترين انتخ�اب

o Sexualo Ecologicalo Stabilizingo Disruptiveo Directional

Simulated Annealing(SA) بزرگ بسيار جستجوي فضاي در سازي بهينه درمسايل احتماالت اساس بر اكتشافي روش يك

شد. مطرح1983 سال درVecchi وKirkpatrick، Glatt توسطاست. شده )متالوژي(حاصل مواد مهندسي در Annealingفرآيند از آن اصلي ايده

62

Page 63: طراحی الگوریتم بروش پنتیگ

�دازه افزايش براي مواد، شده كنترل سردكردن و گداختن معني به كه��تالهاي ان��كيل كريس� تشدهنده

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

بشود. مينيمم مي كند بيان را سيستم دروني انرژي كهE(s) تابع مي شود. مي خواهيم گرفته� وضعيت يك از شروع ما هدف �واه كامال��ه دلخ��يدن و اولي��ه رس��الت ب��داقل ح��رژي ح� دروني اناست.

Solutionمساله محتمل جواب راه حل،يك

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

Speciesانواع ارگانيسم، از نوعي گونه، نوع،

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

Stochastic process <،stochos> يوناني واژه از شده ،گرفتهrandomقطعي، تصادفي،اتفاقي،غير فرآيند

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

برد. ... نام و بدن حرارت خون، فشار مغز، نوار قلب، نوار مانند پزشكي علم

Trajectoryعبور احتمال قابليت بيشترين با و مناسب مسير گذرگاه، گلوله، مسير سير، خط

63