Introducción a los Sistemas Expertos -...

37
Introducción a los Sistemas Expertos

Transcript of Introducción a los Sistemas Expertos -...

Page 1: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Introducción a los Sistemas Expertos

Page 2: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Fases del desarrollo de un proyecto de SW tradicional

Fase de Análisis

Fase de Diseño

Realización computacional

Fase de pruebas

Mantenimiento

LINEAL

Page 3: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Fases del desarrollo de un SE

Identificación del pb

Page 4: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Fases del desarrollo de un SE

Construcción de un prototipo

Formalización

Realización computacional

Page 5: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Fases del desarrollo de un SE

Evaluación

Evolución

Page 6: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Fases del desarrollo de un SE

Identificación del pb

Construcción de un prototipo

Formalización

Realización computacional

Evaluación

Evolución

Page 7: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Fases del desarrollo de un SE

Identificación del pb

Construcción de un prototipo

Formalización

Realización computacional

Evaluación

Evolución

Page 8: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Fases del desarrollo de un SE

Identificación del pb

Construcción de un prototipo

Formalización

Realización computacional

Evaluación

Evolución

Modelo Iterativo

Los cambios a realizar son más

fáciles de llevar al final de cada

fase

Page 9: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Construcción de un SE

Adquisición incial del conocimiento

Estudio de problemas básicos

Confección del modelo general de la consulta

Selección del paradigma de inferencia

Selección de la herramienta o lenguaje para desarrollo

Realización computacional del prototipo

Prueba del prototipo

Page 10: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Formalización

Objetivos

Garantizar el diseño y planificación de todo el

sistema antes de pasar a la realización

computacional del mismo.

Tomar decisiones en cuanto a las estrategias a

seguir para la realización computacional del SE

Page 11: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Formalización

Pasos

Definición detallada del problema

Diseño y planificación del proyecto

Planificación de la prueba del sistema.

Page 12: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Realización Computacional

Revisión del prototipo

Realización computacional de los módulos

componentes del SE

Page 13: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Evaluación

La primera dificultad para probar un SE es el hecho de que en muchos dominios específicos es imposible establecer con precisión cuál es la “respuesta correcta” para un problema dado.

En esta fase se realizan cambios en la BC hasta lograr que el sistema dé respuestas similares al experto.

Page 14: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Evolución

Tipos

Incremento de funcionalidad

Corrección de Base de Conocimiento

Adición de conocimiento a la base para hacerla

más completa

Page 15: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Características de un programa perteneciente a la clase de SE

Manipula gran cantidad de conocimiento

Realiza procesamiento simbólico de la información

Capacidad de inferencia

Separa los conocimentos del programa los controla

Realiza análisis heurístico

Habilidad para explicar su razonamiento

Page 16: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Pb que resuelve un SE

SE asistentes

SE colegas

SE especializados

Con respecto a su solución es impracticable el uso de algoritmos deterministas

Con respecto a su planeamiento no están bien definidos

Los datos para su solución son incompletos e imprecisos.

Page 17: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Arquitectura general de un SE

Interfaz del Sistema-Usuario

Base de Conocimiento (BC)

Máquina de Inferencia (MI)

Sistema de Explicación

La MI no debe requerir ser modificada una vez terminado de construir el SE. Cualquier ampliación debe poder realizarse expandiendo la BC.

Page 18: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Clasificación

Page 19: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Clasificación de acuerdo a su función. 1/2

Control: Automatización inteligente de un

proceso

Diagnóstico: Estiman defectos del mal

funcionamiento de un sistema

Interpretación: A partir de observaciones y

datos de aclara la situación presente

Page 20: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Clasificación de acuerdo a su función. 2/2

Diseño: Desarrollo de productos y

configuraciones por especificaciones.

Intrucción: Optimizan la instrucción por

computadora

Planificación

Reparación.

Page 21: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto
Page 22: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Herramientas para construir SE

Page 23: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Herramientas para construir SE

Herramientas inductivas

Herramientas simples basadas en reglas.

Herramientas estructuradas basadas en

reglas

Herramientas híbridas

Herramientas de dominio específico.

Page 24: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Herramientas Inductivas

Generalizan reglas a partir de ejemplos

El algoritmo original para realizar la inducción (CLS) fue desarrollado en 1962 por Earls Hunt y mejorado por Ross Quinlan

BC= Matriz de ejemplos

El MI convierte la matriz en un árbol de decisión.

Minimizan el trabajo de Ing. Del Conoc.

Herramientas fáciles de usar y muy eficientes, pero es más díficil incorporar nuevo conocimiento.

Page 25: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Ejemplos de herramientas inductivas

Expert-Ease: desarrollado en Edinburgh en UCSD Pascal

1st-class (1985): Pascal y ensamblador.

TIMM: Fortran, usada en aplicaciones militares.

Ex-Tran7: Combina la inducción con conoc. en forma de reglas.

Rule Master: UNIX

SuperExpert: Se comunica con DBASE y Lotus.

Page 26: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Herramientas simples basadas en reglas

Representan el conocimiento en forma de reglas que almacenan en una BC singular.

Representan hechos como pares: Atb-Valor.

Las premisas de las reglas se conectan con AND y NOT.

Permiten el uso de variables simbólicas en las reglas.

Utilizadas para desarrollar SE’s pequeños y medianos.

Fáciles de usar.

Page 27: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Ejemplos de Herramientas basadas en reglas

Insight 2

Exsys

VP Expert

Personal Consultant Easy

Page 28: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Herramientas estructuradas basadas en reglas

Usan reglas IF-THEN para definir relaciones entre hechos y árboles de contextos u otras estructuras para representar conocimiento conceptual.

Las premisas de las reglas se conectan utilizando operadores booleanos.

Intercambian información e interactúan con otras aplicaciones.

Page 29: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Herramientas estructuradas basadas en reglas

La consulta sigue los siguientes pasos:

El SE hace preguntas al usuario

El usuario responde a las preguntas

El SE visualiza sus conclusiones

Page 30: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Ejemplos de herramientas estructuradas basadas en reglas

M1: para PC y mainframes, 1984. Por

Teknowledge. Originalmente escrita

en Prolog.

Page 31: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Ejemplos de herramientas estructuradas basadas en reglas

Nexpert: Herramienta producida por la Neuron

Data. Originalmente desarrollada en LISP.

Tiene un editor de conocimiento integrado y una

herramienta gráfica para visualizar la red de reglas.

Representa los hechos como pares ATB-VALOR.

No permite el uso de la disyunción en las premisas

de las reglas

Page 32: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Ejemplos de herramientas estructuradas basadas en reglas

Personal Consultant Plus: herramienta producida por Texas Instruments. Escrita en LISP SCHEME.

Tiene un editor de conocimiento integrado

Representa los hechos como triplos: ATB-OBJETO-VALOR

Page 33: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Ejemplos de herramientas estructuradas basadas en reglas

KES2 (Knowledge engineering System):

Herramienta producida por Software A&E.

Desarrollada en LISP y después en C.

Page 34: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Herramientas Híbridas

Para desarrollar SE’s grandes y complejos.

Usan además de reglas, redes semánticas,

objetos y una gran variedad de técnicas de

herencia.

El objeto es la unidad básica de

representación de conocimento conceptual.

Page 35: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Ejemplos de Herramientas Híbridas

ART (1986) Escrita en ZetaLisp

Representación del conocimiento: hechos,

esquemas, contextos y reglas.

Para conceptualizar el conocimiento se piensa en

términos de hechos y reglas.

Tipos de Reglas:

Basadas en estados (IF-THEN)

Lógicas (WHILE-THEN)

Page 36: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Ejemplos de Herramientas Híbridas

KEE: Escrita en InterLisp. Se considera un

sistema orientado a objetos.

Representación del conocimiento: objetos y

reglas subordinadas a los objetos.

Para conceptualizar el conocimiento se

identifican los objetos y sus relaciones.

Page 37: Introducción a los Sistemas Expertos - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/SE.pdf · Introducción a los Sistemas Expertos. Fases del desarrollo de un proyecto

Ejemplos de Herramientas Híbridas

Knowledge Craft: Escrito en Common LISP.

Representación del conocimento: redes

semánticas de objetos. Se asocian reglas a los

slots de los objetos.

Incorpora técnicas de la POO para permitir la

abstracción y especialización de objetos y

traspaso de información.

Consta de 3 lenguajes: Prolog, OPS5 y CRL.