FACULTAD DE CIENCIAS EXACTAS, INGENIERÍA Y AGRIMENSURA U.N.R. PROGRAMA ANALITICO DE LA ASIGNATURA: Introducción a la Inteligencia Artificial Código PLAN DE ESTUDIOS: 2010 CARRERA: Lic. en Cs. de la Computación DEPARTAMENTOS: Cs. de la Computación (ECEN) / Sistemas e Informática (EIE) PROFESOR: Dra. Ana Casali 2013 TENTATIVO HASTA AÑO DEFINITIVO DE EXAMEN PROGRAMA ANUAL SEMESTRAL CUATRIMESTRAL Táchese lo que no corresponda. OBSERVACIONES: R-413 PRESUPUESTO HORARIO SEMANAL PROMEDIO TEORIA: 3 1 PRACTICA: 2 2 TALLER: 2 3 TOTAL ASIGNADO: 7 DEDICACION DEL ALUMNO FUERA DE CLASE: 5 4 1+2+3 5 PRESUPUESTO TOTAL: 12 6 5+4 PROGRAMA BASADO EN SEMANAS UTILES : 15 7 HORAS TOTALES ASIGNADAS: 105 7x4 HORAS TOTALES PRESUPUESTAS: 180 7x6 OBJETIVOS: Mediante esta asignatura se pretende que los alumnos adquieran los siguientes conocimientos relativos a: i) problemas que encara la Inteligencia Artificial (IA) simbólica y conexionista, distintos modelos; ii) representación del conocimiento y algoritmos de búsqueda; iii) sistemas basados en el conocimiento (arquitectura, herramientas, desarrollo); iv) tratamiento del conocimiento complejo; v) redes bayesianas y sistemas difusos; vi) agentes y sistemas multiagentes. También, se desarrollan habilidades para que el alumnos pueda: a) elegir la técnica adecuada para resolver un problema; b) el manejo de una herramienta de programación adecuada; c) el desarrollo de prototipos de aplicaciones. UBICACION EN LA CARRERA Y CARACTERISTICAS GENERALES: La materia brinda una visión de los problemas que trata la Inteligencia Artificial y las técnicas utilizadas en su resolución. Se focaliza en los métodos simbólicos. Como fundamentos se analizan los métodos de búsqueda y la problemática de la representación del conocimiento. Dentro de las distintas áreas de IA, se tratan los sistemas basados en el conocimiento, razonamiento con incertidumbre o imprecisión, sistemas difusos, e introducción a los sistemas multiagentes. Mediante el desarrollo de prototipos de los distintos tipos de sistemas, se espera que el alumno incorpore los aspectos pragmáticos del área. Esta materia se ubica en el séptimo semestre de la grilla correspondiente a la carrera Licenciatura en Ciencias de la Computación. MATERIAS RELACIONADAS: Previas: R-223 Lógica; R-312 Estructuras de Datos y Algoritmos II; R-314 Examen de Suficiencia de Inglés; R-324 Teoría de Base de Datos Simultáneas recomendadas: - -Posteriores: posibles Tesinas en el área. …....................................... .............................. Firma Profesor Fecha ............................................... Aprob. Escuela ................................. Fecha Aprobado en reunión de Consejo Académico de fecha: ............................................................................. CONTENIDO TEMATICO Ordenar temas utilizando codificación decimal 1. Qué es la Inteligencia Artificial (I.A.). 1.1. Diferentes definiciones. 1.2. Historia de la I.A. 1.3. Modelos simbólicos y no simbólicos. Fundamentos. 1.4. Campos de investigación en I.A 1.5. Técnicas básicas. 1.6. Agentes Inteligentes. 1.7. Criterios para evaluar programas. 2. Resolución de problemas y búsqueda. 2.1. Representación en espacio de estados. 2.2. Técnicas de búsqueda heurística. 2.2.1. Generación y prueba. 2.2.2. Escalada (Hill Climbing). 2.2.3. Búsqueda primero el mejor (best-first search). Algoritmo A* 2.2.4. Satisfacción de restricciones. 3. Representación del conocimiento. 3.1. El problema de la representación del conocimiento. 3.2. Diferentes paradigmas. 3.3. Formalismos lógicos. Cálculo de predicados. Automatización de la lógica. 3.4. Reglas de producción 3.5. Esquema de representación estructurada: Redes semánticas. Frames. Objetos. Ontologías. 4. Sistemas Basados en Conocimiento (KBS) 4.1. Definición de KBS. Ejemplos. 4.2. Arquitectura de los SE. Base de conocimientos. Motor de Inferencia. 4.3. Metaconocimiento 4.4. Características de los problemas que resuelven los SE. 4.5. Campos de aplicación de los SE. 4.6. Adquisición del conocimiento. 4.7. Desarrollo de un SE. Herramientas. 4.8. Verificación y validación. 5. Representación del conocimiento en dominios complejos. 5.1. Razonamiento Aproximado 5.2. Imprecisión e incertidumbre en el conocimiento. 5.3. Modelos probabilísticos. Modelo Mycin. Redes Bayesianas. 5.4. Lógica difusa. Sistemas difusos (Fuzzy Systems). 6. Introducción a los agentes. 6.1. Noción de agente. Definiciones 6.2. Distintas arquitecturas. 6.3. Sistemas multiagentes: sistemas colaborativos. Sistemas competitivos. CONTENIDO TEMATICO Ordenar temas utilizando codificación decimal TALLER: - - Programación Lógica: prototipo de KBS desarrollado en una versión del lenguaje Prolog. Herramienta de desarrollo de KBS: Características generales de una herramienta (ej. JESS: http://www.jessrules.com/) Modelado del dominio (hechos, objetos, ontologías). Razonamiento basado en reglas. Motor de inferencia. Redes Bayesianas: desarrollo de ejercicios utilizando una herramienta de software (ej. JavaBayes: http://www.cs.cmu.edu/~javabayes/Home/). Sistemas Difusos: desarrollo de ejercicios utilizando una herramienta (ej. FisPro: http://www.inra.fr/internet/Departements/MIA/M/fispro/indexen.html). Trabajo final: desarrollo de un prototipo de sistema que utilice alguna de las técnicas de IA vinculadas al desarrollo de la materia. TRABAJOS PRACTICOS a) Enumeración: Ejercicios de práctica sobre los siguientes temas 1. Campos de IA y grupos de investigación 2. Resolución de un problema mediante representación en espacio de estados 3. Representación del conocimiento usando Lógica de predicados. Resolución. 4. Modelización del dominio. Objetos y Reglas. 5. Razonamiento aproximado. Modelo probabilística y posibilístico. Sistemas difusos. Prácticas de laboratorio 1. Programación lógica. Desarrollo de un pequeño SE. 2. Sistema basado en conocimiento: desarrollo de un prototipo utilizando una herramienta de sistemas basados en reglas de producción. 3. Redes Bayesianas: desarrollo de ejercicios de la práctica utilizando herramienta de software libre. 4. Sistema Difuso: prototipo en una herramienta de software libre. 5. Trabajo final: desarrollo de un prototipo de sistema que utilice alguna de las técnicas de IA vinculadas al desarrollo de la materia. b) Guías de trabajos prácticos publicadas: (con su código de publicación) BIBLIOGRAFIA a) Adecuada al programa. Ordenada por temas y con su codificación de biblioteca, incluidas las publicaciones de la Cátedra con su código de publicación. - Inteligencia Artificial. Un enfoque moderno. Russell, S. & Norvig, P. Pearson, 2007. - Inteligencia Artificial. Modelos Técnicas y Aplicaciones. Escolano Ruiz F. et al. Thompson, 2003. - Inteligencia Artificial, Rich, E. & Knight, K. 2da ed. Mc Graw Hill, 1991. - Sistemas Expertos. Principios y Programación. Giarratano & Riley. 3ºEd. Int. Thomson Ed, 2000. - Sistemas Expertos. Nebendahl - Tomo I y II. Marcombo 1991. - Approximate Reasonning. López de Mántaras, R. Ellis Horwood, 1990. - Decision Support Systems and Expert Systems. Turban. Prentice Hall 1995. - Introduction to Multiagent Systems, M. Wooldridge, MIT Press, 2003. MATERIAL DESARROLLADO POR LAS DOCENTES DE LA CÁTEDRA, PARA LA COBERTURA DE LOS DISTINTOS TEMAS (Presentaciones disponibles en la página Web) b) Complementaria para profundización o extensión de temas. * Cox, E. The Fuzzy System Handbook: A practitioner’s guide to building, using and maintaining fuzzy systems. AP Professioal. * Nilsson, N. J. Principios de Inteligencia Artificial, Diaz de Santos, 1987. * Winston, P.H. Inteligencia Artificial, 3ª edición. Addison-Wesley, 1994. * Selección de papers sobre los distintos temas.