ScholarGate
دستیار

کامل بودن NP و عدم حل‌پذیری

کامل بودن NP سخت‌ترین مسائل را در کلاس NP شناسایی می‌کند — مسائلی که هر مسئله NP به آن‌ها تقلیل می‌یابد — و چارچوب استانداردی را برای تشخیص مسائلی که هیچ الگوریتم کارآمدی برای آن‌ها شناخته شده یا محتمل نیست، فراهم می‌آورد.

یافتن موضوع با PaperMindبه‌زودیFind papers & topics
Tools & resources
دریافت اسلایدها
Learn & explore
ویدیوبه‌زودی

Definition

یک مسئله تصمیم‌گیری NP-کامل است اگر در NP قرار گیرد (نمونه‌های بله آن دارای گواهی‌های قابل تأیید کارآمد باشند) و هر مسئله در NP در زمان چندجمله‌ای به آن تقلیل یابد؛ چنین مسائلی سخت‌ترین مسائل در NP هستند و یک الگوریتم زمان چندجمله‌ای برای هر یک، الگوریتمی برای همه فراهم می‌کند.

Scope

این موضوع کلاس‌های پیچیدگی P و NP، تقلیل‌های زمان چندجمله‌ای، تعاریف NP-سختی و NP-کامل بودن، قضیه کوک-لوین که رضایت‌پذیری را به عنوان NP-کامل معرفی می‌کند، کاتالوگ مسائل NP-کامل کارپ، و پیامدهای عملی عدم حل‌پذیری برای طراحی الگوریتم را پوشش می‌دهد. این مفاهیم را برای شناسایی و مقابله با مسائل دشوار به کار می‌برد؛ نظریه رسمی گسترده‌تر کلاس‌های پیچیدگی محاسباتی در زیرشاخه نظریه محاسبات مورد بررسی قرار می‌گیرد.

Core questions

  • چه چیزی کلاس‌های پیچیدگی P و NP را متمایز می‌کند؟
  • چگونه یک تقلیل زمان چندجمله‌ای سختی را از یک مسئله به مسئله دیگر منتقل می‌کند؟
  • قضیه کوک-لوین چه چیزی را اثبات می‌کند و چرا رضایت‌پذیری محوری است؟
  • چگونه یک مسئله جدید با تقلیل از یک مسئله شناخته شده NP-کامل اثبات می‌شود؟
  • هنگامی که یک مسئله NP-سخت نشان داده می‌شود، چه استراتژی‌های الگوریتمی باقی می‌مانند؟

Key concepts

  • کلاس پیچیدگی P
  • کلاس پیچیدگی NP
  • تقلیل زمان چندجمله‌ای
  • NP-سختی
  • NP-کامل بودن
  • قضیه کوک-لوین
  • رضایت‌پذیری بولی (SAT)
  • مسئله P در مقابل NP

Key theories

قضیه کوک-لوین
قضیه کوک-لوین اثبات می‌کند که رضایت‌پذیری بولی (SAT) NP-کامل است: هر مسئله در NP در زمان چندجمله‌ای به آن تقلیل می‌یابد، که اولین مسئله NP-کامل و لنگری برای اثبات سختی سایر مسائل را فراهم می‌کند.
تقلیل‌پذیری بین مسائل ترکیبیاتی
کارپ نشان داد که تقلیل‌های زمان چندجمله‌ای بسیاری از مسائل طبیعی — مانند کلیک، پوشش رأس، چرخه همیلتونی، پارتیشن و دیگران — را به شبکه‌ای از مسائل NP-کامل پیوند می‌دهد، به طوری که هر یک را می‌توان با تقلیل از دیگری سخت اثبات کرد.

Clinical relevance

تشخیص اینکه یک مسئله NP-کامل است، یکی از مفیدترین نتایج عملی در محاسبات است: این به مهندسان می‌گوید که انتظار یک الگوریتم دقیق سریع را نداشته باشند و در عوض از الگوریتم‌های تقریبی، اکتشافی، حل‌کننده‌های دقیق تنظیم شده برای نمونه‌های معمول، یا محدودیت‌ها به موارد خاص قابل حل استفاده کنند. بسیاری از مسائل زمان‌بندی، مسیریابی، بسته‌بندی و طراحی NP-کامل هستند.

History

استفان کوک در سال ۱۹۷۱ مفهوم NP-کامل بودن را معرفی کرد و SAT را NP-کامل اثبات نمود؛ لئونید لوین به طور مستقل به نتایج مشابهی دست یافت. مقاله ریچارد کارپ در سال ۱۹۷۲، ۲۱ مسئله طبیعی را NP-کامل نشان داد و دامنه این چارچوب را تثبیت کرد. کتاب گاری و جانسون در سال ۱۹۷۹ صدها مسئله NP-کامل را فهرست کرد و به مرجع استاندارد تبدیل شد.

Debates

P در مقابل NP
اینکه آیا P برابر NP است — یعنی آیا هر مسئله‌ای که به طور کارآمد قابل تأیید است، به طور کارآمد نیز قابل حل است — مهم‌ترین مسئله حل نشده در این زمینه است؛ تقریباً همه محققان حدس می‌زنند که P برابر NP نیست، اما این سؤال حل نشده باقی مانده و یکی از مسائل جایزه هزاره است.

Key figures

  • Stephen Cook
  • Richard Karp
  • Leonid Levin
  • Michael Garey
  • David Johnson

Related topics

Seminal works

  • cook1971
  • karp1972
  • cormen2009

Frequently asked questions

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

Methods for this concept

Related concepts