نظریهی پیچیدگی محاسباتی
نظریهی پیچیدگی محاسباتی شاخهای از علوم کامپیوتر و ریاضی است که به بررسی دشواری حل مسائل به وسیلهی رایانه (به عبارت دقیقتر به صورت الگوریتمی) میپردازد. این نظری بخشی از نظریهی محاسباتی است که با منابع مورد نیاز برای حل یک مساله سروکار دارد. عمومیترین منابع زمان (چقدر زمان برای حل کردن مساله لازم است) و فضا (چقدر حافظه مورد نیاز است) میباشند. سایر منابع میتواند تعداد پروسسورهای موازی (در حالت پردازش موازی) و … باشند. اما در این مقاله ما در مورد عواملی مثل عوامل بالا بحثی نکردهایم. باید به این نکته توجه داشت که نظریه پیچیدگی با نظریه قابل حل بودن متفاوت میباشد. این نظریه در مورد قابل حل بودن یک مساله بدون توجه به منابع مورد نیاز آن، بحث میکند. بعد از این نظریه که بیان میکند کدام مسائل قابل حل میباشند و کدام مسائل غیرقابل حل، این سوال به نظر طبیعی میرسد که درجه سختی مساله چقدر است. نظریه پیچیدگی محاسبات در این زمینه میباشد.
برای سادگی کار مسالهها به کلاسهایی تقسیم میشوند به طوری که مسالههای یک کلاس از حیث زمان یا فضای مورد نیاز با هم مشابهت دارند. این کلاسها در اصطلاح کلاسهای پیچیدگی خوانده میشوند.
بعضی منابع دیگری که در این نظریه مورد بررسی قرار میگیرند، مثل عدم تعین صرفا جنبهی صوری دارند ولی بررسی آنها موجب درک عمیقتر منابع واقعی مثل زمان و فضا میشود.
معروفترین کلاسهای پیچیدگی، P و NP هستند که مسالهها را از نظر زمان مورد نیاز تقسیمبندی میکنند. به طور شهودی میتوان گفت P کلاس مسالههایی است که الگوریتمهای سریع برای پیدا کردن جواب آنها وجود دارد. اما NP شامل آن دسته از مسالههاست که اگرچه ممکن است پیدا کردن جواب برای آنها نیاز به زمان زیادی داشته باشد اما چک کردن درستی جواب به وسیلهٔ یک الگوریتم سریع ممکن است. البته کلاسهای پیچیدگی به مرتبه سختتری از NP نیز وجود دارند.
برای سادگی کار مسالهها به کلاسهایی تقسیم میشوند به طوری که مسالههای یک کلاس از حیث زمان یا فضای مورد نیاز با هم مشابهت دارند. این کلاسها در اصطلاح کلاسهای پیچیدگی خوانده میشوند.
بعضی منابع دیگری که در این نظریه مورد بررسی قرار میگیرند، مثل عدم تعین صرفا جنبهی صوری دارند ولی بررسی آنها موجب درک عمیقتر منابع واقعی مثل زمان و فضا میشود.
معروفترین کلاسهای پیچیدگی، P و NP هستند که مسالهها را از نظر زمان مورد نیاز تقسیمبندی میکنند. به طور شهودی میتوان گفت P کلاس مسالههایی است که الگوریتمهای سریع برای پیدا کردن جواب آنها وجود دارد. اما NP شامل آن دسته از مسالههاست که اگرچه ممکن است پیدا کردن جواب برای آنها نیاز به زمان زیادی داشته باشد اما چک کردن درستی جواب به وسیلهٔ یک الگوریتم سریع ممکن است. البته کلاسهای پیچیدگی به مرتبه سختتری از NP نیز وجود دارند.
بقیه در ادامه مطلب
نظر یادتون نره!!!!!
ادامه مطلب