Saltar al contenido principal
LibreTexts Español

8.4: Bifurcaciones en Modelos de Tiempo Discreto

  • Page ID
    115756
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Las bifurcaciones discutidas anteriormente (nodo de silla de montar, transcrítico, horca, Hopf) también son posibles en sistemas dinámicos de tiempo discreto con una variable:

    \[x_{t} =F(x_{t-1}) \label{(8.35)} \]

    La matriz jacobiana de este sistema es, nuevamente, una matriz 1×1 cuyo valor propio es su propio contenido, que viene dado por\(dF/dx\). Dado que se trata de un modelo de tiempo discreto, la condición crítica en la que se produce una bifurcación viene dada por

    \[\left|\frac{dF}{dt}\right|_{x=x_{eq}} =1. \label{(8.36)} \]

    Trabajemos en el siguiente ejemplo:

    \[x_{t} =x_{t-1} +r -x^{2}_{t-1} \label{(8.37)} \]

    Este es un análogo de tiempo discreto de la Ec. (8.1.3). Por lo tanto, tiene el mismo conjunto de puntos de equilibrio:

    \[x_{eq}= \pm \sqrt{r} \label{(8.38)} \]

    A continuación, calculamos de\(dF/dx\) la siguiente manera:

    \[\begin{align} \dfrac{dF}{dx} &=(r +x -x^{2})' \\[4pt] &=1-2x \label{(8.39)} \\[4pt] \left|\dfrac{dF}{dt}\right|_{x= \pm \sqrt{r}} &=|1\pm 2\sqrt{r}|\end{align} \label{(8.40)} \]

    Para saber qué valor de\(r\) hace este 1, consideramos los siguientes cuatro escenarios:

    • \(1+2\sqrt{r}=1 \Rightarrow r=0\)
    • \(1-2\sqrt{r}=1 \Rightarrow r=0\)
    • \(1+2\sqrt{r}=-1 \Rightarrow (no \ real \ solution)\)
    • \(1-2\sqrt{r}=-1 \Rightarrow r=1\)

    Como ve,\(r = 0\) aparece de nuevo como un umbral crítico, en el que se produce una bifurcación de nodo de silla de montar. Pero ahora vemos otro umbral crítico,\(r = 1\), también apareciendo, que no estaba ahí en su versión de tiempo continuo. Por eso dije antes que los modelos de tiempo continuo son más simples que los modelos discreto-tiempo\ para el análisis de bifurcación; los modelos de tiempo discreto pueden mostrar una nueva forma de bifurcación que no era posible en sus contrapartes de tiempo continuo. Para conocer más sobre esto, podemos estudiar la estabilidad de los dos puntos de equilibrio comprobando si\(|dF/dx|\) es mayor o menor que 1 en cada punto. El resultado se resume en el Cuadro 8.4.1.

    Cuadro\(\PageIndex{1}\): Resumen del análisis de bifurcación de\(x _ { t } = x _ { t - 1 } + r - x _ { t - 1 } ^ { 2 }\).

    Punto de equilibrio \(r < 0 \) \(0 < r < 1\) \(1 < r \)
    \(x_{eq} = √r \) \ (r < 0\) "> no existe \ (0 < r < 1\) "> estable \ (1 < r\) ">inestable
    \(x_{eq} = -√r \) \ (r < 0\) "> no existe \ (0 < r < 1\) ">inestable \ (1 < r\) ">inestable

    El resultado que se muestra en la tabla es prácticamente el mismo que antes hasta\(r = 1\), pero cuando\(r > 1\), ambos puntos de equilibrio se vuelven inestables. Esto debe significar que no se permite que el sistema converja hacia ninguno de ellos. Entonces, ¿qué va a pasar con el sistema en este rango de parámetros? Podemos dejar que el sistema muestre su comportamiento real mediante simulaciones numéricas. Aquí hay un ejemplo:
    código 8.3 pt 1.pngcódigo 8.3 pt 2.pngcódigo 8.3 pt3.png

    Los resultados se muestran en la Fig. 8.4.1, visualizando trayectorias reales del estado del sistema a lo largo del tiempo para varios valores de\(r\). La versión de trama telaraña también se muestra en la Fig. 8.4.2 (el código no se muestra aquí; ¡intente implementar el código usted mismo!).

    Hay algunos comportamientos nuevos que no se vieron en versiones de tiempo continuo del mismo modelo. Por ejemplo, at\(r = 0.5\), hubo una firma de “rebasamiento” justo antes de que el estado del sistema convergiera a un punto de equilibrio estable. Pero lo más importante, en\(r = 1\), el sistema comenzó a fallar en converger a un solo punto estable, y para\(r > 1\), comenzó a oscilar entre dos estados distintos. A esto se le llama un\(period-doubling \ bifurcation\). Se trata de una bifurcación que suele ocurrir en sistemas discretos de tiempo (pero también es posible en sistemas de tiempo continuo de dimensiones superiores), donde el sistema pierde estabilidad de una\(T\) trayectoria de periodo y comienza a moverse en otra trayectoria con periodo\(2T\). La bifurcación observada\(r = 1\) fue una transición desde un punto de equilibrio (que es una trayectoria periódica con periodo\(T = 1\), es decir, el sistema toma el mismo valor de estado en cada paso de tiempo)

    Fig. 8.8 pt1.PNG

    Fig. 8.8 pt2.PNG
    Figura\(\PageIndex{1}\): Salida visual de Código 8.3.

    Fig. 8.9 pt1.PNG

    Fig. 8.9 pt2.PNG
    Figura\(\PageIndex{2}\): Versión gráfica telaraña de la Fig. 8.4.1.

    a una trayectoria con periodo\(2T = 2\). Curiosamente, las bifurcaciones de duplicación de períodos ocurren en cascada si sigues aumentando\(r\). En este caso particular, se observó otra bifurcación de duplicación de período en\(r = 1.5\), donde la trayectoria del período-2 perdió su estabilidad y el sistema se movió a una trayectoria de período-4. Esto continúa a medida que se continúa incrementando r. La primera bifurcación de duplicación de período de trayectorias de período-1 a período-2 aún puede caracterizarse como la pérdida de estabilidad de un punto de equilibrio, pero el autovalor dominante que desestabiliza el punto de equilibrio debe ser\(negative\) para inducir el flipping comportamiento. Esto se puede escribir matemáticamente de la siguiente manera:

    Una primera bifurcación de duplicación de período de trayectorias de período-1 a período-2 ocurre en un modelo de tiempo discreto cuando los valores propios\(λ_i\) de la matriz jacobiana en un punto de equilibrio satisfacen lo siguiente:

    \(λ_i = −1\)para algunos\(i\), mientras que\(|λ_i| < 1\) para el resto.

    En el ejemplo anterior,\(dF/dx|_{x_{eq}}=√r = −1\) cuando\(r = 1\), que desencadena el primer periodo duplicando la bifurcación.

    Ejercicio\(\PageIndex{1}\)

    Considere el siguiente sistema dinámico de tiempo discreto:

    \[x_{t} =(1-a)x_{t-1}+ax^{3}_{t-1} \label{(8.41)} \]

    Esta ecuación tiene\(x_{eq} = 0\) como punto de equilibrio. Obtener el valor\(a\) en el que este punto de equilibrio se somete a una primera bifurcación de duplicación de período.

    Una vez que el sistema comienza a mostrar bifurcaciones de duplicación de período, sus estados asintóticos ya no son capturados por las ubicaciones de los puntos de equilibrio obtenidos analíticamente, como se dibujan en los diagramas de bifurcación (por ejemplo, las figuras 8.2.1, 8.2.3, etc.). Sin embargo, todavía hay una manera de visualizar los diagramas de bifurcación numéricamente simulando el comportamiento del sistema explícitamente y luego recopilando los estados reales que visita el sistema durante un cierto período de tiempo. Entonces podemos trazar sus distribuciones en un diagrama. Los puntos de datos deben ser recolectados después de que haya pasado un tiempo transitorio inicial suficientemente largo en cada simulación, de manera que la trayectoria del sistema ya esté mostrando su comportamiento “final”. Aquí hay un código de muestra que muestra cómo dibujar dicho diagrama de bifurcación numéricamente:
    código 8.4 pt1.pngcódigo 8.4 pt2.pngcódigo 8.4 pt 3.png

    En este código,\(r\) se varía gradualmente de 0 a 2 a intervalos de 0.01. Para cada valor de\(r\), el modelo (Ecuación\ ref {(8.37)}) se simula para 200 pasos, y solo la segunda mitad de los valores de estado se registra en resultado. Una vez finalizada la simulación, los estados almacenados en resultado se trazan a un valor particular de r en la gráfica (nótese que la expresión [r] * 100 en Python produce una lista de cien r's). La opción alfa se utiliza para hacer transparentes los marcadores de manera que las densidades de los marcadores también sean visibles.

    El resultado se muestra en la Fig. 8.4.3. Este diagrama de bifurcación aún muestra cómo el estado del sistema depende del parámetro, pero lo que aquí se grafica ya no son puntos de equilibrio obtenidos analíticamente sino conjuntos muestreados numéricamente de estados asintóticos, es decir, donde es probable que el sistema esté después de un periodo de tiempo suficientemente largo. Si el sistema está convergiendo a un punto de equilibrio estable, también se ve una curva en este diagrama. Los puntos de equilibrio inestables nunca aparecen porque nunca se realizan en simulaciones numéricas. Una vez que el sistema se somete a bifurcaciones de duplicación de período, todos los estados en una trayectoria periódica son muestreados durante el periodo de muestreo, por lo que todos aparecen en este diagrama. Las bifurcaciones de duplicación de período se ven visualmente como los puntos de ramificación de esas curvas.

    Pero, ¿qué son esas partes ruidosas, abarrotadas y de aspecto aleatorio\(r > 1.7\)? Eso es el caos, el sello distintivo de las dinámicas no lineales. Discutiremos lo que está pasando ahí en el próximo capítulo.

    Fig. 8.10.PNG
    Figura\(\PageIndex{3}\): Salida visual del Código 8.4, que muestra el diagrama de bifurcación construido numéricamente de la Ecuación\ ref {(8.37)}.
    Ejercicio\(\PageIndex{2}\): Logistic map

    Las bifurcaciones de duplicación de períodos y el caos no son solo para ecuaciones matemáticas abstractas y artificiales, sino que pueden ocurrir en varios modelos de fenómenos biológicos, ecológicos, sociales y de ingeniería del mundo real. El ejemplo más simple posible sería el mapa logístico que introdujimos en la Sección 5.5:

    \[x_{t} =rx_{t-1}(1-x_{t-1}) \label{(8.42)} \]

    Se trata de un modelo matemático de dinámica poblacional, donde\(x_t\) representa la población de una especie que se reproduce en generaciones discretas (no superpuestas). Este modelo fue utilizado por el ecólogo matemático británico y australiano Robert May en su trabajo influencial de 1976 Nature [32] para ilustrar cómo un modelo matemático muy simple podría producir comportamientos asombrosamente complejos.

    • Realizar un análisis de bifurcación de este modelo para encontrar los umbrales críticos\(r\) en los que ocurren las bifurcaciones.
    • Estudiar la estabilidad de cada punto de equilibrio en cada rango de parámetros y resumir los resultados en una tabla.
    • Simular el modelo con varios valores seleccionados de\(r\) para confirmar los resultados del análisis.
    • Dibuje un diagrama de bifurcación de este modelo para\(0 < r < 4\).
    Ejercicio\(\PageIndex{3}\): Stability analysis of periodic trajectories

    La estabilidad de una trayectoria de período-2 de un modelo de tiempo discreto\(x_t = F(x_{t−1})\) puede estudiarse mediante el análisis de estabilidad de otro modelo hecho de una función compuesta de\(F\):

    \[y_{r} =G(y_{\tau -1})=F(F(t_{\tau -1})) \label{(8.43)} \]

    Esto se debe a que la trayectoria del período-2 en\(F\) corresponde a uno de los puntos de equilibrio de\(G(◦) = F(F(◦))\). Si tal punto de equilibrio de\(G\) se está desestabilizando de manera que\(dG/dx ≈−1\), significa que la trayectoria del período-2 en cuestión está perdiendo la estabilidad, y así está a punto de ocurrir otra bifurcación de duplicación de período en una trayectoria de período-4. Mediante esta técnica, obtener analíticamente el umbral crítico de\(r\) en la Ecuación\ ref {(8.37)} en el que se produce la segunda bifurcación de duplicación de período (del periodo 2 al periodo 4). Después, dibuje parcelas de telaraña de\(y_τ = G(y_{τ−1})\) para varios valores de r cerca del umbral crítico para ver qué está pasando ahí.


    This page titled 8.4: Bifurcaciones en Modelos de Tiempo Discreto is shared under a CC BY-NC-SA 3.0 license and was authored, remixed, and/or curated by Hiroki Sayama (OpenSUNY) via source content that was edited to the style and standards of the LibreTexts platform.