lunes, 18 de noviembre de 2024

(1087) - Fractales caseros

Después del post del triángulo de Sierpinski, me estuve preguntando cómo se calculaban  computacionalmente otro tipo de fractales como el famoso de Mandelbrot, y resulta ser bastante simple:

Fractal de Mandelbrot

Toma un punto en el plano complejo, \(z = a + bi\), y mételo en la fórmula \(f_c =  z² + c \),coges lo que te de la fórmula y lo vuelves a meter en ella, lo vuelves a meter... así indefinidamente. 

Ahora bien si el punto que te va dando la función converge a un valor del plano cualquiera, lo pintas de negro, y si no converge (si diverge a infinito) le das un color distinto, de esta forma las cuentas imitan este patrón:

 
Para este fractal la fórmula es  \(f_c =  z² + c \) , pero ¿ qué pasa si variamos la fórmula?

Hoy vamos a buscar fractales con las fórmulas más comunes:

Mandelbrot cuadrado 

\[f_c = z² + c \]



Barco quemándose

\[f_c = (  |Re(z)| + i . |Im(z)|  )² + c\]



Tricornio (fractal de Mandelbar)





Mandelbrot Cúbico

\[f_c =  z³ + c\]

Mandelbrot Perlin

\[f_c =  z⁴ + c\]


Fractal de Newton

\[f_c = z - p(z)/p'(z)\]
con p(z) = z3 − 1


Fractal Phoenix

\[z_{n+1} = z_{n}² + k . z_{n-1} + c\]




Buscando fotos y simuladores para el artículo he descubierto un motor de fractales muy chulo (si teneis Linux) os recomiendo XaoS, os permite hacer zoom todo lo que queráis dentro del fractal y tiene muchos famosos. 



Autor: Raúl Barrero

domingo, 10 de noviembre de 2024

(1069) - El triángulo fractal de Sierpiński

 Quizás en algún momento de tu vida te as encontrado por internet este dibujo:



Por si no te suena, es el triángulo de Sierpiński, y a parte de en tu feed de Instagram aparece de manera insospechada en varios rincones de las matemáticas bastante curiosos.

Hoy vamos a ver un par de formas de construirlo desde la manera más normalita a la más insospechada.

Primero de todo vamos a dibujarlo directamente, a mano (si tienes un papel a mano te recomiendo probar a dibujarlo tú mismo).

En primer lugar, dibuja un triángulo equilátero, localiza los puntos medios de sus lados y únelos. Eso es una iteración, después hacemos lo mismo con cada uno de los 3 trianguiltos que han aparecido en la figura, luego seguimos y lo hacemos a los 9 ... en algún momento dejaremos de dibujar (aunque sea por aburrimiento), pero si tuvieramos paciencia infinita o los comandos prohibidos de Belarmino para C llegaríamos a que la figura iguala en el infinito al fractal, el triángulo de Sierpiński. 


Construcción Directa

Empezamos con un triángulo, marcamos los puntos medios de cada lado y los unimos, en la siguiente iteración hacemos lo mismo con 3 triangulitos de los 4 triangulitos que han aparecido, iterando este proceso se revela el patrón siguiente: 



Esta es la forma más normalita de encontrarse el fractal, pero también hay otra forma de construirlo directamente, que es haciendo copias de sí mismo:

Construcción por duplicado



Hasta aquí si ya conocías la forma o el fractal te puede haber resultado curioso o te puede haber dado un poco igual, pero ahora vienen las sorpresas, pues este triángulo al parecer sale hasta de entre las pierdras.

Método probabilístico

Dibuja un triángulo y coloca un punto en él, donde quieras (dentro, fuera, en un borde...), ahora selecciona al azar un número entre 1 y 3, fíjate en el vértice correspondiente y une tu punto con él.  Ahora pinta el punto medio entre tu punto y el vértice, has completado la primera iteración. Ahora toca realizar lo mismo con el punto que acabas de dibujar y seguir indefinidamente.

Esto son las primeras iteraciones lentas para ilustrar el proceso:


Ahora bien, de esta sopa de puntos no debería emerger ningún patrón, recuerdo que cogemos los vértices al azar, pero no, resulta que si ponemos más puntos...

¡Aparece el mismísimo triángulo de Sierpiński! Esta manera de obtener el triángulo descoloca un poco la primera vez que la ves, porque del puro azar sale un patrón tan ordenado que parece hasta mentira.

Ahora bien, vamos a rizar el rizo ¿si llenamos siguiendo estas pautas otro polígono nos aparecerá algún fractal similar? Vamos a verlo.

Cuadrado:

No tiene pinta

Pentágono:

Podría servir
(Para esta última animación he calculado 30k frames, y los bordes no están muy perfilados, supongo que el patrón sigue pero es un poquito acto de fé)

Hexágono:

De nuevo volvemos a no tener suerte, pero la imágen final me despierta la duda de si las uniones de los vértices con el centro no pueden ser alcanzadas por los puntos y las vemos medio-sombreadas por puntos cercanos o es simplemente una cuestión probabilística.

Heptágono:

En este último caso vemos que el centro queda bastante despoblado, pero dudo mucho que eventualmente se perfile un heptñagono o un círculo en el centro, seguramente este hueco sí sea una cuestión probabilística.


El triángulo de Sierpiński aparece en mil sitios, desde el número de lados que tienen los polígonos regulares que puedes construir con compás pasando por el binario hasta la paridad de los números en el triángulo de Pascal.

Como curiosidad, el triángulo tiene dimensión \(log_2(3))\, desde luego en otro sentido de dimensión que el "numero de elementos de una base del espacio".

Para estas y más formas de redescubrir el triángulo de Sierpiński, os dejo estos videos que están bastante chulos.



Un canal muy recomendado sobre pruebas visuales

Autor: Raúl Barrero  

viernes, 1 de noviembre de 2024

(1063)- La constante de Feigenbaum

Si en algún momento de vuestra vida os ha dado por mirar la entrada de wikipedia sobre constantes matemáticas (que me jugaría un brazo a que no) os habréis dado cuenta de una que resalta a la vista que, en la posición 89 claramente viene la constante de Feigenbaum, que resulta tener una relación muy curiosa con un modelo similar al de Lotka-Volterra, el mapa logístico.

Las ecuaciones de Lotka-Volterra son ecuaciones diferenciales, que tienen en cuenta variaciones infinitesimales en las variables, pero antes de llegar a ellas surgieron modelos discretos, esto es, que se iteraban paso a paso en vez de considerar la evolución como un contínuo.

En este contexto surge el mapa logístico, una herramienta para modelar poblaciones y estudiar el comportamiento constante, cíclico o caótico de sistemas dinámicos.

La ecuación tiene la siguiente pinta:

\[x_{n+1} = \lambda   x_n (1 - x_n)\]

Esto significaría que, la cantidad de conejos en la siguiente iteración $x_{n+1}$ variará de acuerdo con el parámetro $\lambda$ y la cantidad de conejos al momento de iteración $x_n$.


Gráficas

Veamos cómo se comportan estas gráficas si variamos $\lambda$.

En primer lugar, si $\lambda \in (0,1)$ la sucesión es convergente a 0: 

Después cuando $\lambda \in (1,3)$ vemos que la poblacion se establece en torno a un valor fijo $\frac{\lambda-1}{\lambda}$, sabemos esto gracias a la iteración de punto fijo.

 


Luego cuando $\lambda \in (3,3.57)$ las cosas empiezan a complicarse, observamos bifurcaciones de periodo doblante, o sea, que aparecen figuras de este estilo que se dividen en 2 sucesivamente:

 

Por último si estamos entre los 3.57 y 4 empieza el comportamiento caótico, una nube de puntos sin correlacion aparece en la gráfica.

Por último, veamos cómo varían los puntos respecto al $\lambda$ con un video:

Ahora bien, ¿qué tiene que ver Feigenbaum con esto?

La constante de Feigenbaum, \( \delta \approx 4.6692 \), es la razón que describe cómo cambian las distancias entre los valores de \( \lambda \) en los que ocurren las bifurcaciones por duplicación de período. 
En otras palabras, la diferencia entre el valor de \( \lambda \) donde se bifurca de un ciclo de período 1 a un ciclo de período 2, y el valor donde se bifurca de un ciclo de período 2 a un ciclo de período 4, está gobernada por esta constante. A medida que el sistema se aproxima al caos, estas distancias se reducen, y la razón entre las diferencias consecutivas tiende a \( \delta \).

La constante de Feigenbaum se obtiene del cociente:

\[\delta = \lim_{n \to \infty} \frac{x_{n-1} - x_{n-2}}{x_n - x_{n-1}}\]

Esto significa que, aunque el caos aparece entre los valores de \( \lambda \) aproximadamente entre 3.57 y 4, esta relación nos indica dónde aparecerán las bifurcaciones, lo me parece bastante chulo.

Otros recursos:





Autor: Raúl Barrero

lunes, 28 de octubre de 2024

(1061) - EXTRA! Pistola de macarrones

Introducción

Puede que os suene que recientemente ha habido un "incidente" del campus, ya que por teléfono escacharrado ha acabado siendo poco menos que un tiroteo con fuga en helicóptero; acabó siendo nada, pero si nos ponemos serios ¿cómo de probable es que ocurriera de verdad algo así?

(Os adelanto que en España es prácticamente imposible, de hecho voy a usar datos de EE.UU. para que aún con esas, salga una probabilidad baja)

La Regresión de Poisson

La regresión de Poisson es un modelo estadístico diseñado para analizar eventos de baja frecuencia (como tiroteos) que ocurren en un periodo de tiempo en una zona particular. Este modelo es especialmente útil cuando el evento es raro y discreto (hay un número entero de ocurrencias), como es el caso de nuestro ejemplo.

En el modelo de regresión de Poisson, asumimos que el número de incidentes, denotado como \( Y \), sigue una distribución de Poisson, lo cual implica que la probabilidad de observar un cierto número de incidentes en un periodo de tiempo específico depende de una tasa de ocurrencia \( \lambda \), que a su vez depende de varios factores poblacionales. El modelo tiene la siguiente forma:

\[ Y \sim \text{Poisson}(\lambda) \]

\[ \log(\lambda) = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \dots + \beta_k X_k \]

donde:

  • \( \lambda \) es la tasa esperada de eventos (incidentes armados) en un periodo o región específico.
  • \( \beta_0 \) es el término constante o intercepto del modelo.
  • \( X_i \) representa las variables que pueden influir en los incidentea (por ejemplo, el tamaño de la población, accesibilidad de las armas ...) .
  • \( \beta_i \) son los coeficientes que determinan el impacto de cada variable en la tasa de incidentes.

Coeficientes

Como cada coeficiente \( \beta_i \) indica el cambio en el logaritmo de la tasa incidentes que ocurren  respecto a cómo varía  \( X_i \), podemos interpretar los efectos de \( \beta_i \) como sigue

  • Si \( e^{\beta_i} > 1 \), la variable \( X_i \) aumenta la tasa de incidentes.
  • Si \( e^{\beta_i} < 1 \), la variable \( X_i \) reduce la tasa de incidentes.

Nuestro caso:
En España desde 2021 han habido 17 incidentes armados en escuelas / institutos / universidades, aquí dejamos que cuenten casos mucho menos graves que un tiroteo (peleas fuertes, apuñalamientos...).  
Como en España el indice de tiroteos es ridículamente bajo, vamos a usar algunos datos de EE.UU. para inflar la probabilidad y que salga algo apreciable para "inicidentes escolares", de cualquier tipo.

Sabemos del modelo de EE.UU. que: 
\[\log(\text{Incidentes}) = \log(\text{población}) + \beta_0 + \beta_1 \cdot (\text{tasa posesión armas}) + \beta_2 \cdot (\text{tasa enfermedad mental grave}) + \beta_3 \cdot (\text{índice pobreza})\]

Y usando los cálculos que hacen en el paper original, \[ \lambda_{\text{EE.UU.}} = 0.468 \]
Ajustandolo a la poblacion de España
\[ \lambda_{\text{España}} = 0.1426 \times \lambda_{\text{EE.UU.}} = 0.1426 \times 0.468 = 0.0666936 \approx 0.0681 \]
Calzándolo en la fórmula de la distribución de Poisson:
\[ P(Y≥1)=1−P(Y=0)=1−e^{−λ}\]
Que para nuestro caso: \[6.58329\%\]

Aclaración, esto es en toda España,  que en una población tan grande se espere 1 caso con esa probabilidad no es nada escandaloso, en EE.UU, los tiroteos en los mismos periodos de tiempo fueron en torno a 300 frente a los 17 de España, lo cual haría esa probailidad aún más pequeña si cabe en España.

En conclusión, podeis venir tranquilos a la universidad, salvo si estudias magisterio (porque no ibas a ir a clase de todas formas). 
El paper original es este, seguramente si de verdad os interesa el modelo estará mil veces mejor que este resúmen.
Se aceptan correcciones sobre la estadística y relacionados => https://forms.gle/GsDnmX6UadZ9FFwL7


Por último, filtramos en exclusiva el verdadero culpable del incidente:

No hay que dar ideas a magisterio que luego pasan cosas.




Autor: Raúl Barrero

sábado, 19 de octubre de 2024

(1051) - La forma más matemática de comerte una pizza

Estoy seguro de que todos alguna vez hemos comido una pizza recién hecha en casa, y al ver que la pizza se doblaba hacia abajo, sin pensarlo dos veces hemos curvado el borde tal que así para mantenerla erguida.


En ese caso, quizás tu intuición esté a la altura del mayor matemático del siglo XIX y posiblemente de entre los mejores de toda la historia, Carl Friedrich Gauss. 
(Bueno, igual no, pero vamos a ver por qué)

Gauss probablemente no comiera mucha pizza en la Alemania de su época, pero aun así se interesó por describir la curvatura de las superficies y cuantificarla.

Dejando de lado un poco el rigor, podemos entender la definición de la curvatura de Gauss observando los cortes de la superficie de la que queremos determinar la curvatura con  ciertos planos, y viendo si se curva hacia arriba (curvatura positiva), hacia abajo (curvatura negativa) o es recta (curvatura 0).

Para sacar la curvatura total de la figura, se multiplica la de cada uno de sus ejes, por ejemplo vamos a ver esta montañita:


Intersecamos con los planos XZ e YZ y vemos que



K1 < 0


K2 < 0





Si las curvaturas son K1 y K2, como ambas son negativas, la curvatura total que es el procuto de las 2 es  K = K1 . K2 es positiva. 

También pueden darse otros casos como este:

                                            

De nuevo al cortar con los planos queda:





 








La curvatura respecto al XZ es negativa, pero como respecto al YZ es 0 automáticamente la curvatura total es K = K1 . K2 = 0.


Bien, ahora a la parte divertida, resulta que hay un teorema bastante importante que dice que, para cualquier figura, la curvatura de Gauss se mantiene por isometrías, es decir, mientras que no estiremos ni cortemos la figura, la curvatura de Gauss de la superficie se mantendrá.

Y aquí es donde entra en juego nuestro objetivo del día, comer pizza:

Esta es un pizza normal


Podemos apreciar que la pizza apoyada en la mesa es plana, por lo que tiene en un inicio curvatura total 0.
El teorema nos garantiza que por mucho que la movamos, esa curvatura total va a mantenerse, de forma que nos encontrarnos 2 situaciones familiares, en las que esta propiedad puede jugar:




En nuestra contra

O a nuestro favor

La curvatura total de la pizza debe seguir siendo 0, así que para no violar este "teorema Egregium" (que así se llama el teorema anterior), la pizza necesita ganar un eje respecto al que su curvatura sea 0, cualquiera de los 2 sirve.

Así que la próxima vez que comas una pizza con amigos, no desperdicies la oportunidad de contarles lo que es la curvatura de Gauss, que se vayan a los 2 minutos de oirte hablar y te dejen con la pizza para ti solo.




Autor: Raúl Barrero

martes, 15 de octubre de 2024

(1049) - Aumentando la derivada de la posición con respecto al tiempo

     La segunda jornada de la Liga matemática enfrentó a la Universidad de Valladolid contra la Universidad de Extremadura, el lunes 7 de octubre a las 18:30.

    La UVa llegaba tras una gran victoria ante la Universidad de Sevilla, mientras que la UEx había perdido su primer partido ante la Complutense de Madrid. DerUVada hizo tres cambios con respecto a la alineación del primer partido, dando entrada a Esteban, Jorge y Alejandro, y manteniendo en el sexteto titular a Juan, Javier y Guillermo. 

    Los tres problemas a resolver fueron los siguientes: 

Problema 1:

    Sin calcular el valor de 34!, determinar los dígitos a y b que faltan. 

    34! = 295232799039a041408476186096435b0000000.

Problema 2:

    Sean a, b, c números reales positivos tales que (a+b)(b+c)(c+a)=1. Encontrar el valor máximo de ab + bc + ca. 

Problema 3:

    Un número estrictamente no palíndromo es un número entero n que no es palíndromo en ningún sistema numérico con base b en el rango 1<b<n-1. Demostrar que si n>6 es un número estrictamente no palíndromo, entonces n es un número primo. 


    El duelo fue casi un calco del de la jornada anterior contra la US. Después de un inicio tranquilo, en el que se repartieron las tareas y se avanzaba simultáneamente en todos los problemas, la UVa presentó los ejercicios 1 y 2 de forma casi consecutiva, poniendo el 2-0 en el marcador cuando apenas habían pasado cuarenta y cinco minutos. 

    Sin embargo, aún quedaba medio partido por delante, y las perspectivas para el último enunciado eran bastante menos claras. Tras un esfuerzo colectivo de todo el equipo, se llegó a una solución muy elegante, aunque las ideas seguían sueltas, y había que enlazarlas. Así, de la misma forma que sucedió en la jornada pasada, la UEx anotó un gol agónico para lograr el 2-1 poco antes de enviar la UVa la respuesta revisada. Tras una larga espera debido a la complejidad de la solución, el árbitro anunció que la corrección daba el problema como válido y la UVa se hacía con su segunda victoria de la temporada. 

    La siguiente jornada enfrentará a la Universidad de Valladolid con la Universidad de las Islas Baleares, en un partido en el que la UVa podrá seguir tomando velocidad de crucero para hacerse con una de las dos plazas del grupo boreliano que dan acceso a la final four de Oviedo. 

Autor: Alejandro Marchena


sábado, 12 de octubre de 2024

(1039) - La barra más matemática

Nuestros excelentísimos señores veteranos quieren organizar una barra legendaria, que pase a la historia como la mejor barra jamás organizada en mates, por lo que han alquilado todo Cocón y han sobornado al portero para que deje colar amigos de otras carreras.

Pero nuestros veteranos no se quedan ahí, para asegurarse de que sea la mejor barra tienen que  arreglárselas para que la gente tenga siempre bebida, ni escasa ni en exceso.

Planeando se topan con que: si hay más bebida de la necesaria para la gente de mates (aproximadamente $aleph_0$litros), algunos empezarán a invitar amigos de otras carreras, lo cual reducirá la disponibilidad de bebida y provocará que la gente se aburra y se vaya a otro sitio, regulando de nuevo la cantidad de bebida disponible a los que se quedan.

Esto suena sospechosamente similar a un problema de poblaciones en un ecosistema, 2 grupos que dependen de la población del otro para crecer o extinguirse (bebida y bebedores), lo cual nos da una pista para pensar en el modelo de Lotka-Volterra.

Ecuaciones de Lotka-Volterra

Las ecuaciones de Lotka-Volterra son un sistema de ecuaciones diferenciales que sirven para modelar poblaciones y ecosistemas, por ejemplo nos permiten saber cómo pequeños cambios en una población de conejos va a alterar la futura población de zorros (más conejos implica más comida para los zorros, los zorros se multiplican, los conejos empiezan a escasear, mueren zorros, los conejos se recuperan ...) todo esto ocurre en ciclos regulares como se puede ver en esta gráfica.


Cada color representa un ciclo dado por unas condiciones iniciales, al pasar el tiempo cada anillo se recorre en sentido antihorario, o sea, la población varía de acuerdo a la gráfica en cuestión.

Pero para qué querríamos hacer algo tan trivial e inútil como modelar una poblacion para tomar decisiones, mejorar su estabilidad y bla bla bla, aburrido, vamos a darle un uso serio a estas ecuaciones por el bien de la ciencia, veamos cuánta bebida deberíamos servir en una barra para asegurar la estabilidad de la fiesta.

Considerando las variables:

  x = "cantidad de universitarios"

    y = "botellas de bebida disponible"

Las ecuaciones de Lotka-Volterra quedarían de la siguiente forma:

$$ \frac{dx}{dt} = \alpha x - \beta x y $$

$$ \frac{dy}{dt} = \delta x y - \gamma y $$

Donde:

α es la tasa de reposición de la bebida.

β representa el consumo de bebida por unidad de tiempo.

ɣ es la tasa de abandono de la barra por escasez de bebida

δ es la tasa de invitaciones en abundancia de bebida.


Bien, una vez presentado el modelo, vamos a dar un "saltito" a su solución, para los curiosos habrá un enlace al final.

Las curvas soluciones tienen la siguiente pinta, en función de las condiciones iniciales (xo,y0)

$$V_{(x_0,y_0)} = \delta x - \gamma ln(x) + \beta y - \alpha ln(y)$$

Estas soluciones se pueden poner en gráficas muy bonitas a mi parecer, como esta:


Entonces ¿Cual es entonces la cantidad de bebida que evita que se acabe la fiesta antes de tiempo?

Vemos que en las curvas más exteriores como la amarilla o naranja el riesgo de acabar por el orígen, o sea, que se acabe la bebida y se vaya todo el mundo, es mayor, por lo que nuestros excelentísimos veteranos deberían acordar un suministro describa una curva más estable, como la roja, la gris o la verde.

Además, estas curvas nos dan información de cuándo el sistema es más frágil para estratégicamente inyectar bebida extra al sistema e impedir que se acabe la fiesta, ese momento se encuentra al llegar al borde izquierdo de la gráfica, así alejaríamos la gráfica del 0 del eje x y pasaríamos a un ciclo más estable.


Enlaces de interés:

(~1 minuto) - Animación cortita

(10 mintos)- Solución de las ecuaciones

(16 minutos ) - Modelo explicado (Numberphile)




Autor: Raúl Barrero