Programación de sistemas adaptativos

Clase y laboratorio — 2011

Este es el sitio web de la unidad de aprendizaje de programación de sistemas adaptativos (martes M4-6 sala 4204 o jueves M1-3 sala 4204) y su laboratorio (martes M1-2 sala 4208 o jueves M5-6 sala 4211), impartidas por la Dra. Elisa Schaeffer en la FIME de la UANL en el semestre agosto-diciembre del 2011 para estudiantes de quinto semestre de ITS. Es importante el haber cursado exitosamente las unidades referentes a programación, algoritmos y estructuras de datos.

Propósito

En el desarrollo de esta unidad de aprendizaje se contribuye al entendimiento de las técnicas que permiten el diseño de sistemas computacionales que adapten a su entorno.

Producto integrador

Los alumnos desarrollan un proyecto de desarrollo de un sistema adaptativo en grupos de 2 a 4 personas. Los avances del proyecto se documentan en sus blogs en escritos, gráficas y videos. En blog es del grupo y se espera que todos los participantes publiquen entradas en comenten en ellos. En el caso de que los alumnos estén inscritos con Dra. Schaeffer en ambos clase y laboratorio y trabajan en el mismo equipo en ambos, el blog utilizado puede ser el mismo.

El proyecto, que tal cual es para entregar en la clase, se reporta en cuatro fases, una fase por unidad temática. Cada reporte contiene una descripción escrita del trabajo realizado, el cógido implementado y un video que demuestra la funcionalidad alcanzada.

En el laboratorio, los entregables son de tareas particulares donde el equipo (puede ser o no el mismo que en la clase) practica las técnicas a emplear en sus proyectos integradores de la clase. Los reportes del laborario se entregan siempre una semana antes de los de la clase.

Temario

En este grupo, las prácticas de programación se llevan a cabo en la plataforma de la elección de cada equipo con las herramientas de su elección — la toma de decisiones de desarrollo es parte de la actividad evaluada. Si el estudiante no cuenta con laptop propia, se recomienda traer una memoria USB de 4 GB a la primera clase para proporcionarle el ambiente de trabajo en ella también fuera de clase.

Unidades temáticas

  1. Unidad 1: Algoritmos adaptativos — (auto)ajuste de parámetros, cómputo evolutivo
    Laboratorio: Control de semáforos via sensores
    Pequeño ejemplo de cómo iniciar en Java para tener una GUI
  2. Unidad 2: Sistemas complejos - redes complejas, autómatas celulares, cáos
    Laboratorio: Optimización estructural de grafos
  3. Unidad 3: Sistemas inteligentes — razonamiento y aprendizaje algorítmico
    Laboratorio: Reconocimiento de patrones
  4. Unidad 4: Sistemas multiagentes - coordinación y colaboración
    Laboratorio: Equipos deportistas tipo RoboCup

Programa semanal

En la clase se discuten los aspectos teóricos y ejemplos de cada tema, mientras en el laboratorio se prueba herramientas y avanza el proyecto en grupo. Es recomendable — aunque no obligatorio - trabajar en el mismo proyecto en el mismo equipo bajo la instrucción del mismo profesor en clase y laboratorio.

  1. Introducción y dinámica de la unidad
    Formación de equipos
  2. Unidad 1: Algoritmos que benefician de ajuste adaptativo de parámetros - Optimización
    Publicación de temas en blogs
  3. Unidad 1: Algoritmos genéticos, colonias de hormigas y optimización por parvadas
    Martes: Ejemplo en Python y el Gnuplot para graficar y el resultado
    Jueves: Ejemplo en Python y el Gnuplot para graficar y el resultado
    Reglas del concurso por puntos extra; diapositivas
  4. Unidad 2: Redes complejas y autómatas celulares
    Entrega de fase 1 en laboratorio
    Gráfica ejemplo de escalas logarítmicas: Gnuplot y resultado
  5. Unidad 2: Sistemas no lineales; teoría de cáos
    Entrega de fase 1 en clase
  6. Unidad 3: Clasificación y agrupamiento
    Entrega de fase 2 en laboratorio
  7. Unidad 3: Redes neuronales artificiales
    Entrega de fase 2 en clase
  8. Examen de medio curso (no hay laboratorio)
  9. Unidad 3: Planeación y búsqueda
  10. Unidad 3: Lógica difusa y sistemas basados en reglas
    Entrega de fase 3 en laboratorio
  11. Entrega de fase 3 en clase
  12. Unidad 4: Agentes inteligentes y reactivos
  13. Unidad 4: Comunicación — protocolos
    Coordinación — sincronización
    Entrega de fase 4 en laboratorio
  14. Unidad 4: Cooperación — comportamientos
    Entrega de fase 4 en clase
  15. Demostraciones de proyectos
  16. Examen ordinario (no hay laboratorio)

Resultados

Se utiliza la siguiente notación: NP = no presentó, N/A = no aplica; en el proyecto, X+Y = X puntos por la primera presentación del trabajo, más Y puntos adicionales por la segunda presentación mejorada, mientras en los exámenes corresponden a las dos preguntas.

Participante Avances por fase Demo Exámenes Total
Laboratorio Proyecto
1 2 3 4 1 2 3 4 Medio
curso
Ordi-
nario
Lab. Clase
Juan Carlos 2317+61715 15131414 19+4 3+24+2 7890
Cecilia 2317+61715 15131414 19+7 4+43+1 7894
Roberto C. 2317+61715 15131414 19+4 2+22+0 7885
José Con otro profesor 15151512 20 3+24+2 N/A88
Obed 20201820 15151512 20 0+22+1 7882
Eduardo 20201820 15151512 20+2 0+NP3+1 7883
Saúl 20201820 15151512 20 2+NP2+2 7883
Chuy 2020Ya no ?11NPNP NP No vino No vino N/AN/A
Leo No en laboratorio ?11NPNP NP No vino No vino N/AN/A
David 18152020 15151511 14 3+NP2+NP 7375
Gaby C. 18152020 15151511 14 2+13+2 7378
Víctor 18152020 15151513 19+2 0+NP3+2 7384
Jesús Con otro profesor 15151513 19+2 2+NP No vino N/A81
René Con otro profesor 15151513 19+2 2+NP2+0 N/A83
Raúl 15+510+91315+4 15151513 19+2 0+NP No vino 7179
Jonathan 18+510+71315+6 15121112 19 2+33+NP 7477
Alex A. 15+7202022 15121112 19+1 2+12+1 8476
Miguel 15+7202022 15121112 19+1 0+NP3+NP 8473
Enrique 15+7202022 15121112 19 2+22+0 8475
Esteban 15+7202022 15131512 18 2+03+1 8479
Rafael Con otro profesor 15131512 18+4 2+NP2+NP N/A81
Héctor 15+5151520 15131512 18 No vino No vino 7073
Osvaldo 15+5151520 15131512 18 0+NP2+NP 7075
Rodolfo 15+5151520 14131213 17+4 2+22+1 7080
Marco 15+5151520 14131213 17 2+NP No vino 7071
Blanca R. Con otro profesor 14131213 17+3 2+03+NP N/A77
Perla Con otro profesor 14131213 17 2+NP2+0 N/A73
Ramón Con otro profesor 15151413 19 4+13+2 N/A86
Carmen Con otro profesor 15151413 19 2+23+1 N/A84
B. Gaby Con otro profesor 15151413 19+1 2+NP0+NP N/A79
Emmanuel Con otro profesor 15121314 20+2 1+33+3 N/A86
Adán Con otro profesor 15121314 20+2 1+02+2 N/A81
Isaías Con otro profesor 15121314 20+2 4+02+1 N/A83
Daniel Con otro profesor 15141315 20+1 1+01+1 N/A81
Sergio Con otro profesor 15141315 20+1 1+02+NP N/A81
Roberto V. Con otro profesor 15141315 20+1 1+22+NP N/A83
Hazael Con otro profesor 15141315 20+1 1+01+NP N/A80
Vanessa Con otro profesor 15151510 16 2+01+0 N/A74
Josafat Con otro profesor 15151510 16 2+NP2+NP N/A75
Abraham Con otro profesor 15151511 16 2+02+2 N/A78
Alex V. Con otro profesor 15151511 16 2+02+1 N/A77
Max Con otro profesor 15151511 16 2+NP2+NP N/A76
Ricardo Con otro profesor 15151511 16 2+11+1 N/A77
Máximo 25 25 25 25 15 15 15 15 20 10 10 100 100

Bibliografía básica

Los libros principales recomendados para referencia, agrupados por unidad temática (aunque en realidad casi todos sirven para casi todas), son los siguientes y están disponibles para referencia en la oficina de la profesora. No es necesario comprarlos, ya que hay amplios recursos en línea para el aprendizaje autónomo.

Equipos


Actualizado el 28 de noviembre del 2011.
URL: http://elisa.dyndns-web.com/~elisa/teaching/sys/adapt/2011