Pourquoi la variante de comptage d'un problème de décision difficile n'est-elle pas automatiquement difficile?

14

Il est bien connu que le 2-SAT est en P. Cependant, il semble assez intéressant que de compter le nombre de solutions pour une formule 2-SAT donnée, c'est-à-dire que # 2-SAT soit # P-difficile. Autrement dit, nous avons un exemple d'un problème pour lequel la décision est facile, mais le calcul est difficile.

Mais considérons un problème arbitraire NP-complet (disons 3-COL). Pouvons-nous immédiatement dire quelque chose sur la dureté de sa variante de comptage?

Je demande vraiment: pourquoi avons-nous besoin d'une autre preuve pour montrer qu'une variante de comptage d'un problème de décision difficile est également # P-difficile? (Parfois, vous voyez des réductions parcimonieuses qui préservent le nombre de solutions, etc.). Je veux dire vraiment, si le problème de comptage était facile, vous pourriez aussi résoudre automatiquement le problème de décision! Alors, comment cela pourrait-il être difficile? (OK, c'est peut-être difficile, mais je ne sais pas quelle définition de dur).

Gideon
la source

Réponses:

15

La raison pour laquelle ce n'est pas un théorème automatique selon lequel «la décision est difficile implique que le comptage est difficile» est que ces deux déclarations utilisent des définitions différentes de «difficile».

  • Un problème de décision est difficile s'il est NP- complet sous les réductions plusieurs-un en temps polynomial (alias les réductions de Karp, alias les réductions de cartographie du temps polynomial).

  • Un problème de comptage est difficile s'il est #P -complet sous les réductions de Turing en temps polynomial (alias les réductions Cook).

En tant que tel, si un problème de décision est NP- complet, nous savons que le problème de comptage correspondant est NP- dur mais ce n'est pas la définition de ce qu'est un problème de comptage dur. Être #P -complete semble être une déclaration beaucoup plus forte que d' être simplement NP -Hard - Toda a montré que #P problèmes COMPLETES sont difficiles pour l'ensemble de la hiérarchie polynomiale sous réductions aléatoires ainsi, en tant que classe de complexité, #P se sent beaucoup plus proche à PSPACE qu'à  NP .

Aller dans le sens opposé, il est clairement vrai que, si le problème de comptage est facile dans le sens d'être en  PF , le problème de décision est en  P . Après tout, si vous pouvez compter efficacement, vous pouvez certainement dire si la réponse est non nulle. Cependant, ce n'est pas parce que la version de comptage n'est "pas difficile" (c'est-à-dire qu'elle n'est pas complète avec #P ) qu'elle est "facile" (c'est-à-dire en  FP ). Le théorème de Ladner s'étend à  #P donc, si FP** # P ** alors il y a une hiérarchie infinie de classes de complexité distinctes entre elles afin que notre problème de comptage "pas difficile" puisse être complet pour n'importe laquelle de ces classes et, par conséquent, ne pas être "facile" (dans  FP ).

Cela dit, je ne pense pas que nous ayons de contre-exemples à la conjecture qu'un problème de décision étant NP- complet signifie que la version de comptage est #P -complete. Ce n'est donc pas un théorème mais c'est empiriquement vrai.

David Richerby
la source
En effet. Apropos du dernier paragraphe, vous pouvez trouver un peu plus de discussion sur ce point à cstheory.stackexchange.com/q/16119/5038 .
DW
1. Le problème de comptage n'est pas défini de manière unique pour un problème NP, vous devez corriger le vérificateur d'un problème NP avant de parler de sa version de comptage. 2. la dureté de la complexité est une difficulté relative et non une difficulté absolue . Donc, quand nous disons qu'un problème est difficile, la question évidente est de savoir sur quoi et sous quel type de comparaison?
Kaveh