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

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث

هي قسم(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 12 اي:  Pr[A(x)=1]\ge \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

انظر أيضا[عدل]