نظرية التعقيد الحسابي

|  |  |
| --- | --- |
| صنف فرعي من | 
نظرية الحاسوبية — complexity theory (en) ترجم عدل القيمة على Wikidata |
| جزء من | 
رياضيات — معلوماتية نظرية عدل القيمة على Wikidata |
| المواضيع | 
تفوق كمومي — التعقيد الحسابي عدل القيمة على Wikidata |

تعديل - تعديل مصدري - تعديل ويكي بياناتحول القالب

**شرح نظرية التعقيد** هي فرع من فروع نظرية الحوسبة والرياضيات، وهذه النظرية تتركز في تصنيف المسائل الحاسوبية حسب صعوبتها وربط أقسام التعقيد complexity classes ببعضها، والمسألة الحاسوبية هي المسألة التي يستطيع الحاسوب بحلها.

ويمكن اعتبارها مسألة صعبة إذا استخدمت كمية معينة من الموارد أياً كانت الخوارزمية. ولعل النماذج الحسابية هي الطريقة الأمثل في هذه النظرية لدراسة هذه المسائل وتحديد كمية الموارد اللازمة مثل: الوقت أو حجم المكان الإضافي اللازم، وتوجد معايير تعقيد أخرى مثل: الاتصال (مستخدم في نظرية تعقيد الاتصال) وعدد البوابات في الدارات المنطقية (مستخدم في نظرية تعقيد الدار ات المنطقية) وكذلك عدد المعالجات (مستخدم في الحساب المتوازي).

وأحد أهم أساسيات نظرية التعقيد الحسابي هي إظهار الحدود العملية لما يستطيع الحاسوب القيام به وما لا يستطيع القيام به.

المجالات القريبة في علم الحاسوب النظري هي تحليل الخوارزميات ونظرية الحاسوبية، والفرق بين تحليل الخوارزميات ونظرية التعقيد الحسابية هو أن الأول يسأل عن خوارزمية معينة لحل مسألة، بينما الآخر يسأل عن كل الخوارزميات التي يمكنها حل المسألة، وبالتحديد فإن الأخير يحاول تصنيف المسائل التي يمكن حلها أو عدم حلها بوضع كمية محددة من الموارد، أما وضع الحدود للموارد الموجودة هو ما يميز نظرية التعقيد الحسابي عن النظرية الحاسوبية أي أن النظرية الحاسوبية تسأل عن أية مسائل يمكن حلها بواسطة خوارزمية.

مسائل، مُدخل وطول المُدخل
-------------------------

### تعريف المُدخل

بشكل عام مُدخل (instance) لمسألة حاسوبية هو مجموعة معطيات {\displaystyle x\_{1},\cdots ,x\_{d}}، والمسألة الحاسوبية هي حساب دالة متعلقة بهذه المعطيات.

مثال حساب المُحدد لمصفوفة: المدخلات لهذه المسألة هي القيم في المصفوفة والمُخرج هو المحدد، وقد يُنظر إلى المسألة على أنها مجموعة من المدخلات والمُخرج الملائم للمُدخل، ويمكن أن تكون المدخلات بأطوال مختلفة، وطول المُدخل هو كمية البتات اللازمة لترميز المُدخل بشكل ملائم، أي أن المُدخل يكون سلسلة (string) تابعة ل- {\displaystyle \{0,1\}^{\*}}، مثال يمكن ترميز العدد بواسطة تمثيله بنظام العد الثنائي (الترميز الملائم للعدد 15 هو 1111)، أما ترميز المخطط فيكون بواسطة القيم في المصفوفة الملائمة له.

### لغات أو مسائل التقرير

مسألة التقرير هي نوع خاص من المسائل الحاسوبية التي يكون جوابها إما **نعم** أو **لا،** أو 0 و 1، وهذا النوع من المسائل يُعرف أيضا باللغات، في حين أن الأعضاء التابعة لهذه اللغة هي المُدخلات التي جوابها نعم، والهدف يكون بإعطائنا مُدخل يجب التقرير إذا ما هو عضو في هذه اللغة أو لا وذلك بواسطة خوارزمية.

مثال: فلتكن مسألة تقرير إذا كان عدد معطى هو أولي، اللغة هي كل الأعداد الأولية، ولتقرير إذا كان مُدخل معين هو أولي نشغل الخوارزمية التالية: «فحص إذا ما كان العدد المعطى يقبل القسمة على أي عدد من 2 حتى العدد نفسه - ما عدا للعدد نفسه- ، إذا قَبِل (الجواب نعم) فهو ليس أولياً وخلاف ذلك العدد أولي».

### مسائل دالة

مسائل دالة (function problem) هي مسائل يكون فيها لكل مُدخل مُخرجٌ وحيد، وتختلف هذه المسائل عن مسائل التقرير في أن مُخرجها قد يكون غير الإجابة بـ (نعم ولا).

مثال تحليل لعوامل أولية حيث يكون المُدخل هو عدد، والمُخرج هو التحليل لعوامل لهذا العدد، وقد يُعتقد أن مسائل الدالة أغنى من مسائل التقرير، ولكن هذا غير صحيح بالضرورة، إذ يمكن تحويل كل مسألة دالة إلى مسألة تقرير، وفي مثال التحليل لعوامل أولية المدخل هو عدد x، وقائمة أعداد x1,x2,...xd، والمُخرج هو نعم فقط إذا كان حاصل ضرب الأعداد هو x، إضافة إلى أن كل عدد بالقائمة هو أولي.

### قياس تعقيد الخوارزمية

لقياس صعوبة مسألة حاسوبية وجب على المرء أن يقيس الوقت اللازم لأفضل خوارزمية كي تحل المسألة، وبشكل عام فالوقت قد يرتبط بطول المُدخل فالمُدخلات الطويلة حتماً ستحتاج وقتاً أطول للوصول إلى الحل. لذا فإن قياس الوقت اللازم لحل مسألة هو دالة مرتبطة بطول المُدخل، وبشكل عام طول المُدخل يكون ب الاثباتات، لذا فإن علم التعقيد بالأساس يبحث مدى قابلية الخوارزمية للتوسع.

فلنفرض أن n هو طول المُدخل، حينها يمكن التعبير عن الوقت اللازم للخوارزمية بواسطة n، وبما أن الوقت اللازم لحل المسألة قد يختلف تبعاً لكل مُدخل فإنه يُؤخذ بالاعتبار تعقيد وقت الحالة الأسوأ (T(n، والذي هو الوقت الأطول الذي ستحتاجه الخوارزمية بالنسبة لكل المدخلات.

إذا كانت (T(n حدودية، أي يوجد ثابت c > 0 بحيث أن (T(n)=O(nc حينها نصف الخوارزمية بأنها (خوارزمية حدودية الوقت) أي أن وقت الخوارزمية هو وقت حل حدودي. وأطروحة كوبهام تقترح أن أي مسألة يمكن حلها بكمية معقولة من الموارد إذا وجدت خوارزمية تحلها بوقت حدودي.

نماذج حاسوبية ومقاييس التعقيد
-----------------------------

### نماذج حاسوبية

المقالة الرئيسة: نموذج حوسبة
وهي محاكاة نظرية لفكرة الحاسوب أي أن النموذج الحاسوبي هو آلة وهي التي تقوم بعمليات أساسية (قد تختلف من نموذج لآخر)، ونظرية التعقيد تسأل عن مجموعة العمليات الأصغر التي يمكنها حل المسألة، وأكثر النماذج شيوعا في نظرية التعقيد هي آلة تيورنج وهي آلة حاسوبية تعالج رموز مكتوبة على شريط العمليات، وهذا النموذج قد لا يكون عملي ولكن هناك إيمان إذا مسألة ما يمكن حلها بواسطة خوارزمية ما فحينها يمكن حل هذه المسألة بواسطة آلة تيورنج، وهذه الفرضية كانت المقال الأساسي في اطروحة تشيرش-تيورنج، وحسب ما هو معلوم كل ما يمكن حسابهُ بواسطة نماذج أخرى يمكن حسابه كذلك بواسطة آلة تيورنج. ولهذا السبب فان هذه الآلة هي الأكثر شيوعا في نظرية التعقيد.

**أكثر النماذج الحاسوبية المستخدمة هي:**

* آلة تورنغآلة تورنغ
* الة سجلالة سجل
* الأوتومات غير المنتهي ذو المكدسالأوتومات غير المنتهي ذو المكدس
* آلة الحالات المحدودةآلة الحالات المحدودة

### قياس التعقيد

ولكي يكون قياس التعقيد، والذي هو استخدام كمية مُعينة من الموارد مثل: الوقت أو المكان، دقيقا ومُعرفا بشكل رياضياتى سليم كانت الحاجة للنماذج الحاسوبية مثال: آلة تيورنج، وقد نعرف الوقت اللازم لحل مسألة بواسطة آلة تيورنج،M , مع المدخل للالة،x, هو عدد الخطوات أو التحول من وضعية لوضعية اللازمة للالة حتى التوقف والاتيان بالنتيجة (مثل: نعم أو لا). ونقول أنَّ آلة تيورنج، M , وقت عملها هو (f(n إذا كان الوقت اللازم للالة M على كل مُدخل طولة n هو (f(n. ونقول أنَّ مسألة يمكن حلها بوقت (f(n إذا يوجد آلة تيورنج M الوقت الذي تحتاجه لحل مُدخل طوله n هو (f(n. وبما أنَّ نظرية التعقيد اهتمامها بتصنيف المسائل حسب صعوبتها لذا فالمرئ يمكنه تعريف مجموعة مسائل تحقق معيار مُعين مثال ذلك المجموعة ((DTIME(f(n وهي مجموعة المسائل التي يوجد آلة تيورنج قطعية التي تحلها بوقت (f(n .

هنالك عدة مقاييس للتعقيد ولعل اهمها هو الوقت والمكان، ولعل بديهيات بلم (Blum axioms) في نظرية التعقيد تُعرف هذه المقاييس. مقاييس أخرى مُستخدمة في نظرية التعقيد هي تعقيد الاتصال وتعقيد الدارات المنطقية وتعقيد شجرة التقرير. وبشكل عام في قياس تعقيد الخوارزميات شاع استخدام رمز O الكبير.

### تعقيد الحالة الأفضل والحالة الأسوأ وتعقيد الحالة المتوسطة

تعقيد الحالة الأفضل والحالة الأسوأ والمتوسطة هي ثلاث طرق مختلفة لقياس تعقيد الوقت أو (أي مقياس اخر) لمُدخلات مختلفة من نفس الطول، وبما أنه باختلاف المُدخلات قد تكون بعض المُدخلات حلها اسرع من الأخريات لذا نعرف التالي:

* **تعقيد الحالة الأفضل:** وهو الوقت اللازم لحل مُدخل مسألة حيث أن هذا المُدخل يستلزم اقل وقت من بين كل المُدخلات المحتملة التي لها نفس الطول.
* **تعقيد الحالة الأسوأ:** وهو الوقت اللازم لحل مُدخل مسألة حيث أن هذا المُدخل يستلزم أكثر وقت من بين كل المدخلات المحتملة التي لها نفس الطول.
* **تعقيد الحالة المتوسطة:** وهو متوسط الوقت اللازم لحل كل المدخلات التي لها نفس الطول، وهذا التعقيد يمكن حسابه فقط بعد ان نفرض توزيع الاحتمال على المُدخلات.

### حدود عليا وحدود دنيا على تعقيد المسائل

لكي نصنف الوقت الحسابي للمسائل (أي الوقت اللازم لحل مسألة بواسطة نموذج حاسوبي معين) يجب على الشخص أن يبرهن الحدود الدنيا والعليا لكمية الوقت الاقل التي تستلزمها أفضل خوارزمية لحل المسألة، وبشكل عام تعقيد الخوارزمية هو تعقيد الحالة الأسوأ الا إذا حُدد غير ذلك، ولكي نبرهن أن لمسألة حد أعلى (T(n وجب تبيين خوارزمية التي تستلزم وقت (T(n. ولكن لكي نبرهن حد ادنى المهمة أصعب بكثير إذ على المرء أن يبين ان كل خوارزمية ممكنة لحل المسألة لا يوجد أي منها وقتها اقل من (T(n.

وللتوضيح: عندما نقول «كل خوارزمية» نعني أنه لا يمكن أن يكون هناك خوارزمية التي تستلزم وقتا اقل من (T(n حتى في المستقبل.

والحدود الدنيا والعليا لمسألة يعبر عنها بواسطة رمز O كبير.

اقسام تعقيد
-----------

### تعريف

قسم تعقيد هو مجموعة مسائل التي لها نفس التعقيد، وقد تعرف أقسام التعقيد حسب العوامل التالية:

* **نوع المسألة الحاسوبية:** وفي هذا الباب نوع المسألة الأكثر شيوعا هي مسألة التقرير ولكن هنالك أيضا أنواع أخرى مثل مسائل دالة، مسائل عد، مسائل استمثال أو مسائل وعد...
* **نموذج الحاسوبية:** ولعل الأكثر شيوعا هي آلة تيورنج القطعية ولكن هنالك استخدام لآلة تيورنج غير القطعية، دارات منطقية، آلة تيورنج كمومية...
* **الموارد التي يتم حصرها والحدود:** مثل وقت متعدد الحدود، مكان لغرتمي، عمق ثابت...

هنالك تصنيفات أكثر تعقيدا من هذه المذكورة هنا مثل: آلة تيورنج احتمالية، الآلات تيورنج تفاعلية، مسائل اتصال...

### اقسام تعقيد مهمة

كثير من أقسام التعقيد يمكن تعريفها بواسطة تحديد الوقت أو المكان التي تستخدمها الخوارزمية، وفي هذا السياق يمكن تعريف بعض الأقسام كالتالي:

| اقسام تعقيد | النموذج الحاسوبي | قيود الموارد |
| --- | --- | --- |
| ((DTIME(f(n | آلة تيورنج قطعية | وقت (f(n |
| P | آلة تيورنج قطعية | وقت (poly(n |
| EXPTIME | آلة تيورنج قطعية | وقت(2poly(n |
| ((NTIME(f(n | آلة تيورنج غير قطعية | وقت (f(n |
| NP | آلة تيورنج غير قطعية | وقت (poly(n |
| NEXPTIME | آلة تيورنج غير قطعية | وقت (2poly(n |
| ((DSPACE(f(n | آلة تيورنج قطعية | مكان (f(n |
| L | آلة تيورنج قطعية | مكان (O(log n |
| بيسبايس | آلة تيورنج قطعية | مكان (poly(n |
| EXPSPACE | آلة تيورنج قطعية | مكان (2poly(n |
| ((NSPACE(f(n | آلة تيورنج غير قطعية | مكان (f(n |
| NL (تعقيد حسابي) | آلة تيورنج غير قطعية | مكان (O(log n |
| بيسبايس | آلة تيورنج غير قطعية | مكان (poly(n |
| NEXPSPACE | آلة تيورنج غير قطعية | مكان (2poly(*n* |

لقد تبين أن{\displaystyle NSPACE(f(n))\subseteq DSPACE(f^{2}(n))} وكذلك: {\displaystyle PSPACE=NPSPACE} و {\displaystyle EXPSPACE=NEXPSPACE} وهذا كله بواسطة مبرهنة سافيتش (Savitch theorem).

أقسام مهمة أخرى من ضمنها ZPP , BPP ,Co-RP,RP وهي تستخدم آلة تيورنج احتمالية في تعريفها، أما BQP و QMA ففيهما استخدم آلة تيورنج كمومية، أما NC و- AC وكذلك P/Poly تعرف بواسطة الدارات المنطقية، أما بالنسبة ل-P# فهو قسم مسائل عد واحد أهمها على الإطلاق، أقسام مثل: IP و-AM تستخدم نظام براهين تفاعلي، ALL هو قسم كل المسائل.

### مسائل كاملة

المقالة الرئيسة: مسألة كثيرة حدود غير قطعية كاملة
فلتكن {\displaystyle L\in {\mbox{NP}}} نقول أنَّ {\displaystyle L} مسألة {\displaystyle {\mbox{NP}}} كاملة إذا تحقق:

* لكل {\displaystyle L'\in {\mbox{NP}}} يتحقق: {\displaystyle L'\leq \_{p}L}

نسمي {\displaystyle {\mbox{NP-complete}}} قسم اللغات التي هي NP كاملة.

بشكل مشابه يمكن تعريف مسائل كاملة في كل قسم لغات مثل: {\displaystyle {\mbox{P,PSPACE}},...} .

إن المسائل الكاملة تعتبر «مسائل صعبة» بمفهوم انه لو وُجد حل بوقت حدودي لإحداها هذا يعني أن كل المسائل في {\displaystyle {\mbox{ NP}}}يمكن حلها بوقت حدودي.

**النظرية التالية تشرح هذا الأمر:**

 {\displaystyle {\mbox{NP-complete}}\cap {\mbox{P}}\neq \emptyset } إذا وفقط إذا {\displaystyle {\mbox{NP}}={\mbox{P}}} .
#### مبرهنة كوك وليفين

المقالة الرئيسة: مبرهنة كوك وليفين
الاكتفاء (مسماة بالإنجليزية SAT) مسألة NP كاملة، وقد كانت هذه أول لغة يُبرهن انها NP كاملة، واهميتها كانت بانها الشرارة التي أوقدت نظرية التعقيد الحسابي والسعي وراء النماذج الحسابية المختلفة.

بعد أن تم برهنة أن مسألة الاكتفاء هي NP كاملة تبين أن الآلاف المسائل هي أيضا كذلك.

**ولعل أهم المسائل كاملة هي:**

1. مسألة الاكتفاء (SAT)
2. مشكلة تلوين المخطط.
3. مشكلة المخطط الكامل ضمن مخطط.
4. مشكلة الرحالة التاجر.
5. مسار هاملتونياني.

### مبرهنات الهرمية

هذه المبرهنات تعتبر نتائج أساسية بواسطتها يمكن فصل أقسام التعقيد، والحدس خلف هذه المبرهنات هو إذا كان لديك موارد أكثر باستطاعتك ان تفعل أكثر، ولهذه المبرهنات عدة نصوص إذ أنه لكل مورد ومقياس تعقيد يوجد نص خاص به، وندرج بعض هذه:

* إذا كانت (f(n يمكن حسابها بوقت ((O(f(n حيث أن (log(n)<f(n حينها: {\displaystyle {\mbox{DTIME(f(n))}}\subsetneq {\mbox{DTIME(f(n)log(f(n)))}}}
* فلتكن (s(n و- (g(n دالتين يمكن حسابهما بواسطة ((O(s(n و- ((O(g(n مكان حينها وإذا: (o(g(n))=s(n , حينها: {\displaystyle {\mbox{SPACE(s(n))}}\subsetneq {\mbox{SPACE(g(n))}}}

ونتيجة لهذه المبرهنات فأننا نحصل على: {\displaystyle {\mbox{P}}\neq {\mbox{EXP}}} وكذلك: {\displaystyle {\mbox{NP}}\neq {\mbox{NEXP}}} وكذلك: {\displaystyle {\mbox{L}}\neq {\mbox{PSPACE}}}، كما أن هذه الاثباتات بشكل ما تناقض أطروحة ادموندز- كوبهام إذ انه هذا يعني أن هنالك مسائل لا يمكن حلها بوقت اقل من {\displaystyle {\mbox{n}}^{1000}} وبشكل واضح هذا الوقت يُعتبر غير واقعي وغير قابل للوصول حتى بالنسبة ل- n=2 !

الاختصار
--------

الاختصار (reduction) هو: وسيلة لنقل مسألة إلى مسألة أخرى، بحيث انه يمكن الاستعانة بحل المسألة الثانية لحل المسألة الأولى.

وقد شاع استخدام هذه الاختصارات في الحياة اليومية، مثال واضح على هذا هو: لنفرض اننا نريد ان نجد شارع في مدينة معينة لعل هذا يكون أسهل بوجود خريطة، إذا استخدمنا الخريطة نكون بهذا قد اختصرنا مسألة ايجاد الشارع في المدينة لإيجاد الشارع في الخريطة.

وبالعادة في الاختصارات عندنا مسألتين A و- B إذا فرضنا أن B يمكن اختصارها ل-A حينها حل المسألة A يمكن الاستعانة به لحل المسألة B، ولننظر إلى المسائل التالية:

1. السفر من إسطنبول إلى مكة.
2. شراء تذكرة طيران من إسطنبول إلى مكة.
3. جمع النقود لشراء التذكرة من إسطنبول إلى مكة.
4. إيجاد عمل لتحصيل النقود.

يمكن رؤية ان كل واحدة من المسائل يمكن اختصارها للأخرى بالشكل التالي: إذا حللنا مسألة ايجاد عمل حينها يمكن جمع النقود لشراء التذكرة من إسطنبول إلى مكة في الوقت الذي جمعنا فيه مالا كافيا لشراء التذكرة يمكن حينها شراء التذكرة وأخيرا السفر إلى مكة من إسطنبول.

كما ان الاختصارات تظهر كذلك في المسائل الرياضية مثل: قياس مساحة الدائرة يمكن اختصاره لإيجاد طول نصف القُطُر، كما انه يمكن اختصار حل هيئة معادلات خطية لعكس مصفوفة. يظهر الاختصار في كثير من المجالات في الرياضيات وذلك لانه بواسطة الاختصارات يمكن تصنيف مسائل الرياضيات إذ انه إذا يمكن اختصار مسألة A للمسألة B حينها المسألة A لا يمكن ان تكون أصعب من المسألة B، وهذه النظرة اخذها علوم الحاسوب لتصنيف الخوارزميات وقد تمكن علماء الحاسوب بناء نظرية التعقيد الحسابي بواسطتها.

**يوجد عدة أنواع من الاختصارات ومنها:**

1. **اختصارات تورنغ**: نقول ان اللغة {\displaystyle A\subseteq \{0,1\}^{\*}} يمكن اختصارها للغة {\displaystyle B\subseteq \{0,1\}^{\*}} إذا لكل {\displaystyle x\in A} عدد خطوات\* الحساب هو حدودي بالنسبة لطول المدخل أي {\displaystyle Poly(|x|)}. \* نقصد هنا بالخطوة الحسابية هو إما ان تكون خطوة حسابية بالمفهوم العادي أو تكون الخطوة هي الدخول لدالة تحل المسألة B.
2. **اختصارات كارب أو قابلية اختصار بواسطة تطبيق حدودي**: نقول أن لغة {\displaystyle A\subseteq \{0,1\}^{\*}} يمكن اختصارها بوقت حدودي للغة {\displaystyle B\subseteq \{0,1\}^{\*}} ويُرمز اليه ب- {\displaystyle A\leq \_{p}B} إذا يوجد دالة يمكن حسابها بوقت حدودي {\displaystyle f:\{0,1\}^{\*}\to \{0,1\}^{\*}} بحيث انه لكل {\displaystyle x\in \{0,1\}^{\*}} , {\displaystyle x\in A} وفقط إذا {\displaystyle f(x)\in B}
3. **اختصارات ليفين**: فليكن f و- g دالتين يمكن حسابهما بوقت حدودي، حينها يمكن تسميتهما اختصار ليفين من اللغة R للغة 'R إذا كانت f اختصار كارب من {\displaystyle S\_{R}=\{x:\exists y,(x,y)\in R\}} للغة {\displaystyle S\_{R}'=\{x:\exists y,(x,y)\in R'\}} ولكل {\displaystyle x\in S\_{R}} وكذلك {\displaystyle y'\in R'(f(x))} حينها {\displaystyle (x,g(x,y'))\in R} في حين أن {\displaystyle R'(x')=\{y':(x',y')\in R'\}} .
4. **اختصارات سعة مواردها لُغَرِتمية**: نبدأ أولا بتعريف نوع خاص من الدوال والتي هي يمكن حسابها بسعة موارد لغرتمية:  
فلتكن {\displaystyle f:\{0,1\}^{\*}\to \{0,1\}^{\*}} دالة محدودة حدوديا بمعنى انه يوجد ثابت {\displaystyle c>0} بحيث أن {\displaystyle f(x)\leq |x|^{c}}. ونقول أن f يمكن حسابها بسعة موارد لغرتمية إذا يمكن حساب اللغتين {\displaystyle L\_{f}=\{\langle x,i\rangle |f(x)\_{i}=1\}} وكذلك {\displaystyle L'\_{f}=\{\langle x,i\rangle |i\leq |f(x)|\}} يمكن حسابها بسعة موارد لغرتمية.  
والان نعرف اختصارات سعة مواردها لغرتمية بالشكل التالي: نقول أن لغة {\displaystyle A\subseteq \{0,1\}^{\*}} يمكن اختصارها بسعة موارد حدودية للغة {\displaystyle B\subseteq \{0,1\}^{\*}} ويُرمز اليه ب- {\displaystyle A\leq \_{l}B} إذا يوجد دالة يمكن حسابها بسعة موارد لغرتمية {\displaystyle f:\{0,1\}^{\*}\to \{0,1\}^{\*}} بحيث انه لكل {\displaystyle x\in \{0,1\}^{\*}} , {\displaystyle x\in A} وفقط إذا {\displaystyle f(x)\in B}

مسائل غير محلولة
----------------

ظهرت مسائل في نظرية التعقيد ولعلها من أهم المسائل في الألفية، حيث ان تطور العلوم بشكل عام سيكون اسرع إذا حلت.

**أهم هذه المسائل هي :**

### مسألة NP-P

من السهل ملاحظة أن المسائل الحتمية الحدودية (P) هي ضمن المسائل غير حتمية حدودية (NP)، لكن المسألة المقابلة والتي تسأل هل مجموعة المسائل غير حتمية مجموعة جزئية لمجموعة المسائل الحتمية؟ ولم يتمكن من الجواب عنها علماء المعلومات منذ سنة 1971 إلى الآن، هو هل هناك تساو أو اختلاف بين المجموعتين؟، وقد عُرض عام 2000 مكافئة قدرها مليون دولار لمن يحل المسألة وذلك بواسطة معهد كلاي.

تلقي هذه المسألة بظلها على كل مجالات العلوم الحديثة، ولحل هذه المسألة أهمية بالغة على تطور مجال علم التشفير، حيث انه لو NP=P حينها علم التشفير الحديث لن يكون له أي أهمية من الناحية النظرية، ولكن لو تحقق هذا فان مجال تصميم الشرائح الإلكترونية، تحليل الصور الرقمية، الذكاء الصناعي، وغيرها من المجالات ستتطور.

### مسائل التي لا تتبع P ولا تتبع NP كاملة

لقد بيَّن لاندر انه في حال انه {\displaystyle {\mbox{P}}\neq {\mbox{NP}}} حينها يوجد مسائل التي لا تتبع P ولا تتبع NP كاملة، للان لم يبرهن أحد على وجود مثل هذه المسائل، ولكن هنالك حدسيات عن بعض المسائل التي محتمل جدا ان تكون كذلك منها: تحليل لعوامل، تطابق المخططات (graph isomorphism), ...

التاريخ
-------

من بين الأمثلة الأولى لتحليل تعقد الخوارزميات، عمل غابرييل لامي حول خوارزمية أقليدس. قام بهذا العمل في عام 1844.

انظر أيضا
---------

* مسألة NP كاملة
* مسألة P-NP

مصادر
-----

1. ↑  "معلومات عن نظرية التعقيد الحسابي على موقع psh.techlib.cz". psh.techlib.cz. مؤرشف من الأصل في 2019-12-15.
2. ↑  "معلومات عن نظرية التعقيد الحسابي على موقع thes.bncf.firenze.sbn.it". thes.bncf.firenze.sbn.it. مؤرشف من الأصل في 2019-12-16.
3. ↑  "معلومات عن نظرية التعقيد الحسابي على موقع britannica.com". britannica.com. مؤرشف من الأصل في 2016-08-06.

| * ع
* ن
* ت
أقسام التعقيد المهمة |
| --- |
| ممكنة للتنفيذ | 
* DLOGTIME
* AC0
* ACC0
* TC0
* L
* SL
* RL
* NL
* NC
* SC
* CC
* P
	+ P-complete
* ZPP
* RP
* BPP
* BQP

 |
| مشكوك في إمكانية تنفيذها | 
* يو بي
* كثير حدود غير قطعي
	+ مسألة كثيرة حدود غير قطعية كاملة
	+ مسائل NP صعبة
	+ Co-NP
	+ مسائل co-NP كاملة
* أي إم
* PH
* بي الزوجي
* بي بي
* P#
	+ مسائل P# كاملة
* IP
* بيسبايس (مسائل PSPACE كاملة)

 |
| غير قابل للتنفيذ | 
* EXPTIME
* NEXPTIME
* EXPSPACE
* ELEMENTARY
* PR
* R
* RE
* ALL

 |
| أقسام هرمية | 
* Polynomial hierarchy
* Exponential hierarchy
* Grzegorczyk hierarchy
* Arithmetic hierarchy
* Boolean hierarchy

 |
| عائلات اقسام | 
* DTIME
* NTIME
* DSPACE
* NSPACE
* براهين قابلة للفحص بشكل احتمالي
* نظام براهين تفاعلي

 |

  



| * ع
* ن
* ت
علم الحاسوب |
| --- |
| يعتمد هذا القالب على تصنيف أنظمة الحوسبة  الذي أنجزته جمعية آلات الحوسبة في عام 2012 |
| العتاد | 
* اللوحات المطبوعة
* المُلحقات
* الدارات المُتكاملة
* التكامل بالغ مقاس الاتساع
* نظام على رقاقة
* الحوسبة الخضراء
* أتمتة التصميم الإلكتروني
* تسريع العتاد

 |
| بنية الأنظمة | 
* المعماريَّة
* الأنظمة المُضمَّنة
* الحوسبة في الزمن الحقيقي
* الاعتمادية

 |
| الشبكات | 
* المعماريَّة
* البروتوكولات
* العتاد
* الجدولة
* الأداء
* الخدمات

 |
| بنية البرمجيات | 
* المُفسِّرات
* برمجيات وسيطة
* آلة افتراضية
* أنظمة التشغيل
* جودة البرمجيات

 |
| نظرية لغات البرمجة وأدواتها | 
* الأنماط
* اللغات
	+ البرمجة
	+ النمذجة
	+ مخصصة النطاق
* المُصرِّفات
* أُطُر العمل
	+ بيئة التطوير المتكاملة
* المكتبات
* المُستودعات

 |
| تطوير البرمجيات | 
* المتغيرات
* عملية التطوير
* تحليل المتطلبات
* التصميم
* البناء
* النشر
* الصيانة
* فريق البرمجة
* البرمجيات حُرَّة المصدر

 |
| نظرية الحوسبة | 
* نموذج حوسبة
* لغة شكلية
* نظريات
	+ التشغيل الذاتي
	+ الحاسوبيَّة
	+ التعقيد الحسابي
* المنطق
* علم الدلالة الشكلي

 |
| الخوارزميات | 
* التحليل
* الكفاءة
* خوارزمية عشوائية
* هندسة مُحوسبة

 |
| رياضيات الحوسبة | 
* رياضيات مُتقطِّعة
* الاحتمالات
* الإحصاء
* برمجية رياضية
* نظرية المعلومات
* التحليل
	+ الرياضي
	+ العددي
* علم الحاسوب النظري

 |
| نظم المعلومات | 
* أنواع
	+ التخزين
		- قواعد البيانات
		- الوسائط المتعددة
	+ اقتصادية
	+ اجتماعية
	+ جغرافية
	+ دعم القرارات
	+ التحكُّم في العمليات
* تنقيب في البيانات
* مكتبة رقمية
* منصة حوسبة
* التسويق الرقمي
* شبكة عالمية المجال
* استرجاع المعلومات

 |
| الأمن | 
* أنواع
	+ العتاد
	+ الشبكات
	+ المعلومات
	+ التطبيقات
	+ الخدمات
* علم التعمية
* طريقة شكلية
* أنظمة كشف التسلسل

 |
| التفاعل الإنساني الحاسويبي | 
* حوسبة
	+ اجتماعية
	+ سائدة
* تصميم التفاعل
* تمثيل مرئي
* إمكانية الوصول

 |
| تزامن | 
* أنواع
	+ مُتزامِنة
	+ مُتوازيَّة
	+ مُوزَّعة
* تشعب مُتعدِّد
* مُعالَجة مُتعدِّدة

 |
| الذكاء الاصطناعي | 
* معالجة اللغة الطبيعية
* تمثيل المعرفة
* رؤية حاسوبية
* التخطيط الآلي والجدولة
* الاستمثال
* نظرية التَّحكُّم
* الفلسفة
* ذكاء اصطناعي مُوزَّع

 |
| تعلم الآلة | 
* أنواع التَّعلُّم
	+ مُراقَب
	+ غير مُراقَب
	+ مَدعُوم
	+ مُتعدِّد المهام
* التصديق المُتقاطِع

 |
| رسوميَّات | 
* التحريك
* الاستخلاص
* صور
	+ التَّلاعُب
	+ الضَّغط
* وحدة معالجة الرسوميَّات
* وُقُع
	+ افتراضي
	+ مُعزَّز
	+ مُختلَط
* نمذجة المُجسَّمات

 |
| الحوسبة التطبيقيَّة | 
* اختصاصات محوسبة
	+ رياضيات
	+ كيمياء
	+ فيزياء
	+ علم الأحياء
	+ هندسة
	+ العلوم الاجتماعية
* معلوماتية صحية
* التجارة الرقميَّة
* الفن الرقمي
* النشر الرقمي
* حرب رقمية عبر الشبكة
* التصويت الإلكتروني
* ألعاب الفيديو
* مُعالِجات النصوص
* بحوث العمليات
* تقنيات التعليم

 |
| 
* **تصنيف**
* **مُختصَر موجز**
* **مشروع**
* **كُومُنز**

 |

| * ع
* ن
* ت
خوارزميات الترتيب |
| --- |
| Theory | 
* نظرية التعقيد الحسابي
* تمثيل O الكبرى
* ترتيب كلي
* قائمة (نوع بيانات مجرد)
* خوازمية موضعية
* خوارزمية ترتيب
* Comparison sort
* Adaptive sort
* Sorting network
* Integer sorting
* X + Y sorting
* Transdichotomous model
* Quantum sort

 |
| Exchange sorts | 
* فرز فقاعي
* Cocktail shaker sort
* Odd–even sort
* ترتيب المشط
* Gnome sort
* ترتيب سريع
* Slowsort
* Stooge sort
* ترتيب غبي

 |
| خوارزمية الاختيار | 
* ترتيب انتقائي
* تصنيف الكومة
* Smoothsort
* Cartesian tree sort
* Tournament sort
* Cycle sort
* Weak-heap sort

 |
| Insertion sorts | 
* ترتيب بالإدراج
* Shellsort
* Splaysort
* Tree sort
* Library sort
* Patience sorting

 |
| Merge sorts | 
* تصنيف دمجي
* Cascade merge sort
* Oscillating merge sort
* Polyphase merge sort

 |
| Distribution sorts | 
* American flag sort
* Bead sort
* Bucket sort
* Burstsort
* Counting sort
* Interpolation sort
* Pigeonhole sort
* Proxmap sort
* Radix sort
* Flashsort

 |
| Concurrent sorts | 
* Bitonic sorter
* Batcher odd–even mergesort
* Pairwise sorting network
* Samplesort

 |
| Hybrid sorts | 
* Block merge sort
* Kirkpatrick-Reisch sort
* Timsort
* Introsort
* Spreadsort
* Merge-insertion sort

 |
| Other | 
* Topological sorting
	+ Pre-topological order
* Pancake sorting
* Spaghetti sort

 |

* أيقونة بوابةبوابة رياضيات
* أيقونة بوابةبوابة علم الحاسوب
* أيقونة بوابةبوابة تقانة المعلومات

|  |  |
| --- | --- |
| مشاريع شقيقة | في كومنز صور وملفات عن: نظرية التعقيد الحسابي |



| * ع
* ن
* ت
المواضيع الأساسية في علم الحاسوب النظري |
| --- |
| علم الحاسوب النظري | 
* تحسيب
* خوارزميات
* نظرية المعلومات
* نظرية الأتمتة
* نظرية المخططات
* نظرية التعقيد الحسابي
* تشفير
* علم التعمية
* ترميز
* لغات شكلية
* استمثال
* بناء المترجمات البرمجية
* نظرية أنظمة التشغيل
* نظرية قواعد البيانات
* طريقة شكلية
* حوسبة طبيعية

 |
| معلوماتية عملية | 
* نظام تشغيل
* حوسبة
* رسوميات حاسوبية
* قواعد بيانات
* بنى بيانات
* برمجة

 |
| هندسة الحاسب | 
* تقنية المعلومات
* شبكة حاسوب
* عتاد الحاسوب
* أمن الحاسوب
* اختراق الحاسوب

 |
| معلوماتية عملية | 
* نظم معلومات
* معلوماتية حيوية
* معلوماتية جيولوجية
* كيمياء حاسوبية
* فيزياء حاسوبية
* معلوماتية اقتصادية
* وسائط متعددة

 |
| ذكاء اصطناعي | 
* تعلم الآلة
* معلوماتية عصبية
* تصنيف إحصائي
* لغويات حاسوبية

 |
| برمجيات | 
* لغات البرمجة
* برمجيات حرة
* برمجيات تجارية

 |
| أنظمة التشغيل | 
* دوس (نظام تشغيل)
* ويندوز
* يونكس
* لينكس
* ماك أو إس
* آي بي إم إيه آي إكس
* نتوير
* تاريخ أنظمة التشغيل

 |
| عتاد الحاسوب | 
* وحدة معالجة مركزية
* الذاكرة
* قرص صلب
* لوحة أم
* بطاقة الرسوميات
* بطاقة الشبكة
* تخزين ضوئي
* وحدات الإدخال والإخراج

 |

|  |  |
| --- | --- |
| ضبط استنادي: وطنية عدلها في ويكي بيانات | 
* الملف الاستنادي المتكامِل (GND)
* المكتبة القومية الإسرائيلية (J9U)
* مكتبة الكونغرس (LCNAF)
* قاعدة البيانات الوطنية التشيكية (NLCR AUT)

 |