Encabezado Facultad de Ciencias
Presentación

Física (plan 2002) 2021-2

Optativas, Temas Selectos de Física Computacional I

Grupo 8364, 60 lugares. 11 alumnos.
Profesor Sergio Antonio Alcalá Corona
Ayudante Sergio Ángel Sánchez Chávez
 

Modelación Computacional de Sistemas Complejos

Temas Selectos de Física Computacional I

Estimad@s estudiantes:

Sabemos que las presentes circunstancias no son las ideales para nadie. Sin embargo, todos haremos un gran esfuerzo para librar las adversidades que nos han tocado vivir debido a la pandemia. Así entonces, el objetivo principal de este curso es que aprendan mucho, pero sobre todo que lo disfruten.

Objetivos particulares del curso:

Este curso pretende ser una introducción a las principales herramientas de computacionales usadas para la modelación de Sistemas Complejos. Se basará en la exposición teórica de los principales modelos usados en Sistemas Complejos, así como en la exploración e implementación de dichos modelos de forma computacional mediante un lenguaje de programación (Python, Julia o cualquier otro), así como analizar y visualizar los resultados generados por dichos modelos.

Introducción:

Un sistema complejo consiste en una colección de elementos con propiedades internas, los cuales van modificando su estado a partir de las interacciones con los demás elementos del sistema. Como consecuencia de esta dinámica, aparece un comportamiento global que no está regido por algún factor central o externo, ni está plasmado en las características individuales de cada elemento, sino que emerge a partir de las interacciones internas del sistema. La vida, la división y diferenciación celular, el pensamiento, las redes sociales, el internet, las avalanchas, el movimiento de enjambres y parvadas, los mercados financieros o la evolución de sociedades, son algunos ejemplos de sistemas complejos, y debido a su ubicuidad, su estudio se debe realizar con una perspectiva multidisciplinaria, que incluya las distintas características y escalas presentes en dichos sistemas. En esta nueva área, conocida como ciencia de la complejidad, convergen como un todo disciplinas que durante años se han considerado diferentes, como la física, la biología, economía y las ciencias de las humanidades, por mencionar algunas.

Para analizar sistemas complejos, existen diversas técnicas, dependiendo del tipo de sistema, de las escalas que presente, y de el tipo de comportamiento que se quiera estudiar. La dinámica no lineal, la modelación basada en agentes, el análisis de redes, los aútomatas celulares, se emplean comúnmente en la ciencia de la complejidad, y existe toda una serie de métodos computacionales que aplican dichas técnicas.

La idea de este curso es introducir al alumno en el estudio de los sistemas complejos, familiarizarlo con metodologías y herramientas computacionales estándar en esta área, como pueden ser la modelación basada en agentes, técnicas numéricas y computacionales básicas de dinámica no lineal, y de análisis estadístico de redes.

Descripción General del curso.

El curso funcionará como un taller teórico-práctico donde los estudiantes adquieran y apliquen los conocimientos del mismo. La herramienta principal serán cuadernos (notebooks) de Jupyter así como la plataforma Jupyter Lab.
El lenguaje de programación principal que se abordará en el curso será Python, pero es posible usar cualquiqer otro lenguaje con el cual el estudainte esté familiarizado.
Durante el curso se desarrollarán actividades semanales: tareas con ejercios a resolver, o bien prácticas entregables en las que se plantea resolver computacionalmente problemas plateados en clase.
Dado lo anterior, un requerimiento necesario para el curso será poder manejar un leguaje e programación (de preferencia Python, pero noindispensable).

Pre-requistos (sugeridos, más no obligatorios):

  • Álgebra Lineal
  • Ecuaciones Diferenciales
  • Uso de Linux/UNIX
  • Python (o cualquier lenguaje de programación de alto nivel).
  • Herramientas de graficación (Pylab, GNUPlot o equivalente)

Metodología del curso.

Debido a la pandemia actual de COVID-19, esta edición del curso se realizará totalmente en línea a través de Zoom con el objetivo de que se pueda interactuar con el profesor y los demás estudiantes. Las sesiones se efectuarán en el horario que se ha propuesto o que se acuerde con los inscritos al curso.

Horario definitivo:
Miercoles de 11:00 a 14 hrs.

Las sesiones serán teórico-practicas, y semanalmente se desarrollará una práctica o tarea que consistirá en la solución de algunos ejercicios. En el caso de las prácticas, éstas se podrán inicia en clase pero se terminarán fuera de ésta (a modo de tarea). En general, la entrega de dichas prácticas (resueltas) serán a la semana siguiente.

Además de usar Zoom para las sesiones de clase, el curso se apoyara en algunas herramientas de Google (for education), bajo la suite de la Facultad de Ciencias (@ciencias.unam.mx). Por lo que será un requerimiento necesario para el curso contar con una cuenta de correo @ciencias.unam.mx o al menos tener una cuenta de correo de Google (Gmail).

Se creará un aula virtual en la plataforma Google Classroom, en la que se colocará el material de las clases y cualquier otra información relevante sobre el curso. Y también se colocarán las actividades a entregar (tareas, practicas, etc.) cada semana, y se usará dicha plataforma para resolver dudas sobre las mismas. El código de acceso (a Google Classroom) será proporcionado en la primera reunión virtual. De haber dificultad para conectarse a la primera reunión, este código también será mandado vía correo electrónico.

Así también se creará un repositorio de Github con los cuadernos de Jupyter que contendrán el código expuesto en la clase. Se tratará en lo posible que estos sean accesibles en linea y fuera del horario de clase.

Para la logística y comunicarnos en el curso usaremos el correo electrónico y un canal de Telegram.

Si algún estudiante inscrito no proporciona su correo electrónico, se le enviará la información al correo electrónico el proporcionado por Servicios Escolares de la Facultad.

Las sesiones (clases) de Zoom, serán grabadas y en su caso subidas a de forma privada un canal de Youtube (previo acuerdo de los estudiantes), con el objetivo de que quien por problemas de conectividad no conectarse a la sesión de clase pueda seguirla. Dichos los videos estarán disponibles de forma privada (para quien los solicite) para proporcionar también una herramienta de repaso. Para esto, será necesario el consentimiento de todos los presentes para que dichas clases sean grabadas. Posiblemente dichos videos tendrán acceso restringido y sera únicamente para los estudiantes del curso.

Asimismo, el profesor y el ayudante estarán disponibles en los canales de comunicación para proporcionar ayuda con dudas que puedan surgir. De ser necesario y dependiendo de la disponibilidad del ayudante y profesor, se pueden plantear sesiones extra (en algún horarios extraordinario) para resolver dudas.

TEMARIO.

1. Introducción

2. Sistemas Complejos y Sistemas No lineales

2.1. Visión clásica (reduccionismo) vs. perspectiva desde los sistemas complejos.
2.2. Análisis lineal y sus limitaciones.
2.3. Análisis no lineal de Sistemas Dinámicos.

3. Caos en Sistemas Complejos

3.1. Caos determinista discreto. Ecuación Logística.
3.2. Caos determinista continuo. Modelo de Lorentz.
3.3. Cuantificación del caos. Exponentes de Liapunov.


4. Modelación Computacional de Sistemas Complejos

4.1. Autómatas Celulares

a) Autómatas en una dimensión: clasificación de Wolfram.
b) Autómatas en dos dimensiones: percolacion, formación de patrones, juego de la vida.


4.2. Modelación basada en agentes

a) Modelación basada en agentes aplicada a sistemas complejos.
b) Efectos No Lineales: modelo presa-predador.
c) Auto-organización: difusión por agregación limitada, enjambres y parvadas, formación de opiniones.
d) Adaptación: evolución, camuflaje.
e) Parámetros de control, transiciones de fase y criticalidad auto-organizada: pila de arena vs modelo de Ising, modelo de incendios forestales.
f) Sincronización: colonia de luciérnagas.
g) Robustez y optimización: colonia de hormigas.


5. Introducción a las Redes Complejas

5.1. Características Topológicas.
5.2. Redes Aleatorias.
5.3. Redes de mundo Pequeño.
5.4. Redes de Libre Escala.
5.5. Aplicaciones.

Bibliografía:

1. Strogatz, S. H. Nonlinear dynamics and chaos. Perseus Books, 1994.
2. Mitchell, M. Complexity a Guied Tour. Oxford Univerity Press, 2009.
3. Devaney, R. A First Course In Chaotic Dynamical Systems. Westview Press, 1992.
4. Solé, R. & Goodwin B. Sings of life. Basic Books, 2000.
5. Boccara, N. Modeling Complex Systems. Springer-Verlag, 2004.
6. Bonabeu, E. Swarm Inteligence: From Natural to artificial Systems. SFI 1999.
7. Bak, P. How Nature Works. The Science of Self-Organized Criticality. Copernicus Press, 1996.
8. Gershenson, C. Design and Control of Self-organizing Systems. CopIt ArXives, 2007.
9. Mainzer, K. Thinking in Complexity. Springer, 2007
10. Miller, J. Complex Adaptive Systems. Princeton University Press, 2007.
11. Railsback, S. F. Agent-based Modeling and Individual-based Modeling, Princeton University Press 2007.
12. M. E. J. Newman, A.-L. Barabási, and D. J. Watts. The Structure and Dynamics of Networks. Princeton University Press, 2006.
13. Newman M. E. J Networks: An Introduction. Oxford University Press 2010.

HORARIO:

Miercoles de 11:00 a 14:00, vía Zoom comenzando el día Miercoles 3 de marzo.

Primera sesión

La primera sesión en línea del curso se llevará a cabo via Zoom el día miercoles 3 de marzo a las 11:00 hrs.
En dicha sesión se abordarán aspectos sobre la forma de trabajo, detalles técnicos, generalidades y la forma de evaluación del curso, así también, se resolverán dudas sobre dichos puntos.


El enlace para la sesiones de Zoom:

https://cuaed-unam.zoom.us/j/81079520765

El enlace del Google Classroom del curso:

https://classroom.google.com/c/MjkyMzI3MzAwODc5?cjc=z3mhmdd

Requerimientos Tecnológicos para el curso:

  • Acceso a Internet
  • Cuenta de Google (preferentemente de la Facultad de Ciencias @ciencias.unam.mx)
  • Computadora personal
  • Cuenta de Zoom.
  • Manejode un lenguake de programación.


EVALUACIÓN

• Actividades (prácticas) semanales: 50%

• Proyecto final: 40%

• Participación (en las sesiones, así como en el foro en linea) 10%

El proyecto final se presentará en la primera o segunda vuelta de exámenes. La idea es que dicho proyecto integre todo el conocimiento adquirido en el curso. Este consistirá en:
  • Un reporte escrito en LaTeX que contenga la teoría y el planteamiento del problema.
  • Un cuaderno de Jupyter que contenga el código del proyecto.
  • Una exposición ante el grupo.
El proyecto a realizar deberá quedar definido a más tardar 4 semanas antes de la ultima clase. Con el objetivo de que haya suficiente tiempo de trabajarlo. Se exploraran ideas y opciones para estos proyectos, pero este puede ser la resolución de un problema físico o matemático concreto, usando herramientas computacionales.

CONTACTO

Cualquier duda y/o comentario, por favor no duden en escribirnos a los siguientes correos:

Sergio Alcalá: sergio.alcala@ciencias.unam.mx

Sergio Sanchéz: sergio_sanchez@ciencias.unam.mx

Contamos con canal de Telegram, para comunicación rápida y mensajes importantes del curso:
https://t.me/joinchat/VN1cM3Ckd9EPZBVN

 


Hecho en México, todos los derechos reservados 2011-2016. Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente completa y su dirección electrónica. De otra forma requiere permiso previo por escrito de la Institución.
Sitio web administrado por la Coordinación de los Servicios de Cómputo de la Facultad de Ciencias. ¿Dudas?, ¿comentarios?. Escribenos. Aviso de privacidad.