Existe-t-il des problèmes décidables tels que pour aucun algorithme qui résout le problème, nous pouvons donner une limite de temps en fonction de la longueur n de l'instance d'entrée?
Je suis arrivé à cette question parce que je pensais à ce qui suit:
Supposons que nous ayons un problème récursivement énumérable, mais indécidable. Supposons en outre que je suis un «oui» -instance du problème. Alors pour aucun algorithme qui identifie les «oui» -instances du problème, nous pouvons donner une limite de temps en termes de taille n de I. Car si nous pouvions donner une telle limite de temps, nous pourrions décider du problème, comme nous pourrions simplement conclure que je suis un "non" -instance lorsque le délai est dépassé.
Étant donné que nous ne pouvons pas donner une limite de temps pour les problèmes récursivement énumérables et indécidables (pour le temps de calcul pour les cas de «oui»), je me demandais s'il y avait aussi des problèmes décidables pour lesquels nous ne pouvons pas donner de limite de temps.
la source
Réponses:
Pour chaque algorithme qui se termine sur une classe d'entrées , nous pouvons définir la fonction de ses temps d'exécution: où est la classe d'entrées de longueur et est l'algorithme de temps nécessite pour terminer sur . Bien sûr, cette définition n'est pas satisfaisante en ce qui concerne l'algorithme, mais elle montre l'existence d'une telle fonction. La question qui demeure est de savoir s'il existe une représentation concise (et je pense que c'est ce que vous demandiez).A In
Si nous utilisons des termes algébriques simples (sans récursivité d'aucune sorte) comme définition de concis, alors je pense que la réponse est non: il y a des problèmes qui peuvent être décidés mais dont la complexité n'est pas élémentaire. Autrement dit, il n'existe pas de pile de la forme qui limite le temps d'exécution d'un algorithme pour un problème de taille n.2222…n
J'espère avoir bien compris votre question.
la source
Votre point de vue est légèrement différent de celui de Marcus, mais à la lumière de votre explication de la façon dont vous avez pensé à cette question, elle pourrait être plus proche de ce que vous recherchez.
Parfois, on peut prouver qu'un problème est décidable, sans pouvoir en présenter l'algorithme. L'exemple le plus célèbre de ce genre de chose est le travail de Robertson et Seymour sur les mineurs de graphes, qui montre que toute propriété de graphe héréditaire peut être décidée en temps polynomial, en vérifiant la présence d'une liste finie appropriée de mineurs interdits. Leur preuve montre seulement qu'il existe une liste finie de mineurs interdits, mais ne fournit pas de recette pour trouver la liste.
Je ne suis pas un expert dans le domaine, donc je ne connais pas d'emblée un exemple spécifique d'une propriété de graphe héréditaire pour laquelle nous ne pouvons pas présenter d'algorithme parce que nous ne connaissons pas la liste des mineurs interdits et nous ne connaissons aucun autre moyen de résoudre le problème, mais je soupçonne que de tels exemples existent. (Et nous pouvons limiter le temps d'exécution pour trouver un exemple s'il existe, car nous savons qu'il y a au plus 8 milliards de personnes dans le monde et dans le pire des cas nous pourrions leur demander à tous!)
Une autre remarque: Puisque nous savons que la vérification d'un mineur peut être fait en le temps, on pourrait dire que dans tous les cas fournis par l'algorithme Robertson-Seymour, nous n'avons un « lié » de sur la durée de fonctionnement. Cependant, je dirais que c'est une sorte de tricherie, si nous n'avons pas de limite sur la constante.O ( n 3 )O(n3) O(n3)
la source
Juste pour ajouter une perspective différente, permettez-moi de rappeler que tous les problèmes n'ont pas une complexité "intrinsèque", qui est probablement la conséquence la plus intéressante et en quelque sorte négligée du théorème d'accélération de Blum.
Essentiellement, le théorème stipule que, fixé à une accélération souhaitée g, vous pouvez toujours trouver un problème de calcul P tel que pour tout programme résolvant P, il existe un autre programme résolvant P et exécutant g fois plus rapidement que le précédent.
Par conséquent, pour ce type de problèmes, vous ne pouvez pas vous limiter dans le temps. Résultat étonnant et assez déroutant. Bien sûr, P a une très grande complexité.
la source
L'aspect théorique de votre question est pris en charge par Markus. Plus concrètement, une façon intéressante de comprendre votre question est la suivante: existe-t-il des problèmes décidables pour lesquels nous ne connaissons aucun délai?
La réponse est oui: par exemple, il peut arriver que vous ayez un semi-algorithme pour les instances OUI de votre problème et un semi-algorithme pour les instances NON. Cela vous donne une décidabilité de votre problème, mais sans limite de temps.
Voici un exemple générique: supposons que vous avez un système axiomatique vous permettant de prouver toutes les vraies identités dans une algèbre. De plus, vous savez que les fausses identités sont toujours attestées par une structure finie.
Ensuite, vous avez l'algorithme suivant pour décider si une identité est vraie: énumérer en preuves parallèles et structures finies, et arrêter lorsque vous trouvez une preuve de ou une structure témoignant que fausse. Il vous donne un algorithme correct , mais pas la complexité liée, à moins que vous pouvez limiter la taille des preuves et des structures finies par rapport à .I I II I I I
Un exemple de ceci est la logique linéaire affine (LLW): elle est maintenant connue pour être complète en tour [1], mais pendant un certain temps aucune limite n'était connue, et seule la décidabilité a été montrée, en utilisant entre autres techniques la propriété du modèle fini [2] .
Les références:
[1] Complexité non élémentaire pour ramification VASS, MELL et extensions. Ranko Lazic et Sylvain Schmitz. CSL-LICS 2014
[2] La propriété du modèle fini pour divers fragments de logique linéaire. Yves Lafont, J. Symb. Logique. 1997
la source
comme d'autres l'ont déclaré, la question n'est pas formulée d'une manière qui évite une réponse triviale, mais il existe certains concepts dans le TCS et la théorie des nombres qui sont liés / similaires.
1) dans les théorèmes de la hiérarchie de l'espace et du temps, le concept de fonctions "constructibles dans le temps" et "constructibles dans l'espace" est requis. Des fonctions non constructibles dans le temps et non constructibles dans l'espace existent et conduisent à des propriétés inhabituelles trouvées dans les théorèmes de Blum, tels que les théorèmes "gap, speedup". la plupart (toutes?) des classes de complexité std sont définies en termes de fonctions constructibles d'espace et de temps.
2) la fonction ackerman est récursive totale mais pas récursive primitive et cela a des implications pour sa limite temporelle. les fonctions récursives primitives représentent en quelque sorte les opérations mathématiques "de base".
3) il y a environ THM séquences de la théorie des nombres incalculable dans l' arithmétique de Peano qui peuvent être interprétés comme créant non-calculables-in-a-sens temps limites telles que la séquence de Goodstein ou paris-harrington THM
la source