Doble Grado en International Computer Engineering and Management of Business and Technology

Sistemas basados en el conocimiento

Descripción
El objetivo de la asignatura es que el alumno adquiera los fundamentos teóricos y las habilidades prácticas para ser capaces de desarrollar un sistema basado en el conocimiento. Al finalizar la asignatura el alumno deberá ser capaz de recopilar y representar el conocimiento de un problema, así como desarrollar o adaptar motores existentes para razonar sobre el problema y resolverlos. Todo esto se aborda con el soporte de metodologías de ingeniería del software, así como el uso de implementaciones basadas en los motores de inferencias más extendidas. Al acabar el curso, el alumno será capaz de: - Entender el papel de los sistemas basados en el conocimiento dentro de la sociedad así como cuándo se pueden aplicar y cuándo no. - Conocer qué es la ingeniería del conocimiento, así como las etapas que haya que seguir con tal de abordar un problema donde hace falta conocimiento experto del dominio. - Conocer qué es un problema basado en la búsqueda y cómo aplicar los principales algoritmos de búsqueda ciega, búsqueda heurística, búsqueda local y búsqueda basada en restricciones para abordarlo. - Entender qué es un problema de planificación y cuáles estrategias se pueden seguir para abordarlo. - Conocer los principales aspectos que hay que tener en cuenta a la hora de extraer el conocimiento de un conocimiento. - Representar y estructurar el conocimiento del experto. - Hacer un uso estratégico de la información y del aprendizaje a partir de la información y gestión del conocimiento. - Conocer la arquitectura general de los sistemas basados en el conocimiento con tal de poder proponer nuevos sistemas, así como hacer servir sistemas de terceros.
Tipo asignatura
Tercer - Obligatoria
Semestre
Segundo
Curso
3
Créditos
4.00

Profesores Titulares

Objetivos

G-1. Capacidad de análisis y síntesis de marcos conceptuales para generar nuevos conocimientos.

G-2. Capacidad de organizar y planificar la aplicación de nuevos conocimientos.

G-3. Conocimientos generales básicos sobre el área de estudio.

G-5. Comunicación oral y escrito en la propia lengua.

G-6. Adquirir conocimientos de una segunda lengua.

G-8. Adquirir habilidades de gestión de la información (habilidad para buscar y analizar información proveniente de diversas fuentes).

G-9. Resolución de problemas.

G-10. Toma de decisiones.

G-11. Conocimientos básicos y fundamentales del ámbito de formación.

G-14. Trabajo en equipo.

G-22. Capacidad de aplicar los conocimientos a la práctica.

G-23. Adquirir habilidades de investigación.

G-24. Capacidad para desarrollar nuevas estrategias de aprendizaje.

G-26. Generar nuevas ideas (creatividad).

E-1. Aprender de forma autónoma nuevos conocimientos y técnicas oportunas para la concepción, el desarrollo o la explotación de sistemas informáticas.

E-4. Crear y llevar a término proyectos informáticos haciendo servir los principios y metodologías propias de ingeniería.

E-8. Crear, desarrollar y mantener sistemas y aplicaciones de software haciendo servir diferentes métodos de ingeniería del software y lenguajes de programaciones adecuados al tipo de aplicación a desarrollar manteniendo los niveles de calidad exigidos.

Contenidos

Capítulo 1 - Introducción. Se introduce la definición de qué es un sistema basado en el conocimiento así como su papel dentro de las diferentes aproximaciones en el ámbito de la inteligencia artificial. Además, se realiza una introducción sobre cómo abordar este tipo de sistemas mediante aproximaciones basadas en la ingeniería del conocimiento.

Capítulo 2 - Solución de problemas basados en la búsqueda. Algunos problemas no requieren sistemas que gestionen mucho conocimiento, más bien, requieren estrategias de búsqueda para encontrar una solución. Este capítulo aborda las principales estrategias de búsqueda basadas en búsqueda ciega, búsqueda heurística, búsqueda basada en restricciones y búsqueda local. Además se introducen los problemas de planificación como un tipo de problema de búsqueda.

Capítulo 3 - Conocimiento y razonamiento. Se describen las diferentes alternativas a la hora de representar el conocimiento, tanto de las vertientes más formales y clásicas hasta las más estructuradas, así como los mecanismos que hay que tener presente a la hora de razonar sobre una base de conocimiento que pueda tener conocimiento incierto, incompleto y no monótono. Finalmente, se definen los principales retos que supone extraer conocimiento de un externo para construir la base de conocimiento, y se plantean diferentes estrategias y buenas prácticas para conseguirlo.

Capítulo 4 - Caso de estudio: Sistemas basadas en reglas. Una vez que el conocimiento del ámbito está formalizado y estructurado, el próximo punto es desarrollar estrategias para solucionar el problema. Este punto describe la arquitectura general de los sistemas basados en el conocimiento y, concretamente, se realiza una descripción detallada de los sistemas basados en reglas a partir del entorno Jess.

Metodología

La metodología empleada en esta asignatura separa las clases en dos tipos: las teorías y las prácticas.

El profesor imparte a lo largo de los cursos y conceptos teóricos de la asignatura mediante clases magistrales. En estas clases el profesor también resuelve ejercicios de aplicación directa de los conceptos explicados. La proporción del tiempo dedicado a cada una de estas tareas durante las clases magistrales es aproximadamente del 50% a la explicación y el otro 50% a la resolución de problemas.

Al final de cada tema el profesor plantea ejercicios para que sean resueltos por los alumnos de manera individual o en grupo. Durante este tiempo, con la ayuda del profesor, el alumno puede realizar ejercicios para posteriormente acabarlos en casa y entregarlos al profesor opcionalmente.

Las horas prácticas son unas 35 horas extras al largo del curso fuera de las horas dedicadas a clase donde se ponen en práctica los conocimientos adquiridos durante las clases teóricas. Los alumnos forman grupos de dos personas para realizar trabajos donde se requiere un buen dominio y comprensión de la teoría explicada en clase para poder diseñar, implementar, simular y evaluar aplicaciones reales a partir de especificaciones definidas por el profesor. Todos los trabajos son evaluados mediante una demostración práctica y una entrevista con el profesor con el fin de evaluar el grado de cooperación entre los integrantes del grupo. Los mejores trabajos se presentarán en clase y comportan una puntuación extra como recompensa por el trabajo y esfuerzo dedicado de los miembros del grupo.

Evaluación

La asignatura se divide en dos partes claramente diferenciadas: una parte teórica y una parte práctica. Cada una de estas partes se evalúa por separado y se han de aprobar por separado con una nota mayor o igual a 5 para poder aprobar la asignatura. La nota final es la suma ponderada de la nota teórica (50%) y la parte práctica (50%).

Nota final = 50% nota teórica + 50% nota práctica

Por otro lado, la nota teórica se calcula mediante la evaluación continua y la nota del examen final. La evaluación continua se calcula teniendo en cuenta el trabajo y la participación en clase y los ejercicios que el profesor va pidiendo a lo largo de las sesiones. El alumno puede elegir no hacer evaluación continua y, en este caso, nada más se le tendrá en cuenta el examen final. Cabe remarcar que la evaluación continua nada más se tendrá en cuenta cuando la nota del examen sea mayor o igual a 3,5.

Evaluación de la parte teórica:

A. Exámenes
D. Trabajos hechos en casa
J. Participación en clase

Nota teórica = Máximo (Examen, 70% examen + 30% evaluación continua)

Por otro lado, la nota práctica se calcula mediante el trabajo práctico hecho por los estudiantes, el cual ha de ser entregado al profesor dentro de los términos establecidos. Por cada día de retraso en la entrega, habrá una penalización de un punto en la nota práctica. Esta nota dependerá de la calidad, la metodología, la funcionalidad, y la exposición del trabajo delante del profesor. Además, el mejor trabajo práctico tendrá un punto adicional en la nota final de prácticas.

Evaluación de la Parte Práctica:
F. Informes/trabajos hechos en grupo
G. Trabajos prácticos con ordenador
I. Presentaciones

Comentarios adicionales:
- Haber entregado y aprobado la parte práctica es indispensable para poder hacer el examen teórico.
- La nota en la convocatoria extraordinaria será máximo de 8.
- En convocatoria extraordinaria, la evaluación continua no se tiene en cuenta.
- Si el examen o la parte práctica no se ha entregado, la nota aparecerá como un NP (No presentado).

Criterios evaluación

G-1. Capacidad de análisis y síntesis de marcos conceptuales para generar nuevos conocimientos [A, D].

G-2. Capacidad de organizar y planificar la aplicación de nuevos conocimientos [F, G].

G-3. Conocimientos generales básicos sobre el área de estudio [A, D, J].

G-5. Comunicación oral y escrito en la propia lengua [D, I].

G-6. Adquirir conocimientos de una segunda lengua [D].

G-8. Adquirir habilidades de gestión de la información (habilidad para buscar y analizar información proveniente de diversas fuentes) [D, F, G].

G-9. Resolución de problemas [D, F, G].

G-10. Toma de decisiones [D, F, G].

G-11. Conocimientos básicos y fundamentales del ámbito de formación [A].

G-14. Trabajo en equipo [F, G, I].

G-22. Capacidad de aplicar los conocimientos a la práctica [D, F, G].

G-23. Adquirir habilidades de investigación [D].

G-24. Capacidad para desarrollar nuevas estrategias de aprendizaje [D, F, G].

G-26. Generar nuevas ideas (creatividad) [D, F, G].

E-1. Aprender de forma autónoma nuevos conocimientos y técnicas oportunas para la concepción, el desarrollo o la explotación de sistemas informáticas [A].

E-4. Crear y llevar a término proyectos informáticos haciendo servir los principios y metodologías propias de ingeniería [F, G].

E-8. Crear, desarrollar y mantener sistemas y aplicaciones de software haciendo servir diferentes métodos de ingeniería del software y lenguajes de programaciones adecuados al tipo de aplicación a desarrollar manteniendo los niveles de calidad exigidos [F, G].

Bibliografía básica

S. Russell, P. Norvig. Artificial Intelligence: a Modern Approach, 3rd ed. Pearson Higher Education, 2010.

M. Negnevitsky, Artificial Intelligence, A Guide to Intelligent Systems. Addison Wesley, 2002.

E. Friedman Hill. Jess in Action. Ernest Friedman-Hill, Manning, 2003

Material complementario

J. González y D. D. Dankel, The Engineering of Knowledge Based Systems. Theory and Practice. Prentice Hall, 2000.

D. Poole, A. Mackworth, R. Goebel. Computational Intelligence: a Logical Approach. Oxford University Press, 1998.

Kott and W. M. McEneaney, Adversarial Reasoning: Computational Approaches to Reading the Opponent's. Chapman and Hall, 2006

G. Luger. Artificial Intelligence: Structures and Strategies for Complex Problem Solving, 5th edition. Addison Wesley, 2005

T. Frühwirth, S. Abdennadher, Essentials of Constraint Programming, Springer, 2003.

P. Traverso, Automated Planning: Theory & Practice . The Morgan Kaufmann Series in Artificial Intelligence, Morgan Kaufmann, 2003

D. S. Weld, An Introduction to Least Commitment Planning. AI Magazine, Volume 15(4), p. 27-61, 1994.

J. F. Sowa. Knowledge Representation. Brooks/Cole, 2000.

M. Mozota, Lògica matemàtica i programació lògica, LaSalleOnLine Enginyers 2009. http://www.salle.url.edu/semipresencial/ebooks/ebooks/ebook_logica_matem...

H. J. Levesque and G. Lakemeyer. The Logic of Knowledge Bases. MIT Press (2001)

P. Seibel, Practical Common Lisp, Apress, 2005

W. F. Clocksin y C. S. Mellish . Programming in Prolog: Using the ISO Standard. Springer, 2003

J.L. Maté Hernández and J. Pazos Sierra, Ingeniería del Conocimiento. Diseño y construcción de sistemas expertos (Ed. SEPA), 2005.

E. Feigenbaum, The art of artificial intelligence: themes and case studies of knowledge engineering, in Proceedings of the 5th International Joint Conference on Artificial Intelligence, Cambridge, Mass, 1977, 1014-1029.

H. Reichgelt, Knowledge Representation: An Ai Perspective, Ablex Pub, 1991.

N. F. Noy and D. L. McGuinness. Ontology Development 101 A Guide to Creating Your First Ontology, Stanford University, 2005.

The Protégé Ontology Editor and Knowledge Acquisition System, http://protege.stanford.edu/, Stanford University, 2011.

E. Rich, Artificial Intelligence, McGraw-Hill Science, 1991

R. Brachman, Knowledge Representation and Reasoning, Morgan Kaufmann, 2004