我在复杂性证明方面遇到了一些困难: 我处理3个问题:A,B和C. 我知道:
A-> B意思是:如果我对A有一个“是答案”,那么我对B有一个“是答案”。 我知道A属于NP, B和C是NP完全的。此外,我可以为A编写一个算法,其中对C的调用次数为二 我可以推断一下A的复杂性吗?
更确切地说:我有一组k个k对象。 问题A如果所有这些对象都被删除则回答是,否则不回答。 问题C回答是,如果可以删除其中一个对象,否则不会。 我们有一个约束,即每一步都必须删除至少一个对象。在最坏的情况下,我们制定P步 所以算法为A:
for( i = 0 ; i < k){
for each object p of P
{
if C(p,P)=true then
remove p of P}
}
return P = emptyset
答案 0 :(得分:0)
因为你没有声明B - &gt;答:可能的情况是,A只需要在无关紧要的情况下得到答案,或者在多项式时间内可以确定的情况下确定B的答案需要更多时间,因为更复杂的案例可能需要答案。 你问题的答案较短:不。