نعيمه خاكزاد سودابه سليماني خدايار خليلي استاد مربوطه: مهندس گرجي زاده الگوريتم هاي تكاملي نعيمه خاكزاد سودابه سليماني خدايار خليلي استاد مربوطه: مهندس گرجي زاده
مقدمه : ايده استفاده از قوانين زيستي و تكامل طبيعي در سيستمهاي هوش مصنوعي به بيش از سه دهه پيش ميرسد و به نظر ميرسد كه در چند سال اخير، اهميت آن بيش از پيش آشكار شدهاست و تحقيقات در اين زمينه به ميزان بسيار زيادي افزايش يافتهاست از الگوريتمهاي تكاملي براي مسايل متنوعي با دامنههاي متفاوت مانند بهينهسازي، برنامهنويسي خودكار، يادگيري ماشين، اقتصاد، تحقيقات عملياتي، اكولوژي، ژنتيك افراد و مطالعه بر روي سير تكاملي تغييرات استفاده ميشود.
كلاسهاي بزرگ و گسترده الگوريتمهاي تكاملي عبارتند از : الگوريتمهاي ژنتيكي برنامهنويسي تكاملي استراتژيهاي تكاملي سيستمهاي دستهبندي برنامهنويسي ژنتيك
تاريخچه : الگوريتمهاي ژنتيکي با توجه به نظريه داروين در مورد تکامل رونق گرفتند و سپس ايده محاسبه تكاملي در سال 1960 توسط I.Rechenberg تحت عنوان استراتژيهاي تكاملي معرفي شد. نظريه او توسط پژوهشگران ديگر گسترش يافت. الگوريتمهاي ژنتيكي توسط فردي به نام John. Holland بنيانگذاري شد
ديد کلي از الگوريتمهاي ژنتيكي ديد کلي از الگوريتمهاي ژنتيكي فرايند حيات جمعيت از ديد ژنتيكي
يک شبه کد براي الگوريتمهاي ژنتيكي يک شبه کد براي الگوريتمهاي ژنتيكي شبه کد براي الگوريتمهاي ژنتيكي به صورت زير است: نمايش و کدکردن[Encoding] شروع [Start] ارزشدهي [Fitness] جمعيت جديد [New population] انتخاب [Selection] تقاطع [Crossover] جهش [Mutation] پذيرش [Accepting] جايگزيني [Replace] بررسي [Test] حلقه [Loop]
- کدکردن - ايجاد جمعيت جديد رشتههايي از حروف الفباء جايگشت درخت جهش رشته باينري رشتههايي از حروف الفباء جايگشت درخت - ارزشدهي - ايجاد جمعيت جديد انتخاب روش انتخاب تصادفي روش چرخ رولت روش رتبهبندی روش Rank Power تقاطع جهش
چند نکته راجع به الگوريتمهاي ژنتيکي در جريان الگوريتمهاي ژنتيکي اين احتمال وجود دارد که از يک نوع کروموزوم به تعداد بسيار زيادي توليد شود و سبب اين امر شود که جمعيت ما از تنوع جواب کمتري نسبت به ميزان جمعيت برخوردار باشد و سبب ايجاد مشکل در الگوريتم شود. براي حل اين مشکل روشهاي زيادي مطرح شدهاست که يکي از اين روشها روش Windowing ميباشد.
الگوريتمهاي ژنتيكي زماني موثر و كارا هستند كه : فضاي جستجوي مساله بزرگ يا پيچيده است و فهم ما از ﺁن كم است. هيچ تجزيه و تحليل رياضي براي مسأله در دسترس نيست. الگوريتمهاي سنتي با شكست مواجه مي شوند.
مسائلي كه مي توان با الگوريتمهاي ژنتيکي حل كرد : مسائلي از قبيل مسأله N وزير، رنگآميزي گراف، زمانبنديها، زمانبندي امتحانات، زمانبندي مسابقات ورزشي، زمانبندي سيستمهای چندپردازنده، واگذاري مشاغل، فروشنده دورهگرد ، بستهبندي و هر مساله که بتوان آن را به صورت ژنتيکي کد کرد
بهينه سازي هنگاميکه مساله بهينهسازي تنها شامل يک تابع هدف باشد عمل يافتن جواب بهينه، بهينهسازي تک هدفه ناميده ميشود هنگاميکه يک مساله بهينهسازي شامل بيش از يک تابع هدف باشد عمل يافتن يک يا چندين جواب بهينه را بهينهسازي چندهدفه مينامند از آنجايي که بهينهسازي چندهدفه شامل چندين هدف است بديهي است که بهينهسازي تکهدفه در واقع حالت خاصي از بهينهسازي چندهدفه ميباشد.
تفاوتهاي بنيادي جوابهای فرضی برای يک مساله تصمیمگیری خرید ماشین
مقدمه در اينجا به مسائل مربوط به مساله فروشنده دورهگرد از قبیل روشهای حل، کسانی که این گونه مسائل را حل کردند و. . . مى پردازیم .
مسائل مربوط به مساله فروشنده دورهگرد از قبیل: تعريف علت نامگذارى تاریخچه اهميت مطالعه مساله
كاربردهاى عملى TSP كاربرد TSP براى پيدا كردن تور كاربرد TSP در شبكه هاى com
TSP مساله انواع TSP متقارن TSP نامتقارن TSP چند فروشنده اى
چند روش مساله فروشنده دورهگرد حل TSP به روش توليد همه حالات ممكن حل TSP به روش جستجوى حريصانه حل TSP به الگوریتم نزديكترين همسايه حل TSP به الگوریتمهای ژنتیک
تعاريف رسمى از TSP به عنوان يك گراف TSP به عنوان يك جايگشتTSP
الگوریتم های ژنتیکی و مساله فروشنده دوره گرد در این قسمت می خواهیم به این مساله از دید ژنتیک نگاه کنیم و روش حل آن با الگوریتمهای ژنتیکی و همچنین مسائل مربوط به الگوریتمهای ژنتیکی که در مورد مساله فروشنده دورهگرد باید دقت شود و مسائل دیگر بپردازیم.
کدکردن مساله فروشنده دوره گرد کدکردن ماتریسی کدکردن به صورت جایگشت
1- تقاطع در مساله فروشنده دوره گرد
1- تقاطع در مساله فروشنده دوره گرد 1-1- روش PMX (Partially Mapped Crossover) انتخاب یک نقطه تصادفی در کروموزوم در روش PMX تعویض اعداد موجود در محل انتخاب
1- تقاطع در مساله فروشنده دوره گرد 1-2- روش OX Ordered Crossover))
1- تقاطع در مساله فروشنده دوره گرد (Cycle Crossover) 1-3- روش CX
1- تقاطع در مساله فروشنده دوره گرد 1-4- روش MX (Merging Crossover)
1- تقاطع در مساله فروشنده دوره گرد (Modified Ordered Crossover) 1-5- روش MOX
1- تقاطع در مساله فروشنده دوره گرد 1-6- روش Greedy Subtour تقاطع
جهش در مساله فروشنده دوره گرد مشکل عدم حالت جایگشتی پس از جهش معمولی
انواع روشهای جهش: 1- روش Insert جهش روش Swap جهش -2
انواع روشهای جهش: 3- روش Inversion جهش 4- روش Scramble جهش
انواع روشهای جهش: 5- روش 2-opt جهش 6- روش 3-opt جهش
نتيجه گيري پيشنهادات