شنبه 1 اردیبهشت 1397 | Saturday 21 st of April 2018 صفحه اصلی گروه الکترونیکی کامپیوتر
3-3-1-گام های مقدماتی

مسئله پیدا کردن تابع ریاضی از یک متغیر مستقل  می باشد. مجموعۀ پایانه (ورودی هایی که باید توسط برنامه تکامل پیدا کنند) باید شامل این متغیرها و  ثابت های تصادفی باشد.  بنابر این مجموعۀ پایانه ها به صورت زیر خواهد بود:                     

(3-2)

(3-3)

عبارت مسئله  تعیین نمی کند که چه تابعی باید در برنامه ای که میخواهد تکامل پیدا کند، به کار رود. یک انتخاب ساده برای مجموعۀ تابع ها، مجموعۀ 4تابعی زیر می باشد که شامل 4 عمل سادۀ ریاضی یعنی جمع، تفریق، ضرب و تقسیم می باشد:

که در ان % یک تقسیم حفاظت شده خواهد بود. تا ویژگی امنیت ارزیابی که در بخش () توضیح دادیم  تأمین شود. توجه داشته باشید که  چند جمله ای منظور را می توان با  مجموعه پایانه ها و توابع که انتخاب کرده ایم، به طور واقعی بیان کنیم، بنابر این مجموعۀ مقدماتی ما همچنین ویژگی بسندگی (در بخش() بیان کردیم ) را برای مسألۀ چندجمله ای درجۀ 2 داراست.

سومین گام مقدماتی، تعیین یک میزان حداقل برای میزان سودمندی ای که کاربر می خواهد می باشد. یک هدف سطح بالا در این مسئله، پیدا کردن برنامه ای می باشد که خروجی ان با خروجی حاصل از چند جمله ای x2+x   برابر باشد. بنابر این تابع سودمندی را باید طوری تعریف کرد که در حقیقت بازتابی از میزان نزدیک بودن خروجی ان کروموزوم با خروجی منظور(خروجی حاصل از x2+x)باشد.

در این مسأله اندازۀ سودمندی را برحسب مجموع خطای مطلق بین تابع نتیجه و تابع هدف تعریف می شود.

در  اصل  ما خطاهارا برای  محاسبه می کنیم واضح است که هر چه این مقدار کمتر باشد، به معنی مناسب تر بودن جواب مسأله خواهد بود. و مقدار سودمندی صفر به معنای بهترین و مناسب ترین جواب خواهد بود.

چهارمین گام در حل مسئله تعیین پارامترهای اجراییGPمی باشد.اندازۀ جمعیت در این مثال تنها 4می باشد. البته اندازۀ جمعیت برای اجرای واقعی یک مسئله در برنامه نویسی ژنتیکی به طور نرمال حدود چند هزار می باشد. اما ما برای اینکه بتوانیم مثال خود را بهتر کنرل کنیم با جمعیت با سایز کوچک کار می کنیم. 

عملگر ادغام به طور معمول حدود 90% از جمعیت نسل بعد را ایجاد می کند. عملگر بازترکیب (که یک کروموزوم را به سادگی از نسلی به نسل دیگر کپی می کند) برای تولید حدود 8% از جمعیت نسل بعد استفاده می شود.و عملگر جهش و عملگر تغییر ساختار(که در اینجا به ان نمی پردازیم) هر کدام حدود 1% از جمعیت نسل بعد را ایجاد می کنند.

با توجه به اینکه در این مثال، اندازۀ جمعیت غیر عادی می باشد و فقط 4 کروموزوم در ان وجود دارد، عملگر ادغام ، 2بار استفاده خواهد شد، در نتیجه در اینجا میزان عمل ادغام 50% خواهد بود. و همچنین میزان عمل عملگر باز ترکیب و جهش هرکدام 25% خواهد بود.

در گام اخر باید شرط خاتمه را تعین کنیم. یک شرط معقول برای این مسأله این است که اجرای برنامه را تا پیدا کردن کروموزومی با میزان سودمندی (مقدار خطای) کمتر از  ادامه دهد. مثال ما یک جواب عالی، با میزان سودمندی صفر، فقط با یک بار تولید نسل جدید ایجاد خواهد کرد. 

Compatability by:
آخرین به روز رسانی سایت: سه شنبه, 22 اسفند 1391 - 00:26