|
Temario
| Material Docente
| Practicas
| Bibliografía
| Sistema de Evaluación
| Noticias
| Enlaces
 |
Programa de la Asignatura |
18129 INGENIERIA DE LOS SISTEMAS BASADOS EN EL CONOCIMIENTO |
Universidad de |
Zaragoza |
Titulación: |
Ingeniería Informatica. Optativa 2º ciclo |
Horas anuales: |
Créditos: (4 Teóricos, 2 Practicos) -Cuatrimestre
Otoño |
Profesores: |
José
Angel Banares |
|
Atención: La asignatura se imparte en el cuatrimestre
de Otoño
Objetivos
Este curso cubre los fundamentos teóricos de los sistemas basados
en el conocimiento (SBC) como una rama de la inteligencia artificial, así
como los aspectos practicos del desarrollo de SBC. Se persiguen
tres objetivos:
-
Que el estudiante comprenda la naturaleza, limitaciones,
y aplicaciones viables de los sistemas basados en el conocimiento;
-
que el estudiante utilice, de manera efectiva, entornos de desarrollo de
sistemas basados en el conocimiento; y
-
que el estudiante sea capaz de construir sus propios
sistemas de razonamiento, dando una visión mas practica
y de implementación de la Inteligencia Artificial y la
Ingeniería del Conocimiento .
Temas
|
|
Parte I: Introducción a los Sistemas Basados en el Conocimiento
Introducción. Funcionalidad. Estructura. Sistemas Expertos. Desarrollo
de sistemas basados en el Conocimiento: Niveles para describir sistemas
basados en el conocimiento, Clasificación de tareas, Técnicas
de resolución de problemas
Parte II: Modelos Básicos de Representación del conocimiento
Introducción. Sistemas de producción/lenguajes basados
en reglas. Arquitectura de los lenguajes basados en reglas. Memoria
de trabajo y producción. Proceso de reconocimiento: Red de Inferencia,
sistemas de reconocimiento de patrones. El proceso de razonamiento: Encadenamiento
progresivo y regresivo. Estrategias de control. Ventajas y desventajas
de los lenguajes basados en reglas.
3.- Eficiencia en sistemas de reconocimiento de patrones. 28 de octubre de 2010
Proceso de reconocimiento de patrones. Algoritmo de RETE. Algoritmo
de TREAT. Como escribir programas eficientes: El orden de los patrones
en las premisas, multislots, test y funciones en las premisas, Técnicas
de programación para mejorar la eficiencia
4.- Aspectos metodológicos en la programación de lenguajes
basados en reglas. 4 de octubre de 2009
Definición del problema, Análisis de requisitos. Identificación
de objetos y atributos. Identificación de acciones. Elección
de la estrategia de resolución. Entradas y salidas. Diseño
de las reglas.
5.- Organización y control de programas basados en reglas . 5 de octubre de 2010
¿Cómo y dónde representar el conocimiento?. Desarrollo
de sistemas de producción: Desarrollo por elaboración, refinamiento
y generalización. Introducción al control en lenguajes tipo
OPS5. Diseño modular y técnicas de control en CLIPS.
Ejemplo de uso de modulos: Implementación de la estrategia MEA (Razonamiento dirigido por objetivos) con módulos:
6.- Ejemplos de resolución de problemas con sistemas de producción. 14 de octubre de 2009
Árboles de decisión. Emulación de encadenamiento
regresivo. Sistemas de Monitorización. Problemas de espacios de
estados.
7.- Representación estructurada del conocimiento con sistemas de
objetos: CLOS. No se imparte en 2010.
Introducción. Elementos CLOS: Clases e instancias, funciones
genéricas y métodos. Programación con métodos:
Combinación de métodos, multi-métodos. Herencia:
Lista de precedencia de clases, herencia de slots y opciones de slots.
Implementación de demonios. Control del selector de métodos:
Técnicas imperativas y declarativas. Ejemplos de programación
CLOS.
8.- Integración de distintos esquemas de representación:
CLIPS, JESS, LISA. 18, 19 y 25 de octubre de 2010
Selección del esquema de representación para representar
el conocimiento. Acciones procedimentales y Funciones en CLIPS. Programación
orientada a objeto en CLIPS: Objetos CLIPS, Facets, Definición de
métodos, Definición de funciones genéricas. Recuperación
y acciónes sobre grupos de instancias. Ejemplos de programación en CLIPS.
Gramáticas Semánticas. Dypar: Intérprete de lenguaje natural basado en reglas
Escribiendo una gramática semántica en Dypar.
Otros ejemplos: ALICE.
Parte III: Modelos para representación del razonamiento complejo
10.- Conocimientos estratégicos y de control. 26 de octubre 2010.
Representación de los conocimientos de control: Tipos de control.
Control de alto nivel. Arquitectura de Pizarra: Concepto de pizarras,
organización de la información, análisis, diseño
e implementación de una arquitectura de pizarra. Arquitecturas
Cooperativas: Objetivo y componentes de arquitecturas multiagentes.
Definición Agente software y Sistemas Multi-agente. Características de los agentes
(Autonomía, Inteligencia, Sistemas multiagentes/Arquitecturas cooperativa, Habilidades sociales,
Movilidad. Clases/Categorías de agentes. Ejemplos. Agentes como componentes sotfware vs Objetos/SE.
Comunicación entre agentes. Lenguajes de Comunicación (KIF, KQML, Speech-Acts). Protocolos
FIPA (Foundation for Intelligent Physical Agents ). JADE.
Representación del conocimiento en la Web.
Representación estructurada y declarativa:RDF, SPARQL (AllegroGraph RDFStore,
JENA), RULEML.
Lenguajes de Ontologías para la Web: OWL, OWL-S, WSMO. Herramientas: Protégé.
Agentes en la Web: Arquitectura de la Web Semántica.
13.- Razonamiento simbólico bajo incertidumbre. Sistemas de mantenimiento
del razonamiento (TMS) 29 de noviembre de 2010.
Introducción al razonamiento no monótono. Ampliación
del resolutor de problemas. TMS en justificaciones (JTMS). TMS basado en
la lógica (LTMS). TMS basado en suposiciones (ATMS). Herramientas
en CLIPS para establecer dependencias entre hechos.
14.- Razonamiento bajo incertidumbre. Razonamiento estadístico
Introducción. La probabilidad y el teorema de Bayes. Introducción
a los sistemas expertos basados en la probabilidad: La base de conocimiento,
el motor de inferencia, el control de la coherencia. Introducción
de la incertidumbre en los sistemas basados en reglas: Factores de certeza
(FC), MYCIN. Incorporación de FC en CLIPS.
Parte IV: Construcción de Sistemas de razonamiento
15.- Implementación de sistemas de inferencia dirigidos por patrones
Implementación de algoritmos de correspondencia de patrones y
de unificiación. Implementación de un sistema de encadenamiento
progresivo con variables. Implementación de un sistema de encadenamiento
regresivo con variables. Implementación de un sistema con mecanismo
de contextos para manejo de suposiciones.
16.- Implementación de resolutores de problemas con TMS
Diseño e Implementación de un TMS basado en justificaciones
(JTMS). Integración de un JTMS con un motor de inferencia. Ejemplo
de aplicación: Búsqueda dirigida por dependencias.
Reconstrucción de SAINT (resolución de integrales indefinidas).
Principio de la página
Material Docente |
 |
Las transparencias correspondientes a todos los temas del curso puedes obtenerlos a partir del enlace que indica la fecha de su impartición. Material de uso exclusivo para alumnos matriculados.
Artículos/Enclaces de interes
- Reglas
- Articulos de Bobrow & Stefik disponibles en http://www2.parc.com/istl/groups/hdi/
- Mark J. Stefik, Jan Aikins, Robert Balzer, John Benoit, Lawrence Birnbaum, Frederick Hayes-Roth, and Earl Sacerdoti. The Organization of Expert Systems: A Tutorial. Artificial Intelligence, 18:135-173, 1982.
- Mark J. Stefik, Daniel G. Bobrow, Sanjay Mittal, and Lynn Conway. Knowledge Programming in Loops: Report on an Experimental Course. AI Magazine, 4(3):3-13, 1983.
- Mark J. Stefik and Lynn Conway. Towards the principled engineering of knowledge. AI Magazine, 3(3):4-16, 1982.
- Mark J. Stefik, Daniel G. Bobrow, and Kenneth Kahn. Integrating access-oriented programming into a multiparadigm environment. IEEE Software, 3(1):10-18, January 1986.
- Daniel G. Bobrow, Sanjay Mittal, and Mark J. Stefik. Expert systems: perils and promise. Communications of the ACM, 29(9):880-894, September 1986.
- Mark J. Stefik and Daniel G. Bobrow. Object-oriented programming: themes and variations. AI Magazine, 6(4):40-62, 1986.
- Daniel G. Bobrow and Mark J. Stefik. Perspectives on Artificial Intelligence Programming. Science, 231(9):951-956, February 1986.
- Daniel G. Bobrow and Mark J. Stefik. Searching Beyond Reason: A response to McDermott's Critique of Pure Reason. Computational Intelligence, 3(3):162-165, August 1987.
Principio de la página
Programa de prácticas de laboratorio. Curso 2009-2010
|
|
Guión Prácticas 2010-2011
Principio de la página
Bibliografía Básica
-
L. BROWSTON, F. FARRELL, E. KANT AND N. MARTIN: Programming Expert Systems
in OPS5: An Introduction to Rule-Based Programming. Adisson-Wesley,
1985,
-
K. D. FORBUS AND J. DE KLEER: Building Problem Solvers. The
MIT Press. 1993. El código de este libro está dispobible
en http://www.qrg.ils.nwu.edu/BPS/readme.html
-
J. GIARRATANO AND G. RILEY: Expert Systems. Principles and Programming.
Second Edition. PWS Publishing Company, 1994.
-
A. GÓMEZ, N. JURISTO, C. MONTES Y J. PAZOS: Ingeniería
del Conocimiento. Editorial Centro de Estudios Ramón Areces,
S.A., 1997,
-
A.J. GONZALEZ AND D.D. DANKELL: Engineering of knowledge-based
systems. Prentice Hall, 1993.
-
E. CASTILLO, J.M.GUTIÉRREZ Y A.S. HADI. Sistemas Expertos y Modelos
de Redes Probabilísticas. Monografías de la Academia de Ingeniería,
1997.
-
S. E. KEENE: Object-Oriented Programming in Common Lisp. A Programmer's
Guide to CLOS, Adisson-Wesley, 1989.
-
P.H.WINSTON, B.K.H. HORN: Lisp, Tercera Edición. Addison
Wesley. 1989,
Se facilitarán copias de las transparencias utilizadas para impartir
la asignatura y artículos relacionados
Principio de la página
Sistema de Evaluacion
|
|
-
Trabajo de la asignatura y control de prácticas.
-
Fechas de presentación trabajos curso 2000/2001: 13, 14, 20 y 21
de Enero del 2000 a las 10.
-
La nota aparecerá en la convocatoria en la que estén entregadas
las prácticas y realizado el trabajo. La práctica 5 es voluntaria,
pero su realización se tendrá en cuenta para la nota.
-
Trabajos realizados durante los cursos anteriores 98/99,
99/00, 00/01 y 01/02.
Se irá completando las páginas con información
de todos los trabajos. Algunos de ellos son interesantes al margen de la
asignatura como ejemplos de programación en Java, Lisp, CLIPS o
JESS.
-
Trabajos sobre agentes
- Juega en el Web con Mars
Attack, el retorno:
Juegos y algoritmos genéticos (implementado en Java). |
  |
Raúl Cámaras
1999/2000
-
Simulación y Agentes en Java (inspirado en Agentsheep)
Luis Fabiani Bendicho 1999/2000
-
Entorno de simulación basados en agentes: SIMS
(inspirado en Agentsheep)
César Escandi y Carolina Puyuelo 2000/2001
-
Continuación Entorno de simulación y agentes con reglas:SIMS2
(inspirado en Agentsheep)
Laura Begué Granged y Germán Latorre Antín 2001/2002
-
Ki:
Una arquitectura de agentes en Java.
Laura Sanchez y Raquel Cortés 1998/1999
-
Jess:
Java Expert System Shell
Ana Rodriguez 1998/1999
-
Aglets:
(Arquitectura de Agentes Java de IBM)
Victor de la Concepción y Francisco Vicente 1998/1999
-
Recuperación de Información
Javier Belmonte 1999/2000
-
Recuperación de información en Internet basada
en agentes
Rodolfo Rioja y Nati Porta 1998/2000
-
Trabajos en CLIPS/JESS
David Portoles
2001/2002
-
Control de ascensores en JESS
Daniel Urieta
1999/00
-
Configuración de horarios en CLIPS
María Navas 1998/1999
-
Programación con restricciones en CLIPS
Jonás Ansó 1998/1999
-
Trabajos sobre búsquedas y representación del
conocimiento
-
IERL2.1. IAAA Experimental Representation Language.
Lenguaje de Frames y Reglas implementado en Lisp. Plantea mejoras como la gestión de la agenda, tratar en los patrones listas y ligar hechos a variables.
Manual de Usuario,
Fuentes y documentacion y
Presentación.
José Ignacio Aguillo Mendi 2001/2002
-
Una jerarquía de estrategias de búsqueda en
CLOS
Jorge Estrada,
Antonio Santolaria y Julio Molinero 1999/2000
-
Una aproximación funcional a los algoritmos de búsqueda
Alberto Esteban 1998/1999
-
Ajedrez (Integración de Reglas y Minimax)
Pedro Jesús Jimeno 1998/1999
-
Juego de Ajedrez implementado en Java
Enrique Berlanga Riesco y Maribel Mena Tobar 2000/2001.
-
Trabajos relacionados con proyectos del IAAA
-
Ajuste a ejes de calles de posiciones GPS (CORBA y CLOS)
Miguel Angel Latre 1998/1999
-
Trabajos de procesamiento de lenguaje natural
-
Interfaz en Lenguaje Natural al mundo de Bloques. Utiliza Dypar, Ierl y gráficos de ACL (lisp)
Borja Buera Rodríguez y Mapi Torres Bruna
2000/2001
-
Interfaz en Lenguaje Natural al mundo de Bloques. Utiliza NLBEAN, Java y Jess.
Borja Buera Rodríguez y Mapi Torres Bruna
2000/2001
-
NLBean (Aplicación Java de acceso a una base de datos
en español )
Elsa García
1999/2000
-
Inteface en lenguaje natural (Aplicación Lisp de acceso
a una base de datos )
Laura García,
Nuria Ripoll y Virginia Remiro 1999/2000
Principio de la página
Noticias/Anuncios
|
|
Enlace a practica sobre Linda
- Lisp como una alternativa a Java. Por Peter Norvig.
Un estudio que demuestra que los programas Lisp son más rápidos en promedio que los programas, C, C++ o Java
(a pesar de que el programa Lisp más rápido, sea más lento que el programa C más rápido), y que cuesta menos
tiempo de desarrollo.
-
Naughty Dog Software utilizó Lisp para crear Jak and Daxter:.
Raising the Paradigm of Video Gaming – Again…Thanks to Lisp. Si, para desarrollar los Juegos de vuestras PlayStation se utilizó
Lisp.
- Eclipse:
Es un buen ejemplo de productos disponibles de la empresa
Haley que aplican la IA a aplicaciones de tanta actualidad como
e-Servive, e-Sales, CRM (Customer Relationship Management), Bussines Rules, etc. Observa que se hace
referencia continua a la representación basada en reglas y a RETE.
- The Semantic Web.
Artículo de Tim Berners-Lee, actual director del W3C. Representación del significado e inferencia como
elementos claves en la futura Web.
-
"Artificial
intelligence means never having to say you're sorry"September
26, 1998 by Todd Sundsted. En Web de la CNN.
- WebSite. Lisp en aplicaciones Web.
IA mas o menos seria
Principio de la página
Tutorias
-
Lunes y Miercoles de 9 a 11 y Jueves de 12 a 14.
-
banares@posta.unizar.es
Principio de la página
Enlaces de Interés
Otras Asignaturas relacionadas en el CPS:
Otras Asignaturas relacionadas en Otras Universidades:
Utilidades, recursos, etc.:
Principio de la página
|