freeCodeCamp/guide/arabic/computer-science/np-completeness/index.md

2.4 KiB
Raw Blame History

title localeTitle
Np Completeness اكتمال Np

اكتمال Np

NP-Complete هي خاصية لأنواع معينة من المشاكل. إذا كانت المشكلة هي NP-Complete ، فهذا يعني أنه لا توجد خوارزمية فعالة (متعددة الحدود) لإيجاد حل لها بسرعة. ومع ذلك ، إذا تم تقديم حل لنا ، يمكننا بسرعة (في كثيرات الحدود) التحقق من صحة ذلك.

ولكي نكون أكثر واقعية ، دعونا نفحص مشكلة NP-Complete معروفة - مشكلة مجموع المجموعة الجزئية. لنفترض أن لدينا مجموعة من الأعداد الصحيحة {7 ، 3 ، 2 ، 5 ، 8}. نريد العثور على مجموعة فرعية من هذه الأعداد الصحيحة التي يصل مجموع عناصرها إلى 0. كيف يمكننا القيام بذلك؟

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

وبالفعل ، لا توجد خوارزمية أفضل معروفة ، والتي تتحسن على الزمن الأسي المحدد. هذا هو السبب في أنه يصنف على أنها مشكلة NP-Complete.

هناك العديد من المشاكل المعروفة هذه بصرف النظر عن مشكلة مجموع المجموعة الجزئية المعروفة بـ NP-Complete. إذا تم العثور على خوارزمية فعالة لواحد ، فهذا يعني أنه يمكننا تصميم خوارزمية فعالة لجميع المشاكل التي هي NP-Complete.

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

معلومات اكثر:

https://www.ics.uci.edu/~eppstein/161/960312.html https://stackoverflow.com/questions/210829/what-is-an-np-complete-in-computer-science