Relación de recurrencia

En matemática, una relación de recurrencia es una ecuación que define una secuencia recursiva; cada término de la secuencia es definido como una función de términos anteriores.[1]

Definición

editar

Una ecuación recurrente es un tipo específico de relación de recurrencia. Una relación de recurrencia para la sucesión   es una ecuación que relaciona   con alguno de sus predecesores  . Las condiciones iniciales para la sucesión   son valores dados en forma explícita para un número finito de términos de la sucesión.[2]

Resolver una relación de recurrencia consiste en determinar una fórmula explícita (cerrada) para el término general  , es decir una función no recursiva de n.

Hay tres métodos para resolver relaciones recurrentes: iteración, transformada Z y un método especial que se aplica a las relaciones de recurrencia lineales homogéneas con coeficientes constantes.

Un ejemplo de una relación de recurrencia es el siguiente:

 

Algunas definiciones de recurrencia pueden tener relaciones muy complejas (caóticas), y sus comportamientos a veces son estudiados por los físicos y matemáticos en un campo conocido como análisis no lineal.

Resolución

editar

Por hipótesis comprobada

editar

La forma más sencilla para resolver una relación de recurrencia es formular una posible solución (hipótesis) y comprobar por inducción la validez de la misma.

En el caso de las "Torres de Hanoi", siendo   el número de pasos para resolver el problema con   discos,   está dado por la siguiente ecuación de recurrencia:

 

Resolver la recurrencia sería encontrar la ecuación que nos da el valor de   en términos de  .

Al analizar la correspondencia para cada valor de   con n desde   especulamos que quizás la solución sea  , por lo que para comprobarla se procede a sustituir la hipótesis en la ecuación de recurrencia:

 

comprobándose la hipótesis como verdadera.[3]

Iteración

editar

Para resolver una relación de recurrencia asociada a la sucesión:   por iteración, utilizamos la relación de recurrencia para escribir el n-ésimo término   en términos de algunos de sus predecesores. Luego utilizamos de manera sucesiva la relación de recurrencia para reemplazar cada uno de los términos por algunos de sus predecesores. Continuamos hasta llegar a alguno de los casos base.

Recurrencias Lineales

editar

Una relación de recurrencia es lineal de orden k si tiene la siguiente estructura:

 

para  , siendo   funciones reales de  , y   una función de n.

El adjetivo lineal indica que cada término de la secuencia está definido como una función lineal de sus términos anteriores. El orden de una relación de recurrencia lineal es el número de términos anteriores exigidos por la definición.

En la relación   el orden es dos, porque debe haber al menos dos términos anteriores (ya sean usados o no).

Ejemplos :

 

Ecuación de Recurrencia lineal homogénea con coeficientes constantes

editar

Se llama ecuación de recurrencia lineal homogénea de orden k, con coeficientes constantes, a una expresión del tipo:

 

Para poder encontrar una solución, hacen falta unas condiciones de contorno o iniciales  , siendo k el grado de la ecuación.

La recurrencia lineal, junto con las condiciones iniciales  , determinan la secuencia única.

Sea la ecuación de recurrencia lineal homogénea de orden k anterior, se denomina ecuación característica a la ecuación de grado k:

 
La generación de la función racional
editar

Las secuencias lineales recursiva son precisamente las secuencias cuya función de generación es una función racional: el denominador es el polinomio auxiliar (a una transformación), y el numerador se obtiene con los valores iniciales.

El caso más sencillo son las secuencias periódicas, , n≥d que tienen secuencia   y función de generación una suma de una serie geométrica:

 

Más general, dada la relación de recurrencia:

 

con función de generación

 

la serie es aniquilada por   y anteriormente por el polinomio:

 

Eso es, multiplicando la función de generación por el polinomio

 

como el coeficiente en  , que desaparece (por la relación de recurrencia) para n ≥ d. Así:

 

como dividiendo:

 

expresando la función de generación como una función racional. El denominador es  , una transformación del polinomio auxiliar (equivalente, invirtiendo el orden de los coeficientes); también se puede usar cualquier múltiplo de esta, pero esta normalización es elegida por ambas porque la relación simple del polinomio auxiliar, y de ese modo  .

Relación con la diferencia de ecuaciones
editar

Dada una secuencia   de números reales: la primera diferencia   se define como  

La segunda diferencia   se define como  ,

que se puede simplificar a  .

Más general: la diferencia   se define como  

A diferencia de la ecuación es una ecuación compuesta por   y sus diferencias. Cada relación de recurrencia puede ser formulada como una ecuación de diferencia. Por el contrario, cada ecuación de diferencia puede ser formulada como una relación de recurrencia. Algunos autores así utilizan los dos términos intercambiables. Por ejemplo, la ecuación de la diferencia:

 

es equivalente a la relación de recurrencia:

 

De este modo se puede resolver relaciones de recurrencia por la reiteración como ecuaciones diferencia, y luego la solución de la ecuación de diferencia, análogamente como una solución de ecuaciones diferenciales ordinarias.

Ver escala de tiempo de cálculo para la unificación de la teoría de las ecuaciones de diferencia con la de las ecuaciones diferenciales.

Resolución
editar

Sean

 

una ecuación de recurrencia lineal homogénea,   su ecuación característica y,   las raíces de la ecuación característica con multiplicidades   respectivamente. La solución de esta ecuación sería:

 

Con   el polinomio de grado menor o igual que  . Para poder calcular los coeficientes de los polinomios  , necesitamos saber las condiciones iniciales de la ecuación de recurrencia.

Ejemplo : Números de Fibonacci
editar

Los números de Fibonacci están definidos usando la siguiente relación de recurrencia lineal:

 

con los valores iniciales:

 
 

La secuencia de los números de Fibonacci comienza: 1, 1, 2, 3 ,5, 8, 13, 21 ,34, 55, 89... El objetivo de la resolución de la ecuación de recurrencia es encontrar una forma cerrada para calcular los números de Fibonacci.

La ecuación característica es la siguiente:

 
 
 

por lo tanto, la solución general es:

 

Para hallar el valor de   y   resolvemos las siguientes ecuaciones:

 
 

Entonces:

 

y

 

La forma cerrada para los números de Fibonacci es:

 

Ecuación de Recurrencia lineal no homogénea con coeficientes constantes

editar

Recibe el nombre de ecuación de recurrencia lineal no homogénea de grado k, con coeficientes constantes, una expresión del tipo:  .

Resolución
editar

La solución general sería:   , donde   es la solución de la ecuación de recurrencia lineal homogénea asociada es decir la ecuación :   y donde   es la solución particular que depende de la función F(n). Por lo tanto los pasos a seguir serían, primero calcular la solución de la ecuación homogénea, calcular una solución particular para F(n) y sumarla a la homogénea, y a continuación aplicar las condiciones iniciales para calcular las constantes. En la siguiente tabla, encontramos cuales son las posibles soluciones particulares:

   
   
   
   
   
   
   
   
   
   
   
  • Consideraciones:

1.- Si F(n) es una combinación lineal de algunas de las funciones de la tabla anterior, su solución particular es la combinación lineal de las soluciones particulares de esas mismas funciones.

2.- Si uno de los sumandos de F(n) es el producto de una constante por una solución de la ecuación característica homogénea asociada, entonces es necesario multiplicar la solución particular correspondiente a este sumando por la menor potencia de n, tal que este nuevo producto no sea solución de la ecuación característica homogénea asociada.

La ecuación de recurrencia asociada con el problema de las Torres de Hanói es la siguiente:

 

Con las condiciones iniciales:

 

Se resuelve la siguiente homogénea:

 

La ecuación característica es:  , entonces  

Entonces :  

A continuación, se resuelve la ecuación particular: , entonces  .

 , entonces igualando con las condiciones iniciales la solución es :  

Recurrencias No lineales

editar

Para resolver recurrencias no lineales tenemos muchas opciones de las cuales:

  • Buscar transformaciones o cambios de variables que hagan la recurrencia lineal.
  • Para el caso   , hay un teorema muy útil que es el Teorema Maestro.

La recurrencia en la computación

editar

La conexión con el análisis de algoritmos estriba en que la forma que se ha adoptado para medir las complejidades, utiliza funciones cuyo dominio son los números naturales, o en otras palabras, sucesiones. Si el algoritmo es recurrente, es de esperarse que las complejidades, como funciones que estiman la demanda de recursos a lo largo de la ejecución, sean sucesiones que satisfacen ciertas ecuaciones de recurrencia. En un algoritmo recursivo, la función t(n) que establece su complejidad viene dada por una ecuación de recurrencia. Una ecuación de recurrencia nos permiten indicar el tiempo de ejecución para los distintos casos del algoritmo recursivo (casos base y recursivo).

Ejemplo : Cálculo del factorial

editar
int Fact(int n){
        if(n>=0 && n<=1)  //Si n es 0 o es el número 1, el factorial es 1 
            return 1;
        else
        return n*Fact(n-1);
}

Considerando el producto como operación básica, podemos construir la ecuación recurrente para calcular la complejidad del algoritmo como sigue:

Como se ve en el código el caso base es para n<=1, para estos valores de n el número de multiplicaciones que se realiza es 0. Y en otro caso es 1 más las necesarias para calcular el factorial de n-1. Así construimos la función recurrente:

 

Ahora si resolvemos la ecuación recurrente sabremos la complejidad de este algoritmo en función de n. Procedemos a resolver esta ecuación recurrente no lineal:

 

resolvemos la homogénea:

 

resolvamos ahora la particular:

como la particular' coincide con la r, debemos aumentar el grado multiplicando por n

 

por lo que la solución de la ecuación recurrente queda como sigue:

 

Ahora calculamos c utilizando el caso base, t(1) = 1

 

ya tenemos la solución: t(n) = n

La ecuación que nos ha quedado es de grado 1 por lo que la complejidad es del orden exacto de n -> θ(n)

Por ejemplo para calcular el factorial de 3 necesitaremos t(3) productos lo que es igual a

 

Como vemos son 2 productos como nos ha devuelto la ecuación.

Aplicaciones

editar

Biología

editar

Algunas de las ecuaciones de diferencia más conocidas tienen sus orígenes en el intento de modelar la dinámica de la población. Por ejemplo, los números de Fibonacci se utilizaron una vez como modelo para el crecimiento de una población de conejos.

El mapa logístico se utiliza directamente para modelar el crecimiento de la población, o como punto de partida para modelos más detallados de dinámica poblacional. En este contexto, a menudo se utilizan ecuaciones de diferencias acopladas para modelar la interacción de dos o más poblaciones. Por ejemplo, el modelo de Nicholson-Bailey. Las ecuaciones de Integrodiferencia son una forma de relación de recurrencia importante para la ecología espacial. Estas y otras ecuaciones de diferencias son particularmente adecuadas para modelar poblaciones univoltinas.

Informática

editar

Las relaciones de recurrencia son también de fundamental importancia en el análisis de algoritmos. Si un algoritmo está diseñado para que rompa un problema en subproblemas más pequeños divide y vencerás, su tiempo de ejecución se describe por una relación de recurrencia.

Un ejemplo simple es el tiempo que un algoritmo toma para encontrar un elemento en un vector ordenado con elementos {N}, en el peor de los casos.

Un algoritmo ingenuo buscará de izquierda a derecha, un elemento a la vez. El peor escenario posible es cuando el elemento requerido es el último, por lo que el número de comparaciones es {N} .

Un algoritmo mejor se llama búsqueda binaria. Sin embargo, requiere un vector clasificado. Comprueba primero si el elemento está en el centro del vector. Si no, entonces comprobará si el elemento medio es mayor o menor que el elemento buscado. En este punto, la mitad del vector puede ser descartada, y el algoritmo puede ser ejecutado de nuevo en la otra mitad. El número de comparaciones será dado por: C1 = 1; Cn = 1 + C(n/2), aproximado al log(2) de n.

Economía

editar

Las relaciones de recurrencia, especialmente las relaciones de recurrencia lineal, se utilizan ampliamente tanto en la economía teórica como en la empírica. En particular, en macroeconomía se podría desarrollar un modelo de varios sectores amplios de la economía (el sector financiero, el sector de bienes, el mercado de trabajo, etc.), en el que las acciones de algunos agentes dependen de variables rezagadas. El modelo se resolvería para los valores actuales de variables clave (tasa de interés, PIB real, etc.) en términos de variables exógenas y variables endógenas retardadas. Véase también análisis de series temporales.


Entre otras:

  • En la óptica
  • En la teoría de la probabilidad
  • En el estudio de los árboles binarios, pilas y algoritmos de ordenación

Véase también

editar

Referencias

editar
  1. Lehman, Leighton y Meyer (2010). Mathematics for Computer Science. p. 283. 
  2. Johnsonbaugh, Richard (2005). Matemáticas Discretas. Pearson Education. p. 280. ISBN 970-26-0637-3. 
  3. Lehman, Leighton y Meyer (2010). Mathematics for Computer Science. p. 287.