J'ai lu sur les nombres de castors occupés et comment ils deviennent asymptotiquement plus grands que n'importe quelle fonction calculable. Pourquoi cela est-il ainsi? Est-ce à cause de la non-calculabilité de la fonction castor occupé? Dans l'affirmative, toutes les fonctions non calculables deviennent-elles asymptotiquement plus grandes que les fonctions calculables?
Éditer:
Excellentes réponses ci-dessous mais je voudrais expliquer en anglais plus simple ce que je comprends d'eux.
S'il y avait une fonction calculable f qui s'est développée plus rapidement que la fonction de castor occupé, cela signifie que la fonction de castor occupé est limitée par f. En d'autres termes, une machine de turing aurait simplement besoin d'exécuter f (n) de nombreuses étapes pour décider du problème d'arrêt. Puisque nous savons que le problème de l'arrêt est indécidable, notre présupposition initiale est fausse. Par conséquent, la fonction castor occupé se développe plus rapidement que toutes les fonctions calculables.
la source
Réponses:
Si vous prenez n'importe quel ensemble de nombres naturels non calculables, la fonction caractéristique de l'ensemble ne prend que les valeurs et n'est pas calculable. Il n'est donc pas vrai que toutes les fonctions non calculables se développent très rapidement, elles peuvent même être limitées.{ 0 , 1 }
La fonction Busy Beaver se développe plus rapidement que toute fonction calculable car elle est conçue pour le faire. La preuve qu'il n'est pas calculable procède d'abord en prouvant qu'il croît plus vite que n'importe quelle fonction calculable.
Plus généralement, disons qu'un ensemble a "un degré sans hyperimmunité" si chaque fonction calculable à partir de A est limitée par une fonction calculable. Certes, chaque ensemble calculable a un degré sans hyperimmunité. Il est connu qu'il existe également de nombreux ensembles non calculables qui ont un degré sans hyperimmunité. Il n'est donc pas vrai que tout ce qui n'est pas calculable devra calculer une fonction à croissance rapide.A ⊆ N UNE
Cependant, il est également vrai qu'une réinitialisation non calculable n'aura pas de degré sans hyperimmunité. Si est re, et énuméré par l'index e , la fonction f telle que f ( n ) = k si e énumère n en k étapes, et f ( n ) = 0 si e n'énumère pas n , est calculable à partir de B mais ceci est limitée par une fonction calculable si et seulement si B est calculable.B e F F( n ) = k e n k F( n ) = 0 e n B B
la source
Si une fonction croît plus rapidement (ou moins) que toute fonction dans un ensemble F de fonctions, qui est f ∈ co ( g ) (ou o ( g ) ) pour toutes les fonctions g ∈ F , il est clair que f ∉ F . C'est ce qui est utilisé pour montrer que la fonction de castor occupé n'est pas calculable. Un autre exemple est la preuve que la fonction - calculable et totale - d' Ackermann n'est pas récursive primitive.F F F∈ ω ( g) o ( g) g∈ F F∉ F
L'inverse ne tient pas nécessairement. La fonction Halting problem prend des valeurs dans donc elle est dans O ( 1 ) ¹; il est clair que les fonctions calculables se développent de plus en plus vite.{ 0 , 1 } O ( 1 )
Il existe certainement des ensembles de fonctions pour lesquelles l'exécution est à la fois un critère d'appartenance nécessaire et suffisant, à savoir celles qui sont caractérisées par l'exécution, telles que
.P o l y ={f: N → N ∣ ∃ k .F∈ O ( nk) }
la source