یہ سوال کہ آیا P برابر NP ہے کمپیوٹر سائنس اور ریاضی کے سب سے گہرے اور حل طلب مسائل میں سے ایک ہے۔ یہ مسئلہ کمپیوٹیشنل پیچیدگی تھیوری کے مرکز میں ہے، ایک ایسا شعبہ جو کمپیوٹیشنل مسائل کی موروثی مشکل کا مطالعہ کرتا ہے اور ان کو حل کرنے کے لیے درکار وسائل کے مطابق درجہ بندی کرتا ہے۔
سوال کو سمجھنے کے لیے، کلاس P اور NP کی تعریفوں کو سمجھنا ضروری ہے۔ کلاس P میں فیصلے کے مسائل (ہاں/نہیں کے جواب کے ساتھ مسائل) پر مشتمل ہوتا ہے جو کہ ایک تعییناتی ٹورنگ مشین کے ذریعے کثیر الوقت میں حل کیا جا سکتا ہے۔ کثیر الثانی وقت کا مطلب یہ ہے کہ مسئلہ کو حل کرنے کے لیے درکار وقت کو ان پٹ کے سائز کے کثیر نامی فعل کے طور پر ظاہر کیا جا سکتا ہے۔ P میں مسائل کی مثالوں میں نمبروں کی فہرست کو چھانٹنا شامل ہے (جو O(n log n) وقت میں موثر الگورتھم جیسے mergesort کا استعمال کرتے ہوئے کیا جا سکتا ہے) اور Euclidean algorithm (جو O(log) میں چلتا ہے کا استعمال کرتے ہوئے دو عدد کے سب سے بڑے مشترکہ تقسیم کو تلاش کرنا (منٹ (a، b))) وقت)۔
دوسری طرف، کلاس NP، فیصلے کے مسائل پر مشتمل ہے جس کے لیے ایک مقررہ ٹورنگ مشین کے ذریعے ایک مقررہ حل کی تصدیق کثیر وقت میں کی جا سکتی ہے۔ اس کا مطلب یہ ہے کہ اگر کوئی امیدوار کو مسئلہ کا حل فراہم کرتا ہے، تو کوئی اس کی درستگی کو مؤثر طریقے سے جانچ سکتا ہے۔ اہم بات یہ ہے کہ، NP کا لازمی طور پر یہ مطلب نہیں ہے کہ مسئلہ خود کثیر وقت میں حل کیا جا سکتا ہے، صرف یہ کہ ایک مجوزہ حل کی جلد تصدیق کی جا سکتی ہے۔ NP میں مسائل کی مثالوں میں بولین اطمینان بخش مسئلہ (SAT) شامل ہے، جہاں کوئی یہ تعین کرنے کی کوشش کرتا ہے کہ آیا متغیرات کے لیے سچائی اقدار کی کوئی تفویض موجود ہے جو بولین فارمولے کو درست بناتی ہے، اور ہیملٹونین سائیکل کا مسئلہ، جو پوچھتا ہے کہ آیا کوئی سائیکل موجود ہے یا نہیں۔ جو گراف کے ہر ایک چوٹی کو بالکل ایک بار دیکھتا ہے۔
P بمقابلہ NP سوال پوچھتا ہے کہ کیا ہر مسئلہ جس کے حل کی تصدیق متعدد وقت میں کی جا سکتی ہے (یعنی NP میں ہر مسئلہ) کو بھی کثیر وقت میں حل کیا جا سکتا ہے (یعنی P میں ہے)۔ رسمی طور پر، سوال یہ ہے کہ آیا P = NP۔ اگر P، NP کے برابر ہوتے، تو اس کا مطلب یہ ہوگا کہ ہر وہ مسئلہ جس کے حل کی جلد تصدیق کی جا سکتی ہے اسے بھی جلد حل کیا جا سکتا ہے۔ اس کے خفیہ نگاری، اصلاح اور مصنوعی ذہانت جیسے شعبوں پر گہرے اثرات مرتب ہوں گے، کیونکہ اس وقت بہت سے پیچیدہ مسائل ممکنہ طور پر مؤثر طریقے سے حل ہو سکتے ہیں۔
دہائیوں کی تحقیق کے باوجود، P بمقابلہ NP سوال کھلا رہتا ہے۔ ابھی تک کوئی بھی P = NP یا P ≠ NP ثابت نہیں کر سکا ہے۔ اس مسئلے کی مشکل کو کلے میتھمیٹکس انسٹی ٹیوٹ کے سات "ملینیم پرائز پرابلم" میں سے ایک کے طور پر شامل کرنے سے واضح کیا گیا ہے، جس کے درست حل کے لیے $1 ملین انعام ہے۔ ایک قرارداد کی کمی نے نظریاتی اور لاگو کمپیوٹر سائنس دونوں میں اہم پیش رفت کی ہے.
P بمقابلہ NP سوال سے متعلق کلیدی تصورات میں سے ایک NP مکمل ہونا ہے۔ ایک مسئلہ NP-مکمل ہے اگر یہ NP میں ہے اور NP میں کسی بھی مسئلے کی طرح مشکل ہے، اس لحاظ سے کہ NP کے کسی بھی مسئلے کو کثیر وقتی کمی کا استعمال کرتے ہوئے کم کیا جا سکتا ہے۔ NP-مکملیت کا تصور اسٹیفن کک نے اپنے 1971 کے مقالے میں پیش کیا تھا، جہاں اس نے ثابت کیا کہ SAT کا مسئلہ NP-مکمل ہے۔ یہ نتیجہ، جسے Cook's theorem کے نام سے جانا جاتا ہے، گراؤنڈ بریکنگ تھا کیونکہ اس نے NP-مکمل مسئلے کی ٹھوس مثال فراہم کی اور دیگر NP-مکمل مسائل کی شناخت کے لیے ایک فریم ورک قائم کیا۔
اس کے بعد سے، بہت سے دیگر مسائل کو NP-مکمل دکھایا گیا ہے، جیسے کہ سفر کرنے والے سیلز مین کا مسئلہ، گروہ کا مسئلہ، اور knapsack کا مسئلہ۔ NP-مکملیت کی اہمیت یہ ہے کہ اگر کوئی NP-مکمل مسئلہ کثیر الثانی وقت میں حل کیا جا سکتا ہے، تو NP میں ہر مسئلہ کو کثیر وقت میں حل کیا جا سکتا ہے، جس کا مطلب P = NP ہے۔ اس کے برعکس، اگر کوئی بھی NP-مکمل مسئلہ متعدد وقت میں حل نہیں کیا جا سکتا، تو P ≠ NP۔
NP-مکملیت کے تصور کو واضح کرنے کے لیے، ٹریولنگ سیلز مین مسئلہ (TSP) پر غور کریں۔ اس مسئلہ میں، ایک سیلز مین کو شہروں کے سیٹ کا دورہ کرنا چاہیے، ہر ایک کو بالکل ایک بار، اور سفر کے کل فاصلے کو کم سے کم کرنے کے مقصد کے ساتھ، ابتدائی شہر میں واپس جانا چاہیے۔ TSP کا فیصلہ کن ورژن پوچھتا ہے کہ آیا شہروں کا کوئی دورہ موجود ہے جس کا کل فاصلہ دی گئی قدر سے کم یا اس کے برابر ہو۔ یہ مسئلہ NP میں ہے کیونکہ، مجوزہ ٹور کے پیش نظر، کوئی بھی کثیر وقت میں آسانی سے تصدیق کر سکتا ہے کہ آیا ٹور فاصلے کی پابندی کو پورا کرتا ہے۔ مزید یہ کہ، TSP NP-مکمل ہے کیونکہ NP میں کسی بھی مسئلے کو کثیر الثانی وقت میں TSP کی مثال میں تبدیل کیا جا سکتا ہے۔
ایک اور مثال کلیک کا مسئلہ ہے، جو یہ پوچھتا ہے کہ آیا دیئے گئے گراف میں ایک مخصوص سائز کا مکمل ذیلی گراف (کلک) موجود ہے۔ یہ مسئلہ NP میں ہے کیونکہ، امیدواروں کے گروہ کو دیکھتے ہوئے، کوئی بھی کثیر وقت میں تصدیق کر سکتا ہے کہ آیا یہ واقعی مطلوبہ سائز کا ایک گروہ ہے۔ گروہ کا مسئلہ بھی NP-مکمل ہے، یعنی اسے مؤثر طریقے سے حل کرنے کا مطلب یہ ہوگا کہ NP کے تمام مسائل کو مؤثر طریقے سے حل کیا جا سکتا ہے۔
P بمقابلہ NP اور NP-مکملیت کا مطالعہ نظریاتی کمپیوٹر سائنس میں مختلف تکنیکوں اور اوزاروں کی ترقی کا باعث بنا ہے۔ ایسی ہی ایک تکنیک کثیر الوقت کی کمی کا تصور ہے، جس کا استعمال یہ ظاہر کرنے کے لیے کیا جاتا ہے کہ ایک مسئلہ کم از کم اتنا ہی مشکل ہے جتنا کہ دوسرا۔ مسئلہ A سے مسئلہ B میں ایک کثیر الوقت کی کمی ایک ایسی تبدیلی ہے جو A کی مثالوں کو کثیر نامی وقت میں B کی مثالوں میں تبدیل کرتی ہے، اس طرح کہ B کی تبدیل شدہ مثال کا حل A کی اصل مثال کو حل کرنے کے لیے استعمال کیا جا سکتا ہے۔ اگر مسئلہ A کو کثیر نامی وقت میں مسئلہ B تک کم کیا جا سکتا ہے، اور B کو کثیر نامی وقت میں حل کیا جا سکتا ہے، پھر A کو بھی کثیر وقت میں حل کیا جا سکتا ہے۔
ایک اور اہم تصور قربت کے الگورتھم کا تصور ہے، جو کثیر وقت میں NP-ہارڈ مسائل (ایسے مسائل جو کم از کم NP-مکمل مسائل جتنی مشکل ہیں) کے قریب ترین حل فراہم کرتے ہیں۔ اگرچہ یہ الگورتھم ضروری طور پر درست بہترین حل تلاش نہیں کرتے ہیں، لیکن وہ ایسے حل فراہم کر کے پیچیدہ مسائل سے نمٹنے کے لیے ایک عملی نقطہ نظر پیش کرتے ہیں جو ممکنہ حد تک قریب ہوں۔ مثال کے طور پر، ٹریولنگ سیلز مین کے مسئلے میں ایک معروف تخمینہ الگورتھم ہے جو میٹرک TSP کے لیے بہترین ٹور کے 1.5 کے فیکٹر کے اندر ٹور کی ضمانت دیتا ہے (جہاں فاصلے تکون کی عدم مساوات کو پورا کرتے ہیں)۔
P بمقابلہ NP سوال کو حل کرنے کے مضمرات نظریاتی کمپیوٹر سائنس سے باہر ہیں۔ خفیہ نگاری میں، بہت سی خفیہ کاری اسکیمیں بعض مسائل کی سختی پر انحصار کرتی ہیں، جیسے انٹیجر فیکٹرائزیشن اور مجرد لوگارتھمز، جو کہ NP میں ہیں لیکن P میں نہیں ہیں۔ کرپٹوگرافک سسٹمز کی حفاظت۔ اس کے برعکس، P ≠ NP کو ثابت کرنا ایسے نظاموں کی حفاظت کے لیے ایک مضبوط بنیاد فراہم کرے گا۔
اصلاح میں، بہت سے حقیقی دنیا کے مسائل، جیسے شیڈولنگ، روٹنگ، اور وسائل کی تقسیم، کو NP- مشکل مسائل کے طور پر ماڈل بنایا گیا ہے۔ اگر P، NP کے برابر تھے، تو اس کا مطلب یہ ہوگا کہ ان مسائل کو بہتر طریقے سے حل کرنے کے لیے موثر الگورتھم تیار کیے جا سکتے ہیں، جس سے مختلف صنعتوں میں نمایاں پیش رفت ہو سکتی ہے۔ تاہم، موجودہ مفروضہ کہ P ≠ NP نے ہیورسٹک اور تخمینی الگورتھم کی ترقی کا باعث بنی ہے جو ان مسائل کا عملی حل فراہم کرتے ہیں۔
P بمقابلہ NP سوال کے فلسفیانہ اثرات بھی ہیں، کیونکہ یہ ریاضیاتی سچائی کی نوعیت اور انسانی علم کی حدود کو چھوتا ہے۔ اگر P، NP کے برابر ہوتا، تو اس کا مطلب یہ ہوگا کہ ایک مختصر ثبوت کے ساتھ ہر ریاضیاتی بیان کو مؤثر طریقے سے دریافت کیا جا سکتا ہے، ممکنہ طور پر ریاضیاتی دریافت کے عمل میں انقلاب برپا کر دیا جائے۔ دوسری طرف، اگر P ≠ NP، تو یہ تجویز کرے گا کہ اس کی موروثی حدود ہیں جن کی مؤثر طریقے سے گنتی اور تصدیق کی جا سکتی ہے، جو ریاضی کے ڈھانچے کی پیچیدگی اور بھرپوریت کو نمایاں کرتی ہے۔
P بمقابلہ NP سوال کا قطعی جواب نہ ہونے کے باوجود، اس کے ارد گرد کی تحقیق نے کمپیوٹیشنل پیچیدگی کے بارے میں گہرائی سے سمجھنے اور متعدد تکنیکوں اور آلات کی ترقی کا باعث بنی ہے جس کا کمپیوٹر سائنس پر گہرا اثر پڑا ہے۔ اس سوال کو حل کرنے کی جستجو محققین کو متاثر کرتی ہے اور چیلنج کرتی ہے، میدان میں پیشرفت کو آگے بڑھا رہی ہے اور حساب کی بنیادی حدود کے بارے میں ہماری سمجھ کو بڑھا رہی ہے۔
سے متعلق دیگر حالیہ سوالات اور جوابات پیچیدگی:
- کیا PSPACE کلاس EXPSPACE کلاس کے برابر نہیں ہے؟
- کیا P پیچیدگی کلاس PSPACE کلاس کا سب سیٹ ہے؟
- کیا ہم یہ ثابت کر سکتے ہیں کہ Np اور P کلاس یکساں ہیں کسی بھی NP مکمل مسئلے کے لیے ایک مؤثر کثیر الثانی حل تلاش کر کے ایک deterministic TM پر؟
- کیا NP کلاس EXPTIME کلاس کے برابر ہو سکتی ہے؟
- کیا PSPACE میں ایسے مسائل ہیں جن کے لیے کوئی معلوم NP الگورتھم نہیں ہے؟
- کیا SAT کا مسئلہ NP مکمل مسئلہ ہوسکتا ہے؟
- کیا NP پیچیدگی کی کلاس میں کوئی مسئلہ ہو سکتا ہے اگر کوئی نان ڈیٹرمنسٹک ٹیورنگ مشین ہو جو اسے کثیر وقت میں حل کر دے
- NP زبانوں کی کلاس ہے جس میں متعدد وقت کی تصدیق ہوتی ہے۔
- کیا P پیچیدگی کی کلاس میں ہر سیاق و سباق سے پاک زبان ہے؟
- کیا پولنومیل ٹائم ویریفائرز کے ساتھ فیصلہ کن مسائل کی ایک کلاس کے طور پر NP کی تعریف اور اس حقیقت کے درمیان کوئی تضاد ہے کہ کلاس P میں مسائل میں بھی polynomial-time verifiers ہوتے ہیں؟
Complexity میں مزید سوالات اور جوابات دیکھیں