FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA
Escuela Académico Profesional de Ingeniería de Sistemas
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
(Universidad del Perú, DECANA DE AMERICA)



Bienvenidos al curso de Inteligencia Artificial 2010-II dictado por el Profesor Hugo Vega Huerta en la Facultad de Ingeniería de Sistemas e Informática de la Universidad Nacional Mayor de San Marcos.
INTELIGENCIA ARTIFICIAL
La Inteligencia Artificial es considerada una rama de la computación y relaciona un fenómeno natural con una analogía artificial a través de programas de computador. Puede ser tomada como ciencia si se enfoca hacia la elaboración de programas basados en comparaciones con la eficiencia del hombre, contribuyendo a un mayor entendimiento del conocimiento humano.
Si por otro lado es tomada como ingeniería, basada en una relación deseable de entrada-salida para sintetizar un programa de computador. "El resultado es un programa de alta eficiencia que funciona como una poderosa herramienta para quien la utiliza."
A través de la inteligencia artificial se han desarrollado los sistemas expertos que pueden imitar la capacidad mental del hombre y relacionan reglas de sintaxis del lenguaje hablado y escrito sobre la base de la experiencia, para luego hacer juicios acerca de un problema, cuya solución se logra con mejores juicios y más rápidamente que el ser humano.


  1. INFORMACIÓN GENERAL

    • Nombre del curso : Inteligencia Artificial
    • Código del curso : 207008
    • Duración del curso : 17 semanas
    • Forma de dictado : Técnico - experimental
    • Horas semanales : Teoría: 3h - Laboratorio: 2h
    • Naturaleza : Formación profesional
    • Número de créditos : Cuatro (04)
    • Pre – Requisitos : 205007 - Investigación Operativa I
    • Semestre académico : 2012 - I
    • Profesores :   Hugo Vega Huerta
        David Mauricio
        Rolando Maguiña
  2. SUMILLA
    La Inteligencia Artificial, conceptos, paradigmas y aplicaciones en la industria y servicios. Representación del conocimiento. Representación de problemas de IA como búsqueda en el espacio de estado. Métodos de búsqueda ciegos e informados. Juegos inteligentes hombre-máquina. Sistemas expertos, arquitectura, taxonomía y aplicaciones. Motor de inferencia. Ingeniería de conocimiento, conceptos, evolución. Metodología CommonKads. Calidad y validación de Sistemas Expertos, Introducción a Machine Learning (Aprendizaje automático) y heurísticas.
  3. OBJETIVO GENERAL
    Los estudiantes adquirirán conocimientos del área de Inteligencia Artificial en general y desarrollarán aspectos básicos en el desarrollo de juegos inteligentes, y sistemas expertos, y su aplicación en la resolución de problemas de la industria y en servicios inteligentes en los sectores de la industria y de servicios.
  4. OBJETIVOS ESPECÍFICOS
    • Comprender que es la Inteligencia Artificial y la complejidad de sus problemas.
    • Representar y resolver problemas de juego humano - máquina a través de técnicas de búsqueda en un espacio de estado.
    • Diseñar y desarrollar software de juegos inteligentes con interacción hombre-máquina y que usen técnicas de inteligencia artificial.
    • Comprender qué son los sistemas expertos y saber cuándo usarlos.
    • Conocer que es la Ingeniería de Conocimiento y un método para el desarrollo de sistemas basados en el conocimiento.
    • Evaluar la calidad de la solución de sistemas expertos.
    • Diseñar y desarrollar sistemas expertos basados en diversos motores de inferencias (métodos de encadenamiento y redes neuronales artificiales), considerando criterios de calidad.
    • Conocer los conceptos de machine learning, su importancia y sus aplicaciones en la industria y servicios.
    • Conocer los conceptos de heurísticas y meta-heurísticas, su importancia y sus aplicaciones en la industria y servicios.
  5. PLANOGRAMA ANALÍTICO POR SEMANAS

    Semanas
    Temas
    Clases
    Trabajos
    1
    Clasificación de problemas algorítmicos
    Presentación del curso. Clasificación de problemas algorítmicos, problemas P y NP. Problemas de decisión, localización y optimización. Descripción de algunos problemas NP-difícil.
     Clasificación de problemas algorítmicos
    Clasificación de problemas algorítmicos



    2
    Fundamentos de la inteligencia artificial
    Definición de la Inteligencia Artificial. Máquina inteligente. Diferencia entre sistemas operacionales y sistemas inteligentes. Aplicaciones en la industria y servicios (robótica, planificación, gestión de desperdicios). Test de Turing.
    Referencias: "Inteligencia Artificial, Un enfoque moderno" [Capitulo 1]
    Fundamentos de Inteligencia Artificial
    Fundamentos de Inteligencia Artificial

    3
    Representación de problemas de juego humano – máquina como búsqueda en un espacio de estado
    Definición de problemas de la IA como problemas de búsqueda en un espacio de estado. Representación de problemas de juegos humano – máquina.
    Referencias: "Inteligencia Artificial, Un enfoque moderno" [Capitulo 3]
    Representación de problemas de juego humano - máquina.
    Representación de problemas de juego humano - máquina.



    Ejercicios de Recursividad
    Ejercicios de Recursividad
    4 - 5
    Métodos de búsqueda ciegos e informados 
    La función evaluadora, métodos de búsqueda ciega ó no informados: amplitud, profundidad y no determinístico, métodos que usan información adicional: primero el mejor, ascenso a la colina, A*, ramificación y acotación.
    Referencias: "Inteligencia Artificial, Un enfoque moderno" [Capitulo 4]; "Inteligencia Artificial, Un enfoque moderno" [Capitulo 5]
    Métodos de búsqueda ciegos.
    Métodos de búsqueda ciegos.

    Métodos de búsqueda informada.
    Métodos de búsqueda informada.





    Recorrido por Profundidad y Amplitud
    Recorrido por Profundidad y Amplitud
    6
    Métodos de búsqueda para juegos humano-máquina
    Algoritmo de juego humano – máquina. Estrategias de juego de máquina: no determinístico, primero el mejor, min-max y mejor diferencia de utilidades. Algoritmo min-max y alfa-beta.
    Referencias: "Inteligencia Artificial, Un enfoque moderno" [Capitulo 6]
    Métodos de búsqueda para juegos humano-máquina
    Métodos de búsqueda para juegos humano-máquina
     
    Informe del Juego: "DAMAS SUICIDAS"
    Informe del Juego: "DAMAS SUICIDAS"


    Ejecutable del juego: "DAMAS SUICIDAS"
    Ejecutable del juego: "DAMAS SUICIDAS"
    7
    Fundamentos de sistemas expertos
    Definición de Sistemas Expertos. Arquitectura de un sistema experto. Taxonomía y aplicaciones de los sistemas expertos. Requisitos para el desarrollo de sistemas expertos y ventajas del uso de sistemas expertos. Algunos problemas basados en el conocimiento.
    Fundamentos de sistemas expertos.
    Fundamentos de sistemas expertos.

    Árbol Genealógico - Prolog
    Árbol Genealógico - Prolog
    8
    Examen parcial 
    Examen parcial propuesto de IA 2012 - I
    Examen parcial propuesto de IA 2012 - I
    9
    Presentación de trabajos computacionales
    Los alumnos mostrarán sus habilidades en cuanto al desarrollo de software de juegos inteligentes basados en técnicas de búsqueda. Se deberá presentar un informe y un software, y deberán exponer sus trabajos.
    10
    Ingeniería de conocimiento
    Introducción. Adquisición de conocimiento. La metodología CommonKADS. Diseño de Sistemas Expertos (SE). Ciclo de vida de un SE.
    11
    Adquisición de Conocimiento 
    Adquisición de conocimiento. Construcción de la base de hechos y base de conocimiento. Estructuras de representación de conocimientos (reglas de inferencias, frames, objects, ontologías, metadatos, thesaurus).
    12
    Desarrollo de sistemas expertos basados en reglas
    Construcción de la base de hechos y base de conocimiento. El motor de inferencia. Los métodos de encadenamiento regresivo, progresivo y reversibilidad. Técnicas de equiparación, el algoritmo RETE. Técnicas de resolución de conflictos.
    Referencias: "Inteligencia Artificial, Un enfoque moderno" [Capitulo 6]; "Inteligencia Artificial, Un enfoque moderno" [Capitulo 8]
    13
    Calidad y validación de sistemas expertos
    Principales errores en el desarrollo de un sistema experto. Calidad de un sistema experto. Validación de sistemas inteligentes, métodos cuantitativos de validación. Eficiencia y error de sistemas expertos. Revisión de la funcionalidad del SE del 2do trabajo.
    Tareas: ejercicios sobre calidad y validación de SE, validar el sistema propuesto del 2do trabajo.
    14
    Introducción a Machine Learning (aprendizaje automatico) y heuristicas.
    Conceptos de aprendizaje y de machine learning. Sistemas experto vs machine learning. Técnicas de aprendizaje y fases de desarrollo de machine learning. Aplicaciones de machine learning en la industria y servicios. Conceptos de heurísticas y meta-heurísticas. Algoritmos exactos vs algoritmos heurísticos. Técnicas heurísticas y meta-heurísticas. Problemas de optimización combinatoria en la industria y servicios
    15
    Presentación de trabajos computacionales
    Los alumnos mostrarán sus habilidades en cuanto al desarrollo de sistemas expertos y sus aplicaciones en los sectores de la industria y servicio. Los alumnos presentarán un informe y un software.
    16
    Examen final 
    17
    Examen Sustitutorio (solo para aquellos que no dieron examen parcial o final)
    Teoria de otros Profesores:
    Profesora Huayna
    Profesor Maguiña
    Profesora Virginia


  6. LABORATORIO
    Durante las sesiones de laboratorio se desarrollarán la programación básica en un lenguaje de inteligencia artificial sea LIPS (o una variante de ella) o CLIPS y esta se orientará al desarrollo de sistemas expertos basados en reglas. También en las sesiones de laboratorio se podrá evaluar el avance de los trabajos.
  7. METODOLOGÍA
    El curso se desarrolla a través de actividades teórico – prácticas, dando énfasis a aplicaciones en la industria y servicios. Los estudiantes, organizados en equipos de 3 desarrollarán dos trabajos computacionales. Durante las sesiones de teoría se discutirán la resolución de problemas propuestos. Durante las sesiones de laboratorio se evaluará el avance de los trabajos computacionales y el proceso de aprendizaje de un lenguaje de inteligencia artificial.
  8. EVALUACIÓNEl Promedio Final (PF) se determina de la forma siguiente:

    PF = 0.025(CL1 + CL2 + CL3 + CL4) + 0.075(TB1 + TB2) + 0.15*LA + 0,30*(EA +EB)

    Donde:
    • CLx: Controles de Lecturas (CL1, CL2, CL3 y CL4)
    • TB1: Trabajo Grupal (Juegos Inteligentes Hombre – Máquina)
    • TB2: Trabajo Grupal (Sistemas Expertos)
    • EA: Examen Parcial
    • EB: Examen Final
    • LA: Laboratorio
    El alumno podrá sustituir la nota del examen parcial o final siempre que no haya podido dar alguno de estos exámenes. Solo serán evaluados los alumno que presenten 70% o más de asistencia.
  9. BIBLIOGRAFÍA
    [1] STUART, RUSSELL; PETER, NORVIG 1996 Inteligencia artificial, un enfoque moderno. Ed. Prentice Hall. ISBN 0-13-103805-2
    [2] PATRICK, WINSTON 1984 Inteligencia artificial. Ed. Addison-Wesley ISBN 0-201-51876-7
    [3] ELAINE, RICH 1988 Inteligencia artificial. Ed McGraw-Hill ISBN 0-07-450364-2
    [4] DAVID, MAURICIO 2009 Apuntes de inteligencia artificial.
    [5] BONIFACIO, MARTIN; ALFREDO, SANZ 2002 Redes neuronales y sistemas difusos. Ed. Alfaomega ISBN 84-7897-466-0
    [6] JOSEPH GIARRATANO – GARY RILEY 2001 Sistemas expertos, principios y programación. Ed. Ciencias Thomson ISBN 970-686-059-2 5/5
    [7] JOSÉ PALMA M., ROQUE MARIN M. 2008 Inteligencia artificial, técnicas métodos y aplicaciones. Ed. Mc Graw Hill ISBN 978-84-484-5618-3
    [8] JOSE R. HILERA, VICTOR J. MARTINE. 2000 Redes neuronales artificiales, fundamentos, modelos y aplicaciones. Ed. Alfaomega – rama ISBN 978-84-484-5618-3
    [9] NILS J. NILSON 2001 Inteligencia artificial, una nueva síntesis. Ed. Mc Graw Hill ISBN 978-84-484-5618-3
    [10] CAMPELO Ruy; MACULAN Nelson. 1994, Algoritmos e Heurísticas. Ed. Universidad Federal Fluminense. GLOVER Fred; KOCHENBERGER Gary A.
    [11] 2003 HandBook of Metaheuristic. Kluwer International Series. Las lecturas obligatorias serán proporcionadas por el profesor del curso.