کلاسهای پیچیدگی مهم
کلاسهای پیچیدگی زیادی وجود دارند که با محدود کردن زمان یا فضای به کار رفته توسط الگوریتم میتوانند محدود شوند. معروفترین کلاسهای پیچیدگیP و NP هستند، که مسالهها را از نظر زمان مورد نیاز تقسیمبندی میکنند. به طور شهودی میتوان گفت که کلاس P، کلاس مسالههایی است که برای پیدا کردن جواب آنها الگوریتمهای سریعی وجود دارند. اما NP شامل آن دسته از مسالهها میباشد که اگرچه ممکن است پیدا کردن جواب برای آنها نیاز به زمان زیادی داشته باشد، بررسی کردن درستی جواب به وسیلهی یک الگوریتم سریع امکانپذیر است. البته کلاسهای پیچیدگی دارای مرتبهی سختتر از NP نیز وجود دارند. برخی از آنها به شرح زیرند:
PSPACE: شامل مسائلی است که با اختصاص دادن مقدار کافی حافظه (که این مقدار حافظه معمولا تابعی از اندازهی مساله میباشد) و بدون در نظر گرفتن زمان مورد نیاز برای حل آن، میتوانند حل شوند.
EXPTIME: شامل مسائلی است که زمان مورد نیاز برای حل آنها به صورت توانی میباشد. مسائل این کلاس بسیار جذاب و سرگرم کننده میباشند و شامل همهی مسائل سه کلاس بالایی نیز میباشد. نکتهی جالب و قابل توجه این است که حتی این کلاس نیز جامع نمیباشد، یعنی مسائلی وجود دارند که بهترین و کارآمدترین الگوریتمها نیز برای حل آنها زمان بیشتری نسبت به زمان توانی صرف میکنند.
Un-decidable یا غیرقابل تصمیمگیری: برای برخی از مسائل بدون در نظر گرفتن فضا و زمان میتوانیم اثبات کنیم که نمیشود الگوریتمی را پیدا کرد که همیشه آن مساله را حل کند. در این زمینه، ریچارد لیپتون[1] (از معروفترین صاحبنظران در زمینهی نظریههای علوم کامپیوتر، محاسبات DNA و رمزنگاری) در مقالهای مینویسد: «یک روش اثبات غیررسمی برای این مساله میتواند این باشد که تعداد زیادی مساله، مثلاً به فراوانی اعداد حقیقی، وجود دارند ولی تعداد برنامههایی که این مسائل را حل میکنند، در حد اعداد صحیح هستند». برخی از کلاسهای پیچیدگی مهم در جدول (1-1) ارائه شدهاند.
الگوریتم ژنتیک، الگوریتم های ژنتیک، الگوریتم بهینه سازی اجتماع مورچگان، الگوریتم بهینه سازی کولونی مورچگان، الگوریتم بهینه سازی هجوم ذرات، الگوریتم بهینه سازی اجتماع ذرات، الگوریتم تبرید تدریجی، الگوریتم شبیه سازی تبرید فلزات، الگوریتم بهینه سازی زنبور عسل، بهینه سازی، پیچیدگی محاسباتی، هوش مصنوعی، جستجوی ناآگاهانه، جستجوی عمومی، جستجوی عمقی، جستجوی سطحی، جستجوی مکاشفه ای، جستجوی حریصانه، الگوریتم تپه نوردی، الگوریتم جستجوی تابو، جستجوی جامع، بهینه سازی تحلیلی، روش غیرمرکب سرازیری نلدر مید، ادغام، جهش، نسل، همگرایی، الگوریتم ژنتیک پیوسته، الگوریتم ژنتیک گسسته، بهینه سازی چندمنظوره، بهینه سازی پارتو، ژنتیک مرکب، مسائل جایگشت، غالب و مغلوب، نیچ، متاژنتیک، نژادمانه، رخ مانه، ژنتیک موازی، مسئله فروشنده دوره گرد، طراحی خط سیر روبات، طراحی حرکت رادارگریز، ساخت مدل های معکوس دینامیکی خطی و غیر خطی، مسائل زمان بندی، بهنیه سازی شبکه های عصبی مصنوعی، حل معادلات دیفرانسیل جزئی غیرخطی مرتبه بالا، تابع شایستگی، تابع آزمون، متلب، فرترن، ++C، C