/info-curso

Información general del curso

Primary LanguageTeX

Curso Inteligencia Artificial

Universidad de Sonora, período 2015b

Julio Waissman Vilanova
Cubículo 1, edificio 3K-4

Información general

  1. Horario: Lunes a viernes de 11:00 a 12:00 hrs.

  2. Material de apoyo para el curso

  3. El temario del curso se encuentra aquí y puede resumirse como:

    1. Introducción a la IA
    2. Agentes racionales
    3. Búsquedas locales
    4. Satisfacción de restricciones
    5. Búsquedas informadas
    6. Búsquedas con adversario
    7. Representación del conocimiento en redes bayesianas
    8. Aprendizaje supervisado
    9. Aprendizaje no supervisado
  4. La calificación del curso se realiza de la siguiente manera:

    1. Exámenes rápidos (20%)
    2. Examen intermedio (20%)
    3. Examen final (20%)
    4. Tareas (30%)
    5. Para aprobar el curso es necesario tener una calificación mayor o igual a 60 en las tareas. Las tareas se califican con el promedio del 80% (redondeado) de las mejores tareas presentadas por un alumno. Una tarea entregada fuera del plazo de entrega no tiene calificación.
  5. Para el curso el lenguaje de programación utilizado es Python. Existen muchos y muy buenos tutoriales de Python en la red. Se asume que los alumnos del curso de Inteligencia Artificial tienen cierto nivel de competencias en programación, y que aprender un nuevo lenguaje no es un problema.

  6. Asesorías. Todas las asesorías individuales presenciales que requieran los alumnos son posibles. Solamente se les solicita acordar una cita con el profesor, con el fin de encontrar un horario conveniente para ambos.

  7. Bibliografía: Inteligencia Artificial Un Enfoque Moderno, 2 ed., Stuart Russell y Peter Norvig (Pearson Educación). De preferencia usar la 3er edicion en inglés, pero la segunda se encuentra en la biblioteca. Evitar la primer edicion, ya que la traducción es pésima.

Como cargar, modificar y entregar las tareas

Las tareasse encuentran como repositorios de github como se ve más abajo. Es importante notar que, al ser un sistema colaborativo, las tareas, así como sus soluciones se encuentran a disposición de todo mundo, por lo que es necesario cambiar la tarea de semestre a semestre.

Por ese motivo, aunque exista la tarea en el sistema, mientras no se de aviso en clase que la tarea está disponible, favor de no empezar a hacerla, ya que puede llegar a sufrir cambios de última hora.

El procedimiento a seguir para cargar, modificar y entregar una tarea el siguiente (este procedimiento lo revisaremos en clase para la primer tarea):

  1. Realiza un fork en Github para el repositorio de la tarea en particular.

  2. Realiza un clone del repositorio a tu computadora (o tus computadoras).

  3. Lee los archivos de tarea, modifica y desarrolla lo que se pide en cada uno de ellos. Todos los archivos a modificar son archivos *.py. Sin embargo en algunas ocasiones se tendrán otro tipo de archivos que no es necesario modificar (en particular para las tareas con algoritmos de aprendizaje).

  4. En todos los archivos se marca claramente lo que hay que hacer y cuantos puntos de la tarea cuenta cada ejercicio.

  5. Cada vez que realices cambios a los archivos, comentalos (commit) y realiza un push o un sync a tu repositorio de GitHub con el fin de guardar los cambios realizados.

  6. Una vez terminada la tarea (o una vez que ya no se piense modificarla más), realizar un pull request al repositorio original (el del profesor).

  7. La revisión de la tarea se realizará en linea, marcando las cosas que no están bien hechas. Lo que no lleve comentario estará bien hecho (ningun comentario significa que la tarea está muy bien). Al final de los comentario realizados por el profesor en el pull request se agregará un comentario con a nota final.

  8. De acuerdo al tiempo y a la complejidad que eso implique, el profesor podrá (o no) agregar correcciones de código a las tareas entregadas. Esto solo cuando las correcciones sean de sintaxis o pequeños errores de programación. Errores de lógica o de comprensión no serán resueltos en linea ya que puede mal interpretarse como un error menor.

Listado de tareas a realizar

  1. Agentes inteligentes. Fecha tentativa de entrega: 1 de febrero de 2016.
  2. Algoritmos de búsquedas directas. Fecha tentativa de entrega: 15 de febrero de 2016.
  3. Algoritmos genéticos. Fecha tentativa de entrega: 29 de febrero de 2016.
  4. Problemas de satisfacción de restricciones. Fecha tentativa de entrega: 14 de marzo de 2016.
  5. Problemas de búsquedas informadas. Fecha tentativa de entrega: 4 de abril de 2016.
  6. Problemas de búsquedas con adversario. Fecha de entrega: 18 de abril de 2016.
  7. Bayes inocente y filtros antispam. Fecha de entrega: 2 de mayo de 2016.
  8. Aprendizaje supervisado. Fecha de entrega: 16 de mayo de 2016.