دانلود کد متلب الگوریتم ژنتیک
دانلود کد متلب الگوریتم ژنتیک
genetic algorithm
Free Download algorithm Matlab Codes
لینک رایگان کد متلب:
http://s4.picofile.com/file/8181762284/GA.rar.html
برای دانلود فیلم آموزشی رایگان این الگوریتم در Matlab اینجا کلیک کنید.
انجام پروژه متلب پایتون الگوریتم ژنتیک (کلیک کنید)
هم چنین برای دانلود رایگان کدهای متلب کاربردی الگوریتم ژنتیک بر روی لینکهای زیر کلیک نمایید:
دانلود رایگان کد matlab جزوه کتاب آموزشی دوره آموزش تدریس خصوصی پایان نامه فارسی انگلیسی ارشد دکتری دانشگاه شریف تهران امیر کبیر دانلود رایگان مقاله با ترجمه انجام پروژه های دانشجویی matlab دانلود ppt word pdf مهندسی برق هوش مصنوعی کامیوتر مکانیک عمران صنایع مدیریت
در زمینه هوش مصنوعی، الگوریتم ژنتیک (GA) اکتشافی جستجو که شبیه فرایند انتخاب طبیعی است. این اکتشافی (گاهی اوقات فراابتکاری نام) است به طور معمول مورد استفاده برای تولید راه حل های مفید برای بهینه سازی و جستجو مشکلات. [۱] الگوریتم های ژنتیکی متعلق به کلاس بزرگتر از الگوریتم های تکاملی (EA)، که تولید راه حل های بهینه سازی مشکلات با استفاده از تکنیک های الهام گرفته از طبیعی تکامل، مانند ارث، جهش، انتخاب، و متقاطع. الگوریتم های ژنتیکی پیدا برنامه در بیوانفورماتیک، فیلوژنتیک، علوم محاسباتی، مهندسی، اقتصاد، شیمی، تولید، ریاضیات، فیزیک، pharmacometrics و زمینه های دیگر. محتویات ۱ روش ۱٫۱ مقداردهی اولیه ۱٫۲ انتخاب ۱٫۳ اپراتورهای ژنتیکی ۱٫۴ ختم ۲ فرضیه بلوک ساختمان ۳ محدودیت ها ۴ انواع نمایندگی ۴٫۱ کروموزوم ۴٫۲ نخبه سالاری ۴٫۳ پیاده سازی موازی ۴٫۴ گاز تطبیقی ۵ دامنه مشکل ۶ تاریخچه ۷ تکنیک های مرتبط ۷٫۱ زمینه های مرجع ۷٫۲ رشته های مرتبط ۷٫۲٫۱ الگوریتم های تکاملی هوش ۷٫۲٫۲ ازدحام ۷٫۲٫۳ دیگر الگوریتم های محاسبات تکاملی ۷٫۲٫۴ روش فراابتکاری دیگر ۷٫۲٫۵ دیگر روش های بهینه سازی تصادفی ۸ همچنین نگاه کنید به ۹ پیوند به بیرون ۱۰ کتابشناسی ۱۱ پیوند به بیرون ۱۱٫۱ منابع ۱۱٫۲ آموزش روش شناسی در الگوریتم ژنتیک، جمعیت راه حل های نامزد (به نام افراد، موجودات، و یا فنوتیپ) به مسئله بهینه سازی به سمت راه حل های بهتر تکامل یافته است. هر راه حل کاندید دارای مجموعه ای از خواص (کروموزوم یا ژنوتیپ آن) است که می تواند جهش یافته و تغییر. به طور سنتی، راه حل ها در باینری به عنوان رشته از ۰s و ۱S و نمایندگی، اما دیگر کدگذاری نیز امکان پذیر است. [۲] تکامل معمولا از جمعیت افراد به طور تصادفی تولید شروع می شود، و یک فرایند تکراری است، با جمعیت در هر تکرار نسل نامیده می شود. در هر نسل، تناسب اندام هر فرد در جمعیت مورد بررسی است. تناسب اندام است که معمولا ارزش تابع هدف در مسئله بهینه سازی حل شده. افراد مناسب تر هستند تصادفی از جمعیت فعلی انتخاب، و ژنوم هر فرد اصلاح شده (ترکیب و احتمالا به طور تصادفی جهش یافته) به شکل یک نسل جدید. نسل جدیدی از راه حل های نامزد است و سپس در تکرار بعدی الگوریتم استفاده می شود. معمولا، الگوریتم خاتمه می یابد یا حداکثر تعداد نسل تولید شده است، و یا سطح تناسب اندام رضایت بخش شده است برای جمعیت رسیده است. الگوریتم ژنتیک معمولی نیاز: نمایندگی ژنتیکی حوزه راه حل، یک تابع تناسب اندام برای ارزیابی دامنه راه حل. نمایندگی استاندارد از هر راه حل کاندید است به عنوان مجموعه ای از بیت. [۲] آرایه از انواع و سازه های دیگر را می توان در اساس به همان شیوه استفاده می شود. ویژگی اصلی که باعث می شود این بازنمودها ژنتیکی مناسب است که قطعات آنها می توان به راحتی با توجه به اندازه ثابت خود را، که تسهیل عملیات متقاطع ساده تراز وسط قرار دارد. تضمینی طول متغیر نیز ممکن است مورد استفاده قرار گیرد، اما اجرای متقاطع در این مورد پیچیده تر است. تضمینی مانند درخت در برنامه نویسی و نمودار شکل تضمینی ژنتیکی در برنامه نویسی تکاملی کاوش کاوش. ترکیبی از هر دو کروموزوم خطی و درختان در برنامه نویسی بیان ژن کشف شده است. هنگامی که نمایندگی ژنتیکی شده و تابع تعریف شده، GA اقدام به مقداردهی اولیه جمعیت راه حل و سپس به بهبود آن را از طریق برنامه های تکراری از جهش، متقاطع، وارونگی و انتخاب اپراتورهای. مقدار دهی اولیه اندازه جمعیت بستگی به ماهیت مشکل است، اما به طور معمول شامل چندین صدها یا هزاران نفر از راه حل های ممکن است. اغلب، جمعیت اولیه به طور تصادفی تولید، اجازه می دهد از کل محدوده راه حل های ممکن (فضای جستجو). گاهی اوقات، راه حل های ممکن است “کشت” در مناطقی که راه حل بهینه به احتمال زیاد یافت می شود. انتخاب نوشتار اصلی: انتخاب (الگوریتم ژنتیک) در طول هر نسل های پی در پی، نسبت جمعیت موجود انتخاب شده است به نژاد نسل جدید. راه حل های فردی از طریق یک فرآیند مبتنی بر تناسب اندام، که در آن راه حل مشخصه (به عنوان یک تابع تناسب اندام اندازه گیری) معمولا بیشتر احتمال دارد به انتخاب شود انتخاب شده است. روش انتخاب برخی نرخ تناسب اندام از هر راه حل و ترجیحا انتخاب بهترین راه حل. دیگر روش نرخ تنها یک نمونه تصادفی از جمعیت، به عنوان روند سابق ممکن است بسیار وقت گیر. تابع هدف در طول نمایندگی ژنتیکی تعریف و اندازه گیری کیفیت از راه حل ارائه شده است. تابع تناسب اندام مشکل وابسته است همیشه. به عنوان مثال، در مشکل کوله پشتی کس می خواهد به حداکثر رساندن ارزش کل اشیاء است که می تواند در یک کوله پشتی برخی از ظرفیت ثابت قرار داده است. یک نماینده از یک راه حل ممکن است مجموعه ای از بیت، که در آن هر بیت نشان دهنده یک شی مختلف، و ارزش کمی (۰ یا ۱) نشان دهنده یا نه جسم است در کوله پشتی. نه هر جمله نمایندگی معتبر است، به عنوان اندازه اشیاء ممکن است ظرفیت کوله پشتی تجاوز. تناسب اندام از راه حل جمع ارزش از تمام اشیاء در کوله پشتی است اگر نمایندگی معتبر است، و یا در غیر این صورت ۰٫ در برخی از مشکلات، آن را سخت و یا حتی غیر ممکن است برای تعریف بیان تناسب اندام. در این موارد، یک شبیه سازی ممکن است برای تعیین مقدار تابع تناسب اندام از یک فنوتیپ استفاده (به عنوان مثال دینامیک سیالات محاسباتی استفاده می شود برای تعیین مقاومت هوا از یک وسیله نقلیه که شکل به عنوان فنوتیپ کد گذاری)، و یا حتی الگوریتم های ژنتیکی تعاملی استفاده می شود. اپراتورهای ژنتیکی مقاله اصلی: متقاطع (الگوریتم ژنتیک) و جهش (الگوریتم ژنتیک) گام بعدی این است برای تولید یک جمعیت نسل دوم از راه حل های از کسانی که از طریق ترکیبی از اپراتورهای ژنتیکی انتخاب: متقاطع (نیز نامیده می شود نوترکیبی)، و جهش. برای هر یک از راه حل های جدید برای ساخته شوند، یک جفت از “پدر و مادر” راه حل برای پرورش از استخر قبلا انتخاب شده انتخاب شده است. با تولید یک راه حل “کودک” با استفاده از روش های فوق متقاطع و جهش، یک راه حل جدید ایجاد می شود که به طور معمول سهام بسیاری از ویژگی های “پدر و مادر” است. پدر و مادر جدید برای هر کودک جدید انتخاب شده، و روند ادامه می یابد تا زمانی که یک جمعیت جدید از راه حل های از اندازه مناسب تولید شده است. اگر چه روش تولید مثل است که در استفاده از دو پدر و مادر بر اساس بیش “زیست شناسی الهام”، برخی تحقیقات [۳] [۴] نشان می دهد که بیش از دو “پدر و مادر” تولید کروموزوم با کیفیت بالاتر. این فرآیندها در نهایت در جمعیت نسل بعدی از کروموزوم است که متفاوت از نسل اولیه منجر شود. به طور کلی تناسب اندام متوسط خواهد شد که با این روش برای افزایش جمعیت، از سال تنها بهترین موجودات از نسل اول برای پرورش انتخاب شده، همراه با بخش کوچکی از راه حل های کمتر مناسب. این راه حل کمتر مناسب اطمینان تنوع ژنتیکی در داخل استخر ژنتیکی از پدر و مادر و در نتیجه تنوع ژنتیکی نسل پس از آن از کودکان اطمینان حاصل شود. نظر بیش از اهمیت متقاطع در مقابل جهش تقسیم شده است. هستند بسیاری از مراجع در فوگل (۲۰۰۶) که اهمیت جستجو بر اساس جهش پشتیبانی وجود دارد. اگر چه متقاطع و جهش به عنوان اپراتورهای ژنتیکی اصلی شناخته شده است، ممکن است به استفاده از اپراتورهای دیگر مانند گروه بندی دوباره، استعمار-انقراض، و یا مهاجرت در الگوریتم های ژنتیکی است. [۵] این پارامترهای تنظیم ارزش مانند احتمال جهش، احتمال متقاطع و اندازه جمعیت برای پیدا کردن تنظیمات مناسب برای کلاس مشکل در حال کار کرده است. نرخ جهش بسیار کوچک ممکن است به رانش ژنتیکی (که غیر ارگودیک در طبیعت) منجر شود. نرخ نوترکیبی است که بیش از حد بالا ممکن است به همگرایی زودرس از الگوریتم ژنتیک منجر شود. نرخ جهش است که بیش از حد بالا ممکن است به از دست دادن راه حل های خوب منجر شود، مگر اینکه انتخاب نخبه گرا است استفاده شده است. ختم این فرایند نسل تکرار شده است تا زمانی که شرط خاتمه رسیده است. شرایط فسخ مشترک هستند: یک راه حل پیدا شده است که برآورده حداقل معیارهای تعداد ثابتی از نسل رسیده بودجه اختصاص داده شده (محاسبه زمان / پول) رسیده تناسب اندام بالاترین راه حل رتبه بندی است رسیدن به و یا تا به فلات به طوری که تکرار پی در پی دیگر تولید نتایج بهتر رسیده بازرسی دستی ترکیب از بالا فرضیه بلوک ساختمان الگوریتم های ژنتیکی ساده برای اجرای هستند، اما رفتار آنها سخت است درک کنند. به طور خاص به درک چرا این الگوریتم ها اغلب در راه حل های تولید از تناسب اندام بالا موفق زمانی که به مشکلات عملی اعمال دشوار است. فرضیه بلوک ساختمان (BBH) شامل: شرح اکتشافی است که انجام سازگاری با شناسایی و بازترکیب “بلوک های ساختمان”، منظور یعنی، کم طرحوارهها تعریف طول با متوسط تناسب اندام بالا. فرضیه که یک الگوریتم ژنتیکی انجام سازگاری با به طور ضمنی و کارآمد اجرای این اکتشافی. گلدبرگ توصیف اکتشافی به شرح زیر است: “کوتاه، منظور کم، و طرحوارهها بسیار مناسب نمونه ها، ترکیب [عبور بیش از]، و resampled به شکل رشته های آمادگی جسمانی به طور بالقوه بالاتر است. در راه، با کار با این طرحوارهها خاص [بلوک های ساختمان]، ما به پیچیدگی کاهش می یابد مشکل ما، به جای ساخت رشته عملکرد بالا با تلاش هر ترکیبی قابل تصور، ما رشته بهتر و بهتر از بهترین راه حل بخشی از نمونه گیری گذشته ساخت. “از آنجا که طرحوارهها بسیار مناسب از طول تعریف کم و منظور کم مانند نقش مهمی در عمل از الگوریتم های ژنتیکی بازی، ما در حال حاضر به آنها داده یک نام خاص:. بلوک های ساختمان فقط به عنوان یک کودک قلعه با شکوه از طریق تنظیم از بلوک های ساده از ایجاد چوب، بنابراین آیا الگوریتم ژنتیک در نزدیکی عملکرد مطلوب از طریق مجاورت کوتاه، کم منظور، طرحوارهها عملکرد بالا، و یا بلوک های ساختمان به دنبال. “[۶] محدودیت ها محدودیت های استفاده از الگوریتم ژنتیک در مقایسه با الگوریتم های بهینه سازی جایگزین وجود دارد: تناسب اندام تکرار ارزیابی عملکرد برای مشکلات پیچیده است که اغلب بخش های گران ترین و محدود از الگوریتم های تکاملی مصنوعی. پیدا کردن راه حل بهینه برای مشکلات پیچیده بالا بعدی، چند اغلب نیاز به ارزیابی عملکرد تناسب اندام بسیار گران است. در مشکلات واقعی جهان از جمله مشکلات بهینه سازی ساختاری، ارزیابی عملکرد تک ممکن است چند ساعت تا چند روز پس از شبیه سازی کامل نیاز دارد. روش های بهینه سازی نمونه نمی تواند با چنین نوع از مشکل برخورد. در این مورد، ممکن است لازم باشد به چشم پوشیدن یک ارزیابی دقیق و استفاده از تناسب اندام تقریبی است که محاسباتی کارآمد می باشد. واضح است که ادغام مدل های تقریبی ممکن است یکی از روش های امیدوار کننده ترین متقاعد کننده ای استفاده GA برای حل مشکلات زندگی واقعی پیچیده است. الگوریتم های ژنتیکی به خوبی با پیچیدگی در مقیاس نیست. این است که، که در آن تعدادی از عناصر که به جهش در معرض بزرگ است اغلب وجود دارد افزایش نمایی در اندازه فضای جستجو. این باعث می شود آن را بسیار دشوار به استفاده از روش در مشکلات از قبیل طراحی یک موتور، یک خانه یا هواپیما نرسیده است. به منظور ایجاد چنین مشکلاتی نرم به جستجو تکاملی، آنها باید به ساده ترین نمایندگی امکان شکسته شود. از این رو ما به طور معمول ببینید الگوریتم های تکاملی طرح را پشتیبانی می کند برای تیغه های فن به جای موتورهای حرفه ای، ساخت اشکال به جای برنامه های ساخت و ساز مفصل، ایرفویلهای به جای طرح کل هواپیما. مشکل دوم از پیچیدگی موضوع چگونه برای محافظت از قطعات که تکامل یافته اند برای نشان دادن راه حل های خوب از جهش مخرب بیشتر، به خصوص هنگامی که ارزیابی تناسب اندام خود نیازمند به آنان ترکیب به خوبی با دیگر قطعات است. راه حل “بهتر” تنها در مقایسه با راه حل های دیگر است. به عنوان یک نتیجه، معیار توقف است در هر مشکل روشن نیست. در بسیاری از مشکلات، گاز ممکن است تمایل به سمت OPTIMA محلی و یا حتی نقاط دلخواه به جای مطلوب جهانی از مشکل همگرا داشته باشد. این بدان معنی است که آن را “نمی دانید که چگونه” به قربانی تناسب اندام کوتاه مدت برای به دست آوردن تناسب اندام دراز مدت. احتمال این اتفاق می افتد بستگی به شکل چشم انداز تناسب اندام: مشکلات خاص ممکن است صعود آسان به سوی مطلوب جهانی ارائه، دیگران ممکن است آن را آسان تر برای تابع برای پیدا کردن OPTIMA محلی را. این مشکل ممکن است با استفاده از یک تابع تناسب اندام های مختلف، افزایش سرعت جهش کاهش، و یا با استفاده از تکنیک های انتخاب که حفظ جمعیت های گوناگون از راه حل های، [۷] اگر چه قضیه هیچ ناهار رایگان [۸] ثابت می کند که هیچ راه حل کلی وجود دارد برای این مشکل. روش معمول برای حفظ تنوع است برای تحمیل یک “ضربه ی پنالتی تو رفتگی در دیوار”، که در آن، هر گروه از افراد از شباهت کافی (شعاع تو رفتگی در دیوار) یک ضربه ی پنالتی اضافه شده است، که نمایندگی از این گروه در نسل های بعدی کاهش خواهد، اجازه دیگر (کمتر مشابه ) افراد در جمعیت حفظ شود. این ترفند، با این حال، ممکن است موثر باشد، بسته به چشم انداز از مشکل. یکی دیگر از روش های ممکن خواهد بود به سادگی جایگزین بخشی از جمعیت با افراد به طور تصادفی تولید، زمانی که اکثر جمعیت بیش از حد شبیه به یکدیگر است. تنوع در الگوریتم های ژنتیکی (و برنامه نویسی ژنتیک) مهم است زیرا عبور از روی یک جمعیت همگن می کند راه حل های جدید عملکرد نیست. در استراتژی های تکامل و برنامه نویسی تکاملی، تنوع لازم نیست به دلیل اتکای بیشتر به جهش. عامل در مجموعه داده پویا دشوار است، به عنوان ژنوم شروع به همگرا در اوایل نسبت به راه حل های که ممکن است دیگر برای داده های بعد اعتبار داشته باشد. چند روش برای درمان این با افزایش تنوع ژنتیکی به نحوی و جلوگیری از همگرایی اوایل ارائه شده است، یا با افزایش احتمال جهش زمانی که قطره کیفیت راه حل (به نام باعث هایپر)، یا با گاهی معرفی کاملا جدید، عناصر به طور تصادفی تولید به استخر ژن (به نام مهاجران تصادفی). باز هم، استراتژی تکامل و برنامه نویسی تکاملی را می توان با به اصطلاح “استراتژی کاما” که در آن پدر و مادر حفظ نیست و پدر و مادر جدید تنها از فرزندان انتخاب شده اجرا شده است. این می تواند در مشکلات پویا بیشتر موثر است. گاز به طور موثر نمی تواند حل مشکلات است که در آن تنها اندازه گیری تناسب اندام یک راست / اندازه گیری اشتباه است (مانند مشکلات تصمیم گیری)، به عنوان راهی برای همگرا در راه حل (بدون تپه به صعود) وجود دارد. در این موارد، یک جستجوی تصادفی ممکن است یک راه حل به عنوان به سرعت به عنوان یک GA پیدا کنید. با این حال، اگر وضعیت اجازه می دهد تا محاکمه موفقیت / عدم تکرار شود به (احتمالا) نتایج مختلف، و سپس نسبت موفقیت به شکست اندازه گیری تناسب اندام مناسب را فراهم می کند. برای خاص مشکلات و بهینه سازی موارد مشکل، دیگر الگوریتم های بهینه سازی ممکن است کارآمد تر از الگوریتم ژنتیک در نظر سرعت همگرایی. الگوریتم های جایگزین و مکمل شامل استراتژی های تکامل، برنامه نویسی تکاملی، آنیل شبیه سازی شده، سازگاری گاوسی، تپه نوردی، و هوش ازدحامی (به عنوان مثال: بهینه سازی کلونی مورچه ها، بهینه سازی ازدحام ذرات) و روش بر اساس برنامه ریزی خطی عدد صحیح. مناسب بودن الگوریتم های ژنتیکی وابسته به مقدار دانش از مشکل است. مشکلات شناخته شده اغلب، روش های تخصصی تر بهتر. انواع نمایندگی کروموزوم ساده ترین الگوریتم نشان دهنده هر کروموزوم به عنوان یک رشته بیتی. به طور معمول، پارامترهای عددی را می توان با اعداد صحیح نشان داده، هر چند ممکن است به استفاده از شناور تضمینی نقطه. نمایندگی ممیز شناور طبیعی به استراتژی های تکامل و برنامه نویسی تکاملی است. مفهوم الگوریتم ژنتیک حقیقی ارائه شده است اما واقعا اسم بی مسمی است، زیرا آن را واقعا نمی نمایندگی از تئوری بلوک ساختمان که توسط جان هنری هلند در ۱۹۷۰s پیشنهاد شد. این نظریه است بدون حمایت نیست هر چند، بر اساس نتایج نظری و تجربی (پایین را ببینید). الگوریتم عمومی انجام متقاطع و جهش در سطح بیت. سایر انواع درمان کروموزوم به عنوان یک لیست از اعداد که شاخص به جدول آموزش، گره در یک لیست پیوندی هستند، کردند، اشیاء، و یا هر ساختار داده قابل تصور دیگر. متقاطع و جهش می شوند تا به احترام مرزهای عنصر داده انجام می شود. برای بسیاری از انواع داده ها، اپراتورهای تنوع خاص می تواند طراحی شود. انواع مختلف داده کروموزومی به نظر می رسد به کار بهتر یا بدتر برای حوزه های مختلف مشکل خاص. هنگامی که نمایندگی بیتی رشته ای از اعداد صحیح استفاده می شود، برنامه نویسی خاکستری است که اغلب به کار گرفته شود. به این ترتیب، تغییرات کوچک در عدد صحیح را می توان به آسانی از طریق جهش و یا تقاطع اجرا درخواهد آمد. این یافت شده است برای کمک به جلوگیری از همگرایی زودرس در دیوار همینگ به اصطلاح، که در آن بیش از حد بسیاری از جهش به طور همزمان (یا حوادث متقاطع) باید به منظور تغییر کروموزوم به یک راه حل بهتر رخ می دهد. دیگر روش ها شامل استفاده از آرایه ای از اعداد حقیقی به جای رشته کمی برای نشان دادن کروموزوم. نمایش نتایج: از تئوری طرحوارهها نشان می دهد که به طور کلی عملکرد کوچکتر الفبا، بهتر است، اما آن را در ابتدا تعجب آور به محققان که نتایج خوبی از استفاده از کروموزوم حقیقی به دست آمده بود. این را به عنوان مجموعه ای از ارزش های واقعی در یک جامعه محدود کروموزوم به عنوان تشکیل یک الفبای مجازی (زمانی که انتخاب و نوترکیبی غالب هستند) با کاردینالیتی بسیار پایین تر نسبت به از نمایندگی ممیز شناور انتظار می رود توضیح داده شد. [۹] [۱۰] گسترش الگوریتم ژنتیک دامنه مشکل دسترسی می تواند از طریق رمزگذاری پیچیده تر از استخر راه حل های الحاق انواع مختلفی از ژن heterogenously کد گذاری را به یکی از کروموزوم به دست آمده. [۱۱] این رویکرد خاص اجازه می دهد تا برای حل مسائل بهینه سازی که نیاز به دامنه تعریف بسیار متفاوت برای پارامترهای مشکل. به عنوان مثال، در مشکلات از آبشاری تنظیم کنترل، ساختار کنترل حلقه داخلی می تواند به یک تنظیم کننده های معمولی از سه پارامتر تعلق دارند، در حالی که حلقه خارجی می تواند یک کنترل زبانی (مانند یک سیستم فازی) پیاده سازی است که به شرح ذاتا متفاوت است. این نوع خاص از پشتیبانی می کند نیاز به یک ساز و متقاطع تخصصی که recombines کروموزوم های بخش، و آن را به یک ابزار مفید برای مدل سازی و شبیه سازی سیستم های پیچیده تطبیقی، به ویژه فرآیندهای تکامل است. نخبهگرایی نوع عملی از فرایند کلی ساخت یک جمعیت جدید است که اجازه می دهد بهترین ارگانیسم (بازدید کنندگان) از نسل فعلی به حمل بیش از به بعد، بدون تغییر. این استراتژی به عنوان انتخاب نخبه گرا و تضمین می کند که کیفیت راه حل به دست آمده توسط GA نمی خواهد از یک نسل به نسل دیگر کاهش شناخته شده است. [۱۲] پیاده سازی موازی پیاده سازی موازی الگوریتم ژنتیک در دو طعم آمده است. الگوریتم های ژنتیکی موازی درشت دانه فرض جمعیت در هر یک از گره های کامپیوتر و مهاجرت افراد در میان گره. الگوریتم های ژنتیکی موازی ریز دانه فرض یک فرد بر روی هر گره پردازنده که با افراد همسایه برای انتخاب و تولید مثل عمل می کند. انواع دیگر، مانند الگوریتم ژنتیک برای مشکلات بهینه سازی آنلاین، معرفی زمان وابستگی و یا سر و صدا در تابع تناسب اندام. گاز تطبیقی الگوریتم های ژنتیکی با پارامترهای تطبیقی (الگوریتم ژنتیک تطبیقی، اگاش) یکی دیگر از نوع قابل توجه و امیدوار کننده از الگوریتم های ژنتیکی است. احتمال متقاطع (PC) و جهش (بعد از ظهر) تا حد زیادی به درجه دقت راه حل و سرعت همگرایی که الگوریتم های ژنتیکی می تواند به دست آوردن تعیین می کند. به جای استفاده از مقادیر ثابت از کامپیوتر و بعد از ظهر، اگاش استفاده از اطلاعات جمعیت در هر نسل و انطباقی تنظیم کامپیوتر و PM به منظور حفظ تنوع جمعیت و همچنین برای حفظ ظرفیت همگرایی. در AGA (الگوریتم ژنتیک تطبیقی)، [۱۳] تنظیم کامپیوتر و PM بستگی به ارزش تناسب اندام از راه حل. در واجد cagA (الگوریتم ژنتیک تطبیقی مبتنی بر خوشه بندی)، [۱۴] از طریق استفاده از تجزیه و تحلیل خوشه به قضاوت ایالات بهینه سازی از جمعیت، تنظیم کامپیوتر و PM بستگی به این کشورها بهینه سازی. این می تواند کاملا موثر برای ترکیب GA با دیگر روش های بهینه سازی. GA گرایش به بسیار خوب در پیدا کردن راه حل به طور کلی خوب جهانی است، اما کاملا ناکارآمد در پیدا کردن چند جهش آخرین به پیدا کردن بهینه مطلق. تکنیک های دیگر (مانند بالا رفتن از تپه ساده) هستند در یافتن مطلوب مطلق در یک منطقه محدود کاملا کارآمد می باشد. متناوب GA و تپه نوردی می تواند بهره وری از GA بهبود در حالی که غلبه بر عدم استحکام تپه نوردی. این به این معنی است که قوانین تنوع ژنتیکی ممکن است به معنی های مختلف در مورد طبیعی داشته باشد. به عنوان مثال – به شرطی که مراحل به منظور متوالی ذخیره شده – عبور از روی ممکن است تعدادی از مراحل از DNA مادر اضافه کردن تعدادی از مراحل از DNA پدری و غیره جمع. این مثل این است که اضافه کردن بردار که احتمالا بیشتر ممکن است یک خط الراس در چشم انداز فنوتیپی را دنبال کنید. بنابراین، بهره وری از روند ممکن است توسط بسیاری از دستورات قدر افزایش یافته است. علاوه بر این، اپراتور وارونگی این فرصت برای قرار دادن مراحل به منظور متوالی و یا هر منظور مناسب دیگر به نفع بقا و یا بهره وری. (نگاه کنید به عنوان مثال [۱۵] و یا به عنوان مثال در مسئله فروشنده دورهگرد، به ویژه استفاده از یک اپراتور نوترکیبی لبه.) تنوع، که در آن جمعیت به عنوان یک کل است و نه افراد آن تکامل یافته است، به عنوان استخر ژن نوترکیبی شناخته شده است. شماری از تغییرات ایجاد شده اند را به تلاش برای بهبود عملکرد از گاز در مشکلات با درجه بالایی از epistasis تناسب اندام، یعنی که در آن تناسب اندام از یک راه حل شامل تعامل زیر مجموعه از متغیرهای آن است. هدف از این الگوریتم برای یادگیری (قبل از بهره برداری) این فعل و انفعالات فنوتیپی سودمند است. به این ترتیب، آنها با ساختمان بلوک فرضیه در انطباقی کاهش نوترکیبی مخل تراز وسط قرار دارد. نمونه های برجسته این روش شامل آهنگ های، [۱۶] GEMGA [17] و LLGA. [18] حوزه مشکل مسائلی که به نظر می رسد به خصوص برای راه حل های الگوریتم ژنتیک مناسب شامل timetabling و مشکلات برنامه ریزی، و بسیاری از بسته های نرم افزاری برنامه ریزی ها در گاز بر اساس [نیازمند منبع]. گاز نیز به مهندسی استفاده شود. [۱۹] الگوریتم های ژنتیکی اغلب به عنوان یک روش برای حل مسائل بهینه سازی جهانی استفاده شود. به عنوان یک قاعده کلی الگوریتم های ژنتیکی ممکن است در حوزه مشکل است که یک چشم انداز تناسب اندام پیچیده به عنوان مخلوط کردن، به عنوان مثال، جهش در ترکیب با متقاطع، طراحی شده است به حرکت جمعیت به دور از OPTIMA محلی که یک الگوریتم تپه نوردی سنتی ممکن است گیر مفید در. مشاهده است که اپراتورهای متقاطع معمولا استفاده می شود می تواند هر جامعه یکنواخت را تغییر دهید. جهش به تنهایی می تواند ergodicity از روند الگوریتم ژنتیک به طور کلی (به عنوان یک زنجیره مارکوف دیده می شود) فراهم می کند. نمونه هایی از مشکلات حل شده توسط الگوریتم ژنتیک عبارتند از:. آینه طراحی شده برای قیف نور خورشید به کلکتور خورشیدی، [۲۰] آنتن طراحی شده را انتخاب کنید تا سیگنال های رادیویی در فضا، [۲۱] و راه رفتن روش برای چهره های کامپیوتر [۲۲] در خود دستی الگوریتم طراحی، Skiena توصیه برابر الگوریتم ژنتیک برای هر کار: [I] T کاملا غیر طبیعی به مدل برنامه های کاربردی در نظر اپراتورهای ژنتیکی مانند جهش و متقاطع در رشته بیتی. pseudobiology می افزاید سطح دیگری از پیچیدگی بین شما و مشکل خود را. دوم، الگوریتم ژنتیک را زمان بسیار طولانی در مشکلات کوچک اما با اهمیت. […] [T] او قیاس با تکامل که در آن پیشرفت قابل توجهی نیاز به میلیون ها سال-می تواند کاملا مناسب است. […] من هیچ مشکلی که در آن الگوریتم های ژنتیکی به نظر می رسید به من راه درست به آن حمله کرده اند مواجه می شوند هرگز. علاوه بر این، من هیچ نتیجه محاسباتی گزارش با استفاده از الگوریتم های ژنتیکی است که مطلوب مرا تحت تاثیر قرار را دیده اند، هرگز. مموری استیک به سرد شدن آهسته شبیه سازی برای اکتشافی نیازهای افسون جستجوی خود را. -Steven Skiena [23]: 267 تاریخ در سال ۱۹۵۰، آلن تورینگ “ماشین یادگیری” که اصول تکامل موازی ارائه شده است. [۲۴] شبیه سازی کامپیوتر تکامل به عنوان اوایل در سال ۱۹۵۴ با کار نیلز Aall Barricelli، شد که با استفاده از کامپیوتر در موسسه پیشرفته آغاز شده تحصیل در پرینستون، نیوجرسی. [۲۵] [۲۶] ۱۹۵۴ انتشار خود را به طور گسترده ای شد متوجه نیست. شروع در سال ۱۹۵۷، [۲۷] ژنتیک کمی استرالیا الکس فریزر یک سری از مقالات در شبیه سازی از انتخاب مصنوعی از موجودات با جایگاه های متعدد کنترل یک صفت اندازه گیری منتشر شده است. از این آغاز، شبیه سازی کامپیوتری تکامل توسط زیست شناسان در اوایل ۱۹۶۰s شایع تر شد، و روش در کتاب های فریزر و Burnell (1970) [28] و کرازبی (۱۹۷۳) توصیف شده است. [۲۹] شبیه سازی فریزر شامل همه عناصر اساسی الگوریتم ژنتیک مدرن است. علاوه بر این، هانس یواخیم Bremermann یک سری از مقالات در ۱۹۶۰s که جمعیت راه حل نیز به تصویب رسید به بهینه سازی مشکلات، تحت نوترکیبی، جهش و انتخاب منتشر شده است. پژوهش Bremermann نیز شامل عناصر از الگوریتم ژنتیک مدرن است. [۳۰] سایر پیشگامان قابل توجه عبارتند از ریچارد فریدبرگ، بایرن، جورج فریدمن، و مایکل کنراد. بسیاری از مقالات اولیه توسط فوگل (۱۹۹۸) تجدید چاپ. [۳۱] اگر چه Barricelli، در کار او در سال ۱۹۶۳ گزارش شده است، تکامل توانایی برای پخش یک بازی ساده شبیه سازی کرده بود، [۳۲] تکامل مصنوعی روش بهینه سازی به طور گسترده ای به رسمیت شناخته شده به عنوان یک نتیجه از کار اینگو Rechenberg و هانس-پل Schwefel در ۱۹۶۰s شد و اوایل ۱۹۷۰s – گروه Rechenberg را قادر به حل مشکلات مهندسی پیچیده از طریق استراتژی های تکامل بود [۳۳] [۳۴] [۳۵] [۳۶] روش دیگر روش های برنامه نویسی تکاملی لارنس J. فوگل، که برای تولید هوش مصنوعی پیشنهاد شده بود. برنامه نویسی تکاملی در اصل ماشین آلات دولت محدود برای پیش بینی محیط استفاده می شود، و مورد استفاده قرار تنوع و انتخاب برای بهینه سازی منطق پیش بینی. الگوریتم های ژنتیکی به ویژه محبوب از طریق کار جان هلند در اوایل ۱۹۷۰s شد، و به ویژه انطباق کتاب خود در سیستم طبیعی و مصنوعی (۱۹۷۵). کار خود را با مطالعات ماشین های سلولی، توسط هلند و دانش آموزان خود را در دانشگاه میشیگان انجام شده است. هلند یک چارچوب رسمی برای پیش بینی کیفیت نسل بعدی، شناخته شده به عنوان طرحواره قضیه هلند معرفی شده است. تحقیقات در گاز تا حد زیادی تا اواسط ۱۹۸۰s، زمانی که اولین کنفرانس بین المللی الگوریتم ژنتیک در پیتسبورگ، پنسیلوانیا برگزار شد نظری باقی مانده است. به عنوان علاقه دانشگاهی بزرگ شد، افزایش چشمگیر در دسکتاپ قدرت محاسباتی اجازه برای کاربرد عملی از روش های جدید. در اواخر ۱۹۸۰s، جنرال الکتریک آغاز شده فروش اولین محصول الگوریتم ژنتیک در جهان، یک ابزار مبتنی بر پردازنده مرکزی طراحی شده برای فرآیندهای صنعتی. در سال ۱۹۸۹، Axcelis، شرکت Evolver، اولین محصول GA تجاری جهان را برای کامپیوترهای رومیزی منتشر شد. فن آوری نیویورک تایمز نویسنده جان خانم مارکوف نوشت [۳۷] در مورد Evolver در سال ۱۹۹۰، و تنها الگوریتم ژنتیک تجاری تعاملی آن باقی مانده تا سال ۱۹۹۵٫ [۳۸] Evolver در سال ۱۹۹۷ به پرچین فروخته شد، به چندین زبان ترجمه، و در حال حاضر در آن نسخه ۶٫ [۳۹] تکنیک های مرتبط همچنین نگاه کنید به: فهرست برنامه های کاربردی الگوریتم ژنتیک زمینه های مرجع الگوریتم های ژنتیکی هستند یک زیر رشته: الگوریتم های تکاملی محاسبات تکاملی Metaheuristics بهینه سازی تصادفی بهینه سازی رشته های مرتبط الگوریتم های تکاملی این بخش نیاز به استناد اضافی برای تأیید. لطفا این مقاله را بهبود با اضافه کردن استناد به منابع معتبر کمک کند. دارای منبع مواد ممکن است به چالش کشیده و حذف. (مه ۲۰۱۱) الگوریتم های تکاملی یک زیر رشته محاسبات تکاملی است. استراتژی های تکامل (ES، نگاه کنید به Rechenberg، ۱۹۹۴) با استفاده از جهش و نوترکیبی متوسط و یا گسسته تکامل افراد است. الگوریتم ES به ویژه طراحی شده برای حل مشکلات در حوزه واقعی ارزش. آنها با استفاده از خود سازگاری برای تنظیم پارامترهای کنترل از جستجو. د-تصادفی از خود سازگاری است به کواریانس ماتریس سازگاری تکامل استراتژی معاصر (CMA-ES) منجر شده است. برنامه نویسی تکاملی (EP) شامل جمعیت از راه حل های با درجه اول جهش و انتخاب و نمایندگی های دلخواه. آنها با استفاده از خود سازگاری برای تنظیم پارامترها، و می تواند شامل سایر عملیات تنوع مانند ترکیب اطلاعات از پدر و مادر های متعدد. برنامه نویسی بیان ژن (GEP) همچنین با استفاده از جمعیت از برنامه های کامپیوتر. این برنامه های کامپیوتری پیچیده در کروموزوم خطی ساده تر از طول ثابت، که پس از آن به عنوان درختان بیان ابراز کد گذاری. درختان بیان و یا برنامه های کامپیوتری تکامل زیرا کروموزوم تحت جهش و نوترکیبی به شیوه ای مشابه به GA متعارف. اما به لطف این سازمان خاص از کروموزوم GEP، این تغییرات ژنتیکی همیشه در برنامه های کامپیوتری معتبر می شود. [۴۰] برنامه نویسی ژنتیک (GP) یک تکنیک مرتبط محبوبیت جان Koza که در آن برنامه های کامپیوتری، به جای پارامترهای تابع، بهینه سازی است. برنامه نویسی ژنتیک اغلب با استفاده از ساختمان داده های داخلی مبتنی بر درخت به نمایندگی از برنامه های کامپیوتری برای انطباق به جای ساختارهای لیست نمونه ای از الگوریتم های ژنتیکی است. گروه بندی الگوریتم ژنتیک (GGA) تکامل GA که در آن تمرکز است از موارد فرد در گاز کلاسیک منتقل شده، مانند، به گروه و یا زیر مجموعه ای از اقلام است. [۴۱] ایده پشت این تکامل GA پیشنهاد شده توسط امانوئل Falkenauer است که حل برخی از مشکلات پیچیده، با نام مستعار خوشه و یا پارتیشن بندی مشکلات که در آن مجموعه ای از اقلام باید به گروه متلاشی شدن از اقلام در راه بهینه تقسیم، بهتر می شود با ساخت ویژگی های گروه از اقلام معادل ژن به دست آورد. این نوع از مشکلات شامل بسته بندی بن، خط تعادل، خوشه با توجه به اندازه گیری فاصله، شمع برابر، و غیره، که در آن گاز کلاسیک ثابت را به اجرا ضعیف. ساخت ژن معادل گروه دلالت کروموزوم که به طور کلی از طول متغیر هستند، و اپراتورهای ژنتیکی ویژه ای است که دستکاری تمام گروه از اقلام است. برای بن بسته بندی به طور خاص، GGA با معیار تسلط Martello و توت هیبرید بهترین روش تا به امروز است، مسلما. الگوریتم های تکاملی سلامت الگوریتم های تکاملی که با استفاده از ارزیابی انسان هستند. آنها معمولا به حوزه های که در آن سخت است برای طراحی یک تابع محاسباتی، برای مثال، تصاویر، موسیقی، طرح های هنری و فرم در حال تحول به جا ترجیح زیبایی شناختی کاربران استفاده شود. هوش ازدحامی هوش ازدحامی زیر زمینه محاسبات تکاملی است. بهینه سازی مورچگان (ACO) استفاده می کند بسیاری از مورچه ها (یا عوامل) به گذشتن فضای راه حل و پیدا کردن مناطق محلی مولد. در حالی که معمولا به الگوریتم ژنتیک و دیگر اشکال جستجوی محلی تحتانی، آن را قادر به تولید نتایج در مشکلات که در آن هیچ جهانی و یا تا به روز دیدگاه را می توان به دست آمده، و در نتیجه روش های دیگر نمی تواند اعمال شود. [نیازمند منبع] بهینه سازی ازدحام ذرات (PSO) یک روش محاسباتی برای بهینه سازی چند پارامتر که همچنین با استفاده از رویکرد مبتنی بر جمعیت است. جمعیت (ازدحام) از راه حل های نامزد (ذرات) در فضای جستجو حرکت می کند، و حرکت ذرات است هر دو توسط خود موقعیت شناخته شده و جهانی موقعیت بهترین و شناخته شده ازدحام را تحت تاثیر قرار. مانند الگوریتم ژنتیک، روش PSO بستگی به اشتراک گذاری در میان اعضای جمعیت اطلاعات. در برخی از مشکلات PSO است اغلب بیش محاسباتی کارآمد از گاز، به ویژه در مسائل نامحدود با متغیرهای پیوسته. [۴۲]
فیلم آموزشی فارسی رایگان جزوه کتاب نرم افزار کدهای رایگان Matlab انجام پروژه Matlab
سلام
کدها خوب بودن میتونید لینک کد الگوریتم کلونی زنبور عسل هم قرار بدید. اسمش هست ولی لینک دانلود نداره.
سلام فیلم و کدش رایگان روی سایت هست
سلام مطالب و کدها خیلی عالی هستند
میشه لطفا کد تپه نوردی هم بزارین hill_climbing
سلام وقتتون بخیر
امکانش هست مثال هایی از قبیل زیکمای ایکس دو را با الگوریتم ژنتیک و کرم ابریشم بزارین تو سایت؟
سلام دقیقا همین مثال به صورت رایگان فیلم + کد متلبش روی سایت هست بخش فیلم های آموزشی رایگان الگوریتم های فراابتکاری رو ببینید
سلام خسته نباشید من میخوام وقتی که الگوریتم ژنتیک رو ران میکنم به جای نمودار بهم جواب عددی بده چطور میتونم کدی وارد کنم که اینکارو برام انجام بده؟ میشه کمکم کنید
ممنون
سلام
خسته نباشید
ببخشید پسورد این کد ها رو قرار نداده اید ممنون میشم اگه جواب بدید
اگر امکان داره ممنون میشم ایمیل کنید
سلام این فایل پسورد نمیخاد
سلام
کدها بسیار عالی است.
لطف کنید کد الگوریتم CHC رو هم بذارید.
سلام اسم کامل الگوریتم رو بفرمایید