معین اوحدی کارشک اردیبهشت 1391 فهرست .1 .2 .3 .4 .5 اهداف بهینه سازی بهینه سازی : الهام از طبیعت الگوریتم رقابت استعماری مفاهیم نمای کلی فلوچارت مزایا معایب .1 .2 .3 .1 .2 .3 الگوریتم ژنتیک مفاهیم ویژگی ها کارکرد عملگر های الگوریتم ژنتیک درالگوریتم رقابت استعماری جستجوی.
Download ReportTranscript معین اوحدی کارشک اردیبهشت 1391 فهرست .1 .2 .3 .4 .5 اهداف بهینه سازی بهینه سازی : الهام از طبیعت الگوریتم رقابت استعماری مفاهیم نمای کلی فلوچارت مزایا معایب .1 .2 .3 .1 .2 .3 الگوریتم ژنتیک مفاهیم ویژگی ها کارکرد عملگر های الگوریتم ژنتیک درالگوریتم رقابت استعماری جستجوی.
Slide 1
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 2
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 3
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 4
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 5
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 6
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 7
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 8
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 9
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 10
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 11
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 12
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 13
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 14
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 15
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 16
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 17
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 2
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 3
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 4
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 5
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 6
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 7
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 8
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 9
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 10
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 11
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 12
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 13
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 14
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 15
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 16
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی
Slide 17
معین اوحدی کارشک
اردیبهشت 1391
فهرست
.1
.2
.3
.4
.5
اهداف بهینه سازی
بهینه سازی :الهام از طبیعت
الگوریتم رقابت استعماری
مفاهیم
نمای کلی
فلوچارت
مزایا
معایب
.1
.2
.3
.1
.2
.3
الگوریتم ژنتیک
مفاهیم
ویژگی ها
کارکرد
عملگر های الگوریتم ژنتیک درالگوریتم
رقابت استعماری
جستجوی کامل تر محیط
رفع همگرایی سریع
باز گردن قفل الگوریتم
اهداف بهینه سازی
هدف از بهينهسازي يافتن بهترين جواب قابل قبول ،با توجه به محدوديتها و نيازهاي
مسأله است.
براي يك مسأله ،ممكن است جوابهاي مختلفي موجود باشد كه براي مقايسه آنها و
انتخاب جواب بهينه ،تابعي به نام تابع هدف تعريف ميشود .انتخاب اين تابع به طبيعت
مسأله وابسته است.
مثال:
زمان سفر يا هزينه از جمله اهداف رايج بهينهسازي شبكههاي حمل و نقل ميباشد.
بهینه سازی :الهام از طبیعت
الگوریتم های بهینه سازی الهام گرفته شده از طبیعت:
الهام گرفته شده از فرآیند های بیولوژیکی و فیزیولوژیکی .مانند :الگوریتم ژنتیک – الگوریتم
بهینه سازی کلونی مورچه ها.
الگوریتم های الهام گرفته شده از پدیده های فیزیکی .مانند :الگوریتم تبرید شبیه سازی
شده.
الهام از نمود های انسانی و پدیده های اجتماعی ,فرهنگی ,سیاس ی و . ...مانند :الگوریتم
رقابت استعماری.
الگوریتم رقابت استعماری :مفاهیم
الگوریتم رقابت استعماری مانند سایر الگوریتم های تکاملی با یک جمعیت اولیه شروع می
شود.
هر عنصر جمعیت یک کشور نامیده می شود.
کشور ها به دو دسته ی استعمارگر و مستعمره تقسیم می شوند.
هسته ی اصلی الگوریتم را سیاست جذب و رقابت های استعماری تشکیل می دهد.
سیاست جذب :کشور های استعمارگر با روش هایی چون احداث مدارس به زبان خود ,مردم
کشور های مستعمره را از هویتشان دور کرده و به سمت فرهنگ خود متمایل می سازند.
الگوریتم رقابت استعماری :مفاهیم
اگر قدرت مستعمره از کشور استعمارگر بیشتر شود ,جای این دو عوض می شود.
قدرت امپراطوری عبارت است از مجموع قدرت کشور استعمارگر و درصدی از میانگین قدرت
کشورهای مستعمره .بنابر این هرکشور استعمار گر سعی دارد تا با جذب مستعمراتش آن ها ره
پیشرفت دهد .اما این پیشرفت با اندکی انحراف (و نه به صورت مستقیم) صورت می گیرد .در
واقعیت نیز چنین است که همیشه سیاست جذب کشور استعمار گر مطابق پیش بینی ها انجام نمی
شود.
امپراطوری های ضعیف به تدریج قدرت خود را از دست داده و در نهایت از بین می روند .در نهایت
حالتی بوجود می اید که تنها یک امپراطوری قدرتمند باقی مانده و بقیه از بین می روند.
الگوریتم رقابت استعماری :نمای کلی
الگوریتم رقابت استعماری :فلوچارت
الگوریتم رقابت استعماری :مزایا
الگوریتم رقابت استعماری نسبت به سایر روش های الهام گرفته شده از طبیعت مزایای زیادی
دارد .از جمله:
نو بودن ایده.
مبتنی بر رفتار اجتماعی انسان که هوشمندانه تر از رفتار های بیولوژیکی اوست.
سرعت همگرایی باال.
توانایی بهینه سازی توابعی با تعداد متغیر های بسیار زیاد.
الگوریتم رقابت استعماری :معایب
الگوریتم رقابت استعماری اگر چه الگوریتمی بسیار قدرتمند برای بهینه سازی توابع چند متغیره
است اما ایراداتی نیز دارد که از آن جمله موارد زیر قابل ذکر است:
ضعف در جستجوی کامل محیط :وقتی ابعاد مساله بسیار زیاد شود ,الگوریتم از
جستجوی کامل فضای حالت عاجز خواهد شد.
همگرایی بسیار سریع :الگوریتم ,بسیار سریع به نقاط بهینه ی محلی میل می کند و بنابراین
باید بارها دوباره اجرا شود.
قفل کردن :گاهی وضعیتی بوجود می آید که تغییراتی که توسط عملگر الگوریتم اتفاق می
افتد (جا به جایی کشور ها بین امپراطوری ها) در یک حلقه ی بسته بارها و بارها تکرار می
شود و تنها راه حل این خواهد بود که الگوریتم دوباره اجرا شود.
الگوریتم ژنتیک :مفاهیم
الگوریتم ژنتیک برای حل یک مسئله مجموعه بسیار بزرگی از راه حلهای ممکن را تولید
می کند.
هر یک از این راه حلها با استفاده از یک “ تابع تناسب ”مورد ارزیابی قرار می گیرد.
تعدادی از بهترین راه حلها باعث تولید راه حلهای جدیدی می شوند .که اینکار باعث
تکامل راه حلها می گردد.
بدین ترتیب فضای جستجو در جتهی تکامل پیدا میکند که به راه حل مطلوب برسد.
در صورت انتخاب صحیح پارامترها ،این روش میتواند بسیار موثر عمل نماید.
الگوریتم ژنتیک :ویژگی ها
الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند می تواند بکار
گرفته شود.
در مسایلی با فضای فرضیه پیچیده که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند
می توان از الگوریتم ژنتیک برای جستجو استفاده نمود.
برای بهینه سازی گسسته بسیار مورد استفاده قرار می گیرد.
الگوریتم ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو می توان کامپیوترهای
ارزان قیمت تری را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
الگوریتم ژنتیک :کارکرد
در ابتدای الگوریتم تعداد زیادی کروموزوم تصادفی تولید می شود.
هر کروموزوم برابر یکی از جوابهای حل مسئله است .
فرض کنید Nکروموزوم تولید شده باشد .
مراحل زیر تا حل کامل مسئله ادامه می یابد :
هر کروموزوم را تست کنید و ببینید تا چه حدی برای حل مسئله جواب می دهد و یک عدد
fitness scoreبه آن نسبت دهید.
دو تا از کروموزوم ها انتخاب کنید – انتخاب شدن بستگی به fitness-scoreدارد – روش
معروف .Roulette wheel:
با توجه به crossover rateبیتهای دو کروموزون را در نقاط تصادفی جابجا کنید.
در کروموزون های انتخاب شده بعض ی بیت ها را با توجه به mutation rateبر عکس کنید.
مراحل مرحله قبل را تا وقتی جمعیت جدیدی به اندازه Nبوجود نیامده ادامه دهید .
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
جستجوی کامل تر محیط
همان طور که اشاره شد الگوریتم رقابت استعماری در جستجوی محیط ضعیف عمل
می کند .اگر از عملگر اصلی الگوریتم ژنتیک (برش) و الگوریتم رقابت استعماری (حرکت
مستعمره به سمت استعمارگر و جا به جایی کشور ها بین امپراطوری ها) همزمان
استفاده شود جستجو بسیار کامل تر انجام خواهد شد .عملگر برش باعث افزایش
انحراف از معیار در هر امپراطوری می شود و از این طریق باعث جستجوی کامل تر
خواهد شد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
رفع همگرایی سریع
هنگامی که با استفاده از عملگر برش محیط کامل تر جستجو شود سرعت همگرایی نیز
کاهش خواهد یافت .اما در صورتی که باز هم سرعت همگرایی از حد انتظار بیشتر باشد
می توان از عملگر جهش نیز بهره برد .به این صورت که یکی از کشور های یک امپراطوری
به صورت تصادفی انتخاب شده و در یک امپراطوری دیگر قرار می گیرد.
عملگر های الگوریتم ژنتیک درالگوریتم رقابت
استعماری
باز گردن قفل الگوریتم
از عملگر جهش می توان برای باز کردن قفل الگوریتم نیز بهره برد .پس از انتخاب تصادفی
یک کشور یک کپی از آن در امپراطوری دیگر قرار می گیرد .حال در صورتی که محدودیت
جا به جایی کشور ها بین امپراطوری ها از بین برود نرخ تغییرات به شدت زیاد شده و در
نتیجه الگوریتم اصطالحا باز خواهد شد.
قدردانی