NP (murakkablik) - NP (complexity)

Savol, Veb Fundamentals.svgKompyuter fanida hal qilinmagan muammo:
(kompyuter fanida hal qilinmagan muammolar)
Eyler diagrammasi uchun P, NP, To'liq emas va Qattiq-qattiq muammolar to'plami. P-NP degan taxminga binoan, NP ichida, lekin ikkalasidan tashqarida muammolar mavjud P va NP to'liq edi Ladner tomonidan tashkil etilgan.[1]

Yilda hisoblash murakkabligi nazariyasi, NP (noan'anaviy polinom vaqti) a murakkablik sinfi tasniflash uchun ishlatiladi qaror bilan bog'liq muammolar. NP - bu o'rnatilgan qarorlari bilan bog'liq muammolar muammo misollari, bu erda javob "ha" bo'lsa, bor dalillar tekshirilishi mumkin polinom vaqti tomonidan a deterministik Turing mashinasi.[2][Izoh 1]

NPning ekvivalent ta'rifi - bu qaror qabul qilish muammolari to'plami hal etiladigan a tomonidan polinom vaqtida deterministik bo'lmagan Turing mashinasi. Ushbu ta'rif NP qisqartmasi uchun asosdir; "noaniq, polinom vaqt. "Bu ikkita ta'rif tengdir, chunki Turing mashinasi asosida algoritm ikki fazadan iborat bo'lib, ularning birinchisi hal qilinmagan taxminiy usuldan hosil bo'lgan hal qilish haqidagi taxminlardan iborat. Ikkinchi bosqich esa taxmin muammoning echimi ekanligini aniqlaydigan deterministik algoritm.[3]

Qaror bilan bog'liq muammolarga eng tez ma'lum bo'lgan algoritmlar asosida murakkablik sinflari (masalan, NP) beriladi. Shuning uchun, tezroq algoritmlar topilsa, qaror qabul qilish muammolari sinflarni o'zgartirishi mumkin.

Murakkablik sinfini ko'rish oson P (echimini topadigan barcha masalalar, polinom vaqtidagi) NPda mavjud (echimlarni polinom vaqtida tasdiqlash mumkin bo'lgan muammolar), chunki agar muammo polinom vaqtida echilishi mumkin bo'lsa, u holda echim polinom vaqtida ham muammoni oddiygina echish orqali tasdiqlanishi mumkin . Ammo NP ko'plab muammolarni o'z ichiga oladi[Izoh 2], eng qiyinlari deyiladi To'liq emas muammolar. Bunday masalani polinom vaqtida echish algoritmi, shuningdek, polinom vaqtidagi boshqa har qanday NP masalasini echishga qodir. Eng muhimi P versus NP ("P = NP?") Muammosi, NP-to'liq va natijada barcha NP muammolarini hal qilish uchun polinom vaqt algoritmlari mavjudligini so'raydi. Bunday emas degan fikr keng tarqalgan.[4]

Murakkablik sinfi NP murakkablik sinfi bilan bog'liq hamkorlikdagi NP buning uchun "yo'q" degan javobni polinom vaqtida tasdiqlash mumkin. NP = co-NP - bu murakkablik nazariyasidagi yana bir muhim savol.[5]

Rasmiy ta'rif

NP ning murakkablik sinfini quyidagicha aniqlash mumkin NTIME quyidagicha:

qayerda a tomonidan hal qilinishi mumkin bo'lgan qaror muammolari to'plamidir deterministik bo'lmagan Turing mashinasi yilda vaqt.

Shu bilan bir qatorda, NPni aniqlovchi sifatida deterministik Turing mashinalari yordamida aniqlash mumkin. A til L agar polinomlar mavjud bo'lsa va faqat NPda bo'lsa p va qva deterministik Turing mashinasi M, shu kabi

  • Barcha uchun x va y, mashina M o'z vaqtida ishlaydi p(|x|) kirishda
  • Barcha uchun x yilda L, mag'lubiyat mavjud y uzunlik q(|x|) shunday
  • Barcha uchun x emas L va barcha torlar y uzunlik q(|x|),

Fon

Ko'pchilik Kompyuter fanlari muammolar ko'pchilikning qaror versiyalari singari NP-da mavjud qidirmoq va optimallashtirish muammolari.

Tekshiruvchiga asoslangan ta'rif

NP ning tekshiruvchiga asoslangan ta'rifini tushuntirish uchun, ni ko'rib chiqing pastki yig'indisi muammosi: Bizga ozgina berilgan deb taxmin qiling butun sonlar, {-7, -3, -2, 5, 8} va biz ushbu butun sonlarning ba'zilari nolga tenglashadimi yoki yo'qligini bilmoqchimiz. Bu erda "ha" javobi berilgan, chunki {−3, −2, 5} butun sonlar yig'indiga to'g'ri keladi (−3) + (−2) + 5 = 0. Nol yig'indisi bo'lgan bunday kichik to'plam mavjudligini hal qilish vazifasi pastki yig'indisi muammosi.

Ba'zi bir butun sonlar nolga qo'shilsa, biz javob berish uchun barcha mumkin bo'lgan kichik to'plamlarni oladigan algoritmni yaratishimiz mumkin. Algoritmga beradigan butun sonlar soni ortib borgani sari ikkala kichik guruhlar soni ham, hisoblash vaqti ham keskin o'sib boradi.

Ammo e'tibor bering, agar bizga ma'lum bir kichik guruh berilgan bo'lsa, biz buni qila olamiz samarali tekshiring subset sum nolga teng bo'ladimi, subsetning butun sonlarini yig'ish orqali. Agar yig'indisi nolga teng bo'lsa, bu kichik to'plam a ga teng dalil yoki guvoh chunki javob "ha". Berilgan kichik to'plamning nol yig'indisi borligini tekshiradigan algoritm a tekshiruvchi. Shubhasiz, kichik to'plamning butun sonlarini yig'ish polinom vaqtida amalga oshirilishi mumkin va shuning uchun ichki yig'indisi muammosi NPda.

Yuqoridagi misol har qanday qaror qabul qilish muammosi uchun umumlashtirilishi mumkin. Muammoning har qanday misoli berilgan va agar guvoh bo'lsa, agar mavjud bo'lsa a tekshiruvchi V, shuning uchun tartiblangan juftlikni (I, W) kirish sifatida berilgan bo'lsa, V polinom vaqt ichida "ha" ni qaytaradi, agar guvoh aks holda polinom vaqtida "ha" yoki "yo'q" degan javobni isbotlasa, u holda NPda.

Ushbu muammoning "yo'q" javobli versiyasi quyidagicha ifodalangan: "cheklangan butun sonlar to'plami berilgan, bo'sh bo'lmagan har bir kichik to'plamda nolga teng summa bo'ladimi?". NP ning tekshiruvchiga asoslangan ta'rifi amalga oshiriladi emas "yo'q" javoblari uchun samarali tekshiruvchini talab qilish. "Yo'q" javoblari uchun bunday tekshiruvchilar bilan bog'liq muammolar klassi co-NP deb nomlanadi. Aslida, NP-dagi barcha muammolarda "yo'q" javoblari uchun tekshiruvchilar mavjudmi va shu bilan birgalikda NP-da bo'ladimi, bu ochiq savol.

Ba'zi adabiyotlarda tekshiruvchi "tasdiqlovchi", guvoh esa "sertifikat ".[2]

Mashina ta'rifi

Tekshiruvchiga asoslangan ta'rifga teng keladigan quyidagi tavsif: NP - ning klassi qaror bilan bog'liq muammolar a tomonidan hal etiladigan deterministik bo'lmagan Turing mashinasi u ishlaydi polinom vaqti. Ya'ni qaror qabul qilish muammosi har doim NPda ba'zi bir polinomial vaqtdagi deterministik bo'lmagan Turing mashinasi tomonidan tan olinadi bilan ekzistensial qabul qilish sharti, demak va agar ba'zi bir hisoblash yo'li bo'lsa qabul qilish holatiga olib keladi. Ushbu ta'rif tekshiruvchiga asoslangan ta'rifga tengdir, chunki deterministik bo'lmagan Turing mashinasi NP muammosini polinom vaqtida echib, sertifikatni determinatsiz tanlab, tekshiruvchini sertifikatda ishlatishi mumkin. Xuddi shunday, agar bunday mashina mavjud bo'lsa, unda polinom vaqt tekshiruvchisi tabiiy ravishda undan tuzilishi mumkin.

Shu nuqtai nazardan, biz co-NP ni ekzistentsial rad etish sharti bilan polinomial vaqtdagi deterministik bo'lmagan Turing mashinalari tomonidan tan olinadigan qaror muammolari sinfi sifatida aniqlashimiz mumkin. Ekzistensial rad etish sharti a bilan bir xil bo'lganligi sababli universal qabul qilish sharti, biz tushunishimiz mumkin NP va CO-NP ekzistensial va universal qabul qilish shartlari polinomial vaqt belgilaydigan bo'lmagan Turing mashinalari sinfi uchun bir xil ifodali kuchga ega bo'ladimi degan savol.

Xususiyatlari

NP yopiq birlashma, kesishish, birlashtirish, Kleene yulduzi va bekor qilish. NP ostida yopilganmi yoki yo'qligi ma'lum emas to'ldiruvchi (bu savol "NP va co-NP" deb ataladigan savol)

Nima uchun ba'zi bir NP muammolarini hal qilish qiyin

Ushbu sinfda juda ko'p muhim masalalar bo'lganligi sababli, NP-dagi masalalar uchun polinomial vaqt algoritmlarini topish bo'yicha keng ko'lamli ishlar olib borildi. Biroq, NPda bunday urinishlarga qarshi turadigan ko'plab muammolar mavjud bo'lib tuyuladi super-polinom vaqti. Ushbu muammolarni polinom vaqtida hal qilish mumkin emasmi, bu eng katta ochiq savollardan biri Kompyuter fanlari (qarang P versiya NP ("P = NP") muammosi chuqur muhokama uchun).

Ushbu kontekstda muhim tushunchalar to'plamidir To'liq emas qaror qabul qilish muammolari, bu NPning bir qismi bo'lib, norasmiy ravishda "eng qiyin" muammolar sifatida tavsiflanishi mumkin. Agar juftlik uchun polinom vaqt algoritmi bo'lsa bitta ulardan biri, keyin uchun polinom-vaqt algoritmi mavjud barchasi NPdagi muammolar. Shu sababli va bag'ishlangan tadqiqotlar biron bir NP to'liq masalasi uchun polinom algoritmini topa olmaganligi sababli, biron bir muammo NP-ni to'liq ekanligi isbotlangandan so'ng, bu keng ko'lamda ushbu muammo uchun polinom algoritmining yuzaga kelishi mumkin emasligi belgisi hisoblanadi. mavjud.

Biroq, amaliy foydalanishda, optimal echimni izlash uchun hisoblash resurslarini sarflash o'rniga, ko'pincha polinom vaqtida etarlicha yaxshi (ammo potentsial suboptimal) echim topilishi mumkin. Shuningdek, ba'zi bir muammolarning real hayotiy qo'llanilishi ularning nazariy ekvivalentlariga qaraganda osonroq.

Ta'riflarning tengligi

NPning ikkita ta'rifi nondeterministik tomonidan hal qilinadigan muammolar sinfi Turing mashinasi (TM) polinom vaqtidagi va polinom vaqtidagi deterministik Turing mashinasi tomonidan tasdiqlanadigan muammolar sinfi tengdir. Dalil ko'plab darsliklarda tasvirlangan, masalan Sipser darsliklari Hisoblash nazariyasiga kirish, 7.3-bo'lim.

Buni ko'rsatish uchun avval bizda deterministik tekshirgich bor deb taxmin qiling. Nondeterministik mashina tekshiruvchini barcha mumkin bo'lgan isbot satrlarida noaniq tarzda ishlatishi mumkin (bu faqat polinomial ravishda juda ko'p bosqichlarni talab qiladi, chunki u har bir qadamda isbot satridagi keyingi belgini noaniq tarzda tanlashi mumkin va isbot satrining uzunligi polinom bilan chegaralangan bo'lishi kerak). Agar biron bir dalil haqiqiy bo'lsa, ba'zi yo'llar qabul qilinadi; agar biron bir dalil yaroqsiz bo'lsa, mag'lubiyat tilda emas va u rad etadi.

Va aksincha, bizda berilgan tilni qabul qiladigan A deb nomlangan noaniq TM mavjud, deylik. L ning har bir polinomida ko'p qadamlarda mashina hisoblash daraxti eng ko'p sonli yo'nalish bo'yicha filiallar. Hech bo'lmaganda bitta qabul qilish yo'li bo'lishi kerak va bu yo'lni tavsiflovchi satr tekshiruvchiga berilgan dalildir. Keyinchalik tekshiruvchi A qabul qiladigan yo'lni bosib o'tib, oxirida qabul qilganligini tekshirib, A ni deterministik tarzda simulyatsiya qilishi mumkin. Agar A kirishni rad etsa, qabul qilish yo'li yo'q va tekshiruvchi har doim rad etadi.

Boshqa sinflar bilan aloqasi

NP barcha muammolarni o'z ichiga oladi P, chunki muammoning har qanday nusxasini tasdiqlashni e'tiborsiz qoldirish va uni hal qilish orqali tekshirish mumkin. NP tarkibida mavjud PSPACE - buni ko'rsatish uchun barcha isbotlangan satrlarni aylanib o'tadigan va har birini polinom-vaqt tekshiruvchisiga etkazib beradigan PSPACE mashinasini qurish kifoya. Polinom vaqt mashinasi faqat polinomial jihatdan ko'p sonli bitni o'qishi mumkin bo'lganligi sababli, u polinom bo'shliqdan ko'proq foydalana olmaydi va polinom bo'shliqdan ko'proq joy olgan dalil qatorini o'qiy olmaydi (shuning uchun biz bundan uzunroq dalillarni ko'rib chiqishimiz shart emas). NP tarkibida ham mavjud MAQSAD, chunki o'sha algoritm eksponent vaqt ichida ishlaydi.

co-NP uchun oddiy dalilga ega bo'lgan muammolar mavjud yo'q misollar, ba'zan qarshi misollar deb nomlanadi. Masalan, dastlabki sinov trivially co-NP-da yotadi, chunki shunchaki nodavlat omilni etkazib berish orqali butunlikning primalligini rad etish mumkin. NP va co-NP birgalikda birinchi darajani tashkil qiladi polinomlar ierarxiyasi, faqat P dan yuqori

NP faqat deterministik mashinalar yordamida aniqlanadi. Agar biz tekshiruvchiga ehtimollik bo'lishiga yo'l qo'ysak (bu BPP mashinasi bo'lishi shart emas)[6]), biz sinfni olamiz MA yordamida hal etiladigan Artur-Merlin protokoli Arturdan Merlingacha hech qanday aloqasiz.

NP - sinf qaror bilan bog'liq muammolar; o'xshash funktsiya muammolari sinfi FNP.

Faqat ma'lum bo'lgan qattiq qo'shimchalar vaqt ierarxiyasi teoremasi va kosmik iyerarxiya teoremasi va mos ravishda ular va .

Boshqa tavsiflar

Xususida tavsiflovchi murakkablik nazariyasi, NP ekzistensial tomonidan aniqlanadigan tillar to'plamiga to'liq mos keladi ikkinchi darajali mantiq (Fagin teoremasi ).

NP ni juda oddiy turi sifatida ko'rish mumkin interaktiv isbotlash tizimi, bu erda prover dalil sertifikati bilan keladi va tekshiruvchi uni tekshiradigan deterministik polinom-vaqt mashinasidir. Bu to'liq, chunki agar mavjud bo'lsa, uni tasdiqlovchi mag'lubiyat qabul qiladi va agar u qabul qilinadigan dalil satri bo'lmasa, tekshiruvchi qabul qila olmaydi.

Murakkablik nazariyasining asosiy natijasi shundaki, NPni echilishi mumkin bo'lgan muammolar sifatida tavsiflash mumkin ehtimollik bilan tekshiriladigan dalillar bu erda tekshiruvchi O (log) dan foydalanadi n) tasodifiy bitlar va faqat dalil satrining doimiy sonini tekshiradi (sinf PCP(log n, 1)). Norasmiyroq, bu shuni anglatadiki, yuqorida tavsiflangan NP tekshiruvchisi o'rniga "tekshiruvlar" o'tkaziladigan satrdagi bir nechta joylarni almashtirish mumkin va cheklangan miqdordagi tanga aylanmasi yordamida yuqori javob bilan to'g'ri javobni aniqlash mumkin. Bu qattiqlikning bir nechta natijalariga imkon beradi taxminiy algoritmlar isbotlanmoq.

Misol

NP-dagi ba'zi muammolar ro'yxati:

Barcha muammolar P, belgilangan . Muammo uchun sertifikat berilgan P, biz sertifikatni e'tiborsiz qoldirishimiz va muammoni polinomiya vaqtida hal qilishimiz mumkin.

Ning qaror versiyasi sotuvchi muammosi NPda. Orasidagi masofalarning kirish matritsasi berilgan n shaharlarda muammo barcha shaharlarga umumiy masofasi kamroq bo'lgan joylarga boradigan yo'nalishni bor yoki yo'qligini aniqlashda k.

Shaharlarning ro'yxati shunchaki dalil bo'lishi mumkin. Keyin polinom vaqtida tekshirish aniq amalga oshirilishi mumkin. Bu shunchaki shaharlar orasidagi yo'llarga mos keladigan matritsa yozuvlarini qo'shib qo'yadi.

A deterministik bo'lmagan Turing mashinasi quyidagi yo'nalishni topishi mumkin:

  • U tashrif buyurgan har bir shaharda u har bir tepalikka tashrif buyurmaguncha, keyingi tashrif buyuradigan shaharni "taxmin qiladi". Agar u tiqilib qolsa, darhol to'xtaydi.
  • Oxir-oqibat u bosib o'tgan marshrutning narxi kamroq bo'lganligini tasdiqlaydi k yilda O (n) vaqt.

Har bir taxminni "" deb o'ylash mumkinvilkalar "Turing mashinasining har bir ilgarilab borishi mumkin bo'lgan yangi nusxasi va agar kamida bitta mashina masofa marshrutini kamroq topsa k, bu mashina kirishni qabul qiladi. (Bunga teng ravishda, bu har doim to'g'ri taxmin qiladigan bitta Turing mashinasi deb qaralishi mumkin)

A ikkilik qidirish mumkin bo'lgan masofalar oralig'ida sayohat qilish bo'yicha sotuvchining qaror versiyasini optimallashtirish versiyasiga o'zgartirishi mumkin, qaror versiyasini qayta-qayta chaqirish (polinom soni).[iqtibos kerak ]

Qarorning muammoli versiyasi butun sonni faktorizatsiya qilish muammosi: berilgan butun sonlar n va k, omil bormi? f 1 f < k va f bo'linish n?[iqtibos kerak ]

The Subgraf izomorfizmi muammosi grafik yoki yo'qligini aniqlash G grafaga izomorf bo'lgan subgrafni o'z ichiga oladi H.

The mantiqiy to'yinganlik muammosi, bu erda ma'lum bir formulaning mavjudligini yoki yo'qligini bilmoqchimiz taklif mantig'i mantiqiy o'zgaruvchilar bilan o'zgaruvchilarning ba'zi bir qiymati uchun to'g'ri keladi.

Shuningdek qarang

Izohlar

  1. ^ polinom vaqti algoritm uchun zarur bo'lgan operatsiyalar soni, masalaning hajmiga nisbatan qanchalik tez o'sib borishini anglatadi. Shuning uchun bu algoritm samaradorligining o'lchovidir.
  2. ^ P-NP degan taxmin asosida.

Adabiyotlar

  1. ^ Ladner, R. E. (1975). "Polinomning vaqtni qisqartirilishining tuzilishi to'g'risida". J. ACM. 22: 151–171. doi:10.1145/321864.321877. Xulosa 1.1.
  2. ^ a b Klaynberg, Jon; Tardos, Eva (2006). Algoritm dizayni (2-nashr). Addison-Uesli. p.464. ISBN  0-321-37291-3.
  3. ^ Alsuwaiyel, M. H.: Algoritmlar: Loyihalash usullari va tahlillari, p. 283
  4. ^ Uilyam Gasarx (Iyun 2002). "P =? NP so'rovnomasi" (PDF). SIGACT yangiliklari. 33 (2): 34–47. doi:10.1145/1052796.1052804. Olingan 2008-12-29.
  5. ^ Klaynberg, Jon; Tardos, Eva (2006). Algoritm dizayni (2-nashr). p.496. ISBN  0-321-37291-3.
  6. ^ "Murakkablik hayvonot bog'i: E - murakkablik hayvonot bog'i". murakkablik zzo.uwaterloo.ca. Olingan 23 mart 2018.

Qo'shimcha o'qish

Tashqi havolalar