ان‌پی سخت

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
Euler diagram for P, NP, ان‌پی کامل, and NP-hard set of problems

مجموعهٔ «ان‌پی-سخت» شامل چندهزار مسالهٔ مختلف با کاربردهای فراوان است که تاکنون برای آن‌ها راه حل سریع و قابل انجام در زمان معقول پیدا نشده‌است و به احتمال زیاد در آینده نیز یافت نخواهد شد.این که راه حل سریعی برای آن‌ها وجود ندارد هم اثبات شده‌است.البته ثابت شده‌است که اگر فقط برای یکی از این مساله‌ها راه حل سریعی پیدا شود٫این راه حل موجب حل سریع بقیهٔ مساله‌ها خواهد شد.البته احتمال پیدا شدن چنین الگوریتمی ضعیف است.منظور از راه حل سریع آن است که زمان اجرای آن با اندازهٔ ورودی مساله به صورت چندجمله‌ای رابطه داشته باشد.

ریشهٔ انگلیسی[ویرایش]

ان پی-سخت: Non-deterministic Polynomial-time hard)→NP-hard)

  • حل نشدنی درزمان چندجمله‌ای بر حسب اندازهٔ ورودی مساله (زمان معقول)

مفهوم و مقایسهٔ آن با ان پی-کامل[ویرایش]

مسالهٔ H ان پی-سخت است اگر و فقط اگر مسالهٔ L از نوع ان پی-کامل موجود باشد ٫ به طوری که زمان حل آن بر حسب چندجمله‌ای قابل کاهش به Hباشد: (L ≤ TH)به عبارتی دیگر L را میتوان در زمان زیاد با ماشین اوراکل H حل کرد.به طور غیررسمی ما میتوانیم به الگوریتمی فکر کنیم که میتواندزیرروالی را برای حل H فراخوانی کند و L را در زمان زیاد حل کند اگر فراخوانی آن زیر روال فقط یک گام برای محاسبه طول بکشد. مسائل ان پی-سخت ممکن است از هر نوعی باشند:مسائل تصمیم گیری٫مسائل جستجو٫مسائل بهینه سازی. طبق روال تعریف: (توجه داشته باشید که اینها صرفاً ادعا هستند نه تعریف):

  • مسالهٔ H حداقل به سختی مسالهٔ L است. چون H میتواند برای حل L استفاده شود.
  • چون L ان پی-کامل است ٫بنابراین به سختی مسائل نوع ان پی است. مسالهٔ H حداقل به سختی مسالهٔ ان پی است.اما H نباید ان پی باشد و بنابراین نباید از نوع مسائل تصمیم گیری باشد(حتی اگر از نوع مسایل تصمیم گیری باشد نیازی ندارد ازنوع مسائل ان پی باشد.)
  • مسائل ان پی-کامل با زمان زیاد با ۱ واحد کاهش به یکدیگر تبدیل میشوند(همچنین تحولات چند جمله‌ای نیز نامیده میشوند.)

همهٔ مسائل ان پی-کامل با کاهش H میتوانند در زمان زیاد حل شوند.بنابراین همهٔ مسائل در ان پی قابل کاهش به H هستند.توجه داشته باشید هر چند این شامل ترکیب کردن ۲ تبدیل است:

  1. از ان پی-کامل:مسائل تصمیم گیری به مسائل ان پی-کامل با تحولات چندجمله‌ای
  2. از L به H با کاهش چند جمله‌ای تورینگ. [۱]
  • اگر یک الگوریتم چندجمله‌ای برای هر مسالهٔ ان پی-سخت موجود باشد٫ سپس الگوریتمهای چندجمله‌ای برای همهٔ مسائل در ان پی وجود دارند و بنابراین مسئله برابری پی و ان‌پی
  • اگر P ≠ NP باشد ٫ مسائل ان پی-سخت راه حلی در زمان‌های زیاد ندارند.زمانی که مسئله برابری پی و ان‌پی باشد ٫ مسائل حل نمیشوند.حتی اگر مسائل ان پی-سخت بتوانند در زمان زیاد حل شوند.
  • اگر مسائل بهینه سازی ٫H یک نسخهٔ تصمیم گیری ان پی-کامل داشته باشند٫ H یک ان پی-سخت است.
  • یک اشتباه رایج این است که فکر میکنیم ان پی در ان پی-سخت بر پایهٔ غیر چند جمله‌ای است. اگر چه به طور گسترده انتظار میرود که هیچ الگوریتم غیر چند جمله‌ای بر حسب تابع زمانی برای مسائل ان پی- سخت وجود ندارد ولی این موضوع هنوز اثبات نشده‌است. علاوه بر این مسائل از نوع ان پی همچنین شامل همهٔ مسائلی هستند که میتوانند در چندجمله‌ای از تابع زمان حل شوند.

روش حل مسایل ان پی-سخت[ویرایش]

روش‌های مختلفی برای حل سریع ولی نزدیک به بهینه برای یک مسالهٔ ان پی-سخت وجود دارد:

  • راه حل تقریبی قابل اثبات(الگوریتم‌های تقریبی):که در آن یک الگوریتم سریع برای حل مساله ارائه می‌شود ولی اثبات می‌شود که اندازهٔ خروجی ضریبی از اندازهٔ خروجی بهینهٔ مساله‌است.
  • الگوریتم‌های مکاشفه‌ای:با این که الگوریتم‌هایی سریع هستند و به صورت تقریبی جواب را به دست می‌آورند٫اما در مورد ضریب تقریب یا میزان خوبی الگوریتم اثباتی وجود ندارد.بسیاری از این الگوریتم‌ها به صورت تجربی آزمایش میشوند.برخی از این الگوریتم‌ها از «روش حریصانه» برای حل استفاده میکنند.


الگوریتم‌ها[ویرایش]

راه‌های معمول مقابله با چنین مسائلی عبارتند از:

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

نمونه مسائل ان پی-سخت[ویرایش]

منابع[ویرایش]

  • Edwin D. Reilly (2004). [۲] Concise encyclopedia of computer science. John Wiley and Sons Ltd.