sistemas expertos-resumen

29
Matilde Césari Matilde Césari 1 1 Antes de la aparición del ordenador, el hombre ya se preguntaba si se le arrebataría el privilegio de razonar y pensar. En la actualidad existe un campo dentro de la INTELIGENCIA ARTIFICIAL al que se le atribuye esa facultad: el de los SISTEMAS EXPERTOS. Estos sistemas permiten la creación de máquinas que razonan como el hombre, restringiéndose a un espacio de CONOCIMIENTOS LIMITADO. En teoría pueden razonar siguiendo los pasos que seguiría un experto humano (médico, analista, empresario, etc.) para resolver un problema concreto SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Upload: maestria20090

Post on 05-Dec-2014

15 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 11

Antes de la aparición del ordenador, el hombre ya se preguntaba si se le arrebataría el privilegio de razonar y pensar.

En la actualidad existe un campo dentro de la INTELIGENCIA ARTIFICIAL al que se le atribuye esa

facultad: el de los SISTEMAS EXPERTOS.

Estos sistemas permiten la creación de máquinas que razonan como el

hombre, restringiéndose a un espacio de CONOCIMIENTOS LIMITADO.

En teoría pueden razonar siguiendo los pasos que seguiría un experto humano(médico, analista, empresario, etc.) para resolver un problema concreto

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 2: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 22

El CONOCIMIENTO es una mezcla de experiencia, información y “saber hacer” que actúa como marco para la incorporación

de nuevas experiencias y guia la acción.

Se utiliza para alcanzar una meta

Genera nuevo conocimiento

Resulta en gran medida dependiente de la tarea y

del dominio de aplicación.

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 3: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 33

• SISTEMAS DE IA: exhiben conducta inteligente, simulando ‘capacidades´de la inteligencia humana.

• SBC: Procesan conocimiento, separando el conocimiento sobre el dominio (información, datos) de como manejarlo (resolución de problemas).

• SE: incorporan conocimiento experto, que tiene unas características que lo diferencian del conocimiento general. Un S.E. es un SBC (lo inverso necesariamente no es cierto).

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Ingeniería del conocimiento

rama de la Inteligencia Artificial que se ocupa del estudio de la adquisición del conocimiento, su representación y la generación de inferencias sobre ese conocimiento para realizar una tarea concreta

Page 4: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 44

¿Qué es un Sistema Experto?

Un S.E. es un sistema informático que incorpora una componente basada en el conocimiento, que se obtiene a partir de la habilidad de un

experto humano, de forma que el sistema puede dar consejos o tomar decisiones inteligentes, y es capaza de justificar/explicar las mismas

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 5: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 55

Programas convencionales y SBC

Programas: Sentencias sobre datos que se realizan en un orden predeterminado.

•Solución única•Para el usuario el programa es una caja negra

Programas = Estructuras de Datos + Algoritmos

SBC: Se distingue el conocimiento del dominio de la estrategia de control

•Esto permite la incorporación de más conocimiento sin manipular la estructura global del sistema•Se pueden obtener varias soluciones•El programa puede explicar como llega a su solución.

SBC = Conocimiento + Control

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 6: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 66

Sistema Experto (SE) programas que hacen explicito el conocimiento alojado en los expertos, que tienen información específica de un temaconcreto y que realizan una tarea relativa a este tema

La finalidad es la resolución de problemas del dominio, aplicando

técnicas de razonamiento sobre BC.

Simula el proceso de aprendizaje, de memorización, de razonamiento, de comunicación y de acción de un experto humano en una determinada rama de la ciencia o campo

pueden representar los juicios de

muchos expertos

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

especialista en un

dominio particular

medio de ejecución y

transmisión del

conocimiento

Page 7: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 77

Organización del conocimiento separada:

•Dominio de aplicación (BC): Reutilizable, Permanente•Problema (BT): Retractable, Dinámica.•Resolución de problemas (MI)•Interacción con el usuario, aprendizaje, etc.

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 8: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 88

ARQUITECTURA SE

Separa los conocimientos almacenados (base de conocimiento) del programa que los controla (motor de inferencia).

Los datos propios de un determinado problema se almacenan en una base de datos aparte (base de hechos).

facilidad de ampliar o depurar el conocimiento que posee el sistema, sintener que modificar el algoritmo de inferencia

•BASE DE CONOCIMIENTOConocimiento del experto sobre el dominio de aplicación: Hechos del dominio / Relaciones de conocimiento Reutilizable y Permanente•BASE DE HECHOS (TRABAJO):Representa: Datos del problema / Conclusiones intermedias Bases de Datos.Retractable / Dinámica.

•MOTOR DE INFERENCIA:Propiedades inferenciales de la representación.Mecanismo de control del espacio de soluciones.Sistema de encadenamiento inferencial.Reutilizable: Un MI es un programa reutilizable sobre una estructura de BC.

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 9: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 99

Componentes de SBC

Hechos

Reglas

Plan

Agenda

Solución

Explicación

Intérprete

Planificador

Mantenimientoconsistencia

Interfazusuario

pizarra

Base de conocimiento

usuario

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 10: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 1010

� Interfaz de usuario: El usuario interactúa con el SE en un lenguaje propio del tipo de problema

� Pizarra: almacena hipótesis y decisiones intermedios que manipula el SE

� Plan: Plan general de solución del problema.

� Agenda : Reglas relevantes para la situación en curso.

� Solución: Hipótesis candidatas y decisiones generadas hasta el momento

� Planificador: Determina cual es la acción pendiente que se ejecutará a continuación. El intérprete: Ejecuta la regla escogida.

� Manteniemiento de la consistencia: Mantiene una representación consistente de la solución mediante:

• Revisión de la probabilidad de una solución cuando se introducennuevos hechos.

• Sistemas de mantenimiento de la verdad cuando las soluciones sondeducciones lógicas

� El modulo de explicación: Explica el porqué de las acciones del sistema

� Reglas y hechos: Registran reglas, hecho e información del dominio

MI

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Componentes de SBC

Page 11: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 1111

Base de ConocimientosContiene el conocimiento del tema, proporcionado por un experto en el tema, convenientemente formalizado y estructurado.

Representación del Conocimiento

•Marcos (Frames): estructuras de datos donde se almacenan información concreta de un cierto concepto (objeto) e información relacional para completar la definición del concepto.

•Redes semánticas: representaciones gráficas del conocimiento, mediante nodos, que representan objetos o conjuntos de objetos, yarcos, que relacionan dichos objetos.

•Reglas: es la forma más extendida de representación del conocimiento. Tienen la forma SI <condición> ENTONCES <acción/conclusión>. Una regla que activa otra se denomina metaregla, y se suelen usar para desarrollar progresivamente el conocimiento del experto

Tanto los "frames" como las redes son representaciones descriptivas, difíciles de usar para representar el razonamiento.

Representan la forma de razonar.

Es importante el orden de ejecución de las reglas, por ello se les suele dotar de prioridades.

cada método de representación tenía asociada una forma propia de realizar inferencias.

•Lógica difusa •Redes Bayesianas•PSR

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

ARQUITECTURA SE

Page 12: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 1212

CONOCIMIENTO DECLARATIVO (Hechos):

•Variables numéricas /alfanuméricas.

•Tuplas Objeto/Atributo/Valor.

•Patrones.

•Redes Semánticas

•Frames o Marcos

•fbf del calculo de predicados.

CONOCIMIENTO NORMATIVO:

•Reglas de producción (Conocimiento Heurístico)

•IF condición THEN conclusión DO acción

•Tablas de decisión - Redes de decisión.

•Redes bayesianas – Redes Neuronales

CONOCIMIENTO PROCEDURAL:

•Métodos (procedimientos, funciones)

•Valores activos (demonios)

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Representación del Conocimiento

Page 13: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 1313

Base de hechos

Motor de Inferencia

representa el conocimiento del estado del sistema en un cierto instante.

• Usualmente se representa en una base de datos, y su información está directamente enlazada con la base de conocimientos.

• Un hecho puede provocar el disparo de una regla.

utiliza la base de conocimiento y de hechos combinándolas y fusionándolas, para realizar una serie de razonamientos acerca del problema en cuestión. Funciona como un supervisor, extrae conclusiones a partir de los datos simbólicos que están almacenados en las bases de hechos y de conocimiento.Dependen en gran medida de la representación elegida

Control Inferencial

Resolución de conflictos en el espacio de búsqueda•Complejidad de premisas•Peso de las reglas•Combinación: peso, complejidad•Mayor frecuencia •Última utilizada•Metarreglas (Cómo utilizar el conocimiento):

Priorización de reglas Exclusión de reglas Cambio encadenamiento

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

ARQUITECTURA SE

Page 14: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 1414

Módulo explicativo

Interfaz de usuario

explica al usuario la estrategia de solución encontrada y el por qué de las decisiones tomadas. Es el que permite justificar y explicar el análisis completo del problema y las soluciones propuestas, así como la semejanza o diferencia entre dicha solución y las de los casos históricos.

permite la comunicación entre el usuario y el sistema experto. El usuario puede consultar con el sistema a través de menús, gráficos, entre otros, y éste le responde con resultados

Módulo de adquisición del conocimiento

el ingeniero del conocimiento o el experto del tema puede construir inicialmente el sistema o actualizar el conocimiento de la base de conocimientos en general.Permite incorporar los hechos y las reglas al sistema y probar y depurar los cambios realizados. Adicionalmente, por medio de éste se pueden realizar actividades relacionadas con la configuración del sistema, específicamente del motor de inferencia, de acuerdo con las necesidades del usuario

¿Cómo se tomó o no cierta decisión? ¿Cuando, cómo y

por qué se utiliza una información determinada? ¿Qué decisión se tomo ante

un subproblema?

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

ARQUITECTURA SE

Page 15: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 1515

El desarrollo de un SBC puede verse como un proceso de transformación desde el nivel de especificación al

de herramienta

�Nivel de Especificación: Se describe el problema, las restricciones sobre el problema y la solución.

�Nivel de Tarea: Se describe los tipos de problemas, como diagnóstico, planificación, etc.

�Nivel de resolución del Problema: Estrategias de resolución que se utilizan para resolver las diferentes tareas

�Nivel de Base de conocimiento: Heurísticas, asociaciones causales, relaciones matemáticas describiendo fenómenos físicos.

�Nivel de Herramienta: Implementación del SBC

DESARROLLO

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 16: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 1616

Definición delProblemaSolución Especificación

DiagnósticoConfiguración

Clasificación...

Objetivosy datos

Abstracciones Simulacióncualitativa

...

HeurísticasRelacionescausales

Cuantitativa

Orientada a Objeto

Basada enreglas..

Especificación

Tarea

Método de resolución

Base de conocimiento

Herramienta

Seleccionartipo de problema

Seleccionarmétodo

SeleccionarRepresentación

Seleccionarparadigma

DESARROLLO

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 17: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 1717

IDENTIFICACIÓN¿Cuáles son las características del dominio?

¿Cuál es su ámbito?¿Quienes participarán y con que recursos?

IDENTIFICACIÓN¿Cuáles son las características del dominio?

¿Cuál es su ámbito?¿Quienes participarán y con que recursos?

CONCEPTUALIZACIÓN¿Qué información y técnicas utiliza el experto?

CONCEPTUALIZACIÓN¿Qué información y técnicas utiliza el experto?

FORMALIZACIÓN¿Cómo encajan estas técnicas en las estructuras

y estrategias de los sistemas expertos?

FORMALIZACIÓN¿Cómo encajan estas técnicas en las estructuras

y estrategias de los sistemas expertos?

IMPLEMENTACIÓNComprueba iterativamentelas habilidades del sistema

IMPLEMENTACIÓNComprueba iterativamentelas habilidades del sistema

CHEQUEOTest de comprobación final

CHEQUEOTest de comprobación final

PROCESO DE DESARROLLO

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 18: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 1818

METODOLOGIA DE DESARROLLO

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 19: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 1919

� Pasos principales:� Identificación: Caracterización de los aspectos más

importantes del dominio del problema

� Conceptualización: Se extraen los conceptos, subtareas y resctricciones necesarias para resolver el problema.

• Ingeniero del Conocimiento: Persona que translada el conocimiento de un experto a algún formalismo.

• Es útil un modelo conceptual (mental) entre el experto y el implementador.

Conocimientodel

Experto

if p(x) ^ q(x, y)then r(y)

if u(x) ^ v(x, y)then s(y)

if r(x) ^ sq(x, y)then t(y)

motor de inferencia

ModeloConceptual

Sistema Implementado

Adquisición del

conocimiento

Programación

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

METODOLOGIA DE DESARROLLO

Page 20: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 2020

� Formalización: Los conceptos de la etapa de conceptualización se representan con las herramientas y esquemas de representación disponibles.

� ¿Herramienta de adquisición?, ¿chequeos de la base de datos?, ¿Reglas? ¿Redes semánticas?, ¿Frames?, ¿Esquema de razo- namiento?, ¿Módulo de explicación? ...

� Implementación: Desarrollo de una herramienta de propósito específico, Utilización de algún shellpara el desarrollo de SEs.

� Verificación y refinamiento: El prototipo es comprobado con el experto.

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

METODOLOGIA DE DESARROLLO

Page 21: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 2121

� Dos aproximaciones� Prototipado:

• Es el método más popular para el desarrollo de SBC

• Depende mucho más de la involucración de los usuarios

• Necesidad de comprobar el comportamiento del sistema según se desarrolla

• Adquisición del conocimiento y desarrollo del software se pueden combinar en el prototipado

• Problemas: Desarrollo ad hoc e indisciplinado

� Estructurado:• KADS (Knowledge Acquisition and Design process):

• Metodología de modelado, con una fase rigurosa de análisis antes del diseño

• El prototipado se utiliza para exprimentar, no como metodogía

DESARROLLO

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 22: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 2222

IMPLEMETACIÓN

Cómo hacer una tarea Qué tarea hacer

LispCAda

ReglasOPS5

Lógica:PROLOG

Objetos:Smalltalk-80C++Java

Lenguajestradicionales

Un paradigma de programación

Integran distintos

paradigmas

LOOPSCLIPSK-CRAFTARTNEXPERTKAPPACLOSJESS

KEEVPEXPERTPC+

Shells

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 23: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 2323

La implementación de un sistema experto completo obliga al desarrollo de cada uno de los elementos anteriores a través de lenguajes o herramientas de desarrollo

Los shells son los más usados para el desarrollo de sistemas expertos, mientras que el PROLOG está muy extendido en Europa y Japón, el LISP lo está en Estados Unidos. Los entornos aún ocupan un

sector minoritario pero la tendencia a su utilización va en aumento.

•Lenguajes de alto nivel (HLL): lenguajes de propósito general (C, Fortran, Basic,...). Tienen como ventajas su eficiencia, su familiaridad y la portabilidad a cualquier entorno, pero el inconveniente de no estar preparados para una programación basada en símbolos.

•Lenguajes simbólicos: fundamentalmente LISP y PROLOG. lenguajes de alto nivel más utilizados por su adaptación a la lógica de la base de conocimientos representada mediante símbolos, y por su mecanismo de extraer conclusiones. Su eficiencia aumenta en estaciones de trabajo diseñadas para dichos lenguajes.

•Herramientas de desarrollo (shells): programas preparados para el desarrollo de sistemas expertos, incorporan el motor de inferencia, independiente de las bases de hechos y de conocimiento. El programador se limita a traducir dichas bases a un lenguaje preparado a tal efecto, pudiendo enlazarse con otros lenguajes para el desarrollo de funciones adicionales. Suelen estar desarrollados en CLIPS, LISP o PROLOG para aumentar su eficiencia. La flexibilidad es menor, aunque suelen incorporar procesadores de texto, gráficos y herramientas de análisis.

•Entornos de desarrollo (environments): añaden a los shells el uso de un entorno gráfico (ventanas, iconos,...) que facilita el desarrollo del sistema experto. Tienen como ventaja la disminución del tiempo de desarrollo, pero suelen ser caros y poco flexibles.

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

IMPLEMETACIÓN

Page 24: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 2424

•Los problemas de tipo determinista pueden ser formulados usando un conjunto de reglas que relacionen varios objetos bien definidos., porque sacan sus conclusiones basándose en un conjunto de reglas utilizando un mecanismo de razonamiento lógico.

En situaciones inciertas, es necesario introducir algunos medios para tratar la incertidumbre. Por ejemplo, algunos sistemas expertos usan la misma estructura de los sistemas basados en reglas, pero introducen una medida asociada a la incertidumbre de las reglas y a la de sus premisas.

Algunos ejemplos de estas medidas son los factores de certeza, la lógica difusa, etc. Otra medida intuitiva de incertidumbre es la probabilidad, en la que la distribución conjunta de un conjunto de variables se usa para describir las relaciones de dependencia entre ellas, y se sacan conclusiones usando fórmulas muy conocidas de la teoría de la probabilidad.

•Los sistemas expertos que utilizan la probabilidad como medida de incertidumbre se conocen como sistemas expertos probabilístico y la estrategia de razonamiento que usan se conoce como razonamiento probabilístico, o inferencia probabilística.

TIPOS

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 25: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 2525

Mucha de la información contenida en la base de conocimiento de un sistema experto es imprecisa, incompleta o no

completamente fiable, tal como ocurre con el conocimiento humano, incluso el de los expertos

la respuesta de un sistema experto es usualmente calificada con un “factor de certeza”; que da una indicación al usuario del grado de confianza que el

sistema asigna a la conclusión.

El factor de certeza se obtiene de datos basados en probabilidades

La LÓGICA DIFUSA aporta una base sistemática para la computación de grados de certeza, al proveer un sistema de inferencia único para manejar datos difusos, datos incompletos e información con componentes aleatorios (de la base de conocimiento).

TIPOS

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 26: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 2626

El programa se escribe bajo la forma de un conjunto de especificaciones, independientes unas de otras (elementos de conocimiento), que se ponen en acción dinámicamente por un procedimiento de resolución que es independiente de la naturaleza del conocimiento (motor de inferencia)

el sistema puede "reflexionar" sobre la información que posee y la forma en que la ha utilizado. Estas explicaciones deben, no solamente ser expresadas en el lenguaje del experto, sino corresponderse, también, con un comportamiento que le parezca “natural” al experto

capacidad de generar preguntas de acuerdo con el razonamiento, tal como puede hacer un experto, a diferencia de los programas que presentan un cuestionario rígido con gran cantidad de preguntas irrelevantes

Al ser estas características muy numerosas, podemos decir que son raros los SE que cumplen todos estos requisitos. Sin embargo esta relación sirve para centrar la noción de SE, mediante el examen de los SE teóricamente perfectos

CARACTERÍSITCAS

El éxito de un sistema experto radica fundamentalmente en el conocimiento sobre el tema que trata y su capacidad de aprendizaje. El conocimiento sobre el tema proporciona al sistema experto mayor información sobre el problema a tratar y su entorno, de forma que pueda generar y adaptar soluciones de forma más precisa, de forma similar a un experto especializado. El aprendizaje, inductivo o deductivo según corresponda, proporcionará al sistema experto mayor autonomía a la hora de abordar problemas totalmente desconocidos, pudiendo generar nuevo conocimiento partiendo del extraído inicialmente del experto o expertos humanos

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 27: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 2727

SE/SBC: Tareas

Tareas abordadas

Síntesis: Clasificación, diagnóstico

Análisis: Planificación, diseño o modelado

Las áreas de aplicación son muy variadas !!!

Los SBC abordan problemas complejos en dominios específicos en los que el peso de las heurísticas para acotar

el espacio de búsqueda es importante.

SISTEMA EXPERTO BASADO EN EL CONOCIMIENTO

Page 28: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 2828

APLICACIONES

La aplicación de Sistemas Expertos será adecuada allí donde los expertos dispongan de conocimientos complejos en un área estrechamente delimitada, donde no existan algoritmos

elaborados (o donde los existentes no puedan solucionar algún problema) y no existan teorías completas. Otro campo de aplicación es allí donde hay teorías, pero resulta prácticamente imposible

analizar todos los casos teóricamente imaginables mediante algoritmos y en un espacio de tiempo razonable. En estas situaciones hace falta el conocimiento que el experto ha adquirido por

experiencia, para llegar a una solución en un espacio de tiempo aceptable

Page 29: SISTEMAS EXPERTOS-RESUMEN

Matilde CésariMatilde Césari 2929