Skip to main content
rewrite
Source Link
shreevatsa
  • 661
  • 1
  • 10
  • 14

Your Problem 2 is indeed a promise problem. ItBy definition, it is not in NP, butbecause NP is a class of decision problems, not promise problems. But if you like, you can say that it's in a class Promise-NP. (This term doesn't seem very common, though, unlike the other class "Promise-BPP".)

See Wikipedia or Oded Goldreich's survey On Promise Problems. The promise classes are different, and sometimes much stronger, than their plain versions. Among other things, a problem in the promise version of NP∩co-NP need not be in NP, and (as commented here) there are NP-hard problems in promise-NP∩co-NP while this is not believed to be the case for NP∩co-NP.

Edit (in response to first comment below): Well, because you've constrained your input, so you're no longer working with the same model. InFor a decision problemsproblem, all possible input strings are either YES instances or NO instances, whereas in. For a promise problemsproblem, some strings are allowed to be "invalid": neither YES nor NO. NP is a class of decision problems

In general, in which for all YES instances there isif you have a succinct certificate, and onlynondeterministic algorithm for them. For your Problem 2, although there is a succinct certificate for the YES instancespromise problem, if given an input which does notthen when you feed it inputs that don't satisfy the conditionpromise, there may still exist some "certificate" that makes whatever verification you were doingit will either accept or not — so the input. So the sets of strings accepted and rejectednot accepted by your predicate will be supersets of the actual YES and NO instances respectively (and have intersection with the "invalid" instances). Sorry if this is unclear; allIn this particular problem, because your condition is explained better ina necessary one for 3-colorability, the first few pagesset of accepted strings will be exactly the survey linked aboveset of 3-colorable graphs, but its complement will include graphs that don't satisfy the condition. (If you like, you can artificially change the problem to a decision problem with the same set of YES instances, but then your Problem 2 becomes the same as Problem 1 and therefore in NP.)

Your Problem 2 is indeed a promise problem. It is not in NP, but if you like, you can say that it's in a class Promise-NP. (This term doesn't seem very common, though, unlike the other class "Promise-BPP".)

See Oded Goldreich's survey On Promise Problems. The promise classes are different, and sometimes much stronger, than their plain versions. Among other things, a problem in the promise version of NP∩co-NP need not be in NP, and (as commented here) there are NP-hard problems in promise-NP∩co-NP while this is not believed to be the case for NP∩co-NP.

Edit (in response to first comment below): Well, because you've constrained your input, so you're no longer working with the same model. In decision problems, all possible input strings are either YES instances or NO instances, whereas in promise problems, strings are allowed to be "invalid": neither YES nor NO. NP is a class of decision problems, in which for all YES instances there is a succinct certificate, and only for them. For your Problem 2, although there is a succinct certificate for the YES instances, if given an input which does not satisfy the condition, there may still exist some "certificate" that makes whatever verification you were doing accept the input. So the sets of strings accepted and rejected by your predicate will be supersets of the actual YES and NO instances respectively (and have intersection with the "invalid" instances). Sorry if this is unclear; all this is explained better in the first few pages of the survey linked above.

Your Problem 2 is indeed a promise problem. By definition, it is not in NP, because NP is a class of decision problems, not promise problems. But if you like, you can say that it's in a class Promise-NP. See Wikipedia or Oded Goldreich's survey On Promise Problems.

For a decision problem, all strings are either YES instances or NO instances. For a promise problem, some strings are allowed to be "invalid": neither YES nor NO.

In general, if you have a nondeterministic algorithm for a promise problem, then when you feed it inputs that don't satisfy the promise, it will either accept or not — so the the sets of strings accepted and not accepted by your predicate will be supersets of the actual YES and NO instances respectively (and have intersection with the "invalid" instances). In this particular problem, because your condition is a necessary one for 3-colorability, the set of accepted strings will be exactly the set of 3-colorable graphs, but its complement will include graphs that don't satisfy the condition. (If you like, you can artificially change the problem to a decision problem with the same set of YES instances, but then your Problem 2 becomes the same as Problem 1 and therefore in NP.)

clarify
Source Link
shreevatsa
  • 661
  • 1
  • 10
  • 14

Your Problem 2 is indeed a promise problem. It is not in NP, but if you like, you can say that it's in a class Promise-NP. (This term doesn't seem very common, though, unlike the other class "Promise-BPP".)

See Oded Goldreich's survey On Promise Problems. The promise classes are different, and sometimes much stronger, than their plain versions. Among other things, a problem in the promise version of NP∩co-NP need not be in NP, and (as commented here) there are NP-hard problems in promise-NP∩co-NP while this is not believed to be the case for NP∩co-NP.

Edit (in response to first comment below): Well, because you've constrained your input, so you're no longer working with the same model. In decision problems, all possible input strings are either YES instances or NO instances, whereas in promise problems, strings are allowed to be "invalid": neither YES nor NO. NP is a class of decision problems, in which for all YES instances there is a succinct certificate, and only for them. For your Problem 2, although there is a succinct certificate for the YES instances, if given an input which does not satisfy the condition, there may still exist some "certificate" that makes whatever verification you were doing accept the input. So the sets of strings accepted and rejected by your predicate will be supersets of the actual YES and NO instances respectively (and have intersection with the "invalid" instances). Sorry if this is unclear; all this is explained better in the first few pages of the survey linked above.

Your Problem 2 is indeed a promise problem. It is not in NP, but if you like, you can say that it's in a class Promise-NP. (This term doesn't seem very common, though, unlike the other class "Promise-BPP".)

See Oded Goldreich's survey On Promise Problems. The promise classes are different, and sometimes much stronger, than their plain versions. Among other things, a problem in the promise version of NP∩co-NP need not be in NP, and (as commented here) there are NP-hard problems in promise-NP∩co-NP while this is not believed to be the case for NP∩co-NP.

Your Problem 2 is indeed a promise problem. It is not in NP, but if you like, you can say that it's in a class Promise-NP. (This term doesn't seem very common, though, unlike the other class "Promise-BPP".)

See Oded Goldreich's survey On Promise Problems. The promise classes are different, and sometimes much stronger, than their plain versions. Among other things, a problem in the promise version of NP∩co-NP need not be in NP, and (as commented here) there are NP-hard problems in promise-NP∩co-NP while this is not believed to be the case for NP∩co-NP.

Edit (in response to first comment below): Well, because you've constrained your input, so you're no longer working with the same model. In decision problems, all possible input strings are either YES instances or NO instances, whereas in promise problems, strings are allowed to be "invalid": neither YES nor NO. NP is a class of decision problems, in which for all YES instances there is a succinct certificate, and only for them. For your Problem 2, although there is a succinct certificate for the YES instances, if given an input which does not satisfy the condition, there may still exist some "certificate" that makes whatever verification you were doing accept the input. So the sets of strings accepted and rejected by your predicate will be supersets of the actual YES and NO instances respectively (and have intersection with the "invalid" instances). Sorry if this is unclear; all this is explained better in the first few pages of the survey linked above.

Source Link
shreevatsa
  • 661
  • 1
  • 10
  • 14

Your Problem 2 is indeed a promise problem. It is not in NP, but if you like, you can say that it's in a class Promise-NP. (This term doesn't seem very common, though, unlike the other class "Promise-BPP".)

See Oded Goldreich's survey On Promise Problems. The promise classes are different, and sometimes much stronger, than their plain versions. Among other things, a problem in the promise version of NP∩co-NP need not be in NP, and (as commented here) there are NP-hard problems in promise-NP∩co-NP while this is not believed to be the case for NP∩co-NP.