La difficulté d'un problème fortement NP-dur ou NP-complet (tel que défini ici par exemple ) change-t-elle lorsque son entrée est unaire au lieu d'être codée en binaire?
Quelle différence cela fait-il si l'entrée d'un problème fortement NP-dur est codée unaire? Je veux dire, si je prends par exemple le problème du sac à dos faiblement NP-complet, il est NP-complet lorsqu'il est codé en binaire mais peut être résolu en temps polynomial par programmation dynamique lorsqu'il est codé unaire. Peut-être cela a-t-il des implications sur la dureté des niveaux supérieurs de la hiérarchie polynomiale temporelle?
La notion de fortement ...- dur s'applique-t-elle également à d'autres classes de complexité, par exemple les classes supérieures de la hiérarchie polynomiale temporelle?
J'ai déjà posé cette question sur stackoverflow.com mais il a été souligné qu'elle est plus appropriée ici.
la source
Réponses:
Un problème de taille codé en unaire est la taille et si binaire. Si le temps pris est , c'est dans le premier cas et dans le second cas. Un algorithme polynomial pour le premier cas sera donc exponentiel pour le second. L'encodage du problème peut donc changer radicalement la complexité d'un algorithme.N log N F ( N ) F ( taille ) F ( 2 taille )N N logN F(N) F(size) F(2size)
la source
Non.
Si vous modifiez l'encodage de l'entrée, vous avez modifié la définition formelle du problème, ce qui signifie qu'il s'agit d'un problème différent . La complexité du problème d'origine ne change pas, pour la même raison que le fait de pointer une lumière différente dans le ciel ne change pas la masse de la lune.
la source
La réponse courte est que si l'entrée est codée unaire, elle est plus longue . Il est exponentiellement plus long. Maintenant, un algorithme qui fonctionne en temps polynomial dans la taille de l'entrée a "suffisamment de temps" pour résoudre le problème, simplement parce que l'entrée elle-même est exponentiellement plus longue que dans le problème d'origine.
la source
Vu le problème de formulation passé dans la réponse de JeffE, la réponse est oui.
Considérez le problème du sac à dos . Il possède un algorithme pseudo-polynomial , c'est-à-dire dont l'exécution est limitée par un polynôme en nombre codé dans l'entrée. Étant donné que dans le codage unaire, les valeurs correspondent à la longueur, il s'agit d'un algorithme à temps polynomial pour la version unaire.
En fait, chaque problème faiblement NP-complet tombe dans cette catégorie.
la source