مسئله حل نشده‌ای در علوم کامپیوتر

مسئله حل نشده در علوم رایانه:
اگر چک کردن صحت حل یک مسئله آسان باشد، آیا لزوماً حل آن مسئله نیز آسان است؟

(مسائل حل‌نشده بیشتر در علوم رایانه)

نموداری از رده‌های پیچیدگی با فرض {\displaystyle P\neq NP}. تحت این فرض، وجود مسائلی درون **NP** اما خارج از P و NP-کامل توسط قضیه لادنر اثبات شد.

| مسائل جایزه هزاره |
| --- |
| * مسئله P در مقابل NP
* حدس هاج
* حدس پوانکاره (حل شده)
* فرضیه ریمان
* وجود شکاف جرمی یانگ-میلز
* وجود و همواری نویر-استوکس
* حدس برچ-سووینرتون-دایر
 |
| * ن
* ب
* و
 |

**چندجمله‌ای P در مقابل NP** (به انگلیسی: P versus NP Problem)، مسئله حل‌نشده مهمی در علوم کامپیوتر است. این مسئله می‌پرسد که آیا هر مسئله‌ای که صحت جواب‌های آن را بتوان به سرعت ارزیابی نمود، به سرعت هم قابل حل شدن است؟ این مسئله یکی از مسائل جایزه هزاره بوده که توسط مؤسسه ریاضیاتی کِلِی انتخاب شده و برای نخستین کسی که به آن پاسخ درست دهد، جایزه یک میلیون دلاری تعیین شده‌است.[]

اصطلاح *به سرعت* ارزیابی و حل شدن مسائل، که در توصیف این مسئله به کار رفت، در علوم کامپیوتر به معنای این است که الگوریتمی برای آن وجود دارد که زمان اجرای آن چندجمله‌ای است، چنان‌که زمان لازم جهت تکمیل وظیفه بر حسب اندازه ورودی الگوریتم، تابع چندجمله‌ای است (در مقابل مرتبه زمانی نمایی). به کلاس کلی مسائلی که بتوان برایشان الگوریتمی با زمان اجرای چندجمله‌ای ارائه نمود، «کلاس P» یا صرفاً «P» گفته می‌شود. برای برخی مسائل راه شناخته شده‌ای جهت یافتن سریع پاسخ‌ها وجود ندارد، اما می‌توان جواب‌های پیشنهادی را به سرعت ارزیابی کرد. کلاس مسائلی که بتوان پاسخ‌های پیشنهادیشان را *به سرعت* ارزیابی کرد را NP نامیده که مخفف Nondeterministic Polynomical time بوده که ترجمه تحت‌اللفظی آن به صورت «زمان چندجمله‌ای غیرقطعی» (یا زمان اجرای چندجمله‌ای غیرقطعی) است.

جواب به سؤال **P** در مقابل **NP** تعیین خواهد کرد که آیا مسائل قابل ارزیابی در زمان چندجمله‌ای را می‌توان در زمان چندجمله‌ای نیز حل نمود یا خیر. اگر مشخص شود که {\displaystyle {\bf {{P}\neq {\bf {NP}}}}} است (چنان‌که باور عموم نیز بر همین مبناست)، به این معنا خواهد بود که مسائلی در **NP** وجود دارند ه محاسبه آن از ارزیابی اش دشوارتر است: یعنی نمی‌توان آن‌ها را در زمان چندجمله‌ای حل کرد، اما جواب‌هایش را می‌توان در زمان چندجمله‌ای حل نمود.

جدا از مهم بودن این مسئله در نظریه محاسبه، اثبات هر کدام از دو حالت ممکن آن دارای پی‌آمدهای ژرفی در ریاضیات، رمزنگاری، الگوریتم جست و جو، هوش مصنوعی، نظریه بازی‌ها، پردازش چندرسانه‌ای، فلسفه، اقتصاد و سایر زمینه‌هاست.

مفهوم مسئله
-----------

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

در آنالیزهایی شبیه به این، یک مدل از رایانه‌ای که باید بر طبق آن، زمان محاسبه شود مورد نیاز است. به‌طور معمول، این مدل‌ها فرض می‌کنند که رایانه، *"قطعی"* (به این مفهوم که به ازای یک حالت معین و برای تمامی ورودی‌ها، رایانه تنها می‌تواند *یک* عمل ممکن انجام دهد) و *"ترتیبی"* (به این معنی که عملی را بعد از عمل دیگر انجام می‌دهد) است.

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

با این تعاریف، مهم‌ترین سؤال این است که رابطه این دو کلاس چگونه است؟ آیا P=NP؟ بیشتر متخصصین علوم کامپیوتر معتقدند که P با NP برابر نیست با وجود این که هنوز قادر به درک چرایی آن یا اثبات آن در قالب تئوری نیستیم. در یک نظرسنجی در سال ۲۰۰۲ از ۱۰۰ محقق، ۶۱ نفر به این پرسش پاسخ منفی دادند، ۹ نفر پاسخ مثبت و ۲۲ نفر هنوز مطمئن نبودند. ۸ نفر هم معتقد بودند که شاید پرسش خارج از اصول موضوعه پذیرفته شده کنونی باشد؛ بنابراین رد یا اثبات آن غیرممکن است.

تعریف‌های رسمی برای کلاس‌های P و NP
-----------------------------------

تعریف مسئله تصمیم‌گیری: مسئله‌ای که یک رشته به عنوان ورودی دریافت کرده و پاسخ *"بله"* یا *"خیر"* می‌دهد.  

اگر یک الگوریتم وجود داشته باشد (یک ماشین تورینگ یا یک برنامه رایانه‌ای با حافظه نامتناهی) که قادر باشد به ازای هر ورودی به طول {\displaystyle n} در حداکثر {\displaystyle c\cdot n^{k}} مرحله که {\displaystyle k} و {\displaystyle c} اعداد ثابتی مستقل از طول ورودی هستند، پاسخ درست بدهد؛ آن گاه می‌گوییم مسئله می‌تواند در زمان چندجمله‌ای حل شود و آن را در کلاس P قرار می‌دهیم.

ان‌پی کامل
----------

یک پیشرفت مهم در مسئلهٔ «برابری P و NP» در اوایل دههٔ ۷۰ میلادی توسط استفان کوک و لئونید لوین رخ داد. آن‌ها چند مسئله در NP کشف کردند که پیچیدگی آن‌ها به تنهایی به پیچیدگی کل کلاس مربوط است. اگر یک الگوریتم چندجمله‌ای برای هر یک از این مسائل وجود داشته باشد، همهٔ مسائل NP در زمان چندجمله‌ای قابل حل خواهند بود. این مسائل **NP-کامل** نام دارند. پدیدهٔ تمامیت NP، هم به دلایل نظری و هم عملی دارای اهمیت است.

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

تعریف NP-complete
-----------------

برای حل این مسائل هیچ الگوریتمی با پیچیدگی چندجمله‌ای وجود ندارد.

پی آمدهای اثبات
---------------

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

جستارهای وابسته
---------------

* نظریه پیچیدگی محاسباتی
* پیچیدگی زمانی
* طراحی الگوریتم
* مهندسی الگوریتم
* P (پیچیدگی)
* NP (پیچیدگی)
* الگوریتم ان‌پی-آسان
* ان‌پی سخت
* ان‌پی کامل
* ان-پی کامل قوی

یادداشت‌ها
----------

1. ↑  یک ماشین تورینگ غیرقطعی قادر است به حالتی منتقل شود که توسط حالت پیشین تعیین نشده‌است. چنین ماشینی می‌تواند یک مسئله **NP** را با افتادن شانسی در حالت جواب صحیح، به صورت چندجمله‌ای حل کرده و طبق معمول آن را ارزیابی کند. چنین ماشین‌هایی جهت حل واقع‌گرایانه مسائل عملی نبوده اما می‌توان از آن‌ها به عنوان مدل‌های نظری استفاده نمود.

منابع
-----

1. ↑  R. E. Ladner "On the structure of polynomial time reducibility," *Journal of the ACM* 22, pp. 151–171, 1975. Corollary 1.1. ACM site.
2. ↑  Fortnow, Lance (2013). *The Golden Ticket: P, NP, and the Search for the Impossible*. Princeton, NJ: Princeton University Press. ISBN 978-0-691-15649-1.
3. ↑  Sipser, Michael: *Introduction to the Theory of Computation, Second Edition, International Edition*, page 270. Thomson Course Technology, 2006. Definition 7.19 and Theorem 7.20.
4. ↑  Aaronson, Scott (2008). "THE LIMITS OF Quantum". *Scientific American*. Scientific American, a division of Nature America, Inc. **298** (3): 62–69. ISSN 19467087 00368733, 19467087. JSTOR 26000518. Retrieved 2023-01-08. `{{cite journal}}`: Check `|issn=` value (help)
5. ↑  William I. Gasarch (June ‎2002), "The P=?NP poll.", *SIGACT News* (به انگلیسی), vol. 33, p. 34–47 `{{citation}}`: Check date values in: `|تاریخ=` (help); External link in ``|شاپا=`` (help)[*پیوند مرده*] 10.1145/1052796.1052804] Retrieved on 2008-12-29.

* مشارکت‌کنندگان ویکی‌پدیا. «P versus NP problem». در *دانشنامهٔ ویکی‌پدیای انگلیسی*، بازبینی‌شده در ۲۵ آوریل ۲۰۲۱.

برای مطالعه بیشتر
-----------------

* Cormen, Thomas (2001). *Introduction to Algorithms*. Cambridge: MIT Press. ISBN 978-0-262-03293-3.
* Garey, Michael; Johnson, David (1979). *Computers and Intractability: A Guide to the Theory of NP-Completeness*. San Francisco: W. H. Freeman and Company. ISBN 978-0-7167-1045-5.
* Goldreich, Oded (2010). *P, NP, and NP-Completeness*. Cambridge: Cambridge University Press. ISBN 978-0-521-12254-2. Online drafts
* Immerman, N. (1987). "Languages that Capture Complexity Classes". *SIAM Journal on Computing*. **16** (4): 760–778. CiteSeerX 10.1.1.75.3035. doi:10.1137/0216051.
* Papadimitriou, Christos (1994). *Computational Complexity*. Boston: Addison-Wesley. ISBN 978-0-201-53082-7.

پیوند به بیرون
--------------

* Fortnow, L.; Gasarch, W. "Computational complexity".
* Aviad Rubinstein's *Hardness of Approximation Between **P** and **NP***, winner of the انجمن ماشین‌های حسابگر's 2017 Doctoral Dissertation Award.
* "P vs. NP and the Computational Complexity Zoo". 26 August 2014 – via یوتیوب.


| * ن
* ب
* و
کلاس‌های پیچیدگی مهم (بیشتر) |
| --- |
| شدنی در نظر گرفته شده | 
* DLOGTIME
* AC0
* ACC0
* TC0
* L
* SL
* RL
* NL
* NC
* SC
* P
	+ P-complete
* ZPP
* RP
* BPP
* BQP

 |
| مشکوک به شدنی | 
* UP
* NP
	+ ان‌پی کامل
	+ ان‌پی سخت
	+ co-NP
	+ co-NP-complete
* AM
* PH
* PP
* #P
	+ #P-complete
* IP
* PSPACE
	+ PSPACE-complete

 |
| نشدنی در نظر گرفته شده | 
* EXPTIME
* NEXPTIME
* EXPSPACE
* ELEMENTARY
* PR
* R
* RE
* ALL

 |
| سلسله مراتب کلاسی | 
* Polynomial hierarchy
* Exponential hierarchy
* Grzegorczyk hierarchy
* Arithmetic hierarchy
* Boolean hierarchy

 |
| خاواده‌های کلاس‌ها | 
* DTIME
* NTIME
* پیچیدگی فضا
* NSPACE
* Probabilistically checkable proof
* Interactive proof system

 |