sistemas expertos arquitectura - motor de inferencias

Click here to load reader

Post on 25-Jan-2016

55 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

Sistemas Expertos Arquitectura - Motor de Inferencias. Ingeniería Electrónica. Ingeniería del Conocimiento. Interface. KAT. Ingeniero del conocimiento. Base de Conocimientos. Usuario. Motor de Inferencias. Experto del dominio. Estructura básica de un SE. - PowerPoint PPT Presentation

TRANSCRIPT

  • Sistemas ExpertosArquitectura - Motor de InferenciasIngeniera del Conocimiento

    Ingeniera Electrnica

    IIA - Sistemas Expertos

  • Estructura bsica de un SE.

    IIA - Sistemas Expertos

  • Estructura bsica de un Sistema ExpertoBase de ConocimientosSu estructura de datos queda definida en trminos del esquema de representacin elegido para incorporar el conocimiento del dominio de trabajo.Motor de InferenciasEs 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.Separados entre s

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinSistemas de produccinNewell 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.

    IIA - Sistemas Expertos

  • Sistemas de produccinLos procesos del dominio se representan como acciones independientes que son integradas por el mecanismo de inferencias para resolver una tarea ms general.Motor deInferenciasBASE DE CONOCIMIENTOBase deHechosBase deReglasARQUITECTURA

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinReglas de produccin< CONDICION > < ACCION>SI ?X ES MAMIFERO Y ?X COME CARNEENTONCES ?X ES CARNIVORO.

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinVentajas:Naturaleza modular: El conocimiento es fcil 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 visin global del conocimiento del dominio.Se las combina con otros formalismos de representacin.

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinInductivo: A partir de un objetivo intenta verificar los hechos que los sostienenDeductivo: A partir de los hechos disponibles infiere todas las conclusiones posiblesMOTOR DE INFERENCIASDos formas de funcionamiento.BACKWARD CHAININGFORWARD CHAINING

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinEncadenamiento hacia atrs - 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 HIPTESIS (CONJUNTO DE CONFLICTO).(2) ELEGIR R DE K SEGN ESTRATEGIA DE SOLUCIN DE CONFLICTOS (POSIBLE BACKTRACKING).(3) SI LA PREMISA DE R NO EST EN BH, TOMARLA COMO SUBOBJETIVO.

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinBackward Chaining: Ciclo base de un motor inductivo.

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinEjemplo Backward Chaining: Primer pasoBASE DE REGLASR1: p q sR2: r tR3: s t uR4: s r v OBJETIVO: v v BH ? v BH SIGUEBH: p q r

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinEjemplo Backward Chaining: Segundo pasoBASE DE REGLASR1: p q sR2: r tR3: s t uR4: s r v MATCHING CON vCC = { R4 } s BH? s BH s SUBOBJETIVO SIGUEBH: p q r

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinEjemplo Backward Chaining: Tercer pasoBASE DE REGLASR1: p q sR2: r tR3: s t uR4: s r vBH: p q r MATCHING CON sCC = { R1 } p BH? SI. q BH? SI. DISPARA R1. BH s

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinEjemplo Backward Chaining: 4 pasoBASE DE REGLASR1: p q sR2: r tR3: s t uR4: s r vBH: p q r sCC = { R4 } r BH? SI.DISPARA R4. BH v

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinEjemplo Backward Chaining: 5 pasoBASE DE REGLASR1: p q sR2: r tR3: s t uR4: s r vOBJETIVO OK. FINBH: p q r s v

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinEncadenamiento 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 SEGN ESTRATEGIA DE SOLUCIN DE CONFLICTOS (RC).(3) DISPARAR R Y ACTUALIZAR BH. (RECORDAR R).

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinForward Chaining: Ciclo base de un motor deductivo.DETECCIN:DETERMINAR EL CONJUNTO DE REGLAS APLICABLESELECCIN:DECIDIR QUE REGLA APLICAR (RC)APLICACINDISPARAR LA REGLA ELEGIDA Y ACTUALIZAR BH.

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinEjemplo Forward Chaining: Primer pasoBASE DE REGLASR1: p q sR2: r tR3: s t uR4: s r vCC = { R1, R2 } R1 RC DISPARA R1 BH s R1 APLICADABH: p q r

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinEjemplo Forward Chaining: 2 pasoBASE DE REGLASR1: p q sR2: r tR3: s t uR4: s r vBH: p q r sCC = { R2, R4 } R2 RC DISPARA R2 BH t R2 APLICADA

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinEjemplo Forward Chaining: 3er pasoBASE DE REGLASR1: (p q s)R2: (r t)R3: s t uR4: s r vBH: p q r s tCC = { R3, R4 } R3 RC DISPARA R3 BH u R3 APLICADA

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinEjemplo Forward Chaining: 4 pasoBASE DE REGLAS(R1: p q s)(R2: r t)(R3: s t u)R4: s r vBH: p q r s t uCC = {R4 } R4 RC DISPARA R4 BH v R4 APLICADA

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinEjemplo Forward Chaining: 5 pasoBASE DE REGLAS(R1: p q s)(R2: r t)(R3: s t u)(R4: s r v)BH: p q r s t u vCC = { }FIN

    IIA - Sistemas Expertos

  • Sistemas expertos: Metaconocimiento Es el conocimiento estratgico vinculado a la utilizacin del conocimiento del dominio del Sistema Experto. Es conocimiento que predica sobre el conocimiento involucrado en el sistema.Mtodos de implementacin:Meta-reglas Activacin o no de grupos de reglas especficas. Ordenacin de las reglas dentro de los grupos.Funciones Definicin de la bsqueda o no de conceptos asociados. PC-PLUS FINDOUT - NOFINDOUTOrden de las reglasPosibilidad de asignarles pesos numricos. PC-PLUS UTILITY. KAPPA-PC PRIORITY

    IIA - Sistemas Expertos

  • Sistemas expertos: MetaconocimientoEnriquece y aporta a la perfomance de un Sistema Experto y por sus caractersticas incluye: Elementos en el Motor de Inferencias: Demonios. Elementos en la Base de Conocimientos: Metareglas, PRIORITY, etc.Ejemplos de Metareglas en SEXP-1IF Litologa_Principal = Arenisca THEN Tratar slo el grupo de reglas asociadas.IF Litologa_Principal = Roca_Ignea THEN NoAsk (Lista de valores)

    IIA - Sistemas Expertos

  • SE: Herramientas Una herramienta para la construccin de sistemas expertos (expert system building tools-shell) es un software para el desarrollo de sistemas expertos,: un motor de inferencias, forma/s de representar el conocimiento (BC vaca) y una interfaz para el usuario final,

    permite construir sistemas expertos agregando el conocimiento especfico sobre el dominio particular que se quiere resolver.

    IIA - Sistemas Expertos

  • SE: Herramientas KAPPA-PC (C - Intellicorp, software liberado) CLIPS (C NASA, software libre)JESS (Java - Software propietario Lic. acadmica) -----------M1Personal Consultant-Easy / PC-PlussINSIGHT 2 +.VP-Expert

    permiten construir sistemas expertos agregando el conocimiento especfico sobre el dominio particular que se quiere resolver.

    IIA - Sistemas Expertos

  • Herramientas: Kappa-PCFormalismos de representacinFuncionamiento del Motor de InferenciasEs un shell, cscara o Sistema Experto vacoReglas y ObjetosEl funcionamiento sistemtico est definido, pueden personalizarse caractersticasKAPPA-PCPosee herramientas de trace y debug.

    IIA - Sistemas Expertos

  • Otras caractersticasPrototipado muy rpido Ambiente de desarrollo !!!Conexin con BD y otros paquetes de softwareConstruccin de Interfaz bsicaHelp on lineLenguaje de programacin KAL (basado en C)Biblioteca de funciones predefinidasKAPPA-PCHerramientas: Kappa-PC

    IIA - Sistemas Expertos

  • KAPPA-PCRepresentacin del dominioEstructura de clasesDebe incluir los elementos del dominio sobre los que predicarn las reglasPoseen Slots que las describen Tipo: Texto, Numrico, Booleano, Objeto Cardinalidad: single o multi Valores permitidos (texto) Rango (numricos) Prompt MonitoresHerramientas: Kappa-PC

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinEjemplo Animales Carnvoros para volcar en Kappa-PC. RCARNVORO1: SI EL ANIMAL MAMFERO COME CARNEENTONCES EL ANIMAL ES CARNVORO. RCARNVORO2: SI EL ANIMAL MAMFERO TIENE GARRAS Y DIENTES AGUDOSENTONCES EL ANIMAL ES CARNVORO. RTIGRE: SI EL ANIMAL ES CARNVORO Y SU COLOR ES LEONADO Y SU PELAJE TIENE FRANJAS NEGRASENTONCES EL ANIMAL ES UN TIGRE. RLEOPARDO: SI EL ANIMAL ES CARNVORO Y SU COLOR ES LEONADO Y SU PELAJE TIENE MANCHAS OSCURASENTONCES EL ANIMAL ES UN LEOPARDO

    IIA - Sistemas Expertos

  • Elementos sintcticos Atomos: animal carnvoro, tigre, Juan. Pares: animal:dientes, persona:nombre. (Objeto:Slot) Expresiones: Operadores y operandos. Cierran con ; Bloques: Conjunto de expresiones en un {.}; Funciones: nombre( arg1, arg2,.). BibliotecaKAPPA-PCHerramientas: Kappa-PC

    IIA - Sistemas Expertos

  • Elementos sintcticosKAPPA-PCTESTEO (texto): #= , #TESTEO (nmeros): = =, !=, = ASIGNACIN: = (todos los tipos)LGICOS: And, Or, XorARITMTICOS: ^, *, /, +, -Las Expresiones contienen operadores de distinto tipo:Herramientas: Kappa-PC

    IIA - Sistemas Expertos

  • Elementos sintcticosKAPPA-PCLas reglas predican sobre las instancias definidas .Rcarnvoro1:

    IF animal:comida #= carne;THEN { animal:grupo = carnivoro;MoveInstance (animal, Carnivoro) };Herramientas: Kappa-PC

    IIA - Sistemas Expertos

  • KAPPA-PCQu es un hecho al realizar encadenamiento de reglas?Al encadenar reglas, Kappa considera hechos a los valores de los pares objeto:slot.Al redactar las reglas se deben incluir asignaciones de valor a los slots para que el motor pueda realizar el encadenamientoEl sistema reconoce los resultado de otras acciones, pero no los utiliza para construir el rbol de bsqueda.Herramientas: Kappa-PC

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinBackward Chaininig en Kappa-PC.BCOBJETOSREGLASMIOBJETIVOFASES EXPANDING: EVALA LOS IF Y ABRE EL RBOL CONSIDERANDO NUEVOS HECHOS. COLLAPSING: TESTEA SI VERIFICA EL GOAL. ASKING: PIDE INFORMACIN AL USUARIO.

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinBackward Chaininig en Kappa-PC.Utilizando una funcin.Desde el Inference Browser Lanzamiento del motor en BCBackwardChain (< [NOASK]>, Goal, )Desde el Rule Trace

    IIA - Sistemas Expertos

  • Ejemplo Animales Carnvoros en Backward Chaining.En el Inference Browser puede seguirse la inferencia paso a paso para realizar el debug

    IIA - Sistemas Expertos

  • Backward Chainning 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 (asignacin de valores a Slots).

    No responde a la exploracin Primero Profundo definido en el Backward Chaining terico.

    Funcionamiento sistemtico nico, personalizable por la definicin de objetivos o uso de monitores.

    Si est habilitado, pide automticamente informacin al usuario.

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinForward Chainning en Kappa-PC.BCMIAGENDA DE HECHOSLISTA DE REGLAS SELECTIVE DEPTH FIRST BREATH FIRST BEST FIRSTESTRATEGIAS:

    IIA - Sistemas Expertos

  • Ciclo de Forward Chainning en Kappa-PC.1) Se evala 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 evalan 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 evala finalizacin. Si hay GOAL y es TRUE FIN. Si no es as Otro Ciclo.

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinForward Chainning en Kappa-PC.Utilizando una funcin.Lanzamiento del motor en FCForwardChain ( , , )Desde el Rule Trace

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinForward Chainning en Kappa-PC.Trabaja a partir de la Agenda y la Lista de ReglasSe debe garantizar la presencia de objetos en estas estructurasNOASSERT coloca todas las reglas en Lista de ReglasAssert coloca en la Agenda los HECHOS de intersUn hecho corresponde al valor de un slot

    IIA - Sistemas Expertos

  • SE basados en reglas de produccinForward Chaininig en Kappa-PC.Colocacin de hechos en la Agenda:1) SetValue (animal:comida, carne) ; 2) Assert (animal:comida) ;3) ForwardChain ( ) ;El motor busca las reglas que mencionan animal:comida en el IF y las ubica en la Lista de Reglas (CC).Una vez lanzada la inferencia, los hechos establecidos al disparar las reglas, son colocados automticamente en la Agenda.En FC no se pregunta automticamente al usuario, el diseador debe garantizar el pedido de informacin para continuar la bsqueda

    IIA - Sistemas Expertos

  • Forward Chainning en Kappa-PC.

    IIA - Sistemas Expertos

  • Forward Chainning en Kappa-PC.

    IIA - Sistemas Expertos

  • Forward Chainning en Kappa-PC. Para lanzarlo deben garantizarse hechos en la agenda (Assert inicial o Forward con [NOASSERT]). Se debe asegurar la posterior introduccin de hechos en la agenda durante la inferencia. Las estrategias permiten recorrer el rbol de bsqueda de diferentes formas. Las prioridades en las reglas permiten personalizar las estrategias.

    IIA - Sistemas Expertos

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

    IIA - Sistemas Expertos

  • Motor de Inferencias: Estructuras de controlFuncionamiento sistemticoRupturaDemoniosSe invocan a partir de cierto conocimiento deducido durante la ejecucin de la aplicacin.

    IIA - Sistemas Expertos

  • Estructuras de control: DemoniosEl demonio es una estructura de control que vigila constantemente el comportamiento del SE y se activa cuando encuentra determinadas condiciones en la BC.BCDisparadorProcedimiento Difieren de los procedimientos tradicionales, en que estos ltimos responden a un llamado especfico que los identifica y pone en accin.

    IIA - Sistemas Expertos

  • 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: Despus de cambiar el valor del slot.

    IIA - Sistemas Expertos