উত্তর:
কোনও সমস্যাটি দেখানোর জন্য এনপি সম্পূর্ণ, আপনার প্রয়োজন:
অন্য কথায়, কিছু তথ্য প্রদত্ত C, আপনি একটি বহুপদী সময় অ্যালগরিদম তৈরি করতে পারেন Vযা আপনার ডোমেনে রয়েছে Xকিনা তা প্রতিটি সম্ভাব্য ইনপুটটির জন্য যাচাই করবে X।
প্রমাণ করুন যে ভার্টেক্স কভারগুলির সমস্যাটি (যা কিছু গ্রাফের জন্য G, এটির আকারের একটি ভার্টেক্স কভার সেট রয়েছে kযাতে প্রতিটি প্রান্তের Gকভার সেটটিতে কমপক্ষে একটি ভার্টেক্স থাকে ?) এনপিতে থাকে:
আমাদের ইনপুটটি Xকিছু গ্রাফ Gএবং কিছু নম্বর k(এটি সমস্যার সংজ্ঞা থেকে এসেছে)
আমাদের তথ্যকে C" Gআকারের গ্রাফের কোনও শীর্ষ দিকের সম্ভাব্য উপসেট k" হতে
তারপরে আমরা একটি অ্যালগরিদম লিখতে পারি Vযা প্রদত্ত G, kএবং C, ফিরে আসবে যে vert কোণটির সেটটি বহুবর্ষীয় সময়েG , একটি ভার্টেক্স কভার কিনা ।
তারপরে প্রতিটি গ্রাফের জন্য G, যদি কিছু " Gআকারের শীর্ষের সম্ভাব্য উপসেট" বিদ্যমান থাকে kযা একটি ভার্টেক্স কভার হয়, তবে Gএটি ভিতরে রয়েছে NP।
নোট যে আমরা কি না বের করতে হবে Cবহুপদী টাইমে। আমরা যদি পারতাম তবে সমস্যাটি পি in পি তে হত
নোট যে অ্যালগরিদম Vজন্য কাজ করা উচিত যে G কিছু জন্য, C। প্রতিটি ইনপুট জন্য তথ্য থাকা উচিত যা ইনপুট সমস্যা ডোমেনে আছে কিনা তা যাচাই করতে আমাদের সহায়তা করতে পারে। অর্থাৎ, এমন কোনও ইনপুট থাকা উচিত নয় যেখানে তথ্য উপস্থিত নেই doesn't
এটিতে SAT এর মতো পরিচিত এনপি-সম্পূর্ণ সমস্যা পাওয়া , ফর্মের মধ্যে বুলিয়ান এক্সপ্রেশনগুলির সেট অন্তর্ভুক্ত:
(ক বা বি বা সি) এবং (ডি বা ই বা এফ) এবং ...
যেখানে অভিব্যক্তিটি সন্তোষজনক , সেখানে এই বুলিয়ানদের জন্য কিছু সেটিংস রয়েছে যা অভিব্যক্তিটিকে সত্য করে তোলে ।
তারপরে বহুপাক্ষিক সময়ে আপনার সমস্যার জন্য এনপি-সম্পূর্ণ সমস্যা হ্রাস করুন ।
অর্থাৎ কিছু ইনপুট দেওয়া হয় Xজন্য SAT(অথবা যাই হোক না কেন দ্বারা NP-সম্পূর্ণ সমস্যা আপনি ব্যবহার করছেন), কিছু ইনপুট তৈরি Yআপনার সমস্যার জন্য, যেমন যে Xস্যাট হয় যদি এবং কেবল যদি Yআপনার সমস্যা হয়। ফাংশনটি বহুপাক্ষিক সময়েf : X -> Y চলতে হবে ।
উপরের উদাহরণে ইনপুটটি Yগ্রাফ Gএবং ভার্টেক্স কভারের আকার হবে k।
একটি জন্য পূর্ণ প্রমাণ , আপনি উভয় প্রমাণ করতে চাই:
যে Xহয় SAT=> Yআপনার সমস্যা
এবং Yআপনার সমস্যায় => Xইন SAT।
মার্কোগের উত্তরের আরও কয়েকটি এনপি-সম্পূর্ণ সমস্যার সাথে একটি লিঙ্ক রয়েছে যা আপনি আপনার সমস্যা হ্রাস করতে পারেন।
পাদটীকা: দ্বিতীয় ধাপে ( এটি প্রমাণ করুন এটি এনপি-হার্ড ), আর একটি এনপি-হার্ড (অগত্যা এনপি-সম্পূর্ণ নয়) সমস্যাটি হ্রাস পাবে, যেহেতু এনপি-সম্পূর্ণ সমস্যাগুলি এনপি-হার্ড সমস্যার একটি উপসেট (যা হ'ল এছাড়াও এনপি)।
আপনার যে সমস্যাটি রয়েছে তার থেকে আপনার কোনও এনপি-কমপ্লিট সমস্যা হ্রাস করতে হবে। যদি হ্রাসটি বহুপদী সময়ে করা যায় তবে আপনি প্রমাণ করেছেন যে আপনার সমস্যাটি এনপি-সম্পূর্ণ, যদি সমস্যাটি ইতিমধ্যে এনপিতে থাকে, কারণ:
এটি এনপি-সম্পূর্ণ সমস্যার চেয়ে সহজ নয়, যেহেতু এটি বহু-কালীন সময়ে এটি হ্রাস করা যায় যা সমস্যাটিকে এনপি-হার্ড করে তোলে।
আরও তথ্যের জন্য http://www.ics.uci.edu/~eppstein/161/960312.html এর শেষে দেখুন।
এল সমস্যাটিকে এনপি-সম্পূর্ণ প্রমাণ করার জন্য আমাদের নিম্নলিখিত পদক্ষেপগুলি করা দরকার:
প্রথমত, আপনি দেখান যে এটি মোটামুটি এনপি-র মধ্যে রয়েছে।
তারপরে আপনি আর একটি সমস্যা খুঁজে পেয়েছেন যা আপনি ইতিমধ্যে জেনেছেন এটি এনপি সম্পূর্ণ এবং আপনি কীভাবে আপনার সমস্যার থেকে এনপি হার্ড সমস্যাটিকে বহুবচনীয়ভাবে হ্রাস করবেন তা দেখান।