Existe-t-il des problèmes décidables pour lesquels, sans algorithme, nous pouvons donner des limites de temps?


12

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.


9
Il y a une limite de temps triviale sur de tels algorithmes: exécutez l'algorithme et retournez le nombre d'étapes effectuées par cet algorithme. En revanche, il est facile de construire des exemples pour lesquels il est difficile de donner des bornes faciles à comprendre ou à exprimer, par exemple la fonction ackermann.
cody

2
Vous devrez être plus précis. Si vous parlez de fonctions (mathématiques), alors oui, il existe une fonction correspondant au temps de fonctionnement de n'importe quelle machine Turing (en fait, il y a plus de fonctions que les machines Turing). Si vous parlez de fonctions calculables ou, de manière équivalente, d'algorithmes, alors @cody vous donne la réponse: il suffit d'exécuter la machine Turing pour décider du problème et de compter son temps d'exécution.
Alex ten Brink

8
@AlextenBrink: En fait, pour obtenir le temps d'exécution le plus défavorable en fonction de la taille d'entrée , vous devez exécuter la machine de Turing pour toutes les entrées possibles de taille et prendre le maximum. Mais bien sûr, cela est également possible. nnn
Jukka Suomela

8
Puis-je suggérer une révision? Pour éviter la réponse triviale, supposons que nous définissions l'expression "nous pouvons donner une limite de temps" pour signifier "nous pouvons calculer une limite supérieure sur le temps d'exécution le plus défavorable plus rapidement qu'en exécutant l'algorithme sur toutes les instances de taille n". Ou peut-être que "toutes les instances" devraient être "une seule instance".
Jeffε

1
Votre argument dépend du fait que votre fonction liée au temps est entièrement calculable. Il est bien connu que cela ne peut pas être fait, mais si telle est votre question (c'est-à-dire qu'il existe des fonctions calculables partielles sans extension de fonction calculable totale), la question n'est pas au niveau de la recherche. Veuillez consulter la FAQ pour savoir où vous pourriez poser ce genre de questions.
Kaveh

Réponses:


13

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).AIn

f(n)=maxiIn(n)  time(A(i)),
n t i m e ( A ( i ) ) A iIn(n)ntime(A(i))Ai

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.2222n

J'espère avoir bien compris votre question.


6

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)


2
Mais si vous choisissez un ensemble explicite de mineurs exclus, vous pouvez présenter un algorithme. Mieux serait de choisir une propriété héréditaire qui n'a pas été étudiée. C'est un peu plus compliqué à faire, cependant.
Timothy Chow

2
C'est assez tangentiel à votre point, mais: les propriétés des graphes mineurs fermés peuvent en fait être décidées dans le temps research.nii.ac.jp/~k_keniti/quaddp1.pdf . O(n2)
Emil Jeřábek

1
@ EmilJeřábek: encore plus tangentiellement, décider si un graphique d'une famille fermée mineure satisfait une propriété de premier ordre peut être fait en temps linéaire: arxiv.org/abs/1109.5036
András Salamon

1
Soit dit en passant, Kowarabayashi et Wollan réclament une limite à la constante dans leur document STOC 2011 dsi.uniroma1.it/~wollan/PUBS/shorter_struct_web.pdf, qui fait également état de nouveaux progrès qui "ne sont pas encore entièrement consignés". Cependant, je ne peux pas facilement extraire une limite explicite de cet article.
András Salamon

2
Pour un tel exemple, vous avez des graphiques avec une couverture plane. Bizarrement, nous connaissons presque une liste: il y a 31 mineurs interdits, et un 32e potentiel, mais pour ce dernier il est ouvert qu'il ait une couverture plane ou non. Par conséquent, nous n'avons pas d'algorithme pour cette classe de graphiques. Voir par exemple: fi.muni.cz/~hlineny/papers/plcover20-gc.pdf
Denis

3

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é.


Pourquoi P a une très grande complexité?

Parce que le processus d'accélération peut être itéré, il doit donc être compatible avec une chaîne infinie d'algorithmes de complexité décroissante.
Andrea Asperti

3

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 IIIII

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


-4

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


5
pas une réponse à la question.
Kaveh
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.