Caos en Sistemas Discretos


Comenzaremos introduciendo los primeros conceptos de la teoría del caos analizando el comportamiento de sistemas discretos mediante aplicaciones iteradas. Las aplicaciones iteradas son probablemente el ejemplo más simple de un sistema no lineal. Se construyen eligiendo un número cualquiera como dato de entrada de una función, utilizando el resultado como nuevo dato de entrada de la misma función, y repitiendo el proceso sucesivamente. Intente hacer esto con el botón de su calculadora correspondiente a la función coseno (debe tener una calculadora que use radianes como unidad angular; la calculadora científica que tiene su ordenador funcionará de forma adecuada). Simplemente elija un número incial y pulse una y otra vez el botón de la función coseno. La serie de números que aparece en la pantalla oscilará y al cabo de un cierto número de pasos se aproximará a un valor estable y no habrá más cambios. Dicha serie de números recibe el nombre de órbita, y el punto final se llama punto fijo estable.

Este sencillo ejercicio muestra lo que es una aplicación iterada. Sin embargo, es un ejemplo poco interesante. Las aplicaciones iteradas constituyen la base de la que estan hecha muchos fractales. El conjunto de Mandelbrot, por ejemplo, es una aplicación iterada en el plano complejo. Aqui trataremos con aplicaciones unidimensionales, pues son más sencillas de analizar.


La Aplicación Logística

Una aplicación iterada particularmente interesante y popular es la aplicación logística. Esta aplicación muestra muchas de las propiedades que veremos más tarde en sistemas continuos. La ecuación logística es un modelo simple de población para una especie que no tenga depredadores, pero sí un suministro de alimentos limitado. Viene dado por la siguiente ecuación:

x[n+1] = r*x[n](1-x[n])

donde r es un parámetro que haremos varíar entre 0 y 4, que representa el suministro de alimento. El valor inicial de x tiene que encontrarse entre 0 y 1. Esta ecuación es mucho más difícil de analizar en una calculadora, por lo que usaremos a continuación un applet java para que nos ayude en el análisis.

Para empezar, elegiremos un valor de r igual a 2.9. Para ver lo que pasa, representamos una serie temporal de la órbita. A medida que iteramos la función, el estado del sistema tiende a un valor fijo estable. Esto es similar al ejercicio que se ha llevado a cabo anteriormente con la calculadora:

Convergencia a un punto fijo

Existe de hecho otro punto fijo en 0, como puede comprobarse insertando el valor 0 en la función para x y observando qué ocurre. Este punto fijo es sin embargo inestable, puesto si el valor inicial no es exactamente 0, el sistema se dirigirá al otro punto fijo, que es estable. Por tanto, el punto x=0 recibe el nombre de repulsor, mientras que el punto fijo estable es un atractor. En el contexto demográfico, x=0 corresponde a una población nula: la vida no aparece espontáneamente de la nada, pero si hay una cantidad de individuos, por pequeña que sea, la especie no desaparecerá (en este modelo simple), sino que tenderá a un valor estacionario no nulo que dependerá de la cantidad de alimento disponible r.

Si incrementamos r por encima de 3.0 ocurre algo más interesante: la órbita no se estabiliza en un punto fijo. El punto fijo que existía anteriormente ha perdido estabilidad, y el sistema oscila ahora entre dos puntos. Esto recibe el nombre de ciclo estable, en este caso es un ciclo estable de periodo 2:

Convergencia a un ciclo de periodo 2

En nuestro contexto demográfico, la comida ha aumentado hasta llegar al punto en que una generación pequeña dispone de tanto alimento que tiene un rápido crecimiento de forma súbita, mientras que en la siguiente generación hay demasiados individuos pero una cantidad insuficiente de comida, por lo que la población vuelve a bajar en la siguiente generación, y así sucesivamente. Este es de hecho un comportamiento estable, y puede observarse en algunas colonias de bacterias.

Si seguimos aumentando r, este ciclo de periodo 2 se convierte en un ciclo de periodo 4, después en uno de periodo 8, y así sucesivamente. Pero antes de examinar este proceso, vamos a describir una forma gráfica elegante de representar el problema.

Recordemos que el procedimiento que estamos siguiendo consiste en tomar un punto x1, evaluar x2=f(x1), después x3=f(x2), y así sucesivamente. Si representamos gráficamente x2 en función de x1, obtenemos un punto de la llamada curva logística (en rojo en el applet que viene a continuación). Para introducir x2 en f(x), podemos proyectar el punto de la curva logística horizontalmente sobre la curva x2=x1 (en blanco en el applet), y posteriormente proyectar este punto en vertical de nuevo sobre la curva logística (con lo que estamos calculando gráficamente f(x2)); eso nos dará x3. Este se proceso se repite una y otra vez para describir toda la evolución temporal del sistema. Quizás esto parezca una manera extraña de ver la órbita logística, pero experimentando con ella pueden verse de forma sencilla puntos fijos estables, ciclos estables y cualquier otro comportamiento que esta ecuación pueda esconder. Aunque este procedimiento gráfico iterativo puede hacerse de forma manual, a continuación se muestra un applet java que nos permitirá aplicarlo de forma automática. Experimente con r=2.9 y r=3.2, y observará el punto fijo y el ciclo de periodo 2 que se han descrito anteriormente. Para utilizar el applet especifique los valores de r y del inicio de la órbita en las casillas correspondientes. Las otras dos casillas le permiten decidir cuándo comienza a ver el proceso (para eliminar los puntos iniciales de la órbita, que no corresponden al estado estable, como se ve en las dos figuras anteriores), y cuándo acaba la simulación. Valores adecuados para observar la evolución hacia el punto fijo (r=2.9) y hacia el ciclo de periodo 2 (r=3.2) son 0 para el inicio y 300 para el final. Si queremos ver exclusivamente el ciclo de periodo 2, escoja 300 para el valor inicial y 600 para el final.

Ahora que estamos familiarizados con este método gráfico, podemos seguir aumentando r. Si aún no ha intentado incrementar r por encima de 3.2, hágalo ahora. Elija por ejemplo r=3.5 y luego r=3.56. Observará que el ciclo pasa a tener periodo 4 y luego periodo 8. Estos cambios reciben el nombre de bifurcaciones. En cada bifurcación, el sistema sufre un cambio drástico en su comportamiento a largo plazo. A medida que r aumenta, las bifurcaciones ocurren cada vez más rápido, hasta que finalmente, para r aproximadamente igual a 3.5699, el periodo del ciclo se hace infinito. Si r crece por encima de este valor crítico (manteniéndolo por debajo de 4), el sistema ya no sigue un ciclo periódico, sino que siempre varía sin repetirse a sí mismo. La siguiente gráfica corresponde a una de esas órbitas, para r=3.9.

Orbita para r=3.9

Este comportamiento recibe el nombre de caos. Hay otra manera de ver todas estas bifurcaciones a la vez. Si representamos los puntos fijos estables, o los puntos pertencientes a ciclos estables, en función de r, se puede ver que cada uno de los ciclos se bifurca en otro de periodo doble que el original. Por encima de r=3.5699 el comportamiento es caótico, por lo que un continuo puntos corresponden a un mismo valor de r (la órbita ya no es periódica, y toma infinitos valores de x). La siguiente gráfica corresponde al diagrama de bifurcación de la aplicación logística. Como puede observarse, hay ventanas de comportamiento periódico en la zona caótica.

Diagrama de bifurcacion para la ecuacion logistica

Esta ruta al caos recibe el nombre de cascada de doblamiento de periodo. Aparece en muchos sistemas reales y modelos matemáticos que exhiben caos, hecho que se conoce con el nombre de universalidad.


Hay muchas aplicaciones iteradas que se pueden estudiar. Otro ejemplo muy conocido es la llamada aplicación triangular, definida por f(x) = r*x si 0 < x < 1/2 y f(x) = r-r*x si 1/2 < x < 1. Esta aplicación exhibe una cascada de bifurcaciones cuando r aumenta de 0 a 2.


Esta es una versión adaptada de The Non-Linear Lab

Autor de la versión original: Blair D. Fraser

Páginas traducidas y adaptadas por: Jordi García Ojalvo