# كثير حدود غير قطعي

هي قسم(class) لغات، اللغة(language) في سياقنا هذا هي مجموعة سلاسل (strings) من رموز الابجدية (alphabet) ومسألة التقرير (Decision problem) هي باعطانا سلسلة(string) من الرموز هل هي موجودة باللغة ام لا أي: $L\subseteq \Sigma ^{*}$، ويوجد خوارزمية A بحيث ان A(s)=1 فقط إذا $s\in L$. واللغات التي في NP هي التي يمكن حلها (أي حل مسألة التقرير) بواسطة آلة تيورنغ غير حتمية متعددة الحدود، ولعل هذا القسم من اللغات هو الأهم في نظرية التعقيد الحسابي إذ ان اللغات التي يحتويها تمتد إلى كل فروع علم الحاسوب والنتائج على هذا قسم NP يؤثر في كل علوم الحاسوب. الاسم NP هو اختصار ل- Non deterministic Polynomial time

## تاريخ

في بداية الستينات من القرن العشرين، حاول العالم Karp حل مسألة التقرير لمسألة البائع المتجول وهذا كان بادئ الامر وبعد وقت قصير Rabin اسس نظرية التعقيد ووضع حجارة الاساس لها وكلمة التعقيد(complexity) ظهرت فقط في عام 1965 وبعدها تم تعريف متى تكون الخوارزمية «جيدة» وتم هذا بواسطة Edmonds، اما cook فقد عرف NP وP وكذلك عرف مسائل NP كاملة وبين ان SAT هي كذلك واظهر ان كل مسألة NP كاملة يمكن حلها بواسطة SAT وذلك يتم بواسطة دالة تحويل (reduction) وقد عرف Karp لاحقا مسائل NP كاملة منها TSP وعرفت هذه المسائل بقائمة karp ال-21 وفي عام 2000 تم رصد جائزة بمبلغ مليون دولار لمن يحل مسألة NP=P.

## تعريف

يوجد عدة تعريفات ل-NP ولعل اهمها هو التالي:
* لغة $L\subseteq [{0,1}]^{*}$ متواجدة في NP إذا كان هناك متعدد حدود $p:\mathbb {N} \to \mathbb {N}$ وآلة تيورنج متعددة الحدود M (أي ان عدد حسابات M هو دالة متعددة الحدود بطول المدخل أي انه يوجد متعدد حدود $g:\mathbb {N} \to \mathbb {N}$ حيث ان كمية حسابات (M(x هو (|g(|x عندما x يعبر عن المدخل للالة M و-|x| هو طول المدخل) حيث انه لكل $x\in {0,1}^{*}$:$x\in L\iff \exists u\in [0,1]^{p(|x|)}:M(x,u)=1$
إذا كان $x\in L$ و$u\in [0,1]^{p(|x|)}$ بحيث ان 1=(M(x,u حينها نسمي u اثبات أو برهان(certificate) ل-x ونسمي M آلة فاحصة(verifier)(لانها تفحص إذا كان x في L بواسطة برهان u).
* نعرف اولا زمن حساب لالة غير حتمية ثم نعرف NP ليكون كل لغة يمكن تقريرها بآلة تيورنج غير حتمية بحيث ان زمن حسابها متعدد الحدود،
تعريف NTIME: لكل دالة $T:\mathbb {N} \to \mathbb {N}$ و- $L\subseteq [0,1]^{*}$ بحيث ان $L\in NTIME(T(n)$ إذا يوجد ثابت c>0 وأيضا يوجد NDTM cT(n)-time (آلة تيورنج غير حتمية) M بحيث: $\forall x\in [0,1]^{*}:x\in L\iff M(x)=1$.
حينها نعرف NP بالشكل التالي: $NP=\bigcup _{c\in \mathbb {N} }NTIME(n^{c})$ وهذا التعريف هو أول تعريف ل-NP.
* $NP=PCP(log(n),1)$
في بداية التسعينات برهنت هذه النظرية لتفتح افق جديدة في علوم الحاسوب ونظرية PCP هي نظرية اساسية في علم التعقيد إذ انه بواسطة هذا التعريف باتت صورة المسائل التي هي NP كاملة التي يمكن اعطائها حل مقرب اوضح حيث نتج عن هذه النظرية الكثير من النتائج عن صعوبة تقريب حل مسائل NP كاملة.

## تصنيفات مهمة داخل NP

* لعل أحد أهم التصنيفات في NP هو القسم P وهو قسم اللغات التي يمكن تقريرها بواسطة آلة تيورنج حتمية بوقت حدودي، وهذا القسم يعتبرا مهما لان كل هذه اللغات لها استخدام عملي في علم الحاسوب.
* مسائل NP كاملة وهي قسم لغات يتوفر فيها شرطان:
   * اللغة في NP
   * يمكن اختصار أو تحويل (reduction) كل لغة في NP إلى هذه اللغة
تقريبا كل المسائل العملية موجودة في هذا القسم ولكن في حال ان $NP\neq P$ حينها لا يوجد لاي من هذه المسائل خوارزمية جيدة بمعنى انه لا توجد آلة تيورنج حتمية بوقت حدودي تقرر هذه اللغات.
* القسم RP
مسألة تقرير S في RP إذا يوجد خوارزمية احتمالية بوقت حدودي A بحيث ان $\forall x\in S$ الاحتمال بأن الخوارزمية A تقرر x بشكل صحيح أكبر من ${\frac {1}{2}}$ أي: $Pr[A(x)=1]\geq {\frac {1}{2}}$، ولكل $x\notin S$ الخوارزمية لا تخطأ في تقرير x أي: $Pr[A(x)=0]=1$ RP هو اختصار Randomized Polynomial time وهذا القسم يعتبر من الاقسام العملية وذلك بالرغم من عدم معرفة إذا ما RP=P حيث انه يمكن كتابة برامج احتمالية وهذا يمكننا من استخدام اللغات فيه، أحد أهم اللغات التي فيه والتي لا يعرف لها خوارزمية حتمية بوقت حدودي هي مسألة فحص إذا ما متعددا الحدود متساويين.

## امثلة

* مسألة الاكتفاء : {SAT={φ | φ satisfiable أي لغة كل الصيغ البوليانية التي يمكن اعطاء متغيراتها تعويض بحيث ان قيمتها تكون 1 (أو true)
* مشكلة المخطط الكامل ضمن مخطط : {clique={(<G>,k): G graph and k number , Is there clique of size k وهي لغة كل المخطوطات التي يمكن فيها مخطوط كامل بكبر k?
هاتان اللغتان هما NP كاملتين كذلك.
* {p:هل p عدد اولي ؟}=PRIME وهذه اللغة موجودة في P
* مشكلة تلوين المخطط : باعطائنا مُخطط هل يمكن تلوينه بثلاثة الوان بحيث أن كل ضلع رأسيها ملونين بالوان مختلفة ؟
* مشكلة التفكيك إلى جداء عوامل أولية : ايجاد العوامل الاولية لعدد ما .
* باعطائنا دالتين متعددتي الحدود، فحص هل هما متطابقين .

## نظريات مهمة

* $P\subseteq RP\subseteq NP$
* $P\subseteq co-RP\subseteq co-NP$
* $NP\subseteq EXP$
* إذا $NP=PCP(f,f)$ عندما: $f=o(log(n)$ حينها NP=P
* إذا $Sat\in P$ حينها NP=P أو بشكل عام إذا أي لغة في قسم NP كامل موجودة في P حينها NP=P

## مراجع

* ↑ ACM site. نسخة محفوظة 27 أبريل 2020 على موقع واي باك مشين.
* ↑ William Gasarch (يونيو 2002). "The P=?NP poll" (PDF). SIGACT News. ج. 33 ع. 2: 34–47. DOI:10.1145/1052796.1052804. مؤرشف من الأصل (PDF) في 2019-10-27. اطلع عليه بتاريخ 2008-12-29.

## انظر أيضا

* قسم تعقيد
* نظرية التعقيد الحسابي.
* مسألة P=NP
* خوارزمية
* بوابة رياضيات
* بوابة علم الحاسوب