
Think Complexity, 2nd Edition
Allen Downey
- Editorial
- O'Reilly
- Año
- 2018
- Páginas
- ~200
- Nivel
- Intermedio
De qué trata
Segunda edición, publicada por O'Reilly en 2018 y disponible gratis en Green Tea Press, del libro en el que Allen B. Downey presenta la ciencia de la complejidad a través de la programación. Se centra en modelos discretos de sistemas físicos y sociales formados por muchos componentes que interactúan. Continúa donde termina Think Python: está pensado para quien ya domina el Python básico y sabe usar y definir clases, y solo exige matemáticas modestas (logaritmos y, en un ejemplo, vectores).
Los capítulos empiezan con grafos, redes de mundo pequeño (Watts-Strogatz) y redes libres de escala (Barabási-Albert), y siguen con autómatas celulares unidimensionales, el Game of Life y el modelado físico con reacción-difusión y percolación. Después tratan la criticalidad autoorganizada con el modelo de la pila de arena, los fractales y el ruido rosa; los modelos basados en agentes, como la segregación de Schelling y Sugarscape; los rebaños, bandadas y atascos de tráfico (boids), y, como novedad de esta edición, dos capítulos sobre evolución y sobre la evolución de la cooperación con el dilema del prisionero. Por el camino se usan NumPy, SciPy y NetworkX, que se explican cuando aparecen, y se repasan estructuras de datos y algoritmos.
Frente a la primera edición, los experimentos que antes se proponían como ejercicios se resuelven ahora como ejemplos completos, parte del código propio se sustituye por bibliotecas estándar, todo pasa a Python 3 y cada capítulo tiene dos Jupyter notebooks: uno con el código, las explicaciones y los ejercicios, y otro con las soluciones. También reflexiona sobre qué significa modelar y explicar en ciencia. Es una introducción, no un tratado: no entra en el análisis matemático formal de los sistemas complejos y cada modelo se trata de forma breve, como punto de partida para explorar por cuenta propia.
- ciencia de la complejidad
- grafos y redes
- autómatas celulares
- Game of Life
- criticalidad autoorganizada
- modelos basados en agentes
- evolución
- Python
- NumPy
- NetworkX
- Jupyter
¿Cómo enseña?
Con ejercicios
- ✓ Incluye ejercicios
- ✗ Sin proyectos

