La batería de posts enviados por los lectores es ya bastante amplia, y espero poder despacharla en las dos próximas semanas. El post de hoy es bastante técnico, pero es fundamental para comprender algunas de las claves de la complejidad y de la dificultad predictiva en muchos sistemas reales. Del solvente puño y letra de Luis Cosin, bienvenidos sean al mundo de los sistemas dinámicos.
Salu2,
AMT
1. Sistemas dinámicos
La
dinámica de sistemas es una disciplina relativamente nueva,
que ha conocido un desarrollo importante en los últimos años
gracias a la informática.
Su
objetivo es modelizar, simular y tratar de comprender el
funcionamiento de sistemas complejos, donde se dan fenómenos de
retroalimentación (es decir, donde un fenómeno es a la vez
“causa” y “efecto” de otros).
La
mentalidad sistémica rompe con la linealidad del pensamiento
causa-efecto y explora la forma en que múltiples fenómenos
interaccionan entre sí.
La metodología sistémica se
usa cada vez más en el análisis de sistemas ecológicos,
sociales, económicos, empresariales...etc. para la toma de
decisiones.
Conceptualmente,
un sistema dinámico es un conjunto de agentes, que realizan
intercambios cuantificables entre sí (materia, información,
energía...etc.) de acuerdo a unas reglas o “leyes” que
regulan su comportamiento.
Referencias
2. Formalización
La
formalización de lo que es un sistema dinámico es relativamente
sencilla y fue dada en la década de los 60 por Jay Forrester.
Un
sistema dinámico es un conjunto de agentes o partes que intercambian
entre sí flujos cuantificables de materia, energía o información
de acuerdo con ciertas reglas de funcionamiento.
Cada
agente del sistema queda definido por un estado, que es un
conjunto de variables (variables de estado) que describen su
situación. Por poner un ejemplo “BAU” con el que estemos
familiarizados, un almacén puede quedar definido por las cantidades
en stock de los diferentes materiales.
ALMACÉN
Stock
ítem 1
…
Stock
ítem n
Y unas
reglas para comunicarse con el resto de agentes (es decir, con
qué otros agentes y a qué ritmo puede realizar intercambios y cómo
esos intercambios afectan a su estado).
Por
ejemplo, en el caso de un almacén, y siguiendo un BAU muy
minimalista, podríamos definir los siguientes intercambios:
Aún
se pueden incluir más factores o “agentes” que interactúen con
los anteriores: expectativas de clientes, costes de transporte,
disponibilidad de ciertos recursos críticos, huelgas, disponibilidad
de personal, previsiones de venta de los proveedores…etc.
Estos
diagramas pueden alcanzar gran complejidad y no deben leerse “de
arriba abajo” o “de izquierda a derecha” sino que cualquer
punto y cualquier dirección puede servir de partida para describir
un proceso o una interacción.
De
hecho, toda interacción que pueda ser cuantificable puede
formar parte del modelo. Uno de los métodos más usados para
identificar factores e influencias es el “brainstorming” o
“tormenta de ideas” donde participen tanto personas
familiarizadas con el sistema como otras no familiarizadas.
Una
vez que estamos razonablemente satisfechos con la lista de agentes y
sus interacciones, hay que definir las reglas cuantitativas
por medio de las cuales se relacionan entre sí.
Por
simplicidad en el tratamiento matemático posterior, suele asumirse
que los intercambios son continuos y equiparables a flujos de
fluidos (es decir, como si hubiese “entradas”, “salidas”,
“depósitos” y “tuberías”).
Así,
suele expresarse el flujo instantáneo en un momento dado como
una derivada. En el caso anterior, para la variable “Stock ítem
1”, podemos establecer que la variación instantánea es:
d
(Stock ítem 1)
_____________
= F(variables de estado del sistema)
d t
Es
decir, en todo momento, la velocidad a la que varía la variable
(en este caso, el stock del ítem 1) es una función del resto de
variables de estado del sistema: tasa de reposición, demanda,
tiempo de entrega…etc.
Aquí
es necesario apoyarse en mediciones y experimentos en los que se mida
el output del agente en función de los diferentes estados posibles.
Una
vez definidas las reglas, tenemos el modelo del sistema dinámico,
consistente en un sistema de ecuaciones, que debe ser testado
frente a observaciones reales (para verificar su capacidad de
replicar el comportamiento observado).
La
componente matemática, temporal y determinista del
comportamiento de los agentes y sus interacciones es fundamental
para obtener un modelo capaz de predecir el comportamiento del
sistema en situaciones no observadas.
Referencias
3. Grados de libertad y evolución de los sistemas dinámicos
Podemos
representar el estado de un sistema en un momento dado como un
vector de N dimensiones formado por todos los valores de
sus variables de estado:
( x1
… xN )
Sin
embargo, debido a las restricciones impuestas, no todas las
variables de estado pueden tomar cualquier valor: unas dependen de
otras.
Se
llama “dimensión” o “grados de libertad”, n,
del sistema al número máximo de variables de estado
independientes.
De
forma un poco grosera, para restricciones que sean independientes:
n
= Grados de libertad = número de variables de estado – número de
restricciones.
Así,
un sistema de 10 variables de estado y 3 restricciones independientes
tiene 7 grados de libertad.
Si el
sistema tiene dimensión “n” y las variables a partir de n, xn+1
… xN son dependientes de las anteriores, entonces, el
sistema queda realmente descrito por el siguiente subconjunto de
variables:
( x1
… xn )
Y no
necesitamos considerar el resto.
Para
cada punto, definimos el vector de la evolución instantánea
del mismo desde ese punto como la derivada respecto del tiempo en
ese punto.
( dx1
/ dt … dxn / dt )
Obtenemos
así un campo de vectores. Este campo de vectores puede tener
muchas dimensiones y no ser representable.
En el
caso más simple, de dos dimensiones (2 grados de libertad) el campo
de vectores puede representarse como una “alfombra” de
vectores, uno en cada punto:
En
cada punto, el vector del campo nos da dos datos:
- La dirección en la que el sistema evoluciona desde ese punto.
- La velocidad a la que lo hace (que es la longitud o módulo del vector)
Las
curvas cuya derivada respecto al tiempo en cada punto es igual al
vector del campo en dicho punto se llaman curvas integrales y
dan la evolución temporal del sistema.
Referencias
4.
Atractores
Un
atractor o sumidero es el comportamiento al que
tiende un sistema cuando se deja pasar suficiente tiempo,
independientemente de la situación inicial. Es decir es un
subconjunto del conjunto de estados posibles que representa un
comportamiento límite.
Un
sistema puede no tener atractores en absoluto, por ejemplo, si su
comportamiento viene definido por un campo de vectores en espiral, de
modo que su comportamiento sea alejarse indefinidamente del centro de
la espiral.
O
puede tener uno sólo, o más de uno. En caso de tener más de uno,
su comportamiento límite va a depender de la situación inicial.
Generalmente,
los atractores se clasifican en tres tipos:
- Atractores puntuales: Son puntos tales que, si el sistema pasa suficientemente cerca de ellos, evolucionará acercándose cada vez más a ellos.
Atractor
puntual simple
- Atractores cíclicos: Son conjuntos cerrados (pueden ser curvas cerradas en el plano, toros en un espacio de tres dimensiones…etc.) llamados ciclos límite. Se caracterizan por estar acotados y exhibir un comportamiento cíclico en cada una de las variables (que, sin embargo, no tienen por qué estar sincronizadas entre sí!).
Atractor
del sistema de Lotka-Volterra (equilibrio predador-presa)
Atractor
del diagrama de fases de Van Der Pol (usado al sintonizar radios y
TV)
Atractor en forma de
toro de dos dimensiones
(dos variables de
estado independientes cíclicas y no acopladas)
- Atractores “extraños”: Un gran cajón de sastre con “todo lo demás”. El atractor tridimensional de Lorenz, ligado al sistema climático y que es uno de los primeros ejemplos de sistema caótico, es uno de los atractores extraños más conocidos y tiene forma de “alas de mariposa” (de donde viene la expresión “efecto mariposa”).
Atractor
de Lorenz para el sistema climático
Atractor
de Rossler (útil para describir eqilibrios en reacciones químicas)
Al
igual que existen conjuntos atractores, existen conjuntos
repelentes. Se trata de comportamientos que el sistema tiende
a abandonar y prefiere alejarse de ellos. Un ejemplo es el conjunto
de Juliá.
El
teorema de Poincaré-Bendixson muestra que un atractor extraño sólo
puede darse en un sistema dinámico continuo si éste tiene tres o
más dimensiones (es decir, tres o mas grados de libertad).
Para
sistemas discretos, existen ejemplos de atractores extraños para 1 y
2 dimensiones.
Atractores
extraños para el sistema de Henon-Heiles (sistema discreto)
Muchos
atractores extraños conocidos tienen una estructura fractal.
Referencias
5.
Orden y caos
(Reconozco
que el título de esta sección es un poco pretencioso) Los sistemas
dinámicos se clasifican en tres grandes tipos:
- Estables, cuando tienden invariablemente a uno o más atractores simples (puntos u órbitas de dos o más dimensiones) sin escaparse de ellos.
- Inestables, cuando no tienen atractores o no todos sus estados iniciales convergen a un atractor.
- Caóticos, cuando exhiben ambos comportamientos (en función de las condiciones iniciales). Existen atractores, pero a la vez, hay repelentes que los alejan de éstos. El sistema permanece confinado en una zona de su espacio de estados, pero sin tender a un atractor fijo.
De
este modo, su comportamiento, aunque determinista, es muy
dependiente de las condiciones iniciales, hasta el punto que
pequeñas variaciones en las mismas pueden conducir a comportamientos
totalmente diferentes. El primer ejemplo conocido de sistema caótico
es el sistema climático descrito por el atractor de Lorenz.
Ejemplos
de sistemas caóticos son: el Sistema Solar, las placas tectónicas,
los fluidos en régimen turbulento y los crecimientos de población.
Referencias









