الگوریتم های ژنتیک دسته ای از الگوریتم های بهینه سازی مبتنی بر تکامل و انتخاب طبیعی هستند. آنها از استراتژیهایی استفاده میکنند که بر اساس ژنتیک و زیستشناسی برای ایجاد راهحلهای بهینه – یا تقریباً بهینهترین راهحلها برای مشکلات پیچیده تولید شده اند. در ابتدا در دهه 1960 تصور می شد، استفاده مورد نظر از الگوریتم های ژنتیک صرفاً تکنیکی برای ایجاد برنامه های سازگار است. امروزه الگوریتمهای ژنتیک در کاربردهای متعددی در زمینههایی مانند هوش مصنوعی و مالی استفاده میشوند. آنها در حل مسائل دشوار بهینهسازی، عالی هستند و به خوبی به محاسبات موازی و معماریهای توزیع شده کمک میکنند. آنها حتی می توانند راه حل هایی برای مشکل حمل و نقل که قبلا ذکر شد ارائه دهند.
اولین الگوریتم ژنتیک توسط جان هالند در دانشگاه میشیگان در دهه 1960 معرفی شد. با این حال، الگوریتم های تکاملی مدت ها قبل از آن وجود داشتند. محققان اولیه هوش مصنوعی، معتقد بودند که تکامل، کلید ایجاد برنامههای واقعاً هوشمند است. امروزه، حوزه محاسبات تکاملی دارای شاخههای تحقیقاتی متعدد است، مانند استراتژیهای تکامل، برنامهریزی ژنتیک و الگوریتمهای ژنتیک.
در هسته آنها، مشکلات بهینه سازی، مشکلات جستجو هستند. مشکلات جستجو از شما می خواهند که در یک منطقه مانند یک پیچ و خم، برای یافتن یک هدف، مانند انتهای پیچ و خم، پیمایش کنید. مسائل بهینه سازی اساساً یک راه حل هستند، ولی راه حل های متعددی وجود دارد. پیچ و خم با چندین خروجی را تصور کنید. هدف شما این است که هر چه سریعتر از پیچ و خم خارج شوید – به این معنی که هدف شما یافتن کوتاه ترین مسیر برای هر یک از خروجی های پیچ و خم است.
دو رویکرد اساسی برای مشکلات جستجو استفاده می شود: جستجوی brute-force و جستجوی آگاهانه. درک تفاوت برای درک اینکه چرا بهینه سازی و الگوریتم های ژنتیک بسیار مفید هستند، مهم است.