عنوان پروژه: الگوریتم ژنتیک پروژه دوره کارشناسی - گروه کامپیوترقالب بندی: wordتعداد صفحات: 202شرح مختصر:در واقع الگوریتمهای ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیشبینی یا تطبیق الگو استفاده میکنند.الگوریتمهای ژنتیک اغلب گزینه خوبی برای تکنیکهای پیشبینی بر مبنای تصادف هستند. مختصراً گفته میشود که الگوریتم ژنتیک (یا GA) یک تکنیک برنامهنویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده میکند. مسألهای که باید حل شود ورودی است و راهحلها طبق یک الگو کد گذاری میشوند که تابع fitness نام دارد هر راه حل کاندید را ارزیابی میکند که اکثر آنها به صورت تصادفی انتخاب میشوند.کلاً این الگوریتمها از بخش های زیر تشکیل میشوند: تابع برازش، نمایش، انتخاب، تغییر.فهرست مطالب:فصل اول----------------------------------------------------------- 11-1- مقدمه-------------------------------------------------------- 21-2- به دنبال تکامل...--------------------------------------------- 31-3- ایدۀ اصلی استفاده از الگوریتم ژنتیک------------------------ 41-4- درباره علم ژنتیک--------------------------------------------- 61-5- تاریخچۀ علم ژنتیک------------------------------------------- 61-6- تکامل طبیعی (قانون انتخاب طبیعی داروین)----------------- 71-7- رابطه تکامل طبیعی با روشهای هوش مصنوعی----------- 101-8- الگوریتم------------------------------------------------------ 111-8-1- الگوریتمهای جستجوی ناآگاهانه-------------------------- 121-8-1-الف- جستجوی لیست------------------------------------- 121-8-1-ب- جستجوی درختی-------------------------------------- 131-8-1-پ- جستجوی گراف----------------------------------------- 141-8-2- الگوریتمهای جستجوی آگاهانه---------------------------- 141-8-2-الف- جستجوی خصمانه------------------------------------ 151-9- مسائل NP-HARD---------------------------------------------161-10- هیوریستیک------------------------------------------------ 171-10-1- انواع الگوریتمهای هيوریستیک-------------------------- 19فصل دوم----------------------------------------------------------- 212-1- مقدمه-------------------------------------------------------- 222-2- الگوریتم ژنتیک----------------------------------------------- 232-3- مكانيزم الگوريتم ژنتيك--------------------------------------- 252-4- عملگرهاي الگوريتم ژنتيك----------------------------------- 282-4-1- کدگذاری--------------------------------------------------- 282-4-2- ارزیابی---------------------------------------------------- 292-4-3- ترکیب----------------------------------------------------- 292-4-4- جهش------------------------------------------------------ 292-4-5- رمزگشايي------------------------------------------------- 302-5- چارت الگوريتم به همراه شبه كد آن-------------------------- 302-5-1- شبه كد و توضيح آن------------------------------------- 312-5-2- چارت الگوریتم ژنتیک----------------------------------- 332-6- تابع هدف----------------------------------------- 342-7- روشهای کد کردن----------------------------------- 342-7-1- کدینگ باینری--------------------------------- 352-7-2- کدینگ جایگشتی-------------------------------- 362-7-3- کد گذاری مقدار------------------------------- 372-7-4- کدینگ درخت----------------------------------- 382-8- نمایش رشتهها------------------------------------- 392-9- انواع روشهای تشکیل رشته-------------------------- 412-10- باز گرداندن رشتهها به مجموعه متغيرها------------ 422-10-1- تعداد بيتهاي متناظر با هر متغير------------- 432-11- جمعيت------------------------------------------- 442-11-1- ايجادجمعيت اوليه---------------------------- 442-11-2- اندازه جمعيت-------------------------------- 452-12- محاسبه برازندگي (تابع ارزش)--------------------- 462-13- انواع روشهای انتخاب----------------------------- 482-13-1- انتخاب چرخ رولت----------------------------- 492-13-2- انتخاب حالت پایدار-------------------------- 512-13-3- انتخاب نخبه گرایی--------------------------- 512-13-4- انتخاب رقابتی------------------------------- 522-13-5- انتخاب قطع سر------------------------------- 522-13-6- انتخاب قطعی بریندل-------------------------- 532-13-7- انتخاب جایگزینی نسلی اصلاح شده--------------- 532-13-8- انتخاب مسابقه------------------------------- 542-13-9- انتخاب مسابقه تصادفی------------------------ 542-14- انواع روشهای ترکیب------------------------------ 542-14-1- جابهجایی دودوئی----------------------------- 552-14-2- جابهجایي حقيقي------------------------------ 582-14-3- ترکیب تکنقطهای------------------------------ 592-14-4- ترکیب دو نقطهای----------------------------- 602-14-5- ترکیب n نقطهای------------------------------ 602-14-6- ترکیب یکنواخت------------------------------- 612-14-7- ترکیب حسابی--------------------------------- 622-14-8- ترتیب--------------------------------------- 622-14-9- چرخه---------------------------------------- 632-14-10- محدّب--------------------------------------- 642-14-11- بخش_نگاشته--------------------------------- 642-15- احتمال تركيب------------------------------------ 652-16- تحليل مكانيزم جابجایي--------------------------- 662-17- جهش--------------------------------------------- 662-17-1- جهش باينري---------------------------------- 692-17-2- جهش حقيقي----------------------------------- 692-17-3- وارونه سازی بیت----------------------------- 702-17-4- تغییر ترتیب قرارگیری------------------------ 702-17-5- وارون سازی---------------------------------- 712-17-6- تغییر مقدار--------------------------------- 712-18- محک اختتام اجرای الگوریتم ژنتیک----------------- 722-19- انواع الگوریتمهای ژنتیکی------------------------ 722-19-1- الگوریتم ژنتیکی سری------------------------- 732-19-2- الگوریتم ژنتیکی موازی----------------------- 742-20- مقایسه الگوریتم ژنتیک با سیستمهای طبیعی--------- 752-21- نقاط قوّت الگوریتمهای ژنتیک---------------------- 762-22- محدودیتهای GAها-------------------------------- 782-23- استراتژی برخورد با محدودیتها-------------------- 792-23-1- استراتژی اصلاح عملگرهای ژنتیک---------------- 792-23-2- استراتژی رَدّی-------------------------------- 792-23-3- استراتژی اصلاحی------------------------------ 802-23-4- استراتژی جریمهای---------------------------- 802-24- بهبود الگوریتم ژنتیک---------------------------- 812-25- چند نمونه از کاربردهای الگوریتمهای ژنتیک........ 81فصل سوم----------------------------------------- 863-1- مقدمه-------------------------------------------- 873-2- حلّ معماي هشت وزیر-------------------------------- 883-2-1- جمعیت آغازین--------------------------------- 903-2-2- تابع برازندگی-------------------------------- 943-2-3- آمیزش---------------------------------------- 953-2-4- جهش ژنتیکی----------------------------------- 963-3- الگوریتم ژنتیک و حلّ مسألۀ فروشندۀ دورهگرد........ 973-3-1- حل مسأله TSP به وسیله الگوریتم ژنتیک--------- 993-3-2- مقایسه روشهای مختلف الگوریتم و ژنتیک برای TSP1073-3-3- نتیجه گیری----------------------------------- 1083-4- حلّ مسأله معمای سودوکو---------------------------- 1093-4-1- حل مسأله------------------------------------- 1103-4-2- تعیین کروموزم-------------------------------- 1103-4-3- ساختن جمعيت آغازين يا نسل اول---------------- 1113-4-4- ساختن تابع از ارزش--------------------------- 1123-4-5- تركيب نمونهها و ساختن جواب جديد-------------- 1133-4-6- ارزشيابي مجموعه جواب------------------------- 1183-4-7- ساختن نسل بعد-------------------------------- 1183-5- مرتب سازی به کمک GA----------------------------- 1193-5-1- صورت مسأله----------------------------------- 1193-5-2- جمعیت آغازین--------------------------------- 1193-5-3- تابع برازندگی-------------------------------- 1223-5-4- انتخاب--------------------------------------- 1233-5-5- ترکیب---------------------------------------- 1233-5-6- جهش------------------------------------------ 124فهرست منابع و مراجع---------------------------- 126پیوست------------------------------------------- 127واژهنامه------------------------------------------ 143
الگوریتم ژنتیک
عنوان پروژه: الگوریتم ژنتیک پروژه دوره کارشناسی - گروه کامپیوترقالب بندی: wordتعداد صفحات: 202شرح مختصر:در واقع الگوریتمهای ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیشبینی یا تطبیق الگو استفاده میکنند.الگوریتمهای ژنتیک اغلب گزینه خوبی برای تکنیکهای پیشبینی بر مبنای تصادف هستند. مختصراً گفته میشود که الگوریتم ژنتیک (یا GA) یک تکنیک برنامهنویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده میکند. مسألهای که باید حل شود ورودی است و راهحلها طبق یک الگو کد گذاری میشوند که تابع fitness نام دارد هر راه حل کاندید را ارزیابی میکند که اکثر آنها به صورت تصادفی انتخاب میشوند.کلاً این الگوریتمها از بخش های زیر تشکیل میشوند: تابع برازش، نمایش، انتخاب، تغییر.فهرست مطالب:فصل اول----------------------------------------------------------- 11-1- مقدمه-------------------------------------------------------- 21-2- به دنبال تکامل...--------------------------------------------- 31-3- ایدۀ اصلی استفاده از الگوریتم ژنتیک------------------------ 41-4- درباره علم ژنتیک--------------------------------------------- 61-5- تاریخچۀ علم ژنتیک------------------------------------------- 61-6- تکامل طبیعی (قانون انتخاب طبیعی داروین)----------------- 71-7- رابطه تکامل طبیعی با روشهای هوش مصنوعی----------- 101-8- الگوریتم------------------------------------------------------ 111-8-1- الگوریتمهای جستجوی ناآگاهانه-------------------------- 121-8-1-الف- جستجوی لیست------------------------------------- 121-8-1-ب- جستجوی درختی-------------------------------------- 131-8-1-پ- جستجوی گراف----------------------------------------- 141-8-2- الگوریتمهای جستجوی آگاهانه---------------------------- 141-8-2-الف- جستجوی خصمانه------------------------------------ 151-9- مسائل NP-HARD---------------------------------------------161-10- هیوریستیک------------------------------------------------ 171-10-1- انواع الگوریتمهای هيوریستیک-------------------------- 19فصل دوم----------------------------------------------------------- 212-1- مقدمه-------------------------------------------------------- 222-2- الگوریتم ژنتیک----------------------------------------------- 232-3- مكانيزم الگوريتم ژنتيك--------------------------------------- 252-4- عملگرهاي الگوريتم ژنتيك----------------------------------- 282-4-1- کدگذاری--------------------------------------------------- 282-4-2- ارزیابی---------------------------------------------------- 292-4-3- ترکیب----------------------------------------------------- 292-4-4- جهش------------------------------------------------------ 292-4-5- رمزگشايي------------------------------------------------- 302-5- چارت الگوريتم به همراه شبه كد آن-------------------------- 302-5-1- شبه كد و توضيح آن------------------------------------- 312-5-2- چارت الگوریتم ژنتیک----------------------------------- 332-6- تابع هدف----------------------------------------- 342-7- روشهای کد کردن----------------------------------- 342-7-1- کدینگ باینری--------------------------------- 352-7-2- کدینگ جایگشتی-------------------------------- 362-7-3- کد گذاری مقدار------------------------------- 372-7-4- کدینگ درخت----------------------------------- 382-8- نمایش رشتهها------------------------------------- 392-9- انواع روشهای تشکیل رشته-------------------------- 412-10- باز گرداندن رشتهها به مجموعه متغيرها------------ 422-10-1- تعداد بيتهاي متناظر با هر متغير------------- 432-11- جمعيت------------------------------------------- 442-11-1- ايجادجمعيت اوليه---------------------------- 442-11-2- اندازه جمعيت-------------------------------- 452-12- محاسبه برازندگي (تابع ارزش)--------------------- 462-13- انواع روشهای انتخاب----------------------------- 482-13-1- انتخاب چرخ رولت----------------------------- 492-13-2- انتخاب حالت پایدار-------------------------- 512-13-3- انتخاب نخبه گرایی--------------------------- 512-13-4- انتخاب رقابتی------------------------------- 522-13-5- انتخاب قطع سر------------------------------- 522-13-6- انتخاب قطعی بریندل-------------------------- 532-13-7- انتخاب جایگزینی نسلی اصلاح شده--------------- 532-13-8- انتخاب مسابقه------------------------------- 542-13-9- انتخاب مسابقه تصادفی------------------------ 542-14- انواع روشهای ترکیب------------------------------ 542-14-1- جابهجایی دودوئی----------------------------- 552-14-2- جابهجایي حقيقي------------------------------ 582-14-3- ترکیب تکنقطهای------------------------------ 592-14-4- ترکیب دو نقطهای----------------------------- 602-14-5- ترکیب n نقطهای------------------------------ 602-14-6- ترکیب یکنواخت------------------------------- 612-14-7- ترکیب حسابی--------------------------------- 622-14-8- ترتیب--------------------------------------- 622-14-9- چرخه---------------------------------------- 632-14-10- محدّب--------------------------------------- 642-14-11- بخش_نگاشته--------------------------------- 642-15- احتمال تركيب------------------------------------ 652-16- تحليل مكانيزم جابجایي--------------------------- 662-17- جهش--------------------------------------------- 662-17-1- جهش باينري---------------------------------- 692-17-2- جهش حقيقي----------------------------------- 692-17-3- وارونه سازی بیت----------------------------- 702-17-4- تغییر ترتیب قرارگیری------------------------ 702-17-5- وارون سازی---------------------------------- 712-17-6- تغییر مقدار--------------------------------- 712-18- محک اختتام اجرای الگوریتم ژنتیک----------------- 722-19- انواع الگوریتمهای ژنتیکی------------------------ 722-19-1- الگوریتم ژنتیکی سری------------------------- 732-19-2- الگوریتم ژنتیکی موازی----------------------- 742-20- مقایسه الگوریتم ژنتیک با سیستمهای طبیعی--------- 752-21- نقاط قوّت الگوریتمهای ژنتیک---------------------- 762-22- محدودیتهای GAها-------------------------------- 782-23- استراتژی برخورد با محدودیتها-------------------- 792-23-1- استراتژی اصلاح عملگرهای ژنتیک---------------- 792-23-2- استراتژی رَدّی-------------------------------- 792-23-3- استراتژی اصلاحی------------------------------ 802-23-4- استراتژی جریمهای---------------------------- 802-24- بهبود الگوریتم ژنتیک---------------------------- 812-25- چند نمونه از کاربردهای الگوریتمهای ژنتیک........ 81فصل سوم----------------------------------------- 863-1- مقدمه-------------------------------------------- 873-2- حلّ معماي هشت وزیر-------------------------------- 883-2-1- جمعیت آغازین--------------------------------- 903-2-2- تابع برازندگی-------------------------------- 943-2-3- آمیزش---------------------------------------- 953-2-4- جهش ژنتیکی----------------------------------- 963-3- الگوریتم ژنتیک و حلّ مسألۀ فروشندۀ دورهگرد........ 973-3-1- حل مسأله TSP به وسیله الگوریتم ژنتیک--------- 993-3-2- مقایسه روشهای مختلف الگوریتم و ژنتیک برای TSP1073-3-3- نتیجه گیری----------------------------------- 1083-4- حلّ مسأله معمای سودوکو---------------------------- 1093-4-1- حل مسأله------------------------------------- 1103-4-2- تعیین کروموزم-------------------------------- 1103-4-3- ساختن جمعيت آغازين يا نسل اول---------------- 1113-4-4- ساختن تابع از ارزش--------------------------- 1123-4-5- تركيب نمونهها و ساختن جواب جديد-------------- 1133-4-6- ارزشيابي مجموعه جواب------------------------- 1183-4-7- ساختن نسل بعد-------------------------------- 1183-5- مرتب سازی به کمک GA----------------------------- 1193-5-1- صورت مسأله----------------------------------- 1193-5-2- جمعیت آغازین--------------------------------- 1193-5-3- تابع برازندگی-------------------------------- 1223-5-4- انتخاب--------------------------------------- 1233-5-5- ترکیب---------------------------------------- 1233-5-6- جهش------------------------------------------ 124فهرست منابع و مراجع---------------------------- 126پیوست------------------------------------------- 127واژهنامه------------------------------------------ 143