J'ai posé une question (initiale) sur des sommes de termes Landau auparavant , essayant de mesurer les dangers d'abuser de la notation asymptotique en arithmétique, avec un succès mitigé.
Maintenant, ici, notre gourou de la récurrence, JeffE, fait essentiellement ceci:
Bien que le résultat final soit correct, je pense que c'est faux. Pourquoi? Si l'on ajoute à toute l'existence de constantes implicites (uniquement la borne supérieure), on a
.
Maintenant, comment calculer partir de ? La réponse est, je crois, que nous ne pouvons pas: doit se limiter à tout mais nous obtenons plus de mesure que croît. Nous ne savons rien d'eux; peut très bien dépendre de , donc on ne peut pas supposer de borne: un fini peut ne pas exister.
De plus, il y a ce problème subtil dont la variable va à l'infini sur le côté gauche - ou ? Tous les deux? Si (pour des raisons de compatibilité), quelle est la signification de , sachant que ? Cela ne signifie-t-il pas seulement ? Si c'est le cas, nous ne pouvons pas mieux la somme que Θ ( n ) .
Alors, où en sommes-nous? C'est une erreur flagrante? Un subtil? Ou est-ce simplement l'abus habituel de la notation et nous ne devrions pas regarder les signes comme celui-ci hors de leur contexte? Pouvons-nous formuler une règle (rigoureusement) correcte pour évaluer (certaines) sommes de termes Landau?
Je pense que la question principale est: qu'est-ce que ? Si nous la considérons constante (car elle est dans le cadre de la somme), nous pouvons facilement construire des contre-exemples. S'il n'est pas constant, je ne sais pas comment le lire.
Réponses:
Me semble bien dans la convention suivante:
Ainsi les (ou avec la notation dans cette réponse ) que vous obtenez, ne dépendent pas vraiment de .c k kci ck k
Selon cette interprétation, il est en effet vrai que .Sn=Θ(Hn)
En fait, dans la réponse de Jeff, il montre que où , donc c'est cohérent avec l'interprétation ci-dessus.f ∈ Θ ( 1 / k )T(k+1)=f(k)+T(k) f∈Θ(1/k)
La confusion semble provenir du "déroulement" mental de la et de la présomption de fonctions différentes pour chaque occurrence de ...Θ∑ Θ
la source
Je pense avoir résolu le problème. En substance: l'utilisation des termes de Landau dissocie la variable de la fonction summand de la variable courante de la somme. Nous (les voulons) toujours les lire comme identiques, cependant, donc la confusion.
Pour le développer formellement,
Vraiment méchant? Maintenant je suppose que ces laissent - pas - à l'infini; si nous laissons , chaque somme de ce type est évaluée à (si les sommets sont indépendants de et donc constants), ce qui est clairement faux. Voici un premier cadeau qui nous permet de grossir les choses: est lié (et constant) à l'intérieur de la somme, mais la laisser aller à l'infini?i n n → ∞ Θ ( n ) n iΘ i n n→∞ Θ(n) n i
En traduisant (pour la borne supérieure, la borne inférieure fonctionne de manière similaire), nous obtenons(1)
Maintenant, il est clair que la somme et le paramètre sont découplés: on peut facilement définir les pour qu'ils utilisent comme constante. Dans l'exemple de la question, nous pouvons définir et avoiri f i i f i ( j ) = i ⋅ 1i i fi i fi(j)=i⋅1j∈Θ(1/j)
mais la somme d'origine n'évalue clairement pas quelque chose dans . Maintenant, échanger pour - qui n'est qu'un changement de nom - dans le peut sembler étrange car n'est pas indépendant de resp. la somme, mais si nous nous y opposons maintenant , nous n'aurions jamais dû utiliser à l'intérieur du en premier lieu (car cela a la même étrangeté).j i Θ i n i ΘΘ(Hn)=Θ(logn) j i Θ i n i Θ
Notez que nous n'avons même pas exploité que le peut aussi dépendre de . nfi n
Pour conclure, l'identité proposée est fausse. Nous pouvons, bien sûr, convenir de conventions sur la façon de lire des sommes telles que l'abréviation d'un calcul rigoureux. Cependant, de telles conventions seront incompatibles avec la définition des termes Landau (ainsi que leur abus normal), impossible à comprendre correctement sans contexte et trompeur (pour les débutants) au moins - mais c'est finalement une question de goût (et de cruauté) ?).
Il m'est venu à l'esprit que nous pouvons également écrire exactement ce que nous voulons dire tout en utilisant la commodité des termes Landau. Nous savons que tous les sommets proviennent d'une fonction commune, ce qui implique que les bornes asymptotiques utilisent les mêmes constantes. Ceci est perdu lorsque nous mettons le dans la somme. Alors ne le mettons pas dedans et écrivonsΘ
au lieu. Mettre dehors de la somme résulte enΘ
Il me semble donc que c'est à la fois une manière correcte et utile d'écrire la question, et devrait donc être préférée à l'utilisation des symboles Landau à l' intérieur de la somme quand nous les entendons à l' extérieur .
la source
Si chaque est une constante, alors il y a un tel que . Alors clairement Même idée pour peu o.ci cmax ∀ci:ci≤cmax
Je pense que le problème ici est que . C'est (puisqu'il n'y a pas de tel que ), donc la somme globale sera . Et chaque terme est , ce qui signifie que la somme globale est . Donc, aucune limite stricte ne peut être trouvée à partir de cette méthode.1/i≠Θ(1) o(1/n) ϵ ∀i:1/i>ϵ no(1/n)=o(1) O(1) O(n)
Je pense que vos questions sont:
J'espère que quelqu'un d'autre pourra répondre plus clairement au # 2.
EDIT: En examinant à nouveau votre question, je pense que vous demandez
À qui la réponse est oui. Dans ce cas cependant, chaque terme n'est pas de quoi que ce soit, de sorte que cette approche s'effondre.Θ
EDIT 2: Vous dites "considérez , alors il n'y a pas ". Vrai sans équivoque. Si vous dites que est une fonction non constante de , alors il est, par définition, non constant.ci=i cmax ci i
Notez que si vous le définissez de cette façon, alors n'est pas , c'est . En effet, si vous définissez "constante" comme signifiant "toute fonction de ", alors deux fonctions de diffèrent par une "constante"!cii Θ(i) Θ(i2) i i
C'est peut-être une façon plus simple d'y penser: nous avons la séquence . Quel est le plus petit terme de cette séquence? Eh bien, cela dépendra de . Nous ne pouvons donc pas considérer les termes comme constants.1,12,…,1n n
(Les informaticiens connaissent souvent mieux le big-O, il peut donc être plus intuitif de demander si a un terme constant le plus grand.)1,…,n
Pour fournir votre preuve: soit la plus petite valeur de dans la plage . Alorsf(imin) f(i) 1,…,n
Une preuve analogue peut être faite pour la borne supérieure.
Enfin, vous écrivez que et comme preuve donnez que . Il s'agit en fait d'une contre-épreuve: si est "plus grand" que , il ne peut pas être "plus petit" que , ce qui est requis pour qu'il soit . Donc ça ne peut pas être .Hn=o(n) Hn=Θ(logn) Hn n logn Θ(logn) o(n)
la source