چه نوع الگوریتم برای حل یک مشکل سخت N-P مناسب است؟
یک مشکل NP- سخت به عنوان یک مشکل NP- سخت شناخته می شود. این مشکلات به سختی قابل حل هستند و به احتمال زیاد راه حل در زمان چندگانه ندارند. به دلیل پیچیدگی مشکلات NP- سخت، یافتن یک راه حل دقیق با استفاده از یک الگوریتم تعیین کننده ممکن است برای مقادیر بزرگ از مشکلات امکان پذیر نباشد. الگوریتم های هوریستیک و تقریبی در عمل اغلب برای تقریبی کردن راه حل ها برای بدست آوردن مشکلات NP- سخت در یک چارچوب زمانی معقول استفاده می شوند. این روش ها یک راه حل بهینه در سطح جهانی را تضمین نمی کنند اما می توانند راه حل های با کیفیت بالا را در زمان کمتری از یک جستجوی جامع پیدا کنند. رویکرد دیگری برای حل مشکلات NP- سخت استفاده از الگوریتم های استوکاستیک و متاوریستیک است، مانند الگوریتم های شبیه سازی شده یا ژنتیکی. این نوع الگوریتم های نمونه گیری تصادفی یا الگوریتم های متاوریستیک برای یافتن راه حل های خاص در فضای جستجو و زمان و