Resolver recursividades de divide y vencerás si la relación de división depende de

20

¿Existe un método general para resolver la recurrencia del formulario?

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

para c<1 , o más generalmente

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

donde g(n),r(n) son algunas funciones sub-lineales de n .

Actualización : He revisado los enlaces que se proporcionan a continuación y también examiné todas las relaciones de recurrencia en las notas de Jeff Erickson . Esta forma de recurrencia no se discute en ninguna parte. El método Akkra-Bazi se aplica solo cuando la división es fraccional. Cualquier referencia conmovedora será apreciada.

Plummer
fuente
2
Intenta generar funciones.
saadtaame
1
¿Se aplica el método Akra-Bazzi ? Solo da estimaciones de O() , pero eso podría ser suficiente.
vonbrand
44
Dado que no incluyó un gran intento de resolver su problema por su cuenta, tenemos poco para trabajar. Permítame dirigirlo a nuestras preguntas de referencia que cubren problemas similares a los suyos en detalle. Revise las preguntas relacionadas que se enumeran allí, intente resolver su problema nuevamente y edite para incluir sus intentos junto con los problemas específicos que encontró.
Raphael
1
Consulte los folletos de Tom Leighton sobre "Notas sobre mejores teoremas maestros para las recurrencias de divide y vencerás", que están disponibles en la red. Quizás pueda adaptar la prueba de Akra-Bazzi a su caso.
vonbrand
1
Las funciones de generación @EngrStudent se propusieron en el primer comentario. :)
Raphael

Respuestas:

6

Digamos que tiene una recurrencia extiende sobre reales positivos.

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

¿Qué podemos hacer con esta función? Bueno, no mucho a menos que superpongamos ciertas estructuras sobre él. Vengo de un fondo de análisis numérico, que está pavimentado con recetas numéricas que de alguna manera funcionan incluso cuando el problema subyacente no es lo suficientemente fluido (no importa, sigamos arrojando el método de Newton en sus diferencias divididas) o demasiado complicado para analizar (ordenar de este problema) Mi reacción instintiva ante estos problemas es hacer una suposición hecha a mano, cruzar los dedos y esperar lo mejor. En este caso, parece dar límites relativamente buenos.

En particular, quiero hacer dos suposiciones principales. Una de estas suposiciones es más o menos infundada, pero no llegaremos muy lejos sin ella. El otro tiene una intuición visual bastante agradable que, con suerte, puedes asimilar, pero aún es más manejable que cualquier otra cosa.

  1. Asumiré que es "suave-ish". Es bastante fácil ver que T ( n ) no es diferenciable en todas partes. De hecho, ni siquiera es continuo, ya que para f ( n ) = log ( n ) y c = 1T(n)T(n)f(n)=log(n)c=12lim n 2 + T ( n ) = 2 + ln 2 n limn2T(n)=1limn2+T(n)=2+ln2 nn-nn T(n)n2nnT(n)nnnT(n)n2en algún lugar de su trayectoria. Eso es un montón de discontinuidades, incluso podría darle una oportunidad a la función de Dirichlet. Si estamos llegando al punto en el que estamos comparando los comportamientos de una función con el ejemplo prototípico de una función continua en ninguna parte, ¿no es ridículo intentar afirmar que es "suave"? Bueno, resulta que en la práctica, los efectos de estas discontinuidades disminuyen asintóticamente, hasta el punto de que su gráfico se ve casi suave cuando tiende hacia el infinito. Por lo tanto, propongo que bajemos nuestras horcas y simplemente miremos para otro lado en esta circunstancia. En particular, supondré que en cualquier punto de interés que esté suficientemente lejos del origen,nnT(n)es diferenciable, o al menos aproximadamente diferenciable en algún vecindario.
  2. También asumiré una postura de suavidad aún más fuerte cuando esté suficientemente lejos. Supongamos que es una función sublineal tal que (por ejemplo ), entonces la derivada hace no varía significativamente cuando es lo suficientemente lento. Intuitivamente, a medida que aumenta, el tamaño relativo de la vecindad disminuye (ya que su tamaño es solo , que crece mucho más lentamente que ). Eventualmente, el tamaño de este vecindario se vuelve tan insignificante (en relación conα ( n ) n > α ( n ) n c T ( ξ ( n - α ( n ) , n ) α ( nnα(n)n>α(n)ncT(ξ(nα(n),n)n ( n - α ( n ) , n ) α ( n ) n n T ( n )α(n)n(nα(n),n)α(n)nn) que la tasa de cambio de dentro de este vecindario ya no cambia todo tan dramáticamente.T(n)

Ahora, se asumen ambas propiedades, y no tengo ni idea de cómo hacer para demostrarlo de manera rigurosa. Pero como dije antes, crucemos nuestros dedos y esperemos lo mejor.

Comencemos con la relación de recurrencia: Ahora, supondré que es lo suficientemente suave en el intervalo entre y . Apelar a una de nuestras herramientas analíticas clásicas, el teorema del valor medio, nos da Además, cuando es suficientemente grande, suponemos que es aproximadamente el mismo a lo largo de este intervalo y, por lo tanto, toma el valor de cualquiera de las diferencias finitas dentro de este intervalo también. Esto significa que Tn-ncnT(n)-T(n- n c )

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
En particular, tome para obtener uno -proximación aproximada de diferencia dividida Podemos telescopiar esto para obtener ϵ=1
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

La perturbación de revela que tiene dos fases asintóticas, dependiendo de la naturaleza asintótica de .T(n)T(n)f(z)

Cuando ( es más rápido que ), entonces la suma derecha domina, y tenemos que a menudo se puede aproximar con la integral .ff(n)=o(nc)fncT(n)=Θ(knf(k)kc)nf(x)xcdx

Cuando , entonces la suma izquierda domina a la derecha. Aquí, tenemos que analizar la suma donde .f(n)=ω(nc)

(knT(kc)kc)+Fc(n)
Fc(n)=nf(x)xcdx

En virtud del argumento de suavidad, podemos ver esto una vez más como una suma de Riemann anclada a la izquierda, aproximando la integral . La aplicación de un teorema de valor medio similar sobre la integral da Podemos seguir adelante y aproximar esto por , que da la aproximación para alguna constante que limita la serie.nT(xc)xcdx

kT(kc)kcnf(xc)xcdx=nT(ξ<nc)ξc
nT(nc)nc
T(n)nMT(nc)nc+Fc(n)
M

Ahora, supongamos que tenemos la secuencia iterada donde , entonces podemos usar esta secuencia para telescopiar la desigualdad anterior para obtener: Una vez más, podemos enlazar el término por alguna constante para encontrar que donde . Simplificando un poco y fusionando algunos de los términos juntos (en 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))Mncnckes una constante), obtenemos
T(n)=O(nkFc(n)Mk)

Sin embargo, este límite es relativamente flojo, y debe consultar siempre que sea posible.(*)

Tenga en cuenta que de ninguna manera es tan riguroso. No he proporcionado ningún apoyo para que esto funcione más allá de algunas aproximaciones torpes. Sin embargo, si solo necesita una suposición asintótica rápida en aras del análisis informal, entonces puede ver que este esquema funciona bien (para valores suficientemente grandes de , generalmente suficiente) en la práctica.nn>10

De todos modos, para todas las opciones de y que he probado, el siguiente cálculo donde parece dar buenas aproximaciones . Esta técnica también se generaliza a las recurrencias de la forma que se puede aproximar con dondecf

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)))y denota el número de elementos de la secuencia tal que el último término esté entre y .#β(n)n,β(n),β(β(n)),,β#β(n)(n)12
Sotavento
fuente