دانلود مقاله رشته کامپیوتر

بررسی برنامه نویسی ژنتیک و تشریح ساختار الگوریتمهای ژنتیک

 
 
مقدمه
زمانی که داروین نظریه تاریخی اش را ارائه می نمود، تصور نمی کرد که روزی نظریه اش بعنوان یک راه حل برای مسائل علمی استفاده شود. و تا آنجا پیش برود که انسانها بخواهند، بوسیله آن اعمال هوشمندانه خود را انجام دهند، قطعاً اگر وی با برنامه-نویسی آشنا بود،  احتمال نمی دهد که روزی بخواهند با استفاده از مبنای نظریه اش اقدام به برنامه نویسی کنند.داروین در نظریه اش به این نکته اشاره دارد که موجودات اولیه (تک سلولی ها)  در تلاش برای بقا شروع به تکامل کرده اند و در طی جریان تولید مثل و با همکاری طبیعت، موجودات کامل تری را بوجود آورده اند، و این موجودات نیز به همین شکل تکامل را ادامه داده اند. 
 
این تکامل در طی چندین هزار سال ادامه یافته تا موجودات فعلی بر روی زمین حاصل شده اند.اما یک موجود چگونه قادر است که شکل و فرم موجودات بعد از خود را تعیین کند؟ برای اینکه جواب سوال را دریابیم، ابتدا باید فرآیند تولید مثل موجودات را بررسی کنیم.در جریان تولید مثل یک موجود کروموزوم های والدین موجود با یکدیگر ترکیب می شوند و سلول تخم را تشکیل می شوند. تکثیر این سلول تخم منجر به تشکیل یک فرزند تقریباً مشابه والدینش می شود. این موجود ترکیبی از خصوصیات والدین خود را به همراه خواهد داشت. این روند باعث تکامل یک موجود می شود.
 
اما تا اینجای کار اتفاق خاصی که باعث ایجاد یک موجود جدید گردد، به وقوع نپیوسته است. نکته کار اینجاست که در حین تشکیل سلول تخم تغییرات ناخواسته ای درون کروموزوم(های) سلول بوجود می آید. این تغییرات اگر کوچک باشند، در حین تکثیر سلول تخم و تشکیل موجود اصلی اصلاح می شوند. اما تغییرات بزرگ اصلاح نمی شوند و منجر به تشکیل یک موجود جدید می شوند.اگر موجود جدید (و بطور کلی فرزند) ایجاد شده نسبت به والدین در تقابل با محیط برتری داشته باشد، قطعاً در جریان زندگی موفق تر است و امکان تولید مثل پیدا می کند و در نتیجه می تواند خصوصیات خوبش را به فرزندانش منتقل نماید. با توجه به اینکه این فرزندان نیز در تقابل با محیط موفق تر هستند، امکان تولید مثل پیدا می کنند.
 
 
 
کلمات کلیدی:

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

پردازش تکاملی

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

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

 
 
فهرست مطالب
مقدمه
برنامه نویسی ژنتیک

برنامه نویسی ژنتیک چیست؟

تاریخچه برنامه نویسی ژنتیک

قدمهای اولیه برنامه نویسی ژنتیک
درختهای تجزیه (Parse Trees)

تشریح برنامه نویسی ژنتیک

دو نکته
کنترل عمق درخت
مشکلات

آشنائی با الگوریتمهای ژنتیک

تشریح ساختار الگوریتمهای ژنتیک
مدلسازی مساله یا بازنمائی
تشکیل جمعیت اولیه
ارزیابی جمعیت
انتخاب والدین
باز ترکیبی (Recombination)
جهش
انتخاب بازماندگان
شرط خاتمه الگوریتم

مزایا و معایب استفاده از الگوریتمهای ژنتیک

مراجع