Y a-t-il des problèmes dans CS où aucun algorithme efficace n'est connu, malgré l'existence de théorèmes prouvant que de tels algorithmes efficaces doivent exister?
Comment s'appellent ces problèmes? Où puis-je en savoir plus?
Y a-t-il des problèmes dans CS où aucun algorithme efficace n'est connu, malgré l'existence de théorèmes prouvant que de tels algorithmes efficaces doivent exister?
Comment s'appellent ces problèmes? Où puis-je en savoir plus?
Réponses:
À titre d'exemple, Shelby Kimmel utilise la méthode de l'adversaire dans cet article pour montrer qu'il doit exister algorithme de requête pour un certain problème pour lequel nous ne connaissons pas de solution de requête constante. Elle le fait de manière particulièrement astucieuse en trouvant la complexité de requête du problème composé avec elle-même fois, puis en trouvant la complexité de requête de la fonction compostée, et en notant que la complexité de requête de la fonction d'origine est de l'ordre .
Bien sûr, il existe de nombreux exemples, du moins dans l'esprit de votre question.
On obtient souvent un tel résultat de la méthode probabiliste . Par exemple, un article que j'aime et qui pose problème est la reconstruction de graphiques dans le modèle additif . Ici, les auteurs montrent qu'il existe un ensemble de requêtes qui apprendront (de manière optimale) le graphe cible. Compte tenu de cet ensemble, l'algorithme est efficace. Cependant, ils utilisent la méthode probabiliste pour montrer l'existence de ce petit ensemble (pour chaque taille de problème) qui fonctionnera sur toutes les entrées, mais ne le construisent pas explicitement. Donc, le mieux qu'ils peuvent faire est simplement une recherche par force brute à travers une famille exponentielle de requêtes car elles n'ont pas de construction explicite.
Non, vous pouvez toujours utiliser l'algorithme le plus rapide et le plus court pour tous les problèmes bien définis . ;)
Edit: La réponse ci-dessous est en train de régner sur l'existence de solutions à un problème de calcul donné, et non sur l'existence d'algorithmes. Au départ, j'ai mal interprété la question.
Répondre
Il existe une classe de complexité qui capture ce type de problèmes de calcul. Il est connu sous le nom de TFNP . Il a été défini dans cet article:
Nimrod Megiddo et Christos Papadimitriou. Sur les fonctions totales, les théorèmes d'existence et la complexité de calcul . Informatique théorique 81 (2): 317-324.
Vous trouverez ici des problèmes comme le Triangle Trichromatique, pour lesquels l'existence d'une solution est garantie par le lemme de Sperner (voir l'article pour la définition de ce problème).
Vous avez également le document suivant:
Christos Papadimitriou. Sur la complexité de l'argument de la parité et d'autres preuves d'existence inefficaces . Journal of Computer and Systems Science 48 (3), 1990.
Dans cet article, vous trouverez:
Le document contient de nombreux exemples de ce type de problèmes. Je recommande donc d'y jeter un œil.