الگوریتم ژنتیک (Genetic Algorithm – GA) تکنیک جستجویی در علم رایانه برای یافتن راهحل تقریبی برای بهینهسازی و مسائل جستجو است. الگوریتم ژنتیک نوع خاصی از الگوریتمهای تکامل است که از تکنیکهای زیستشناسی فرگشتی مانند وراثت و جهش استفاده میکند. در واقع الگوریتمهای ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیشبینی یا تطبیق الگو استفاده میکنند. الگوریتمهای ژنتیک اغلب گزینه خوبی برای تکنیکهای پیشبینی بر مبنای تصادف هستند. مختصراً گفته میشود که الگوریتم ژنتیک (یا GA) یک تکنیک برنامهنویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده میکند. مسألهای که باید حل شود ورودی است و راهحلها طبق یک الگو کد گذاری میشوند که تابع fitness نام دارد هر راه حل کاندید را ارزیابی میکند که اکثر آنها به صورت تصادفی انتخاب میشوند. کلاً این الگوریتمها از بخش های زیر تشکیل میشوند: تابع برازش، نمایش، انتخاب، تغییر
فهرست :
فصل اول
مقدمه
به دنبال تکامل…
ایدۀ اصلی استفاده از الگوریتم ژنتیک
درباره علم ژنتیک
تاریخچۀ علم ژنتیک
تکامل طبیعی (قانون انتخاب طبیعی داروین)
رابطه تکامل طبیعی با روشهای هوش مصنوعی
الگوریتم
الگوریتمهای جستجوی ناآگاهانه
الف جستجوی لیست
ب جستجوی درختی
پ جستجوی گراف
الگوریتمهای جستجوی آگاهانه
الف جستجوی خصمانه
مسائل NPHard
هیوریستیک
انواع الگوریتمهای هیوریستیک
فصل دوم
مقدمه
الگوریتم ژنتیک
مکانیزم الگوریتم ژنتیک
عملگرهای الگوریتم ژنتیک
کدگذاری
ارزیابی
ترکیب
جهش
رمزگشایی
چارت الگوریتم به همراه شبه کد آن
شبه کد و توضیح آن
چارت الگوریتم ژنتیک
تابع هدف
روشهای کد کردن
کدینگ باینری
کدینگ جایگشتی
کد گذاری مقدار
کدینگ درخت
نمایش رشتهها
انواع روشهای تشکیل رشته
باز گرداندن رشتهها به مجموعه متغیرها
تعداد بیتهای متناظر با هر متغیر
جمعیت
ایجاد جمعیت اولیه
اندازه جمعیت
محاسبه برازندگی (تابع ارزش)
انواع روشهای انتخاب
انتخاب چرخ رولت
انتخاب حالت پایدار
انتخاب نخبه گرایی
انتخاب رقابتی
انتخاب قطع سر
انتخاب قطعی بریندل
انتخاب جایگزینی نسلی اصلاح شده
انتخاب مسابقه
انتخاب مسابقه تصادفی
انواع روشهای ترکیب
جابهجایی دودوئی
جابهجایی حقیقی
ترکیب تکنقطهای
ترکیب دو نقطهای
ترکیب n نقطهای
ترکیب یکنواخت
ترکیب حسابی
ترتیب
چرخه
محدّب
بخش_نگاشته
احتمال ترکیب
تحلیل مکانیزم جابجایی
جهش
جهش باینری
جهش حقیقی
وارونه سازی بیت
تغییر ترتیب قرارگیری
وارون سازی
تغییر مقدار
محک اختتام اجرای الگوریتم ژنتیک
انواع الگوریتمهای ژنتیکی
الگوریتم ژنتیکی سری
الگوریتم ژنتیکی موازی
مقایسه الگوریتم ژنتیک با سیستمهای طبیعی
نقاط قوّت الگوریتمهای ژنتیک
محدودیتهای GAها
استراتژی برخورد با محدودیتها
استراتژی اصلاح عملگرهای ژنتیک
استراتژی رَدّی
استراتژی اصلاحی
استراتژی جریمهای
بهبود الگوریتم ژنتیک
چند نمونه از کاربردهای الگوریتمهای ژنتیک
فصل سوم
مقدمه
حلّ معمای هشت وزیر
جمعیت آغازین
تابع برازندگی
آمیزش
جهش ژنتیکی
الگوریتم ژنتیک و حلّ مسألۀ فروشندۀ دورهگرد
حل مسأله TSP به وسیله الگوریتم ژنتیک
مقایسه روشهای مختلف الگوریتم و ژنتیک برای TSP
نتیجه گیری
حلّ مسأله معمای سودوکو
حل مسأله
تعیین کروموزم
ساختن جمعیت آغازین یا نسل اول
ساختن تابع از ارزش
ترکیب نمونهها و ساختن جواب جدید
ارزشیابی مجموعه جواب
ساختن نسل بعد
مرتب سازی به کمک GA
صورت مسأله
جمعیت آغازین
تابع برازندگی
انتخاب
ترکیب
جهش
فهرست منابع و مراجع
پیوست
واژهنامه
فهرست :
مقدمه
به دنبال تکامل…
ایده اصلی استفاده از الگوریتم ژنتیک
درباره علم ژنتیک
تاریخچۀ علم ژنتیک
تکامل طبیعی (قانون انتخاب طبیعی داروین)
رابطه تکامل طبیعی با روش های هوش مصنوعی
الگوریتم
الگوریتم های جستجوی ناآگاهانه
جستجوی لیست
جستجوی درختی
جستجوی گراف
الگوریتم های جستجوی آگاهانه
الف جستجوی خصمانه
مسائل NP Hard
هیوریستیک
انواع الگوریتم های هیوریستیک
فصل دوم
مقدمه
الگوریتم ژنتیک
مکانیزم الگوریتم ژنتیک
عملگرهای الگوریتم ژنتیک
کدگذاری
ارزیابی
ترکیب
جهش
رمزگشایی
چارت الگوریتم به همراه شبه کد آ ن
شبه کد و توضیح آن
چارت الگوریتم ژنتیک
تابع هدف
روش های کد کردن
کدینگ باینری
کدینگ جایگشتی
کد گذاری مقدار
کدینگ درخت
نمایش رشته ها
انواع روش های تشکیل رشته
باز گرداندن رشته ها به مجموعه متغیرها
تعداد بیت های متناظر با هر متغی ر
جمعیت
ایجاد جمعیت اولیه
اندازه جمعیت
محاسبه برازندگی (تابع ارزش)
انواع روش های انتخاب
انتخاب چرخ رولت
انتخاب حالت پایدار
انتخاب نخبه گرایی
انتخاب رقابتی
انتخاب قطع سر
انتخاب قطعی بریندل
انتخاب جایگزینی نسلی اصلاح شده
انتخاب مسابقه
انتخاب مسابقه تصادفی
انواع روش های ترکیب
جابه جایی دودوئی
جابه جایی حقیقی
ترکیب تک نقطه ا ی
ترکیب دو نقطه ای
ترکیب یکنواخت
ترکیب حسابی
ترتیب
چرخه
بخش نگاشته
احتمال ترکیب
تحلیل مکانیزم جابجایی
جهش
جهش باینری
جهش حقیقی
وارونه سازی بیت
تغییر ترتیب قرارگیر ی
وارون سازی
تغییر مقدار
محک اختتام اجرای الگوریتم ژنتیک
انواع الگوریتم های ژنتیکی
الگوریتم ژنتیکی سری
الگوریتم ژنتیکی موازی
مقایسه الگوریتم ژنتیک با سیستم های طبیعی
نقاط قوت الگوریتم های ژنتیک
استراتژی برخورد با محدودیت ها
استراتژی اصلاح عملگرهای ژنتیک
استراتژی اصلاحی
استراتژی جریمه ای
بهبود الگوریتم ژنتیک
چند نمونه از کاربردهای الگوریتم های ژنتیک
فصل سوم
مقدمه
حلّ معمای هشت وزیر
جمعیت آغازین
تابع برازندگی
آمیزش
جهش ژنتیکی
الگوریتم ژنتیک و حلّ مسألۀ فروشندة دوره گرد
به وسیله الگوریتم ژنتیک TS P حل مسأله
TS P مقایسه روشهای مختلف الگوریتم و ژنتیک برای
نتیجه گیر ی
حلّ مسأله معمای سودوکو
حل مسأله
تعیین کروموزم
ساختن جمعیت آغازین یا نسل اول
ساختن تابع از ارزش
ترکیب نمونه ها و ساختن جواب جدید
ارزشیابی مجموعه جواب
ساختن نسل بعد
مرتب سازی به کمک G A
صورت مسأله
جمعیت آغازین
تابع برازندگی
انتخاب
ترکیب
جهش
فهرست منابع و مراجع
پیوست
واژه نامه
نقاط بهینه محلی و بهینه کلی
چارت الگوریتم ژنتیک
ترکیب تک نقطه
ترکیب جایگشتی
جهش کدینگ جایگشتی
جهش کدینگ مقدار
کدینگ درختی
نمونه کروموزوم الگوریتم ژنتیکی
روش سری
روش محاطی
چرخه رولت
جابجایی چند نقطه
ترکیب تک نقطه ای
ترکیب دو نقطه ای
ترکیب یکنواخت
شبیه سازی جهش به کمک نمودار
جهش باینری
جهش:وارونه سازی بیت
جهش:تغییر ترتیب قرارگیری
جهش: وارون ساز ی
جهش: تغییر مقدار
نمودار بررسی رابطه های جمعیت، کیفیت جواب و معیار توقف بایکدیگر
چینش هشت مهره وزیر در صفحه شطرنج بدون تهدید یکدیگر
جدول سودوکو