Digamos que você tenha uma recorrência
que variam acima de reais positivos.
T(n)={T(n−nc)+T(nc)+f(n)1n > 2otherwise
O que podemos fazer com esta função? Bem, não muito, a menos que sobreponhamos certas estruturas a ele. Eu vim de um fundo de análise numérica, que é pavimentado com receitas numéricas que de alguma forma funcionam mesmo quando o problema subjacente não é bom o suficiente (não importa, vamos ainda jogar o método de Newton em suas diferenças divididas) ou muito complicado para analisar (classificar de como este problema). Minha reação instintiva em relação a esses problemas é fazer uma suposição ondulada, cruzar os dedos e esperar o melhor. Nesse caso, parece dar limites relativamente bons.
Em particular, quero fazer duas suposições principais. Uma dessas suposições é mais ou menos infundada, mas não chegaremos muito longe sem ela. O outro tem uma intuição visual bastante agradável que você pode esperar, mas ainda é mais ondulada do que qualquer outra coisa.
- Assumirei que é "suave". É bastante fácil ver que não é diferenciável em todos os lugares. De facto, ele não é contínuo, mesmo, uma vez que para e , e . Portanto, dados os mapas iterados gerados por ou , conterá uma descontinuidade em se sua árvore de iteração contiverT ( n ) f ( n ) = log ( n ) c = 1T(n)T(n)f(n)=log(n) limn→2-T(n)=1limn→2+T(n)=2+ln2n↦√c=12limn→2−T(n)=1limn→2+T(n)=2+ln2 n↦n- √n↦n−−√ T(n)n2nnT(n)n↦n−n−−√T(n)n2em algum lugar de sua trajetória. Isso são muitas descontinuidades, pode até dar à função de Dirichlet uma corrida pelo seu dinheiro. Se estamos chegando ao ponto em que estamos comparando os comportamentos de uma função com o exemplo prototípico de uma função contínua em nenhum lugar, não é ridículo tentar afirmar que é "suave"? Bem, na prática, os efeitos dessas descontinuidades diminuem assintoticamente, a ponto de seu gráfico parecer quase suave quando tende ao infinito! Portanto, proponho que abaixemos nossos forquilhas e apenas olhemos de outra maneira nessa circunstância. Em particular, assumirei que, em qualquer ponto de interesse que esteja suficientemente longe da origem,nnT(n)é diferenciável ou pelo menos aproximadamente diferenciável em algum bairro.
- Também assumirei uma postura de suavidade ainda mais forte quando estiver suficientemente longe. Suponha que seja uma função sublinear tal que (por exemplo ), então a derivada faça não varia significativamente quando é lento o suficiente. Intuitivamente, à medida que aumenta, o tamanho relativo da vizinhança diminui (já que seu tamanho é apenas , que cresce muito mais devagar do que .) Eventualmente, o tamanho desse bairro se torna tão insignificante (em relação aα ( n ) n > α ( n ) n c T ′ ( ξ ∈ ( n - α ( n ) , n )nα(n)n>α(n)ncT′(ξ∈(n−α(n),n)n ( n - α ( n ) , n ) α ( n ) n n T ( n )α(n)n(n−α(n),n)α(n)nn) que a taxa de variação de dentro desse bairro não muda mais drasticamente.T(n)
Agora, essas duas propriedades são assumidas, e não faço a menor ideia de como proceder para provar de alguma maneira rigorosa. Mas, como eu disse antes, vamos cruzar os dedos e esperar o melhor.
Vamos começar com a relação de recorrência:
Agora, assumirei que seja suave o suficiente no intervalo entre e . Apelar para uma de nossas ferramentas analíticas clássicas, o teorema do valor médio, nos dá
Além disso, quando é suficientemente grande, assumimos que é aproximadamente o mesmo durante todo esse intervalo e, portanto, assume o valor de qualquer uma das diferenças finitas dentro desse intervalo. Isso então significa que
Tn-ncnT(n)-T(n-nc)
T(n)T(n)−T(n−nc)ncT(n)−T(n−nc)nc=T(n−nc)+T(nc)+f(n)=T(nc)+f(n)=T(nc)+f(n)
Tn−ncnn T ′ ( ξ ) T ′ ( ξ ) ≈ T ( n ) - T ( n - ϵ )T(n)−T(n−nc)nc=T′(ξ∈(n−nc,n)).
nT′(ξ)ε=1 n c ( T ( n ) - T ( n - 1 ) )T′(ξ)≈T(n)−T(n−ϵ)ϵ ϵ<nc
Em particular, pegue para obter um aproximação aproximada da diferença dividida
Podemos fazer um telescópio para obter
ϵ=1 T(n)≈n∑kT(kc)nc(T(n)−T(n−1))T(n)−T(n−1)≈T(nc)+f(n)≈T(nc)+f(n)nc
T(n)≈∑knT(kc)kc+∑knf(k)kc
A perturbação revela que tem duas fases assintóticas, dependendo da natureza assintótica de .T(n)T(n)f(z)
Quando ( é mais rápido que ), a soma direita domina e temos que geralmente pode ser aproximado com a integral .f(n)=o(nc)fncT(n)=Θ(∑knf(k)kc)∫nf(x)xcdx
Quando , a soma esquerda domina a direita. Aqui, temos que analisar a soma
onde .f(n)=ω(nc)
(∑knT(kc)kc)+Fc(n)
Fc(n)=∫nf(x)xcdx
Em virtude do argumento de suavidade, podemos mais uma vez ver isso como uma soma de Riemann ancorada à esquerda, aproximando-se da integral . A aplicação de um teorema de valor médio semelhante sobre a integral fornece
Podemos apenas ir em frente e aproximar isso por , o que fornece a aproximação
para alguma constante que limita a série.∫nT(xc)xcdx
∑kT(kc)kc≈∫nf(xc)xcdx=nT(ξ<nc)ξc
nT(nc)ncT(n)≤nMT(nc)nc+Fc(n)
M
Agora, suponha que tenhamos a sequência iterada que , então podemos usar esta sequência para encurtar a desigualdade acima para obter:
Mais uma vez, podemos vincular o por alguma constante para descobrir que
onde . Simplificando um pouco e unindo alguns dos termos juntos (em particular, sabemos que(n,nc,nc2,nc3,…,nck)nck<2
T(n)≤n(∑ik−1MinciFc(nci)+Mknck)(*)
Fc(nci)T(n)=O(Fc(n)+nFc(nc)(Mn−c+M2n−c2+⋯+Mkn−ck))
k=logc(log(2)log(n))Mn−cn−cké uma constante), obtemos
T(n)=O(nkFc(n)Mk)
No entanto, esse limite é relativamente flexível e você deve consultar sempre que possível.(*)
Esteja ciente de que isso não é rigoroso. Não forneci nenhum apoio de que isso deva funcionar além de algumas aproximações desajeitadas. No entanto, se você precisar apenas de um palpite assintótico rápido para fins de análise informal, poderá realmente ver que esse esquema funciona bem (para valores suficientemente grandes de , geralmente é suficiente) na prática.nn>10
De qualquer forma, para todas as opções de e que eu tentei, o seguinte cálculo
onde
parece fornecer boas aproximações . Essa técnica também generaliza a recorrências da forma
que pode ser aproximada com
quecf
T^(n)F(n)=n∑klogclogn2MknckF(nck)=∑knf(k)kc
M≈∑kT(kc)kcnT(nc)nc
T(n)=T(n−α(n))+T(β(n))+f(n)
αk(n)=α(k⋯(α(n)))#β(n)n,β(n),β(β(n)),…,β#β(n)(n)12T^(n)F(n)=n∑k#β(n)Mkαk(n)F(βk(n))=∑knf(k)α(k)
αk(n)=α(⋯k(α(n)))e indica o número de elementos da sequência tal que o último termo esteja entre e .
#β(n)n,β(n),β(β(n)),…,β#β(n)(n)12