آموزشعلوم تجربیپزشکی و سلامت

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

صفحه 1:
بسم الله الرحمن الرحيم آشنايى با الكوريتم هاى زنتيى : استاد راهنما لاعلا علا علا علا !ا »لاما ارائه دهندگان : شتا تفت تفت دوشنبه ۲۴ فروردین

صفحه 2:
فهرست مطالب ‎Jenetic‏ 18 استراتژیهای جستجو (مقدمه) 1 الگوریتمهای تکاملی (پیشینهکاری) ۶ الگوریتمهای ژنتیک # چند اصطلاح # آشنایی با الگوریتم های ژنتیک # ساختار الگوریتم های ژ # عملگر های الگوریتم ژنتیک مزایای الگوریتم ژ معایب و اشکالات وارد به الگوریتم های ژنتیک © برنامه نویسی ژنتیک قدم های اولیه برنامه نوبسی ژنتیک برنامه نویسی ژنتیک برنامه نویسی ژنتیک

صفحه 3:
مقدمه : (ستر(تژجهای جستبو ‎Jenetic‏ ‎algorithm‏ استراتژیهای جستجو ‎(Search‏ 3 ‎waa Strategies)‏ قطعی ‎(Heuristic)‏ ‏غیر قطعی ‏2 تک جوابی برنمه ریزی تکاملی ‎(Non-‏ ‎deterministic)‏ بر جمعيت استراتژی تکاملی ‎ ‎ ‎(Population- ‎based) ‏الگوریتمهای ژنتیک الگوریتمهای تکاملی‎ ‎(Evolutionary Algorithms) ue ‏برنامه ریزی ژنتیک‎ ‏الگوریتمهای تخمین توزیع.‎ (Estimation of Distribution Algorithms ‎

صفحه 4:
(لکوریتم های تکاملی ‎Jenetic‏ alaorithm 2 كع

صفحه 5:
نمودار کردشی فرآیند یک (لکوریتم تکاملی .۰۰ »6۵81 ‎algorithm‏ ‏* فرايند توليد تا وقتی که جواب مورد نظر حاصل شود ادامه مى يابد ( اغلب جمعيت اوليه بصورت تصادفى توليد مى شود) جمعیت جدید جمعيت اولية پروسه تولید جمعیت جدید از جمعیت فعلی. جايكزينى جمعيت حاصل بجاى جمعيت قبلى

صفحه 6:
چند (صطلام (زمینه بیولوژیکی) ‎Jenetic‏ ‎algorithm‏ ‎Aegarre Joly » 99 (CHroMOSOME)p9j909)5‏ ای از موجودات هم شکل بنام کروموزوم وجود دارد . ژن 666106 : هر کروموزوم از عدادی ژن تشکیل یافته است ؛ هر ژن یک خصیصه را کد می کند(مثل رنگ ‎(ote‏ آلل(6 ۵1161 : مجموعه های ممکن برای یک خصیصه آلل نامیده می شود. لوكس (1-06105): هر زن در كروموزوم موقعيت خاصى را داراست. زنوم( 170110 6) : مجموعه كامل همه كروموزوم ها. [ژئوتیپ(6 0 لا 100 6) : یک مجموعه خاص از ژن ها در ژنوم . فلوتیپ (06 1۱61۱00۷ ۳): ژنوتیپ ها بعد از تکامل بیشتر به فنوتیپ ها (که همان خصوصیات فیزیکی و روانی مانند رنگ چشم يا هوش و ..تبدیل می شوند .

صفحه 7:
آشنایی با (لگوریتم های ژنتیک ‎Jenetic‏ ‏پيكصپپپسمسمسىثپكِكِ۳ | ‎‘algorithm‏ ۲ الگوریتم های ژنتیک یکی از شاخه های پردازش تکاملی می باشند. % این الگوریتم ها با الهام از روند تکاملی طبیعت مسائل را حل می نمایند . یعنی مانند طبیمت یک جمعیت از موجودات را تشکیل می دهند و با اعمالی بر روی این مجموعه به یک مجموعه بهینه و یا موجود يهينه دست می یابند. ¥ رب اله ۲ با توجه به خصوصیات خاص خودشان به خوبی از عهده حل مسائلی که نیز به بهینه سازی دارند بر می ‎al‏

صفحه 8:
سافتار (لکوریتم های ژنتیک ‎Jenetic‏ “algorithm ‏لپ‎ 552 تلا 7

صفحه 9:
سافتار (لکوریتم های ژنتیک ‎Jenetic‏ ‏و زاو و | وت (Selection ( us! (Parents), (Crossover)... فرزندا( ۱06650۲1۳9 (Initial Population ).,,! (Mutation) a> (New Population ‏جسیت جدید(‎ جایگزینی جمیت جدیدبجای جمیت قبلی

صفحه 10:
سانتار (لکوریتم های ژنتیک ‎Jeneti‏ ‏ا ‎‘algorithm‏ براى حل يك مساله با الكوريتم هلى زنتيك مراحل ذيل را داريم: ١)مدلسازى‏ مساله يا بازنمایی ۲)تشکیل جمعیت اولیه ۴)ارزیابی جمعیت ۴انتخاب والدین ۵اباز ترکیبی اچهش ۷انتخاب فرزندان )تست شرط خاتمه الگوریتم

صفحه 11:
مکائیزم یک (لکوریتم ژئتیک ‎Jenetic‏

صفحه 12:
جدرل هم (رزی مفاهیم بیولوژیکی و عناصر ‎Jenetic GA‏ تست سح (ج- GA ‏مسله رای حل‎ ‏مجموعه جواهایجایگزین‎ ا ص2 كام تكرار و جواب داوطلب ولدین جواهایبرگزیده شده (Miles) Sil tite ‏اندازة اتطباق‎

صفحه 13:
جدول هم (رزی مفاهیم بیولوژیکی و عناصر ‎Jenetic GA‏ سير تكاملى طبيعن ‎GA‏ ‏9 للد حم" اتتخاب والدين متاسب ب مقدار برازندكى لا ژنوتیب ام کت هو ل ۲ فنوتيب اعون رم عفان منت را دن موقعیت در رشته ‎gh‏ لما مقدار در يك موقعيت. معین در رشته ‎ade ost‏ پروسه رسیدن از جمعیت ل نا فعلى به جمعيت يعدى

صفحه 14:
شبه کد یک (لکورجتم ژئتیک ساده 1-0: Initialize P(t), Evaluate P( La phe dnd ‏(جسعیث وليه‎ عنصر(0ظ توسط ماد برازندگی دار می‌شوند 0 شرایط خانمه ارخاشده ‎WHILE‏ BEGIN feted: Select P(t) from Pit-); (axe eal ‏لجراى عمذكر التحاب » ليست و الدين‎ | Crossover P(t); ‏ليست فرزندان فراهم مىشود]‎ Capen S Slee lait Mutation P(); EvaluateP); لجراى عملكر جه و ليست جمعیت حدید حاصل می‌شود ] 4 ‏توسط مقادی برازندگی نادار می‌شوند‎ PQ ‏عناصر‎ ١ END Jenetic END.

صفحه 15:
مدلسازی مساله (بازنمایی) ‎Jenetic‏ ‏سصىپسرسرسآپپسسمسىپكِ( ۳‏ | ‎“algorithm‏ ‏براى اينكه بتوانيم يك مساله را بوسله اكوريتع حلى زتنيك حل ‎lg ah nS‏ فم مخصوس مورد نير اين الكوريتم ها بديل كنيم. در این زوند ما بایستی راه حل مورد نیز مسالد را به گونه ای تمرف کنیم که قبل نمیشن ‎Sy ang‏ کروموزوم باشد اینکه چه نوع بزنمئی را برای مساله استفاده شود به شخص طراح و فرم مساله بستگی درد چند نموه از نمی هایی. را که مسولا فده می شوند ‎ese‏ ‏*رشته های بیتی *اعداد حقیقی در فرم نقطه شناور *اعداد حقيقى به فرم رشته ای بت * يك مجموعه از اعداد حقيقى يا صحيخ هی ات مس *هر فرم دیگری که بتوانيم عملكرهاى زتنيك را بر روى آنها تعريف کنیم

صفحه 16:
عملگر های (لکوریتم ژنتیک ‎Jenetic‏ ‏ضرپسرسرسآپس_سىسىپكِك(۳ | ‎“algorithm‏ 8 ارزیابی حمعیت ۴۱۲0665 براى اينكه بتوانيم موجودات بيهتر را درون جمعيت تشخيص بدهیم بايستى معيارى را تعريف كنيم كه بر اساس أن موجودات بهتر را تشخیص دهيم. به إين كار يعنى تعيين ميزان خوبى يك موجود.ارزيابى أن موجود مى تكويند 11011111911119 ا كوجكتر) ات ‎Sin‏ أن موجود مى ناميم. ‏به عنوان مثال در صورتى كه به نبال مينيمم يك تابع هستيم. مقدار شايستكى را مى توانيم وروديهاى كه مقادير تاع برلى أنها كمتر است در ‏نظر بكيريم كه وروديهاى بيهترى هستند ‎ ‏یمه بد نوع مساله ملامی غولقیم شایبتگن را یفله و بکمنه کتیب

صفحه 17:
عملگر های (لگوریتم ژنتیک ‎Jenetic‏ “algorithm (oll, Sts) Selection Visi © سوق دادن جستجو به بخشهایی از فضا كه امكان يافتن جوايهاى با كيفيت بالاتر وجود دارد. * 2 نسل جديدى از راه حل ها را با انتخاب والدينى كه بالاترين ۳111655 را دارند توليد مى كند wily بر هر سل تعدادی از عتاصر جمعیت این فرصت را پیدا می کتند که تولید مثل کنند.به این عناصر که از میان جمعیت. ‎wigs gs bal‏ والدين سن مويئد ‎ ‏روشهاى مختلفى برلى انتخاب والدين وجود دارند. در زير ب جند مورد از ابن روشها ‏

صفحه 18:
روش هاى [تتثاب وللدین ‎Jenetic‏ ‘algorithm ‏اا‎ ‎lyin Cana plas ect ©‏ والذمن: ‏در واقع هيجكونه انتخابى انجام تمى دهيم (همه عناصر اتتخاب مى شون ‏© اتتخاب تصادفى: ‎piping ici ar peg ‏در این روشها عتاصر با شایستگی‎ ‎ple‏ روشا ‏این روشها با استفاده از تکنیک هایی سعی مى كنند كه انتخاب هابى را ارائه دهند. كه هم رسيدن به جواب نهایی را تسریع کنند و هم اینکه ‏والدين انتخاب مى کنیم. این انتخاب مى تواند با چایگناری یا بدون جایگذاری باشد. ‎ ‏شانس بیشتری برای انتخاب شدن بعنوان والدین را درند. ‎ ‏کمک می کنند که چواب بهینه تری پیدا شود

صفحه 19:
روش های (تتثاب ‎Jenetic‏ ‎algorithm‏ معمول ترین روش های انتخاب ‎Elitist Selection‏ مناسب‌ترین عضو هر اجتماع انتخاب می‌شود. ‎Selection Roulette‏ یک روش نتخاب است که در آن عتصری که عدد برازش (تناسب) بيشترى داشته باشد انتخاب م شود ‎ScalingSelection‏ به موازات افزايش متوسط عدد برازش جامعه. سنگینی انتخاب هم بیشتر می‌شود و جزئی‌ت. این روش وقتی کاربرد درد که مجموعه دارای عناصرى باشد كه عدد برازش بزركى دارند و فقط تفاوتهلى كوجكى أنه را از هم تفكيك مىكندد Tournament Selection یک زر مجموعه از صفات يك جامعه انتخاب مىثشوند و اعضاى أن مجموعه با هم رقابت مى كنتد و سراتجام فقط يك صفت از هر زيركروة رای تلد تخاب می‌شوند

صفحه 20:
عملگر های (لکوریتم ژنتیک ‎Jenetic‏ algorithm (Recombination/Crossover) sx. ‏تركيب‎ © امکانترکیب جواهای جزیی ‎cal (Partial solutions)‏ شده و در نتیجه بدست آوردن جواهایی با کیفیتبالاتر را فراهم میآورد. در جريان عمل بازتركيبى به صورت اتفاقى بخشهايى از كروموزوم ها با يكديكر تعويض مى شوند. این موضوع باعث می شود که فرزنان ترکیبی از خصوصيات والدين خود را به هتمراه ذاشته باشند و دقيقً مشايه يكى از والدين نباشتف. هدف توليد فرزند جديد مى باشد به اين اميد كه خصوصیات خوب دو موجود در فرزندشان جمع شده و یک موجود بهتری را لید کند.

صفحه 21:
روش (نبام عمل بازترکیبی ‎Jenetic‏ ‎“algorithm —‏ 9 والدين ‎ops‏ انجام عمليات بازتركييس ‎Os ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 22:
روش (نبام عمل بازترکیبی ‎Jenetic‏ 5 روش کار به صورت زیر است: بصورت تصادفی یک نقطه از کروموزوم را انتخاب مى كنيم ژن های مایعد آن نقطه از کروموزوم ها را جایجا می کنیم بازترکیبی تک نقطه ای (۲ ۲۳۵550۷ ۴۵۱۴۸ عاوطا6) اگر عملیات بازترکیبی را در یک نقطه انجام دهیم به آن بازترکیبی تک نقطه ای می گویند. در اين روش یک مکان تصادفی در طول رشته اتتخاب می شود و 96106 ها زاين مکان بهبعد جاجا می شوند

صفحه 23:
Jenetic ‏عمل بازترکیبی‎ lai) csby algort cut \cut 1141111 0000000 Parents Ty tspring 499 1110000 0001111 ۰ OP

صفحه 24:
روش (نبام عمل بازترکیبی ‎Jenetic‏ ‎“algorithm TOO‏ روش ادغام دو نقطه ای((6۳ ۲۳۵550۷ ‎Two-point‏ "در اين روش دو مكان را به صورت تصادفى انتخاب كرده و مقادير بين اين دو نقطه را جابجا مى كنيم.

صفحه 25:
Jenetic ‏عمل بازترکیبی‎ lai) csby “algorithm | ۳(كىصضسپ‎ ادغام چند ‎(Multipoint Crossover) << «lai‏ : مى توانيم اين عمليات را در جند قطه انجام دهيم ‎٠‏ كه به آن بازتركيبى جند نقطه لى مى كويند (Uniform Crossover) aly ps! ‏اگر تام قاط کروموزوم را بعنوان نقاط بازتركيبى انتخاب كنيم به آن بازتركيبى جامع مى كوثيم.‎ روش كار را برلى اين دو مورد اخير دين صورت اسستد ب احتمال ثابتى مثل ‎i ae Pe‏ را اتجام مى دهيم روش كار به صورت زير است: * به ازلى هر يك از قسمت هاى كروموزوم: ‎ST‏ تصادفی بین صفر و یک تولید می کنیم ‏* اگر این عدد از مقدار ‎Jee al‏ ۳ کوچکت باشد. زتهاى مابعد آن نقطه از كروموزوم ها را جابجا مى كنيم.

صفحه 26:
یک نکته در مورد عمل بازترکیبی ‎Jenetic‏ ‏تسس ‎algontnm‏ نمونه ای ازلدغام جامع: Parent A Parent B Offspring لله کت + ‎es‏ #عمليات بازتركيبى موجودات جديدى توليد نمى كند و تنها باعث مى شود كه موجودات موجود بهتر شوند. كه براى ‎call‏ كروموزوم ها از روشهابى غير از اعناد صحيح ويا رشته هاى عددى استفاده كرده باشيم: عمليات بازتركيبى را طكزي بيد سار من أكون سبران حل (قراز سا یقن بای اه مدل مسا ستفاده ‎Rapp an‏ رون ارت قسمت خقیقی و ماتیس دوعدد | ‎nl‏ نیم برای سایر بزنمایی ها نیز روشهای مخطفی برای بزترکیبی را شده است . به روش

صفحه 27:
عملگر های (لکوریتم ژنتیک ‎Jenetic‏ ‎‘algorithm |...‏ ‎(mutation) jx> ©‏ ویژگی تصادفی بودن و امکان فرار از نقاط بهینه محلی را فراهم میآورد. ‎tee polly‏ به اين صورت عمل مى كنيع: ‏بصورت تصادفى تعدادى از كروموزوم هلى فرزند را اتتخاب مى كنيم به صورت تصادفى مقادير يك يا جند زن وى را تغيير مى دهيم. همچتین در هنكام بيده سازى به صورت زير عمل مى كنيم: ‏به آزای هر کروموزوم اعمال زیر را انجام می دهیم: يك عدد تصادفى بين صفر و يك توليد مى کنیم ‏اكر عدد توليد شده كوجكتر از م بود به ازلى هر ثثن اعمال زير را انجام مى دهيم. در غير اينصورت از چهش دادن کروموزوم صرف نظر مى كنيم يك عدد تصادفى بين صفر ويك تتوليد مى كنيم أكر عدد توليد شده كوجكتر از و بودء زن مربوطه را جهش مى دهيم

صفحه 28:
عملکر های (لکوریتم نتیک ‎Jenetic‏ ‏رژرژرپ3۹۷۹۷5۷5۷5۷5۷5۷5۷5 ۷۹3 ‎“algorithm‏ بعنوان مثال جهش برلى كروموزوم هلى به فرم بايترى به صورت زير مى باشدة ۱۰ ۰ ۳۰ ۱۰ ۱۰ ‏الاش‎ ٠ ٠١ | ‏فرزند‎ تحوه انجام عملیات جهش * جهش, برای بازنمایی های که از مقادیرحقیقی استفاده کرده اند.به این صورت پیاده سازی می شود که یک عدد حقیقی بصورت تصادفی در یک محدوده خاص تعیین و جایگزین عدد قبلی می گردد و ی اينکه عدد اصلی با یک مقدار خاص جمع گردد و ...برای سایر مدل های بازنمایی مساله نیز اناع خاصی از جهش پیشتهاد شده است.

صفحه 29:
یک مثال ‎Jenetic‏ (Bitwise Mutation ) ‏جهش بیتی‎ 5 ۴ before 1414414 after l4440141 mutated bit

صفحه 30:
نکاتی در مورد عمل هش ‎Jenetic‏ ‎‘algorithm ..‏ جهش ابتکاری([۲5 ۳۱6۱۵ ابا توجه به ايتكه هدف از جهش بهتر شدن كروموزوم ها ويا اينكه بيدا شدن يك راه حل جديد استه مى توانيم به جلى تفيير تصادفى كروموزوم هاء تغييرات كروموزوم ها را هدفمند كنيم. برلى اينكار: بسته به نوع مساله. بر روى كروموزوم انتخاب شده یکی از روشهای كلاسيك حل مساله را اعمال كرده, و جواب حاصل را بعنوان كروموزوم جديد جايكزين مى كتند. استفاده از اين روش كه از آن با عنوان جهش ابتكارئ ياد مى شوده بسته بهنوع مساله ممکن است دستیابی به ره حل نهایی را سریعتر کتند. * جهش باعث ایچاد تغیرات ناخواسته در جمعیت شده و باعث بوجود آمدن موجودات جدید می شود در وقع برتری جهش نسبت به بازترکیی نیز همین مطلب می باشددر صورتی که فقط از چهش امتفاده کنیم, ممکن است که بتوانیم جواب بهینه را پداکنیم. اما ستفاده از ‎nS‏ تنهابى بيدا شدن جواب يهينه را تضمين نمى كند.

صفحه 31:
شرط اتمه (لکوریتم ‎Jenetic‏ ‘algorttnm ‏اا‎ های ژنتیک بر پایه تولید و تست می باشند جواب مساله مشخص نیست و نمی دایم که کدامیک از جواب های تولید شده چون كه الكو جواب بيهينه است تا شرط خاتمه را بيدا شدن جواب در جمعيت تعريف كنيم. به همين ‎UD‏ معيارهاى ديكرى را برلى شرط خاتمه در نظر مى ‎was‏ تعدا مشخخصى نسل: مى توانيم شرط خاتمه را من ااعدم بهبود در يهترين شايستكى جمعيت در لى جند تسل متوالى "اراس شایستگی جمعيت از بك مقدار مشخصى بائين تر يايد ويا ابنكه در على جند نسل متوالى مشخص» تفيير نکن ۱۰۰ دور جرخش حلقه اصلى برنامه قرار دهيم. عيجرين مايسككن سيت فريك خدخاسى كمترعود لاشرايط ديكرى نيز مى توانيم تعريف كنيم و همجنين مى توانيم تركيبى از موارد فوق را به عنوان شرط خاتمه به كار بنديم.

صفحه 32:
مزایا و معایب (ستفاده (ز (لکوریتم های ژنتیک ‎Jenetic‏ ‏تسس وود این نکته که لگوریتم های ژنتیک خوب یا بد هستند. تا حد زیادی به مساله مربوط می شود اين الكوريتم ها بارامترهاى بسيار زيادى دارند كه با تنظيم صحيح اين پراترامی تون تاج سیر متفاتی. بدست باريم. ۳ _ مزایای الكوريتم هاى زنتيك "اين الكوريتم ها هميشىه يك جواب نسيتاً خوب ييدا خواهند كرد *در هر مرحله از كار مى توانيم الكوريتم را متوقف كنيم. در اين حالت نيز يك جواب خواهيم داشت. * به راحتى مى توانيم اين الكوريتم ها را بصورت موازى بر روى جند بردازتده اجرا نیم *فهم آسان و مجزا بودن *بشتيباتى از بهينه سازى جند تابعى *هميشه یک جواب داریم که با گذشت زمان بهتر می شود #روشهلى مختلفى براى افزايش سرعت و بيشرفت الكوريتم وجود دارد *بهره بردارى ساده از جواب قبلى. *نعطاف پذیربرای کاربرد های ترکیبی.

صفحه 33:
معایب (لکورتم های ژنتیک ‎Jenetic‏ ‏سرصپرسرسپپسشسمسىپكِكِ۳ | ‎“algorithm‏ ‏مایب ‏* یک جولبخوب ی میکند وی سکن ست جواب يهيثه را يدا نكت * به حافظه و محاسيات زيادى نياز اند * در مود نک وب بدا شنده جقدر خوب لست و أي جواب يهترى وجود دارد نمى تانيم هيجكونه ادعائى داشته اشيم ‎ght raga”‏ رن * در دوباراجرای مخلفه جواب های متفاوتی دیافت می کنیم * تعدذ باراترهلى الكوريتم: هر جندالكويتمهاى زنتيكى در دسته الكوريتمهلى بهنهسازى قرار ميكيرنك ام تظیم رن ان زرا کم یک مد ات گر بل رم ید * نحوه كديذكء نوع عملكر تركيبه نرخ تركيب» نوع عملكر جهش. ترخ جهش

صفحه 34:
فهرست مطالب ‎Jenetic‏ ‎“algorithm‏ ‏18 استراتژیهای جستجو (مقدمه) 8 الگوریتمهای تکاملی (پیشینهکاری) © الكو ريتمهاى رنتي # جند اصطلاح ¥ آشنایی با الگوریتم های ژنتیک قد ساختار الگوریتم های ژنتیک عملگر های الگوریتم ژنتیک * مزایای الگوریتم ژنتیک # معایب و اشکالات وارد به الگوریتم های ژنتیک © برنامه نویسی ژنتیک + تاریخچه ¥ قدم های اولیه برنامه نویسی ژنتیک أ برنامه نویسی ژنتیک # مشکلات برنامه نویسی ژنتیک 88 كاريرد ها ele a

صفحه 35:
برنامه نویسی ژنتیک ‎Jenetic‏ ‏يصى«صآپپپسشسمسىپِكِك۹كِ۳ | ‎“algorithm‏ تارفچه ابرنامه تويسى زنتيك در أوائل دهه تود ميلادى بوسيله. 16023 101108 در أمريكا مطرح شد و به تدريج توسعه داده شد البته لازم به ذكر است كه بيشترين بيشرفت ها ذر اين زمينه نيز يوسيله خوذ آقای 6023 هر طى سالهاى متختلف ارائه شده اسست . برنامه نويسى زنتيك جيست؟ برنامهنویسی ژنتیک در واقع به هدف ماءیعتیبرنامه نويسى اتوماتيك js Automatic Programming, Program synthesis, Program induction cyst b «) شناختهمی شود ‎Tell‏ پرورش یک جمیت از برنامههای کامبیوتری می رسد. رورش این جمیت با استفاه از تسخه هام گرفته از عملهاى انتخاب و توليد مثل بيولوثيكى صورت مى كيرد

صفحه 36:
Jenetic (Parse Trees) 45 csla cap ‘algorithm ِكِكىسىسشسپپپآسرسرسس,پچر‎ ‏یی هی مر هت لا ری تاکز ی‎ 73 اه یک فسات که برنامه بايستى در ابتدا به يك شكل بيهترى تبديل شود. بنبراين كامبايلرها سعى می کنن که ‎aly‏ نوشته 2 درختهاى تجزيه نام تارك تبديل كنند ذر جريان كامبايل يك برنامه سطح بالا (مفل 6/+)» كد نوشته شدهه به يك ذرخت تجزيه تبديل مى شود تا كامبايلر راحت تر بتوئد بر روى أن کار کند. از طرق ديكر در صورتى ته مأ در برنامه تويسى إنتيف از اين ساختار استفاده كنيم. هم تعریف عملكرهلى توتقيق بر روى آن سنأدم قر لست و با موفقيت درخت هم دردسر خطيابى كدها و اصلاح خطاهاى دستورى را نخواهيم داشستد زيرا در صورتى كه كامبايلر بتوائد از روى برنامه نوشته تجزيه را ايجاد كند. برنامه نوشته شده از لحاظ دستورى خطائى ندارد. به عنوان مثال براى عبارت ((10+32)+ لا/)")-((إلا, *)/5010)*؟) درخت تجزيه به صورت زد

صفحه 37:
قدم های (ولیه برنامه نویسی ژنتیک ‎Jenetic‏ ‏تس سس وود ‎ca sonra aig‏ سر ی وش ی سطلح بالا را به فرم مناسب الگوريتم تیک تبدیل کنیم.پنج قدم اساسی زیر را بید در ابتدا بوسيله يك عامل انساتى: انجام دهيم: يك مجموعه از عناصر بايانى تعيين كنيمة عناصر بايائى: متفيرهاى مستقل مساله توابع بدون يارامتر ورودى يا ثبت هابى هستند كه بصورت تصادفى إيجاد شده اند ۳ مجموعه توابع اوليه كه بايستى برنامه بر بيه آنها وید شود ۳ معا شایستگی رای اينكه بوسيله أن بتوانيم برنامه هاى توليد شده بوسيل الكوريتم زنتيك را رزيابى و برنامه هاى بهتر را شتاسائى ‎(oes‏ abel LAS cles lea (F ‏ترخ بازتركييى وس‎ 0( شرط خاتمه و روشى برلى اينكه نتيجه اجر را بتونيم تعيين كنيم. تک مور نياز حستند, به عنوان مثال نوع انتخاب والدين و انتخاب فرزتدان. ترخ جهش,

صفحه 38:
برنامه نویسی ژنتیک به همرژه یک مثال ‎Jenetic‏ ‎algorithm‏ روند جرایالوریتم های ژنتیک را بدين صورت در نظر كرفتيم 6 اج یک جسیت اد ؟) ازابی عاصر جمیت ۲ بزترکیی oe ft ۵) تکرر ماد فوق تا زمنی که به تتچه مود نظرنرسیده یم “در رابطه با نامه تویسی تیک ‎hl) Aci‏ مد برلى مسالة) كروموزومها را بصورت درخت هلى تجزيه درنظر مى كيريم . مثال) مساله يافتن برنامه الى برلى محاسبه تايع +01 با استفاده از توايع *0,01 لالظ و 8401 را مطرح و نشان مى دهيم كه الكوريتم به صورت نمادین, چگونه چواب مورد نیز را پیداخواهد کرد

صفحه 39:
برنامه نویسی زژنتیک ‎Jenetic‏ ‏يصى«صآپپپسشسمسىپِكِك۹كِ۳ | ‎“algorithm‏ جدول درستى برلى توابع :800:7 :+01 :0 لالظ و 018)! به صورت زیر اس 4 B AandB |AorB |notA |notB | Axor B True |True | True [True | False | False | False tae [Fae [rae [ee ‏ی علس‎ | te False |True False | True | True |False | True False [False False | False |True |True False برای حل مساله با أستفلاه از برنامه تويسى زتتيك به این صورت عمل می کنیم که مجموعه عملگرهای متطقی (۱۷۵ ,088 ,1۸۱0 را به عنوان ‎False} aegane y atin aly‏ ,©7610 ,8 ,8) را به عنوان عناصر ياياثى مطرح مى كنيم. دو نکته در اینجا مهم است . که الا هر تركيبى از توابع كه در درخت تجزيه وارد شود قابل ارزيابى است و باعث بروز خطا نمى شود و دوم اينكه مساله با استفاده از توابع و يايانى هابى كه ذكر شده استه قابل بزسازی است.

صفحه 40:
Jenetic برنامه نويسى زنتيى ‎algol‏ m قدم اول: ايجاد جمعيت اوليه. تکته ای که در مورددرختهایی كه به جمعيت اضافه مى شوند: بايستى مدنظر قرار كيرده كنترل عمق درخت ها است. ” در توليد جمعيت اولیه دواستراتزی مختلف وجود دارد: ش اول این است که تممدرختهای وی اجاد شده یک عمق مشخص داشته و بصورت پر اشند روش توید این درختها بان شکل است که بصوت تصاذفی و سح به سح از توبعموجو بصورت تصاافی تخاب و بهجای کرههای درخت ‎pal yy gl and yo NB‏ تكرار مى شود تابه بيشترين عمق مورد نظر برسيم؛ در اين حالت برلى سطح آخر » از مقادير مجموعه بايانى ها به جاى كره هلى درخت قرار می دهیم تا یک درخت تجزیه کامل تشکیل شود. البته مى توانيم درخت هاى ير با عمق هاى متفاوت به عنوان جمعيت اولي توليد كنيم. كه معمولاً روش دوم بهتر است.

صفحه 41:
برنامه نویسی تیک در روش دوم به ين صورت عمل مى شود که محدودیتی در نوع درخت ايجاد شده أو درخت تجزیه معتبرداشته باشیم و اينكة عمق درخت ايجا شذه از خداكثر مجاز قراتر ترود تمونه تشكيل اين فرختها در شكل زير نشان داده

صفحه 42:
برنامه نویسی ژنتیک ‎Jenetic‏ ‏(0(پپبسشسمسىكِ۳ ‎“algorithm‏ قدم دوم: ارزيابى عناصر. برلى ارزيابى يك كروموزم بايستى بتوانيد روشى را بدست بياوريد كه بصورت عددى بيان كند كه يك برنامه جقدر خوب است و در واقع جقدر لتاق نزد میا زد کن سول زد اه این نوت تک نارای معط مین ازج .نی کند وب رای خروجی ره شده توسط امه یا میکنند که بنمهچقدرتونتهاست هدف موردتظر مار برآورهکند بای مال ما بايستى نتيجه خروجى را برلى جهار حالت ممكن برلى ‎8١‏ و 8 امتحان كنيم و بر ساس جدول درستى تعيين كنيم كه برنامه جقدر توانسته. است. خروجى متاسب را توليد كند. البته ذر حالت كلى ممكن است كه براى يك برنامه تست های مختلفی برای ارزیابی آن طراحی شود.

صفحه 43:
برنامه نویسی تیک قدم سوم: بازتركيبى. براى انجام بازتركيبى به سادكى به ين صورت عمل مى كنيم كد دو عنصر إزير درخت يا باياى) را أز دو درخت بدرء به صورت تصادفى انتخاب مى كنيم و أنها را بين دو درخت جابجا مى كنيم. به عنوان مثال برلى برنامه هلى مثال قوق اين عمل به صورت زير خواهد بود za 0 3 5 Se 5 9 Cy آگر والاین را به صورت زیر درنظر بگیریم:

صفحه 44:
برنامه نویسی ژنتیک ‎Jenetic‏ ‎algori‏ با اتخاب كره هاى 014 و 8 به ترتيب از درختهای راست و چپ فرزندان حاصل از یل دو درخت در ث بزترگیبی به صورت زیر خواهند بو ix (۳ = )

صفحه 45:
برنامه نویسی زژنتیک ‎Jenetic‏ ‎algorithm‏ قدم چهارم: چوش. USED Vale VARS ESS CAN Vk as cal ips inlay seals ‏ند اتیب‎ Uae a باياتى ديكرى جايكزين كنيم. حتى ممكن است كه به إين شكل عمل كنيم كه به جلى يك زير درخت يا این یک زیر درخت ديكر كدي ريذن كس ليد بجمميت أوليد لنت حب أيجاد د فست) رأ جاركدين من ‎na phe hag popes‏ كد بكولميم يكدوير ت ديكر جابكزين كنيم. برلى انجام كار بايستى تمام زير درخت مربوطه را از درخت حذف كنيم و به جلى أن یر دهيم. اما آكر مى خواهيم يك بايانى رابا ت جايكزين كنيم. روند كار به ين صورت است که بهجای كره باياتى زير درخت مورد نظر را قرار مى دهيم. براى درك بهتر مطلب تصوير زير را داري : درخت را یک زر در 0 60

صفحه 46:
مشکلات برنامه نویسی ژنتیک ‎Jenetic‏ ‎‘algorithm ..‏ ابه طور كلى مشكلات برنامه نويسى ‎Se‏ را مى توان بصورت زير ليست كنيم: “قضاى بسيار وسيع مساله (تعداد زياد توابع. متفيزهاء ثابت ها عملگرها و .و ترکیب های مختلف آنها| كروموزومها در هر نسل [محاسبه شايستكى تمام عناصر زمان بر است)ل *زمان زياد برلى تست اينكه جواب يك كروموزوم إبرنام) به ازلى ورودى هلى متفاوت (كه در موا نزديك است (محاسبه شايستكى كروموزوم. “الكوريتم زنتيك استقاده شده براى يافتن جواب بايستى تعداد نسلهاى بسيار زيادى كار كند. براى يك مساله ساده ممكن است نياز باشد كه الكوريتم زنتيك جند صد هزار نسل كار كد بادر نظر كرفتن موارد فوق مى بينهم كه برنامه نويسى زنتيك برلى بيدا كردن جواب هاى مناسبه نياز به كامبيوترهاى بسيار سريع دارد. لكقهغ برا اينكه يك برنامه نويسى إنتيك با موققيت به تنه يرسدء كاملا به تحود تخاب عملگرها و تابع از یک طرف و یی های درخت هلى تجزيه دارد. اتتخاب درست اين موارد نه تنها رسيدن به جواب را تضمين مى كتده يلكه در سرعت رسيدن به جواب نهز قاثير قرأوانى دارد

صفحه 47:
کاربرد (لگوریتم های ژنتیک ‎Jenetic‏ ‎aes‏ شناسابى جهره با استفلاه از تصوير قبت شده به همت مبتكران ايرائى طراحى و ساخته شده ات فاصله اجزلى ججهره و ويزكى هاى محلى و هندسى صورت م ى كيرد كه تغييرات ناشى از كيم تغييرات نو و ‎ ‏*همجنين كرافها براى جهرءهاى جديد با استفاده از الكويتم,هاى زنتيك ساخته شده و با استفلاه از يك تابع ‎gL‏ قايل مقايسه با يكديكر هستند كه اين امر تثير بسزابى در اقزايش سرعت تنناسابى خواهد دائسته ‏*توبولوزى هاى شبكه هاى كامبيوترى توزيع شده. ‎(cast) nnd Sle Sle ile ay? ‎Crooked-Wire Genetic Antenna zicste uly ‏*مجندسى برق‎ ‏*مهندسی نرم فزار ‎ole sil?‏ کامپیوتری ‏*مهندسی مواد ‎ ‎(Data mining) os gical 5,8 pass ‏*خل مسئله فروشئدة دوه کرد‎ ‏*آموزش شبکه های عصبی مصنوعی ‏*باددهى رقتار به ره با 3۸ ‏*يادكيرى قوانين فازى با استفاده از الكويتم هاى زنتيكد

صفحه 48:
نتيمه كيرى ‎Jenetic‏ ‏کت( الگوریتهای تیک لگوریتمهایی هستند که دای قدرت بسیرزادی در يافتن جواب مسئله هستند. ابن الكوريتم هارا در مسائلى در نظر گرفت که درای فضاى حالت بسيار يزرك هستند و عملاً بررسى همه حالتها براى انسان در زمانهاى نرمال (در حد عمر بشر) ممكن نيسته اما بایدتوجه داشت که شاید بتوان کاربر اصلی ار یقت مه سار راتخاف مفلل زازه قيوستل اب تفر ی ‎ean‏ ربتک رک که کت ‎Si a Ha BE pgp‏ کدی کهامی‌توانیج صيور کنیع که جر ‎glad‏ حالات مسه به نوی جوا مععول پزاز ‎prs‏

صفحه 49:
Jenetic zp algorithm @www.genetic-programing.com/johnkoza.html @www.genetic-programing.com @www.generation5.org @www.ilam.ac.ir/weblogs ی 1 اطلاعات شخصی ناقص و منقوص

صفحه 50:
یک پیام و پایان ‎Jenetic‏ ‎“algorithm‏ هميشه سعى كنيم بهترين باشيم نه مهمترین با تشكر ساغ (ولاسيز

جهت مطالعه ادامه متن، فایل را دریافت نمایید.
20,000 تومان