Guia docente
DATOS IDENTIFICATIVOS 2011_12
Asignatura INGENIERIA DEL CONOCIMIENTO (I.A.-I.C.) Código 00702028
Enseñanza
INGENIERO EN INFORMATICA
Descriptores Cr.totales Tipo Curso Semestre
6 Troncal Tercero Segundo
Idioma
Castellano
Prerrequisitos
Departamento ING.ELECTR.DE SIST. Y AUTOMATI
Responsable
ALONSO ÁLVAREZ , ÁNGEL
Correo-e aaloa@unileon.es
mcbenc@unileon.es
igarr@unileon.es
Profesores/as
ALONSO ÁLVAREZ , ÁNGEL
BENAVIDES CUÉLLAR , MARÍA DEL CARMEN
GARCÍA RODRÍGUEZ , ISAÍAS
Web http://
Descripción general "Esta asignatura es una continuación de la de Inteligencia Artificial vista en el primer cuatrimestre. Se pretende profundizar en uno de los campos más exitosos de la I. A., que lo constituyen los sistemas expertos y los sistemas basados en el conocimiento. El objetivo genérico de la asignatura consiste en explicar al alumno como pueden aplicarse las estrategias de I. A. para resolver problemas específicos y acotados con los métodos habituales de la ingeniería. La asignatura se orienta a explicar primero lo que es un sistema experto y después lo que es un sistema basado en el conocimiento. Antes de abordar los sistemas expertos se explica el paradigma de la extracción de conocimiento, que constituye el pilar de los sistemas expertos. De la misma forma antes de explicar los sistemas basados en el conocimiento se aborda el paradigma de la modelización del conocimiento, que es el paradigma sobre el que se apoyan estos. Los sistemas expertos tratan de imitar el razonamiento de un experto humano. Las estrategias de extracción del conocimiento están poco estructuradas, son muy dependientes de las habilidades de quien realiza la tarea. Los sistemas basados en el conocimiento son la evolución natural de los sistemas expertos y tratan de crear modelos estructurados del problema a resolver. La modelización adquiere una importancia capital. A los conceptos de reutilización del conocimiento a través de las ontologías y de los métodos de resolución de problemas se les dedicará una atención especial. En las prácticas se usará el lenguaje CLIPS. Tiene para los alumnos el interés de ser un lenguaje declarativo, que les servirá para comparar las diferencias con los lenguajes procedurales, que es a los que está habituado. Las primeras prácticas van dirigidas al manejo del lenguaje y finalmente se propondrán ejercicios para que el alumno aprenda como puede aplicarse este lenguaje tanto a los sistemas expertos como a los sistemas basados en el conocimiento. CLIPS (C Language Integrated Production System) fue creada en la NASA, es uno de los shell de sistemas expertos basados en reglas más populares y aceptadas. Se puede decir que se basa en una modificación y adaptación del lenguaje de programación C para implementar el algoritmo Rete (red en latín) como motor de inferencia genérico y una serie de construcciones de alto nivel que especifican un lenguaje para describir en forma de base de hechos y reglas un sistemas experto. En la actualidad esta herramienta soporta orientación a objetos, lo cual permite trabajar con un paradigma ampliamente utilizado para la representación del conocimiento dentro de la ingeniería del software. La disponibilidad de la herramienta para uso educativo es libre y existen diferentes interfaces gráficas de usuario mediante las cuales se puede utilizar la aplicación. La ayuda incluida en el programa y sobre todo los manuales de usuario, de programación avanzada y los tutoriales que se proporcionan junto con el programa son de gran calidad y están también disponibles libremente en la red." "
Tribunales de Revisión
Tribunal titular
Cargo Departamento Profesor
Tribunal suplente
Cargo Departamento Profesor

Objetivos
"Esta asignatura es una continuación de la de Inteligencia Artificial vista en el primer cuatrimestre. Se pretende profundizar en uno de los campos más exitosos de la I. A., que lo constituyen los sistemas expertos y los sistemas basados en el conocimiento. El objetivo genérico de la asignatura consiste en explicar al alumno como pueden aplicarse las estrategias de I. A. para resolver problemas específicos y acotados con los métodos habituales de la ingeniería. La asignatura se orienta a explicar primero lo que es un sistema experto y después lo que es un sistema basado en el conocimiento. Antes de abordar los sistemas expertos se explica el paradigma de la extracción de conocimiento, que constituye el pilar de los sistemas expertos. De la misma forma antes de explicar los sistemas basados en el conocimiento se aborda el paradigma de la modelización del conocimiento, que es el paradigma sobre el que se apoyan estos. Los sistemas expertos tratan de imitar el razonamiento de un experto humano. Las estrategias de extracción del conocimiento están poco estructuradas, son muy dependientes de las habilidades de quien realiza la tarea. Los sistemas basados en el conocimiento son la evolución natural de los sistemas expertos y tratan de crear modelos estructurados del problema a resolver. La modelización adquiere una importancia capital. A los conceptos de reutilización del conocimiento a través de las ontologías y de los métodos de resolución de problemas se les dedicará una atención especial. En las prácticas se usará el lenguaje CLIPS. Tiene para los alumnos el interés de ser un lenguaje declarativo, que les servirá para comparar las diferencias con los lenguajes procedurales, que es a los que está habituado. Las primeras prácticas van dirigidas al manejo del lenguaje y finalmente se propondrán ejercicios para que el alumno aprenda como puede aplicarse este lenguaje tanto a los sistemas expertos como a los sistemas basados en el conocimiento. CLIPS (C Language Integrated Production System) fue creada en la NASA, es uno de los shell de sistemas expertos basados en reglas más populares y aceptadas. Se puede decir que se basa en una modificación y adaptación del lenguaje de programación C para implementar el algoritmo Rete (red en latín) como motor de inferencia genérico y una serie de construcciones de alto nivel que especifican un lenguaje para describir en forma de base de hechos y reglas un sistemas experto. En la actualidad esta herramienta soporta orientación a objetos, lo cual permite trabajar con un paradigma ampliamente utilizado para la representación del conocimiento dentro de la ingeniería del software. La disponibilidad de la herramienta para uso educativo es libre y existen diferentes interfaces gráficas de usuario mediante las cuales se puede utilizar la aplicación. La ayuda incluida en el programa y sobre todo los manuales de usuario, de programación avanzada y los tutoriales que se proporcionan junto con el programa son de gran calidad y están también disponibles libremente en la red." "

Metodologías
"A los alumnos de esta asignatura se les proporcionan apuntes de las clases teóricas y guiones de prácticas, todo ello en formato electrónico. También tienen a su disposición tutoriales de algunas partes. Las clases teóricas se imparten mediante exposición oral, apoyada por la proyección de resúmenes en formato electrónico. Las clases prácticas se imparten en laboratorio, apoyados con guiones de prácticas. Cada alumnos dispone de un ordenador." "

Contenidos
Bloque Tema
"Contenidos teóricos Tema 1.- Introducción a la Ingeniería del Conocimiento, 2 horas Ejemplos Orígenes de la Ingeniería del Conocimiento Evolución de la Ingeniería del Conocimiento ¿Por qué ""ingeniería"" y por qué ""conocimiento""? Tema 2.- El paradigma de la extracción del conocimiento (Adquisición, conceptualización, formalización e implementación), 8 horas Componentes de un Sistema Experto: Base de conocimiento y mecanismo de inferencia. Adquisición de conocimientos Conceptualización del problema Formalización del problema. Tema 3.- Sistemas expertos, 6 horas Implementación de los sistemas expertos, metodologías. Herramientas para el desarrollo de sistemas expertos. Las SHELL de sistemas expertos Ejemplos de SSEE: MYCIN, XCON, DENDRAL,... Problemas: el cuello de botella de la adquisición del conocimiento y el mantenimiento del sistema experto. Tema 4.- El paradigma de la modelización del conocimiento (ontologías y métodos de resolución de problemas), 8 horas Problemas de los sistemas expertos: el cuello de botella de la adquisición del conocimiento y el mantenimiento del sistema experto. De la extracción al modelado del conocimiento. La reutilización de estructuras conceptuales Conceptualización en el nivel del conocimiento Conocimiento estático del dominio: ontologías. Conocimiento sobre las tareas del dominio: Métodos de resolución de problemas Tema 5.- Los sistemas basados en el conocimiento, 6 horas Metodologías para el desarrollo de Sistemas Basados en el Conocimiento. Metodología CommonKADS Verificación y validación de sistemas basados en el conocimiento. Ejemplos de Sistemas Basados en el Conocimiento ¿Hasta dónde llegan las ventajas de la reutilización? Contenidos prácticos Bloque 1.- Introducción al CLIPS, 10 horas Introducción a CLIPS: conceptos fundamentales y entorno de desarrollo (2h) Programación declarativa: Trabajo con hechos y reglas (2h) Programación declarativa: Ejecución de programas en CLIPS de forma interactiva (2h) Estructuras para la representación de datos más complejas: plantillas (2h). Programación declarativa: Ejemplos sencillos. (2h) Bloque 2.- Ejercicios de programación con CLIPS, 10 horas Programación declarativa: Suma de áreas de rectángulos, mundo de bloques, etc. (2h) Programación declarativa: Trabajo con listas. (2h) Programación declarativa: Control de la ejecución: Módulos. (2h) Programación declarativa: Trabajo con conjuntos de instancias. (4h) Bloque 3.- Orientación a objetos en CLIPS y representación de ontologías, 10 horas Introducción a la orientación a objetos en CLIPS. (4h) Trabajo con objetos, ejercicios. (4h) Representación de ontologías en CLIPS (2h)"

Otras actividades

Evaluación
  descripción calificación
 
Otros comentarios y segunda convocatoria
"Se realizará un examen final tanto de la parte teórica como de las prácticas. El examen de teoría tendrá un peso del 50% en la nota final y el examen de prácticas un 50%. Es preciso obtener al menos un 30% en cada parte para compensar con la otra. Haciendo una proyección de las puntuaciones sobre 10 el 5 se considera aprobado. Los exámenes de teoría se realizan combinando tests y preguntas cortas. Los exámenes prácticos se hacen en el laboratorio de forma individualizada." "

Fuentes de información
Acceso a la Lista de lecturas de la asignatura

Básica
"Russell S., Norving P. - ""Inteligencia Artificial. Un enfoque moderno"" - Prentice Hall. (1997) Gómez A., Juristo N., Montes C., Pazos J. - ""Ingeniería del Conocimiento"" - Ed. Ceura, Madrid. (1997) Schreiber, G.; Akkermans, H.; Anjewierden, A.; de Hoog, R.; Shadbolt, N.; van de Velde W. y Wielinga. B.: Knowledge engineering and Management: The CommonKADS Methodology. MIT Press, Cambridge, Mass. (2002) J. C. Giarratano & G. Riley. CLIPS Reference Manual. Volumes 1 & 2. NASA Lyndon B. Johnson Space Center Information Center Information Systems Directorate, Software Technology Branch, Version 6.1. (Accesible a través de Internet) Giarratano, Joseph C., Giarratano, Gary Riley - Sistemas expertos : principios y programación - International Thomson, cop. (2000)" "
Complementaria
"González A. J., Dankel D. D. - ""The Engeniering of Knowledge - Based Systems, Theory and Practice."" - Prentice Hall. (1997) Mark Stefik - Introduction to Knowledge Systems - Ed. Morgan Kaufmann Publishers, Inc. San Francisco. (1995) Debenham J. - Knowledge Engineering - Ed. Springer. (1998) Giarratano, Joseph C., Giarratano, Gary Riley - Sistemas expertos : principios y programación - International Thomson, cop. (2000)" "