از مزایای GA در مقایسه با دیگر روشهای جستجو می‌توان به این موارد اشاره نمود:

  • ماهیت جستجوی تصادفی این الگوریتم در فضای مسئله، به نوعی یک جستجوی موازی محسوب می‌شود. زیرا هر کدام از کروموزومهای تصادفی تولید شده به وسیله الگوریتم، یک نقطه شروع جدید برای جستجوی بخشی از فضای حالت مسئله به حساب آمده و جستجو در تمام آنها به شکل همزمان صورت می‌گیرد.
  • به دلیل وسعت و پراکندگی نقاطی که مورد جستجو قرار می‌گیرند، در مسائلی که فضای جستجوی بزرگی داشته باشند نتیجه مطلوبی کسب می‌کند.
  • نوعی جستجوی تصادفی هدفمند محسوب شده و از مسیرهای مختلف به جوابهای متفاوتی خواهد رسید. علاوه بر آن، با هیچ محدودیتی در مسیر جستجو و انتخاب پاسخ‌های تصادفی روبرو نیست.
  • به دلیل رقابت (تنازع بقاع) پاسخ‌ها و انتخاب بهترینها از میان جمعیت، با احتمال بالایی به نقطه بهینه سراسری دست پیدا خواهد کرد.
  • پیاده‌سازی آن ساده بوده و نیازی به روالهای پیچیده حل مسئله ندارد.

با وجود تمام مزایا، مهمترین مشکل GA بالا بودن هزینه اجرایی آن است. چرا که معمولاً برای حل مسائل، نیاز به نگهداری چندصد کروموزوم در حافظه و اجرای الگوریتم تا چندهزار نسل خواهد بود. البته باید به خاطر داشت که GA یک الگوریتم متاهیوریستیک بوده و مدت زمان مورد نیاز برای اجرای آن در مقایسه با روشهای سیستماتیک، خیلی کمتر و بهینه‌تر است.

کاربرد اصلی الگوریتم‌های ژنتیک، حل مسائل بهینه‌سازی است، اما در واقع از این الگوریتم‌ها می‌توان در حل بهینه هر نوع مسئله‌ای که در فضای GA قابل پیاده‌سازی باشد استفاده نمود.

به عنوان مثال:

  • حل مسائل تصمیم‌گیری چند متغیره (Multi-objective problems).
  • الگوریتم‌های مسیریابی (Routing).
  • انواع مسائل مربوط به برنامه‌ریزی و زمانبندی (Scheduling).
  • انواع مسائل بسته‌بندی و تقسیم‌بندی (Partitioning) بهینه.
  • آموزش شبکه‌های عصبی مصنوعی (Artificial Neural Networks) و سیستمهای فازی (Fuzzy systems).
  • بهینه‌سازی طراحی مدارات الکترونیکی (VLSI).
  • بهینه‌سازی ساختارها و ترکیبات شیمیایی.
  • اجرای موازی الگوریتم بر روی سیستمهای چند پردازنده یا توزیع شده.
  • نرم‌افزارهای شناسایی و تشخیص الگو (Pattern recognition).
  • انواع الگوریتم‌های مورد استفاده در صنعت رباتیک.
  • دسته‌بندی (Classification) داده‌ها، داده‌کاوی (Datamining)  و یادگیری ماشین (Machine learning).
  • الگوریتم‌های بکار رفته در انواع بازی‌های کامپیوتری.
  • برخی از الگوریتم‌های پردازش تصاویر (Image processing).
  • انواع محاسبات عددی و روشهای تخمین توابع.
  • سیستمهای شبیه‌سازی حیات مصنوعی (Artificial life).
  • ساخت سیستمهای هوشمند تولید برنامه‌ تکاملی.
Print this pageEmail this to someoneShare on Google+Share on FacebookShare on LinkedInTweet about this on TwitterShare on RedditShare on TumblrShare on StumbleUponPin on Pinterest