جذابیت الگوریتمهای تکاملی از بسیاری از برنامههای کاربردی موفق و تعداد زیادی از انتشارات در بخش محاسبات تکاملی آشکار است. با این حال، تلاش برای یافتن حقایق سخت در مورد مزیتهای نسبی به طور کلی، اگر غیرممکن نباشد، دشوار است. یکی از دلایل این موضوع، قضیه به اصطلاح بدون ناهار رایگان[1] (NFL) است.
قضیه بدون ناهار رایگان
از آنجایی که با توجه به قضیه ناهار بدون ناهار (NFL) (ولپرت و مکردی ۱۹۹۶)، هیچ الگوریتمی برای حل مسائل (مثلاً بهینهسازی) وجود ندارد که به طور کلی (به طور متوسط) برتر از هر رقیبی باشد، سؤال اینکه آیا الگوریتمهای تکاملی (EAs) نسبت به هر رویکرد جایگزین پایینتر یا برتر هستند، بیمعنی است. تنها چیزی که میتوان ادعا کرد این است که EAها نسبت به روشهای دیگر با توجه به حل یک کلاس خاص از مسائل بهتر رفتار میکنند و در نتیجه برای سایر کلاسهای مسئله بدتر رفتار میکنند.
قضیه NFL را میتوان در مورد EAها در مقابل بسیاری از روشهای بهینهسازی کلاسیک تأیید کرد، زیرا روشهای دوم در حل مسائل خطی، درجه دوم، به شدت محدب، تکوجهی، قابل تفکیک و بسیاری دیگر از مسائل خاص کارآمدتر هستند. از سوی دیگر، EAها زمانی که سطوح پاسخ ناپیوسته، غیرقابل تفکیک، چندوجهی، پر سر و صدا و در غیر این صورت غیر متعارف درگیر هستند، خیلی زود تسلیم نمیشوند. بنابراین، کارایی (یا استحکام) آنها به بخش وسیعتری از کاربردها گسترش مییابد، البته با کاهش کارایی متناظر در صورت اعمال بر دسته مسائل ساده، رویههای کلاسیک که به طور خاص برای آنها ابداع شدهاند.
با نگاهی به سوابق تاریخی رویههایی که برای حل مسائل بهینهسازی ابداع شدهاند، بهویژه در حدود دهه 1960 (به کتاب شوفل (1995) مراجعه کنید)، زمانی که چند الگوریتم مستقیم جستجوی بهینه منتشر شد، برای مثال، در مجله کامپیوتر، الگوی خاصی از توسعه پدیدار میشود. نویسنده A یک رویه را منتشر میکند و مناسب بودن آن را با استفاده از تستهایی با استفاده از برخی از توابع تست نشان میدهد. در مرحله بعد، نویسنده B همراه با یک مثال متقابل ارائه میشود که عملکرد ضعیف الگوریتم A را در مورد یک مسئله آزمایشی خاص نشان میدهد. البته، او همچنین یک تکنیک جدید یا اصلاح شده را ارائه میکند که از تکنیک (های) قدیمیتر با توجه به مسئله تست اضافی بهتر عمل میکند. این بازی در اصل میتواند تبلیغ در infinitum بازی شود.
ابزار بهتری برای روشن شدن صحنه باید از نظریه حاصل شود. این باید به وضوح دامنه کاربرد هر الگوریتم را با ارائه اثبات همگرایی و نتایج کارایی مشخص کند. با این حال، متأسفانه، اثبات توانایی الگوریتمها تنها با سادهسازی آنها و همچنین موقعیتهایی که با آنها مواجه میشوند، امکانپذیر است. بسیاری از سؤالات باقیمانده باید با استفاده از مجموعههای آزمایشی (همیشه محدود) پاسخ داده شوند، و حتی این نمیتواند چیز زیادی در مورد وضعیت واقعی حل مسئله در دنیای واقعی با ویژگیهای هنوز تحلیل نشده، یعنی حالت عادی در برنامهها، بگوید.
باز هم متأسفانه، کاتالوگ مسائل آزمایشی مورد توافق برای ارزیابی الگوریتمهای قدیمی و جدید به روشی مختصر وجود ندارد. این تردید وجود دارد که آیا چنین بستر آزمایشی هرگز مورد توافق قرار خواهد گرفت، اما انجام اقدامات در این جهت ارزشمند خواهد بود.
نتیجهگیری
در نهایت حقایق و پیامدهای آن چیست؟ اولاً، همیشه یک دوگانگی بین کارایی و کاربرد عمومی، بین قابلیت اطمینان و عملکرد الگوریتمهای حل مسئله، به ویژه جستجوی بهینه، وجود خواهد داشت. هر دانش خاص در مورد موقعیت در دست ممکن است برای تعیین یک الگوریتم راه حل خاص مناسب استفاده شود، وضعیت بهینه این است که فرد از قبل راه حل را بداند. از سوی دیگر، نمیتوان یک روش وجود داشته باشد که همه مسائل را به طور مؤثر و کارآمد حل کند. این اهداف متناقض هستند.
اگر در حال حاضر یک روش سنتی وجود داشته باشد که یک مسئله معین را حل کند، EA نباید استفاده شود. آنها نمیتوانند این کار را بهتر یا با روش محاسباتی کمتر انجام دهند. به طور خاص، آنها از نفرین ابعاد فرار نمیکنند - افزایش غالباً درجه دوم، مکعبی یا چندجملهای در دستورالعملهای مورد استفاده با افزایش تعداد متغیرهای تصمیمگیری، به عنوان مثال، از دستکاریهای ماتریس.
ایجاد یک روش راه حل جدید مناسب برای یک مسئله در دست ممکن است چالش خوبی برای یک نظریه پرداز باشد، که بعداً شایستگی کار خود را به دست آورد، اما از نقطه نظر کاربرد زمان برای توسعه تکنیک جدید باید اضافه شود. از این نظر، یک روش غیر تخصصی و قوی (و EAها متعلق به این کلاس هستند) ممکن است ارزشمند باشد و اغلب ثابت میشود.
باید هشداری در مورد یک رویه رایج-خطیسازی یا دیگر پیچیدهشدن موقعیت داده شود تا روش سنتی قابل اجرا باشد. حتی یک راه حل بهینه سراسری تضمین شده برای کار ساده ممکن است بسیار طولانی باشد و بنابراین تا حد زیادی از یک راه حل تقریبی برای مسئله واقعی پایینتر باشد.
بنابراین، بهترین چیزی که میتوان در مورد EAها گفت این است که آنها چارچوبی روششناختی را ارائه میدهند که درک و مدیریت آن آسان است، و یا به عنوان روش جعبه سیاه قابل استفاده است یا برای ادغام دستور العملهای جدید یا قدیمی برای پیچیدگی و تخصص بیشتر باز است. یا هیبریداسیون آنها حتی در موقعیتهای پویا که هدف یا محدودیتها در طول زمان در حال حرکت هستند یا تغییر میکنند، به صورت برونزا یا خود القا، که در آن تنظیمات پارامترها و اندازهگیریهای تناسب مختل میشوند، و در جایی که چشمانداز ناهموار، ناپیوسته، چندوجهی، حتی فرکتال یا غیرممکن است، قابل اجرا هستند. در غیر این صورت با روشهای سنتی، به ویژه آنهایی که نیاز به پیش بینی سراسری از تجزیه و تحلیل سطح محلی دارند، استفاده میشود.
نسخههای EA برای تصمیمگیری چند معیاره (MCDM) و بسیاری از معماریهای محاسباتی موازی مختلف وجود دارد. امروزه تقریباً فراموش شده کاربرد آنها در موقعیتهای تجربی (غیر محاسباتی) است.
گاهی اوقات این واقعیت قابل توجه است که حتی تنظیمات نادرست پارامترها از نتایج نسبتاً خوب جلوگیری نمیکند: مطمئناً میتوان آن را به عنوان استحکام توصیف کرد. هنوز به خوبی درک نشدهاند، اما با این وجود، آن دسته از EAهایی هستند که برخی از پارامترهای داخلی خود را خود انطباق میدهند، ویژگیای که میتواند به عنوان یادگیری جمعی از شرایط محیطی توصیف شود. با این وجود، حتی خود انطباق نیز قضیه NFL را دور نمی زند.
از این نظر، و تنها به این معنا، EAها همیشه یک مصالحه میانی ارائه میکنند. شور و شوق مخترعان آن هنوز در اینجا در نظر گرفته نشده است، و همچنین بینشهای موجود از تجزیه و تحلیل الگوریتمها برای فرآیندهای تکاملی طبیعی که آنها سعی میکنند تقلید کنند، در نظر گرفته نشده است.