الگوریتم و برنامه نویسی ژنتیك

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

یادگیری ماشین

برنامه نویسی ژنتیك

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

 
 
 1 . تاریخچه :
با الهام گرفتن از نظریه انتخاب طبیعی داروین که مبتنی برعمل تولید مثل موجودات واصل"بقای مناسبترین"  که گونه های زیست شناختی را قادر می سازد با شرایط محیطی خود را وفق دهند می باشد پروفسور جان هالند از دانشگاه میشیگان " ا لگوریتم های ژنتیک " را برای رشته های دودوئی با طول ثا بت را پایه گذاری کرد. ( " وفق پذیری در طبیعت و سیستمهای مصنوعی 1975  " ) در این مقاله "هالند"  نشان داد مسائل زیادی در سیستمهای وفقی این قابلیت را دارند که  به  صورت  وا ژه های  ژنتیک بیان شوند و توسط الگوریتم های ژنتیک که روند تکاملی داروین را شبیه سازی می کنند به صورت موازی حل شوند. کار در این زمینه توسط افراد مختلفی دنبال شد تا ا ینکه " جان کوزا " در سال 1992 مفهوم " برنامه نویسی  ژنتیک " را معرفی کرد که در این روش عناصر برنامه جایگزین رشته های  دودوئی میشوند.
 
 
 
فهرست مطالب
چکیده مطالب : 5
1 . تاریخچه : 6
2. الگوریتم های ژنتیک عمومی 6
3. زبان برنامه نویسی لسیپ 6
4. بیان جزئیات برنامه نویسی ژنتیک 9
4-1.  ساختارهایی که عمل وفق پذیری را انجام می دهند 9
4-1-1 . شرط بسته بودن 11
4-1-2 . شرط کافی بودن 11
4-2. ساختارهای اولیه 11
4-3 . تناسب 12
4-4. عملیاتی جهت تغییر ساختارها 13
4-4-1. عمل خود تولید 13
4-4-2. عمل تولید مثل 13
4-5. انتخاب پاسخ 15
4-6 . شرط خاتمه 15
4-7. پارامترهای کنترل 15
5.  مالتی پلکسر-11  بولی 16
6. دنباله های استقرائی 21
7. فرمهای مفهومی 22
8. سایر عملگرها 22
8-1. عملگر جهش ژنتیکی 22
8-2. عملگر جایگشت 22
8-3. عملگر ویراستار 23
8-4. عملگر تعریف تابع 23
9. مسئله فروشنده دوره گرد 24
1.9. تاریخچه 24
2.9. کاربرد های مسئله فروشنده دوره گرد 24
3.9. کاربرد برنامه نویسی ژنتیک در مسئله فروشنده دوره گرد 25
1.3.9. انتخاب نسل اولیه 25
2.3.9. انتخاب تابع تناسب 25
3.3.9. تولید نسلهای بعدی 25
4.3.9. تكامل همزمان و نسل كشی 25
4.9. ساختارهای مورد استفاده و سایر روشها 32
10. نتیجه گیری 32
مراجع 33