Resolvendo dividir e conquistar recorrências se a taxa de divisão depender de


20

Existe um método geral para resolver a recorrência do formulário:

T(n)=T(nnc)+T(nc)+f(n)

para , ou mais geralmentec<1

T(n)=T(ng(n))+T(r(n))+f(n)

onde são algumas funções sub-lineares de .g(n),r(n)n

Atualização : Examinei os links fornecidos abaixo e também examinei todas as relações de recorrência nas anotações de Jeff Erickson . Essa forma de recorrência não é discutida em nenhum lugar. O método Akkra-Bazi se aplica somente quando a divisão é fracionária. Qualquer referência pungente será aprovada.


2
Tente gerar funções.
saadtaame

1
O método Akra-Bazzi se aplica? Ele fornece apenas estimativas , mas isso pode ser suficiente. O()
22613 vonbrand

4
Como você não fez muita tentativa de resolver seu problema por conta própria, temos alguns com os quais trabalhar. Permitam-me direcioná-lo para as perguntas de referência que abordam problemas semelhantes aos seus em detalhes. Por favor, trabalhe com as perguntas relacionadas listadas lá, tente resolver seu problema novamente e edite para incluir suas tentativas, juntamente com os problemas específicos que você encontrou.
Raphael

1
Confira as apostilas de Tom Leighton em "Notas sobre melhores teoremas mestres para recorrências de dividir e conquistar", que estão disponíveis na rede. Talvez você possa adaptar a prova de Akra-Bazzi ao seu caso.
precisa saber é

1
As funções de geração do @EngrStudent foram propostas no primeiro comentário. :)
Raphael

Respostas:


6

Digamos que você tenha uma recorrência que variam acima de reais positivos.

T(n)={T(nnc)+T(nc)+f(n)n > 21otherwise

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.

  1. 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) limn2-T(n)=1limn2+T(n)=2+ln2nc=12limn2T(n)=1limn2+T(n)=2+ln2 nn-nn T(n)n2nnT(n)nnnT(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.
  2. 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(nnc)+T(nc)+f(n)T(n)T(nnc)=T(nc)+f(n)ncT(n)T(nnc)nc=T(nc)+f(n)
Tnncnn T ( ξ ) T ( ξ ) T ( n ) - T ( n - ϵ )
T(n)T(nnc)nc=T(ξ(nnc,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)nkT(kc)
nc(T(n)T(n1))T(nc)+f(n)T(n)T(n1)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)kcnf(xc)xcdx=nT(ξ<nc)ξc
nT(nc)nc
T(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(ik1MinciFc(nci)+Mknck)
Fc(nci)
T(n)=O(Fc(n)+nFc(nc)(Mnc+M2nc2++Mknck))
k=logc(log(2)log(n))Mncncké 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)=nklogclogn2MknckF(nck)F(n)=knf(k)kc
MkT(kc)kcnT(nc)nc
T(n)=T(nα(n))+T(β(n))+f(n)
αk(n)=α(k(α(n)))#β(n)n,β(n),β(β(n)),,β#β(n)(n)12
T^(n)=nk#β(n)Mkαk(n)F(βk(n))F(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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.