Este repositorio contiene la implementación en C++ y el análisis de datos empíricos para cuantificar la pérdida de precisión en la simulación del mapa logístico bajo un régimen de caos determinista.
Se estudia el comportamiento del mapa logístico, definido por la ecuación:
El objetivo central es contrastar la divergencia geométrica de las implementaciones estándar en coma flotante (estándar IEEE 754) frente a un control estricto de precisión arbitraria.
Para garantizar que la pérdida de información observada sea un rasgo universal del caos computacional y no un artefacto estadístico aislado, la simulación se ejecuta iterando un diseño experimental de 35 escenarios independientes.
Se calcularon 1000 iteraciones variando:
- Tasa de crecimiento (r): 3.90, 3.92, 3.95, 3.98, 4.00
- Condición inicial (x0): 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7
El directorio img/ consolida el registro gráfico de las primeras 100 iteraciones para los 35 escenarios. Las representaciones visuales demuestran la iteración crítica de ruptura topológica.
La gráfica de divergencia ilustra el punto exacto en el que la aproximación de la máquina destruye la predicción matemática real.
Cuantificación en escala logarítmica (base 10) de la amplificación del error de redondeo inducido por la limitación de bits.
El procesamiento consolidado de los 35 escenarios demostró empíricamente el "Efecto Mariposa" subyacente en la arquitectura de datos:
- Precisión Simple (float 32-bit): Independientemente de la configuración inicial, la trayectoria diverge totalmente del modelo matemático real cerca de la iteración 23, provocado por la saturación de sus 24 bits efectivos de mantisa.
- Precisión Doble (double 64-bit): Su mantisa de 53 bits retrasa la corrupción de datos, pero colapsa irremediablemente cerca de la iteración 52.
- Comportamiento del Error: La propagación del ruido algorítmico mantiene una tasa de amplificación exponencial en todos los vectores probados.
simulation/: Algoritmos en C++ para la generación de trayectorias (Float, Double, MPFR).analisis_error.cpp: Script encargado de procesar los registros simultáneos, calcular diferencias absolutas y relativas.results/: Dataset consolidado con 1000 iteraciones por escenario.img/: Gráficas resultantes de divergencia y propagación de error.
- Lenguaje: C++ (Estándar C++17/20)
- Entorno: MinGW, CMake
- Bibliotecas: GNU MPFR y GMP (enlazadas estáticamente para redondeo matemáticamente correcto)
- Procesamiento de datos: Macros VBA (Excel)
El proyecto requiere las librerías MPFR y GMP. La forma más robusta de configurarlas en Windows para compilación C++ es mediante MSYS2:
- Descarga e instala MSYS2.
- Abre la terminal de MSYS2 UCRT64 y ejecuta los siguientes comandos para instalar el compilador y las librerías matemáticas:
pacman -S mingw-w64-ucrt-x86_64-gcc pacman -S mingw-w64-ucrt-x86_64-cmake pacman -S mingw-w64-ucrt-x86_64-mpfr pacman -S mingw-w64-ucrt-x86_64-gmp

