Inteligencia Artificial II: Conocimiento, Razonamiento y Planeación. Presentación del Curso. Dr. Alejandro Guerra-Hernández Departamento de Inteligencia Artificial Universidad Veracruzana Facultad de Física e Inteligencia Artificial Sebastián Camacho No 5, Xalapa, Ver., México 91000
[email protected] www.uv.mx/aguerra 4 de Febrero del 2014
Bienvenido a la experiencia educativa Inteligencia Artificial II, de la Maestría en Inteligencia Artificial en la Universidad Veracruzana. Aunque se trata de un curso introductorio básico, organizado en torno a la parte III del libro de Stuart Russell y Peter Norvig [15], el contenido del mismo está influenciado por las Líneas de Generación y Aplicación del Conocimiento de nuestro departamento, en particular los Sistemas Multi-Agente [4], el Aprendizaje [13,14] y las tecnologías Web [12]. Esta experiencia educativa es complementaria a Inteligencia Artificial I y constituye una introducción al Conocimiento, el Razonamiento y la Planeación en la Inteligencia Artificial. Dado en enfoque moderno adoptado por nuestra referencia básica, esta introducción está influenciada por el concepto de agente inteligente. El material está organizado para ofrecer un curso de 60 horas, durante un semestre, con dos sesiones de dos horas por semana. A contiunación se detallan los objetivos del curso, la evaluación del mismo, así como su calendario y referencias básicas.
1.
Objetivos El uso adecuado de la lógica proposicional y de primer orden, como métodos de representación de conocimiento en Inteligencia Artificial.
1
El uso de la inferencia en lógica de primer orden como mecanismo de razonamiento en Inteligencia Artificial. El uso de métodos de planeación como una liga entre la representación de conocimiento, el razonamiento y el comportamiento en agentes inteligentes. El uso de ontologías para la representación del conocimiento. El uso de métodos de aprendizaje usando estas representaciones.
2.
Evaluación
El estudiante será evaluado conforme a su participación en clase, y la calidad de sus tareas La nota final, será calculada de la siguiente forma: 3 tareas que cubren el 50 % de la nota final. Las tareas incluyen escritura de ensayos, exposiciones y, por supuesto, ejercicios de programación. 1 proyecto integrador cubre el 50 % de la nota final. Para obtener una nota aprobatoria, el alumno deberá haber obtenido notas aprobatorias en cada uno de las tareas a realizar, es decir, no aprobar cualquier elemento parcial de la evaluación, implica no aprobar el curso.
3.
Tareas
Durante el curso, se asignarán tres tareas. Las tareas deberán entregarse al inicio de clase del día designado. El mérito del trabajo decrece 25 % por cada 24 horas de retraso. Las tareas pueden requerir investigación bibliográfica y experimentación en la computadora. Todos los trabajos deberán incluir al pie de cada página: i) el nombre del estudiante; ii) el nombre del curso; iii) el número de la tarea; y iv) el número de la página. Sólo se acepta papel carta 8’x11’. En todas las partes que involucran código, éste deberá ser documentado apropiadamente. Los trabajos son evaluados de la siguiente manera: Para que un ejercicio o pregunta reciba créditos, más del 50 % deberá estar resuelta de manera correcta (es más reduitable invertir el tiempo en contestar una pregunta de manera correcta y completa, que responder a dos de manera parcial). La discusión entre los estudiantes es uno de los aspectos más enriquecedores en un programa de maestría. Es sumamente importante que discutan entre ustedes las tareas, pero toda discusión al respecto deberá ser de manera oral. En particular, en ningún momento podrá un estudiante consultar las notas de trabajo escrito de 2
otro. Cualquier anomalía en este sentido y otras formas de plagio, causa expulsión definitiva del curso. La fecha de entrega de las tareas aparece en la sección de calendario de este documento.
4.
Material del curso
Como es usual en nuestros cursos, el material de clases (notas, presentaciones, código) está disponible en mi página personal: http://www.uv.mx/personal/aguerra/artificial-intelligence-ii/ La bibliografía básica está a disposición de ustedes en la biblioteca del departamento ó en mi oficina. Algunos de los artículos están disponibles en versión electrónica gracias a las suscripciones de nuestra biblioteca central. Utilizaremos el Mundo de Tarski [1], un popular programa para explorar el uso de la lógica de primer orden (y proposicional). Más información sobre este programa puede encontrarse en: http://ggweb.stanford.edu/tarskisworld/ El lenguaje de programación usado para los ejercicios del curso es libre, aunque haremos énfasis en la programación lógica (Prolog) y la programación orientada a agentes (Jason).
5.
Calendario
Este año las sesiones se llevarán a cabo los martes de 09:00 a 11:00 hrs., y los jueves de 10:00 a 12:00 hrs. Las sesiones se organizarán como sigue:
3
Fecha 04/02/2014 06/02/2014 11/02/2014 13/02/2014 18/02/2014 20/02/2014 25/02/2014 27/02/2014 04/03/2014 06/03/2014 11/03/2014 13/03/2014 20/03/2014 25/03/2014 27/03/2014 01/04/2014 03/04/2014 08/04/2014 10/04/2014 22/04/2014 24/04/2014 29/04/2014 06/05/2014 08/05/2014 13/05/2014 20/05/2014 22/05/2014 27/05/2014 29/05/2014 02/06/2014 12/06/2014
Tema Agentes inteligentes Arquitecturas de agentes Deducción natural Lógica Proposicional Formas normales Demonstración de teoremas Agentes basados en Lógica Proposicional Lógica de Primer Orden Teoría de prueba y semántica Usos de la Lógica de Primer Orden Encadenamientos hacía atrás y adelante Resolución Prolog 1 Prolog 2 Prolog 3 Prolog 4 Planeación y Búsquedas en espacios de soluciones Otros enfoques de Planeación Planeando y Actuando en el Mundo Real Implementación de un planeador Representación del Conocimiento Ontologías Razonando con Ontologías Agentes BDI Semántica Operacional Jason 1 Jason 2 Aprendizaje Lógico Inductivo Arboles de Decisión en Jason Proyecto Final Exposiciones Proyecto Final
Tarea
T1
T2
T3
Referencias básicas 1. BARKER -P LUMMER , D., BARWISE , J., E TCHEMENDY, J., AND L IU , A. Tarski’s World, Revised and Expanded, vol. 169 of Lecture Notes in Computer Science/Logic/Philosophy. CSLI Publications, Stanford, CA., USA, 2008.
4
2. BARWISE , J., AND E TCHEMENDY, J. Language, Proof and Logic. CSLI Publications, 1999. 3. B EN -A RI , M. Mathematical Logic for Computer Science, third ed. SpringerVerlag, London, UK, 2012. 4. B ORDINI , R. H., H ÜBNER , J. F., AND W OOLDRIDGE , M. Programming Multi-Agent Systems in Agent-Speak using Jason. John Wiley & Sons Ltd, 2007. 5. B RAMER , M. Logic Programming with Prolog. Springer Verlag, Berlin Heidelberg, 2005. 6. B RATKO , I. Prolog programming for Artificial Intelligence. Addison-Wesley, 2001. 7. C LOCKSIN , W. F., AND M ELISH , C. S. Programming in Prolog, using the ISO standard. Springer-Verlag, Berlin-Heidelberg, Germany, 2003. 8. G ABBAY, D. M., H ARTMANN , S., AND W OODS , J. Handbook of the History of Logic: Inductive Logic, vol. 10. North Holland, Oxford, UK, 2011. 9. G ENESERETH , M., AND N ILSSON , N. Logical Foundations for Artificial Intelligence. Morgan Kauffman Publishers, Inc., Palo Alto, CA., USA, 1987. 10. H UTH , M., AND RYAN , M. Logic in Computer Science: Modelling and Reasoning about Systems. Cambridge University Press, Cambridge, UK, 2004. 11. KOWALSKI , R. Computational Logic and Human Thinking. How to be Artificially Intelligent. Cambridge University Press, Cambridge, UK, 2011. 12. N OY, N. F., AND M C G UINNESS , D. L. Desarrollo de ontologías-101: Guía para crear tu primera ontología. Tutorial, Stanford University, 2005. 13. Q UINLAN , J. C4.5: Programs for Machine Learning. Morgan Kaufmann, San Mateo, CA., USA, 1993. 14. R AEDT, L. D. Logical and Relational Learning. Springer-Verlag, Berlin Heidelberg, 2008. 15. RUSSELL , S., AND N ORVIG , P. Artificial Intelligence: A Modern Approach, segunda ed. Prentice Hall Series in Artificial Intelligence. Prentice Hall, USA, 2003. 5
16. VAN DALEN , D. Logic and Structure, fourth ed. Springer-Verlag, Berlin Heidelberg, Germany, 2008.
Xalapa, Ver., México Febrero 2014
Alejandro Guerra-Hernández
6