কীভাবে প্রমাণ করবেন যে কোনও সমস্যা এনপি সম্পূর্ণ?


108

আমার সময়সূচী নিয়ে সমস্যা আছে। আমার প্রমাণ করতে হবে যে সমস্যাটি এনপি সম্পূর্ণ। এটি এনপি সম্পূর্ণরূপে প্রমাণ করার পদ্ধতিগুলি কী কী হতে পারে?


কার্প দ্বারা "সম্মিলিত সমস্যাগুলির মধ্যে হ্রাসযোগ্যতা" পড়ুন।
পল হানকিন

উত্তর:


146

কোনও সমস্যাটি দেখানোর জন্য এনপি সম্পূর্ণ, আপনার প্রয়োজন:

এটি এনপি-তে রয়েছে দেখান

অন্য কথায়, কিছু তথ্য প্রদত্ত 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

মার্কোগের উত্তরের আরও কয়েকটি এনপি-সম্পূর্ণ সমস্যার সাথে একটি লিঙ্ক রয়েছে যা আপনি আপনার সমস্যা হ্রাস করতে পারেন।

পাদটীকা: দ্বিতীয় ধাপে ( এটি প্রমাণ করুন এটি এনপি-হার্ড ), আর একটি এনপি-হার্ড (অগত্যা এনপি-সম্পূর্ণ নয়) সমস্যাটি হ্রাস পাবে, যেহেতু এনপি-সম্পূর্ণ সমস্যাগুলি এনপি-হার্ড সমস্যার একটি উপসেট (যা হ'ল এছাড়াও এনপি)।


7
আমি ভাবছি এর পিছনে কোনও তথ্য বা কোনও বিজ্ঞপ্তি যুক্তি নেই। আমি বোঝাতে চাইছি কীভাবে কোনও সমস্যা 'প্রমান' করতে হবে এটি ইতিমধ্যে এনপি-তে রয়েছে এমন অন্যান্য সমস্যার উল্লেখ না করেই এনপি-তে রয়েছে? এটি বলার মতো "এটি লোহা দিয়ে তৈরি কারণ এর অংশটি লোহা হিসাবে পরিচিত", এটি কোনও লোহার প্রমাণ নয়।
হার্নান এচে

6
যতদূর আমার মনে আছে, কুক-লেভিন উপপাদ্য নামে একটি উপপাদ্য রয়েছে যা বলে যে স্যাট এনপি-সম্পূর্ণ। এই প্রমাণটি আমি উপরে বর্ণিত বিষয়গুলির থেকে কিছুটা জটিল এবং আমার নিজের কথায় এটি ব্যাখ্যা করতে পারব বলে আমি মনে করি না।
লায়লা আগায়েব

4
আরও সুনির্দিষ্টভাবে বলতে গেলে কুক-লেভিন উপপাদ্যটি বলেছে যে স্যাট এনপি-সম্পূর্ণ: সুতরাং এটি সেই অনুপস্থিত অংশ যা আপনি জিজ্ঞাসা করেছিলেন। আপনি যদি উইকিপিডিয়ায় উপপাদ্যটি সন্ধান করেন তবে একটি প্রমাণ রয়েছে এবং আপনি আপনার প্রমাণটিতে তত্ত্বটি উল্লেখ করতে পারেন। এটি বলেছিল, কোনও প্রদত্ত সমস্যায় স্যাট হ্রাস করা হ'ল আমাকে এনপি-সম্পূর্ণতা প্রমাণ করতে শেখানো হয়েছিল।
লায়লা আগায়েব

সুতরাং আমার প্রশ্নটি শেষ হচ্ছে যদি স্যাটকে বহুপদী অর্থাৎ পি = এনপি সমস্যার সমাধান করা যায় .. আপনার উত্তরের জন্য ধন্যবাদ।
হার্নান এচে

আপনি দয়া করে ব্যাখ্যা করতে পারেন যে আমরা দ্বিতীয় পদক্ষেপে আমরা যে এনপি-হার্ড সমস্যাটি আমরা চাই তার চেয়ে কম করতে পারি না কেন? এটি একটি এনপি-সম্পূর্ণ সমস্যা হতে হবে?
এমএলটি

23

আপনার যে সমস্যাটি রয়েছে তার থেকে আপনার কোনও এনপি-কমপ্লিট সমস্যা হ্রাস করতে হবে। যদি হ্রাসটি বহুপদী সময়ে করা যায় তবে আপনি প্রমাণ করেছেন যে আপনার সমস্যাটি এনপি-সম্পূর্ণ, যদি সমস্যাটি ইতিমধ্যে এনপিতে থাকে, কারণ:

এটি এনপি-সম্পূর্ণ সমস্যার চেয়ে সহজ নয়, যেহেতু এটি বহু-কালীন সময়ে এটি হ্রাস করা যায় যা সমস্যাটিকে এনপি-হার্ড করে তোলে।

আরও তথ্যের জন্য http://www.ics.uci.edu/~eppstein/161/960312.html এর শেষে দেখুন।


2
+1 এমন কেউ যিনি বোধগম্যভাবে ব্যাখ্যা করেন। পরিবর্তে কীওয়ার্ডগুলির জন্য একগুচ্ছ রেফারেন্স বলার অপেক্ষা রাখে না।
ColacX

22
প্রথম বাক্য ব্যাক টু সামনে হল: আপনি পরিচিত দ্বারা NP-সম্পূর্ণ সমস্যা কমাতে প্রয়োজন থেকে আপনার নিজের সমস্যা। এটি দেখায় যে আপনার সমস্যা কমপক্ষে পরিচিত এনপি-সম্পূর্ণ সমস্যা হিসাবে শক্ত । খণ্ড (খ) এছাড়াও ভুল: আপনি যদি হ্রাস পেয়ে থাকেন তবে আপনি ইতিমধ্যে বুঝতে পারেন যে আপনার সমস্যা এনপি-হার্ড; একমাত্র প্রশ্ন হ'ল এটি আদৌ এনপি-তে রয়েছে কিনা (কিছু সমস্যা যেমন হ্যালটিং প্রব্লেম হ'ল না)। যদি এটি এনপি-হার্ড এবং এনপিতে থাকে তবে এটি এনপি-সম্পূর্ণ (যেমন "এনপি-সম্পূর্ণ" "এনপি-হার্ড" এর চেয়ে বেশি নির্দিষ্ট)।
j_random_hacker

1
আমি বলব না ক) একটি দ্বন্দ্বের দিকে নিয়ে যায়, যেহেতু আমরা জানি না যে পি! = এনপি।
চিয়েল দশ ব্রিনকে

8

এল সমস্যাটিকে এনপি-সম্পূর্ণ প্রমাণ করার জন্য আমাদের নিম্নলিখিত পদক্ষেপগুলি করা দরকার:

  1. আপনার সমস্যা প্রমাণ করুন এল এনপির অন্তর্ভুক্ত (এটিই একটি সমাধান দেওয়া হয়েছে যা আপনি এটি বহুপাক্ষিক সময়ে যাচাই করতে পারেন)
  2. একটি পরিচিত এনপি-সম্পূর্ণ সমস্যা নির্বাচন করুন এল '
  3. একটি অ্যালগরিদম চ বর্ণনা করুন যা এল 'কে এল-এ রূপান্তর করে
  4. প্রমাণ করুন যে আপনার অ্যালগোরিদমটি সঠিক (আনুষ্ঠানিকভাবে: x ∈ L 'যদি এবং কেবল f (x) ∈ এল)
  5. প্রমাণ করুন যে অ্যালগো চ বহুবর্ষের সময় চলে

7

প্রথমত, আপনি দেখান যে এটি মোটামুটি এনপি-র মধ্যে রয়েছে।

তারপরে আপনি আর একটি সমস্যা খুঁজে পেয়েছেন যা আপনি ইতিমধ্যে জেনেছেন এটি এনপি সম্পূর্ণ এবং আপনি কীভাবে আপনার সমস্যার থেকে এনপি হার্ড সমস্যাটিকে বহুবচনীয়ভাবে হ্রাস করবেন তা দেখান।


না। আপনাকে দেখাতে হবে যে এনপি সম্পূর্ণতা প্রমাণ করতে এবং এটি এনপি-তে রয়েছে তা প্রমাণ করার জন্য আপনি কোনও এনপি সম্পূর্ণ সমস্যা থেকে আপনার এনপি সমস্যার মধ্যে হ্রাস করতে পারেন। আপনি এনপিতে এটি প্রমাণ করতে না পারলে এনপি হার্ড এর মধ্যে আসে না।
mrmemio29

6
  1. এনপি সম্পূর্ণ সমস্যার একটি উপসেট সম্পর্কে পরিচিত হন
  2. এনপি কঠোরতা প্রমাণ করুন: আপনার সমস্যার একটি উদাহরণে এনপি সম্পূর্ণ সমস্যার একটি স্বেচ্ছাসেবী ঘটনা হ্রাস করুন। এটি পাইয়ের বৃহত্তম টুকরা এবং যেখানে এনপি কমপ্লিট সমস্যার সাথে পরিচিতি দেয়। আপনার চয়ন করা এনপি কমপ্লিট সমস্যার উপর নির্ভর করে হ্রাস কমবেশি কঠিন হবে।
  3. প্রমাণ করুন যে আপনার সমস্যাটি এনপি-তে রয়েছে: একটি অ্যালগরিদম ডিজাইন করুন যা বহুত্বকালীন সময়ে যাচাই করতে পারে উদাহরণস্বরূপ সমাধান কিনা।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.