Prouvez n! est entièrement constructible en temps

8

Nous venons de terminer notre leçon "Constructibilité du temps" en classe la semaine dernière, et nous avons, par exemple, montré que nk,2n sont entièrement constructibles dans le temps, c'est-à-dire qu'il existe une machine de Turing (déterministe multi-bandes) n donné, s'arrête après exactement f(n) étapes, et a simplement demandé si nous pouvions maintenant prouver que n! est entièrement constructible dans le temps (et déplacé).

Je ne sais pas comment va la preuve, mais je pense qu'elle doit utiliser nk constructibilité temporelle dans une certaine mesure, ou une certaine identité impliquant des factorielles, puisque nous avons montré nk est (entièrement) temps constructible en utilisant nk=n+i=1i=k1(n1)ni.

Des conseils seraient également appréciés, vraiment. Merci d'avance.

coptus
la source

Réponses:

1

Supposons que nous ayons trouvé n! en entrée n. Notre complexité est en termes de longueur de l'entrée (nous supposons qu'elle estL=O(logn)). Multiplication d'unk peu à peu l nombre de bits via la multiplication standard prend O(kl) opérations (également après multiplication du nombre de bits dans la résultante si O(k+l)). Nous multiplions linéairement dans une boucle de1 à n obtenir n!. Donc, le nombre d'opérations effectuées est limité par#=L2(1+2...(n1))=L2n(n1)2=O(L22O(L))=o(L!). Il est donc constructible d'espace et de temps.

sashas
la source
1
Le problème est que vous devez prouver (construire une machine, donner "une description" de ses étapes - puis les compter) que, si n est une longueur d'entrée, la machine s'arrête après exactement f (n) étapes. La borne supérieure est, dans ce cas, hors de propos (car elle découle en fait immédiatement d'une preuve donnée).
coptus
@coptus Selon Wikipedia, il semble qu'il existe 2 définitions différentes pour une fonction constructible dans le temps. Il suffit que la fonction s'arrête après exactementf(n) étapes, tandis que l'autre nécessite l'arrêt O(f(n)) étapes, mais nécessite également que la sortie soit la représentation binaire de f(n). Il me semble que les sashas ont prouvé selon la deuxième définition
Dean Gurvitz