Sistemas Expertos Introducci - PowerPoint PPT Presentation

1 / 58
About This Presentation
Title:

Sistemas Expertos Introducci

Description:

Sistemas Expertos Introducci n Arquitectura - Motor de Inferencias Licenciatura en Ciencias de la Computaci n Introducci n a la Inteligencia Artificial – PowerPoint PPT presentation

Number of Views:97
Avg rating:3.0/5.0
Slides: 59
Provided by: Eduar57
Category:

less

Transcript and Presenter's Notes

Title: Sistemas Expertos Introducci


1
Sistemas ExpertosIntroducciónArquitectura -
Motor de Inferencias
Licenciatura en Ciencias de la Computación
Introducción a la Inteligencia Artificial
2
Inicio de los Sistemas Expertos
60s
Se buscaban soluciones generales
70s
Los sistemas son más eficientes en dominios
acotados
La calidad y cantidad de conocimiento son
esenciales para una buena performance
Es importante independizar el conocimiento del
dominio del mecanismo de inferencia.
3
Sistemas basados en conocimiento
(SBC-KBS)Definiciones.
Sistemas que resuelven problemas aplicando una
representación simbólica de la experiencia
humana. Jackson.
Sistemas que representan el conocimiento sobre el
dominio en forma explícita y separada del resto
del sistema. Waterman.
4
Sistemas Expertos Definición.
Es un sistema de cómputo capaz de simular la
conducta inteligente de un experto humano en un
dominio específico y especializado, con el objeto
de resolver problemas.
Hardware software
Fuente de pericia humana en el dominio
Específico y especializado
5
Experiencia humana vs. SE.
? Los humanos son aún imprescindibles.
6
SE/SBC Tareas
Síntesis Clasificación, diagnóstico
Tareas abordadas
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.
7
Primeros Sistemas Expertos
Stanford (Buchanan - Shortliffe 1976)
Diagnóstico y tratamiento de enfermedades
infecciosas (aprox. 500 reglas). Introduce
factores de certeza.
MYCIN
Conocimiento inexacto
Stanford-US Geological Survey (Duda-Gashning-Hart,
1979) Evaluación de yacimientos minerales y
petrolíferos. (aprox 1600 reglas). Probabilidades
condicionales y Teorema de Bayes.
PROSPECTOR
Carnegie Mellon (Mc Dermott) Configuración de
ordenadores VAX (aprox 500 reglas). Descompone el
diseño en distintos niveles de abstracción.
R1
Reducción espacio de búsqueda
Stanford (Stefik) Diseño de experimentos
genéticos. Utiliza abstracción.
MOLGEN
8
Habilidades que se esperan de un SE
  • Manipular con fluidez descripciones simbólicas.
  • Buena perfomance, comparable al menos a la de
    los especialistas.
  • Interfaz amigable, adecuada a las necesidades de
    la aplicación.
  • Habilidad para manipular conocimiento incompleto
    e impreciso.
  • Capacidad de explicar sus decisiones a los
    usuarios.
  • Posibilidad de justificar sus conclusiones.

9
Estructura básica de un SE.
10
Estructura básica de un Sistema Experto
Su estructura de datos queda definida en términos
del esquema de representación elegido para
incorporar el conocimiento del dominio de trabajo.
Base de Conocimientos
Separados entre sí
Es la estructura de control de un SE, contiene el
programa que gestiona la BC y otros mecanismos
necesarios para administrar un sistema de
naturaleza interactiva.
Motor de Inferencias
11
Periodo industrial de la IA
Década de los 80
Importante apoyo económico a los esfuerzos de
ID. Gran cantidad de SE en distintos dominios.
Problemas con la metodología de desarrollo
Limitaciones propias del tipo de sistema.
CRISIS
Comparable a la Crisis de los SI pero posterior
12
Ingeniería del Conocimiento (IC)
Crisis SI
Desarrollo de la Ingeniería del Software
Crisis SBC
Desarrollo de la Ingeniería del Conocimiento
La Ingeniería del Software consiste en la
aplicación de una aproximación sistemática,
disciplinada y cuantificable al desarrollo,
funcionamiento y mantenimiento del software.
(IEEE, 1999)
La IC tiene los mismos objetivos respecto de los
SBC
13
Sistemas Basados en Conocimiento Ventajas
  • El conocimiento no se pierde.
  • Reducción del espacio de búsqueda con
    heurísticas para que el problema sea tratable en
    un tiempo razonable.
  • Manejo de conocimiento incierto e incompleto.
  • Posibilidad de justificar el razonamiento
    seguido.
  • Hacer el conocimiento disponible en ambientes
    hostiles o con carencia de especialistas.
  • Aumento de fiabilidad, evitando que prevalezcan
    las ultimas experiencias.
  • Modificación sencilla de la BC por su
    característica modular.

14
Sistemas Basados en Conocimiento Inconvenientes
  • La adquisición del conocimiento es difícil y
    cara.
  • La reutilización del conocimiento en contextos
    diferentes no es simple.
  • Falta de creatividad y sentido común.
  • Obstáculos para el aprendizaje y la adaptación.

Quedan inmersos en el campo de los Sistemas
Inteligentes.
Se trabaja sobre metodología de desarrollo
Se los combina con otras tecnologías
15
SE basados en reglas de producción
Newell y Simon (1972) Al resolver problemas, las
personas utilizan su memoria a largo plazo
(permanente) que aplican a situaciones actuales
contenidas en su memoria a corto plazo
(transitoria). Esto puede generar modificaciones
en la última.
Sistemas de producción
16
SE basados en reglas de producción
Reglas de producción
lt CONDICION gt lt ACCIONgt
SI ?X ES MAMIFERO Y ?X COME CARNE ENTONCES
?X ES CARNIVORO.
17
SE basados en reglas de producción
Ventajas
  • Naturaleza modular El conocimiento es fácil de
    encapsular y expandir.
  • Explicaciones sencillas El registro de reglas
    disparadas permite presentar la cadena de
    razonamiento asociada.
  • Semejanza con el proceso cognitivo humano
    modelo natural del razonamiento humano.

Dificultades
  • Completitud y consistencia como responsabilidad
    del desarrollador.
  • Se necesitan otras estructuras para lograr una
    visión global del conocimiento del dominio.

Se las combina con otros formalismos de
representación.
18
SE basados en reglas de producción
MOTOR DE INFERENCIAS
Dos formas de funcionamiento.
Inductivo A partir de un objetivo intenta
verificar los hechos que los sostienen
BACKWARD CHAINING
Deductivo A partir de los hechos disponibles
infiere todas las conclusiones posibles
FORWARD CHAINING
19
SE basados en reglas de producción
Encadenamiento hacia atrás - Backward Chaining.
BH CONOCIMIENTO INICIAL (HECHOS). HASTA
OBJETIVO O SIN REGLAS PARA DISPARAR. REPITA (1)
ENCONTRAR K CONJUNTO DE REGLAS, CUYAS
CONCLUSIONES PUEDEN UNIFICARSE CON LA HIPÓTESIS
(CONJUNTO DE CONFLICTO). (2) ELEGIR R DE K SEGÚN
ESTRATEGIA DE SOLUCIÓN DE CONFLICTOS (POSIBLE
BACKTRACKING). (3) SI LA PREMISA DE R NO ESTÁ EN
BH, TOMARLA COMO SUBOBJETIVO.
20
SE basados en reglas de producción
Backward Chaining Ciclo base de un motor
inductivo.
21
SE basados en reglas de producción
Ejemplo Backward Chaining Primer paso
BASE DE REGLAS R1 p ? q ? s R2 r ?
t R3 s ? t ? u R4 s ? r ? v
  • OBJETIVO v
  • v ? BH ?
  • v ? BH
  • SIGUE

BH p q r
22
SE basados en reglas de producción
Ejemplo Backward Chaining Segundo paso
BASE DE REGLAS R1 p ? q ? s R2 r ? t R3
s ? t ? u R4 s ? r ? v
  • MATCHING CON v
  • CC R4
  • s ? BH?
  • s ? BH
  • s SUBOBJETIVO
  • SIGUE

BH p q r
23
SE basados en reglas de producción
Ejemplo Backward Chaining Tercer paso
BASE DE REGLAS R1 p ? q ? s R2 r ? t R3
s ? t ? u R4 s ? r ? v
  • MATCHING CON s
  • CC R1
  • p ? BH? SI.
  • q ? BH? SI.
  • DISPARA R1.
  • BH ? s

BH p q r
24
SE basados en reglas de producción
Ejemplo Backward Chaining Cuarto paso
BASE DE REGLAS R1 p ? q ? s R2 r ? t R3
s ? t ? u R4 s ? r ? v
  • CC R4
  • r ? BH? SI.
  • DISPARA R4.
  • BH ? v

BH p q r s
25
SE basados en reglas de producción
Ejemplo Backward Chaining Quinto paso
BASE DE REGLAS R1 p ? q ? s R2 r ? t R3
s ? t ? u R4 s ? r ? v
  • OBJETIVO OK.
  • FIN

BH p q r s v
26
SE basados en reglas de producción
Es un shell, cáscara o Sistema Experto vacío
KAPPA-PC
Reglas y Objetos
Formalismos de representación
El funcionamiento sistemático está definido,
pueden personalizarse características
Funcionamiento del Motor de Inferencias
Posee herramientas de traceo y debug.
27
SE basados en reglas de producción
Otras características
KAPPA-PC
Prototipado muy rápido
Conexión con BD y otros paquetes de software
Construcción de Interfaz básica
Help on line
Lenguaje de programación KAL (basado en C)
Biblioteca de funciones predefinidas
28
SE basados en reglas de producción
KAPPA-PC
Representación del dominio
Debe incluir los elementos del dominio sobre los
que predicarán las reglas
Estructura de clases
  • Tipo Texto, Numérico, Booleano, Objeto
  • Cardinalidad single o multi
  • Valores permitidos (texto)
  • Rango (numéricos)
  • Prompt
  • Monitores

Poseen Slots que las describen
29
SE basados en reglas de producción
Ejemplo Animales Carnívoros para volcar en
Kappa-PC.
  • RCARNÍVORO1 SI EL ANIMAL MAMÍFERO COME CARNE
  • ENTONCES EL ANIMAL ES CARNÍVORO.
  • RCARNÍVORO2 SI EL ANIMAL MAMÍFERO TIENE GARRAS
    Y DIENTES AGUDOS
  • ENTONCES EL ANIMAL ES CARNÍVORO.
  • RTIGRE SI EL ANIMAL ES CARNÍVORO Y SU COLOR ES
    LEONADO Y SU PELAJE TIENE FRANJAS NEGRAS
  • ENTONCES EL ANIMAL ES UN TIGRE.
  • RLEOPARDO SI EL ANIMAL ES CARNÍVORO Y SU COLOR
    ES LEONADO Y SU PELAJE TIENE MANCHAS OSCURAS
  • ENTONCES EL ANIMAL ES UN LEOPARDO

30
SE basados en reglas de producción
Elementos sintácticos
KAPPA-PC
  • Atomos animal carnívoro, tigre, Juan.
  • Pares animaldientes, personanombre.
    (ObjetoSlot)
  • Expresiones Operadores y operandos. Cierran con
  • Bloques Conjunto de expresiones en un .
  • Funciones nombre( arg1, arg2,.). Biblioteca

31
SE basados en reglas de producción
Elementos sintácticos
KAPPA-PC
Las Expresiones contienen operadores de distinto
tipo
TESTEO (texto) , lt, gt TESTEO (números)
, !, lt, lt,gt,gt ASIGNACIÓN (todos los
tipos) LÓGICOS And, Or, Xor ARITMÉTICOS , ,
/, , -
32
SE basados en reglas de producción
KAPPA-PC
Representación del dominio
Las reglas predican sobre las instancias
definidas .
Rcarnívoro1 IF animalcomida carne THEN
animalgrupo carnivoro MoveInstance (animal,
Carnivoro)
33
SE basados en reglas de producción
Qué es un hecho al realizar encadenamiento de
reglas?
KAPPA-PC
Al encadenar reglas, Kappa considera hechos a
los valores de los pares objetoslot.
Al redactar las reglas se deben incluir
asignaciones de valor a los slots para que el
motor pueda realizar el encadenamiento
El sistema reconoce los resultado de otras
acciones, pero no los utiliza para construir el
árbol de búsqueda.
34
SE basados en reglas de producción
Backward Chaininig en Kappa-PC.
MI
OBJETOS
BC
REGLAS
OBJETIVO
  • EXPANDING EVALÚA LOS IF Y ABRE EL ÁRBOL
    CONSIDERANDO NUEVOS HECHOS.
  • COLLAPSING TESTEA SI VERIFICA EL GOAL.
  • ASKING PIDE INFORMACIÓN AL USUARIO.

FASES
35
SE basados en reglas de producción
Backward Chaininig en Kappa-PC.
Desde el Rule Trace
Lanzamiento del motor en BC
Desde el Inference Browser
Utilizando una función.
BackwardChain (lt NOASKgt, Goal, ltLista Reglasgt )
36
Ejemplo Animales Carnívoros en Backward
Chaining.
En el Inference Browser puede seguirse la
inferencia paso a paso para realizar el debug
37
Backward Chaininig en Kappa-PC Conclusiones.
  • Es obligatorio definir un objetivo o test
    (Goal).
  • El THEN de las reglas debe incluir hechos que
    permitan realizar el encadenamiento (asignación
    de valores a Slots).
  • No responde a la exploración Primero Profundo
    definido en el Backward Chaining teórico.
  • Funcionamiento sistemático único, personalizable
    por la definición de objetivos o uso de
    monitores.
  • Si está habilitado, pide automáticamente
    información al usuario.

38
SE basados en reglas de producción
Encadenamiento hacia adelante - Forward Chaining.
BH CONOCIMIENTO INICIAL (HECHOS). HASTA
OBJETIVO O SIN REGLAS PARA DISPARAR. REPITA (1)
ENCONTRAR K CONJUNTO DE REGLAS CUYAS PREMISAS
CUMPLEN CON BH (CONJUNTO DE CONFLICTO-CC). (2)
ELEGIR R DE K SEGÚN ESTRATEGIA DE SOLUCIÓN DE
CONFLICTOS (RC). (3) DISPARAR R Y ACTUALIZAR
BH. (RECORDAR R).
39
SE basados en reglas de producción
Forward Chaining Ciclo base de un motor
deductivo.
  • DETECCIÓN
  • DETERMINAR EL CONJUNTO DE REGLAS APLICABLES
  • ELECCIÓN
  • DECIDIR QUE REGLA APLICAR (RC)
  • APLICACIÓN
  • DISPARAR LA REGLA ELEGIDA Y ACTUALIZAR BH.

40
SE basados en reglas de producción
Ejemplo Forward Chaining Primer paso
BASE DE REGLAS R1 p ? q ? s R2 r ? t R3
s ? t ? u R4 s ? r ? v
  • CC R1, R2
  • R1 ? RC
  • DISPARA R1
  • BH ? s
  • R1 APLICADA

BH p q r
41
SE basados en reglas de producción
Ejemplo Forward Chaining Segundo paso
BASE DE REGLAS (R1 p ? q ? s) R2 r ?
t R3 s ? t ? u R4 s ? r ? v
  • CC R2, R4
  • R2 ? RC
  • DISPARA R2
  • BH ? t
  • R2 APLICADA

BH p q r s
42
SE basados en reglas de producción
Ejemplo Forward ChainingTercer paso
BASE DE REGLAS (R1 p ? q ? s) (R2 r ?
t) R3 s ? t ? u R4 s ? r ? v
  • CC R3, R4
  • R3 ? RC
  • DISPARA R3
  • BH ? u
  • R3 APLICADA

BH p q r s t
43
SE basados en reglas de producción
Ejemplo Forward ChainingCuarto paso
BASE DE REGLAS (R1 p ? q ? s) (R2 r ?
t) (R3 s ? t ? u) R4 s ? r ? v
  • CC R4
  • R4 ? RC
  • DISPARA R4
  • BH ? v
  • R4 APLICADA

BH p q r s t u
44
SE basados en reglas de producción
Ejemplo Forward ChainingQuinto paso
BASE DE REGLAS (R1 p ? q ? s) (R2 r ?
t) (R3 s ? t ? u) (R4 s ? r ? v)
  • CC
  • FIN

BH p q r s t u v
45
SE basados en reglas de producción
Forward Chaininig en Kappa-PC.
MI
BC
AGENDA DE HECHOS
LISTA DE REGLAS
ESTRATEGIAS
  • SELECTIVE
  • DEPTH FIRST
  • BREATH FIRST
  • BEST FIRST

46
Ciclo de Forward Chaininig en Kappa-PC.
1) Se evalúa el hecho actual en la AGENDA.
  • CC REGLAS QUE MENCIONAN EL HECHO EN SUS
    PREMISAS ? LISTA DE REGLAS (LR).
  • Se quita el hecho de la AGENDA.

2) Se evalúan las REGLAS de LR en orden, al
disparar una
  • Se agregan (si corresponde) hechos en la AGENDA.
  • Se quita la REGLA de la LISTA DE REGLAS.

3) Se evalúa finalización.
  • Si hay GOAL y es TRUE ? FIN.
  • Si no es así ? Otro Ciclo.

47
SE basados en reglas de producción
Forward Chaininig en Kappa-PC.
Desde el Rule Trace
Lanzamiento del motor en FC
Utilizando una función.
ForwardChain ( ltNOASSERTgt, ltGoalgt, ltLista
Reglasgt )
48
SE basados en reglas de producción
Forward Chaininig en Kappa-PC.
Trabaja a partir de la Agenda y la Lista de Reglas
Se debe garantizar la presencia de objetos en
estas estructuras
NOASSERT coloca todas las reglas en Lista de
Reglas
Assert coloca en la Agenda los HECHOS de interés
Un hecho corresponde al valor de un slot
49
SE basados en reglas de producción
Forward Chaininig en Kappa-PC.
Colocación de hechos en la Agenda
1º) SetValue (animalcomida, carne)
2º) Assert (animalcomida)
El motor busca las reglas que mencionan
animalcomida en el IF y las ubica en la Lista de
Reglas (CC).
3º) ForwardChain ( )
Una vez lanzada la inferencia, los hechos
establecidos al disparar las reglas, son
colocados automáticamente en la Agenda.
En FC no se pregunta automáticamente al usuario,
el diseñador debe garantizar el pedido de
información para continuar la búsqueda
50
Forward Chaininig en Kappa-PC.
51
Forward Chaininig en Kappa-PC.
52
Forward Chaininig en Kappa-PC.
  • Para lanzarlo deben garantizarse hechos en la
    agenda (Assert inicial o Forward con NOASSERT).
  • Se debe asegurar la posterior introducción de
    hechos en la agenda durante la inferencia.
  • Las estrategias permiten recorrer el árbol de
    búsqueda de diferentes formas.
  • Las prioridades en las reglas permiten
    personalizar las estrategias.

53
Forward Chaininig en Kappa-PC.
  • Los objetivos no son imprescindibles pero
    permiten cortar la búsqueda.
  • La búsqueda puede polarizarse lanzando el
    Forward con diferentes grupos de reglas.
  • Pueden introducirse patrones para inferir
    sobre distintos objetos.

54
Motor de Inferencias Estructuras de control
Funcionamiento sistemático
Ruptura
Demonios
Se invocan a partir de cierto conocimiento
deducido durante la ejecución de la aplicación.
55
Estructuras de control Demonios
El demonio es una estructura de control que
vigila constantemente el comportamiento del SE y
se activa cuando encuentra determinadas
condiciones en la BC.
Disparador
BC
Procedimiento
  • Difieren de los procedimientos tradicionales, en
    que estos últimos responden a un llamado
    específico que los identifica y pone en acción.

56
Demonios en KAPPA-PC.
  • If Needed Cuando el sistema necesita el slot
    pero su valor no se conoce. Pensado para asignar
    valores por defecto ? Debe retornar ese valor.
  • When Accesed Cuando el sistema accede al slot
    sin importar si tiene valor asignado. Lleva como
    argumentos (slot, valor) y debe retornar valor.
  • Before Change Antes de que se cambie el valor
    del slot. Lleva como argumentos (slot, valor) y
    debe retornar valor.
  • After Change Después de cambiar el valor del
    slot.

57
Sistemas expertos Metaconocimiento
  • Es el conocimiento estratégico vinculado a la
    utilización del conocimiento del dominio del
    Sistema Experto.
  • Es conocimiento que predica sobre el
    conocimiento involucrado en el sistema.

Métodos de implementación
  • Activación o no de grupos de reglas específicas.
  • Ordenación de las reglas dentro de los grupos.

Meta-reglas
  • Definición de la búsqueda o no de conceptos
    asociados.
  • PC-PLUS ? FINDOUT - NOFINDOUT

Funciones
  • Posibilidad de asignarles pesos numéricos.
  • PC-PLUS ? UTILITY.
  • KAPPA-PC ? PRIORITY

Orden de las reglas
58
Sistemas expertos Metaconocimiento
Write a Comment
User Comments (0)
About PowerShow.com