How to prove a prob is np complete and is in np?

1.9k views Asked by At

Given a department needs a committee to select the department’s head. The committee cannot include people who have conflicts of interest with each other. The input consists of:

  • the desired committee size
  • a list of all people
  • a list of all pairs of people that are conflicted.

The goal is to determine whether there’s a conflict-free committee of that size.

How can I show that this problem is NP-complete and is in NP?

4

There are 4 answers

0
Simon On

NP proofs usually show equivalence with a know NP problem. See for example Karp's 21 NP-complete problems. SAT is the one most used (see also the Cook-Levin theorem). You could try to create logic gates using a small number of people, where for one person being a committee member depends on the membership of two other persons. This is for example how NP proofs work for games like Conway's Game of Life and for Morpion solitaire.

2
shole On

As this is 99.99% homework, so I only give you a very brief "answer":

Try to reduce Indepedent Set Decision Problem to your problem.

Also a useful note is that if you prove the problem is NPC, then it is NP

0
UmNyobe On

Showing that a problem is NP-Complete requires you to show that it is in NP.

  1. Get familiar to a subset of NP Complete problems
  2. Prove NP Hardness : Reduce an arbitrary instance of an NP complete problem to an instance of your problem. This is the biggest piece of a pie and where the familiarity with NP Complete problems pays. The reduction will be more or less difficult depending on the NP Complete problem you choose.
  3. Prove that your problem is in NP : design an algorithm which can verify in polynomial time whether an instance is a solution.

Showing that it is in NP :

Given a random subset of people of size N, How do you check if they form a conflict-free committee?

Should be easy enough. Algorithm doesn't have to be efficient in memory or size, just correct. Form all possible pair in the subset and check if a pair is in the conflict matching list.

Familiarity with NP Completeness:
There are some specific NP Complete problems which are very popular for prooving NP hardness. For instance Karp's 21 NP-complete problems

Proof: From a quick analysis of your problem, I may initially try to use Vertex Cover NP Complete problems, especially because of the conflict clause. Given that you have a restriction on the committee size, maybe you could first try minimum vertex cover.

Good luck.

0
qchud On

To prove that the problem is np-complete you first must prove that the problem is in np. You can do so forming a certificate, so you will pick a committee size, a list of people, a list of people with conflicts of interest, and a committee. Then if you can verify (not prove) if the committee is valid in polynomial time, then it the problem is in np.

From there you can prove if the problem is np-complete by transforming a problem that is already proven to be np-complete into your problem.

If you have done both, then the problem is both in np and np-complete.