Tema 2 (II): Representación del Conocimiento en IA: Sistemas Basados en Reglas



Documentos relacionados
Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo

Introducción. Paradigma de Lógica Gran importancia en la I.A. Origen: prueba de teoremas y razonamiento deductivo. Lógica.

LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS

UNIDAD I: LÓGICA PROPOSICIONAL

2.2.- Paradigmas de la POO

Tema 6: Programación Lógica: semántica declarativa. Lenguajes y Paradigmas de Programación

Objetivos. Contenidos. Revisar los principales conceptos de la lógica de primer orden

Semántica Denotacional

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Manual SBR. Pero antes de explicar las actividades que principalmente podemos desarrollar vamos a dar una visión global de la aplicación.

IIC Matemática Discreta

Capítulo 12: Indexación y asociación

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Introducción. Lógica de proposiciones: introducción. Lógica de proposiciones. P (a) x. Conceptos

Reglas. El constructor defrule y otros comandos relacionados

ANÁLISIS SEMÁNTICO. Especificación formal: Semántica Operacional, semántica denotacional, semántica Axiomática, Gramáticas con Atributos.

MLM Matemática Discreta

UNIVERSIDAD NACIONAL DE ASUNCION FACULTAD POLITÉCNICA CARRERA: LCIK MATERIA: Bases de Datos I Prof: Lic. Lilian Riveros Unidad 2: Modelo Relacional

forma de entrenar a la nuerona en su aprendizaje.

2.3.- Modelo relacional de datos (aproximación lógica) La lógica de 1er orden La lógica de 1er orden La lógica de 1er orden

2.3.- Modelo relacional de datos (aproximación lógica)

Inteligencia Artificial II. Razonamiento con ontologías

Tipos Abstractos de Datos

IIC Introducción a la Programación -

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Términos definiciones

GLOSARIO DE TERMINOLOGIA SOBRE SISTEMAS DE GESTIÓN DE LA CALIDAD

Restricciones de Integridad

Componentes de los SBC

SISTEMAS Y MANUALES DE LA CALIDAD

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Capítulo VI. Diagramas de Entidad Relación

Representación del conocimiento. Diferencia entre información y conocimiento (1) Diferencia entre información y conocimiento (2) Notas

ISO 31000: La gestión de riesgos como componente integral de la gestión empresarial

GESTIÓN DE REDES PARTE III

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Base de Datos. Profesor: José Miguel Rubio L. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE ING.

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

RAZONAMIENTOS LÓGICOS EN LOS PROBLEMAS DE MATEMÁTICAS

PROLOG Inteligencia Artificial Universidad de Talca, II Semestre Jorge Pérez R.

Consultas con combinaciones

Activos Intangibles Costos de Sitios Web

Base de datos relacional

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008

Capítulo 4 PROLOG 4.1 Introducción

A. Subcampos basados en el contenido.

MANUAL BÁSICO DEL LENGUAJE SQL

Fundamentos del diseño 3ª edición (2002)

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

Introducción a la Computación TFA

Lenguajes y Compiladores

Procesadores de lenguaje Tema 5 Comprobación de tipos

Representación del conocimiento en Sistemas de Producción. Lenguaje Objeto-Atributo-Valor Lenguaje de Patrones

SQL (Structured Query Language)

TEMA 8.- DISEÑO TEORICO DE BASES DE DATOS RELACIONALES. 1. TEORÍA DE LAS DEPENDENCIAS FUNCIONALES

4.Diseño de Bases de Datos (I)

1. DML. Las subconsultas

INTRODUCCIÓN A LA INTELIGENCIA ARTIFICIAL

Puertas Lógicas. Contenidos. Objetivos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Lenguajes y Compiladores

En la sección anterior nos quedamos en que: La estructura de un Agente está dado por: Agente = Arquitectura + Programa

Gestión de Configuración del Software

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Manejar y utilizar lenguaje técnico relacionado con la temática Servicios.

BASE DE DATOS RELACIONALES

De dos incógnitas. Por ejemplo, x + y 3 = 4. De tres incógnitas. Por ejemplo, x + y + 2z = 4. Y así sucesivamente.

Historia y Filosofía de la Lógica

Introducción. Metadatos

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos

Universidad Nacional de Quilmes Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Agosto de 2005

Conceptos básicos Oracle 10g Introducción - Administración de Oracle - Orasite.com

5 Ecuaciones lineales y conceptos elementales de funciones

Prácticas PGSI. Práctica 4. Gestión de las Cargas de Trabajo de los Recursos y Delimitaciones de Tareas

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

MAPAS DE RIESGOS. DEFINICIÓN Y METODOLOGÍA

Tablas. Estas serán las tablas que usaremos en la mayoría de ejemplos. Empleado

Universidad de Buenos Aires Facultad De Ingeniería. Operaciones Lógicas. [75.40] Algoritmos y Programación I. 2do Cuatrimestre 2010

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

Lógica Proposicional Cálculo Proposicional de Orden Cero (Cero)

- Bases de Datos - - Diseño Físico - Luis D. García

GUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000

Temario. Índices simples Árboles B Hashing

LÓGICA JURÍDICA. Idea preliminar Cap. I. Nicolás Mejía Gómez -Universidad Libre Facultad de derecho

Solución SP-Cardio. Práctica V

UNIVERSIDAD NACIONAL DE TRUJILLO ESCUELA DE INFORMATICA BASE DE DATOS

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.

TEMA 3 (parte 2). Representación del Conocimiento

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

Business Process Management(BPM)

Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales

JavaScript como Orientación a Objetos

Titulo Tema 6. Gestión por procesos. Cuidados. Prescripción de cuidados. Evaluación de pacientes.

CAMINOS EXPLICATIVOS. Humberto Maturana

Curso de PHP con MySQL Gratis

Curso de Python Inicial

GENERACIÓN DE CÓDIGO

Transcripción:

Tema 2 (II): Representación del Conocimiento en IA: Sistemas Tema 2 (II): Representación del Conocimiento en IA: Sistemas 2. 1. Introducción. 2. 2. Representación Basada en la Lógica. 2. 3. Representación Basada en Reglas. 2. 3. 1. Introducción. 2. 3. 2. Repres. del Conocim. en SBR. 2. 3. 2. 1. Hechos: Variables-Valor. 2. 3. 2. 2. Reglas de Producción. 2. 3. 2. 3. Hechos: Tuplas Objeto-Atributo-Valor. 2. 3. 3. Relación entre Reglas de Producción y la Lógica de Predicados de Primer Orden. 2. 3. 4. Inferencia en Sistemas. 2. 3. 4. 1. Encadenamiento Inferencial. 2. 3. 4. 2. Control Inferencial. 2. 3. 5. Patrones en Sistemas. 2. 4. Sistemas de Representación Estructurados.

Bibliografía Básica: [Lucas 1991] Peter Lucas and Linda Van Der Gaag,, "Principles" of Expert Systems". Addison-Wesley Wesley.. (1991). Capítulo 3. Bibliografía Complementaria: [Rich 1994] E. Rich,, K. Knight,, Inteligencia Artificial, McGraw Hill (1994). Capítulo 6. [Charniak 1985] E. Charniak,, D. McDermott,, "Introduction" to Artificial Intelligence", Addison-Wesley (1985). Capítulo 7. [Russel 1996] S. Russel,, Inteligencia Artificial: Un enfoque moderno, Prentice Hall (1996). Capítulo 10. [Negnevitsky 2002] M. Negnevitsky,, Artificial Intelligence: A Guide to Intelligent Systems, Addison-Wesley (2002). Capítulo 2. 2.3.1. Introducción (I) Contenido lógico de una fbf: Independiente de la expresión en el calculo de predicados. Conocimiento experto: Información extra-lógica o heurística implícita sobre cómo usar dicho conocimiento de forma optima. Razonamiento humano: No es en base a 'cláusulas', sino en base a 'reglas. Ejemplo: SI x,y >0 ENTONCES x*y>0 x y y [>(x,0) ^ >(y,0)] >(POR(x,y),0) x y y [>(x,0) ^ >(POR(x,y),0)] >(y,0)

2.3.1. Introducción (II) La implicación expresa cómo obtener una información: x x vertebrado(x) animal(x) x y y [trabaja-en(dep en(dep-ventas,x) ^ Edad(x,y) ^ >(y,30)] casado(x) x x [cilindro(x) ^ rojo(x)] y cubo(y)^sobre(y,x) Forma clausal : Forma más uniforme (proceso de demostración más eficiente) Pérdida de información de control Cada implicación lleva su propia información heurística de control A v B v C A ^ B C A ^ C B B ^ C A A (B v C) B (A v C) C (A v B) en Sistemas Base de Hechos (BH) Información Factual Representación de Hechos del Dominio/Problema Hechos no estructurados: Listas, Strings,, etc. Conjunto de pares: Variable-Valor Valor Conjunto de tuplas Objeto Atributo Valor Base de Reglas (BR) Conocimiento Normativo Patrones Otras representaciones: Declarativas (lógica), Estructurales (redes, frames),... Control Motor de Inferencia

en Sistemas Base de Hechos (BH) Información Factual Representación de Hechos del Dominio/Problema Declaración del Dominio de la BH: ONTOLOGÍA Base de Reglas (BR) Conocimiento Normativo Específico a un dominio de problemas Reglas de Producción Control Motor de Inferencia Representación conocimiento general de resolución de problemas 2.3.2.1. Hechos: en Variable Sistemas Basados Valor en Reglas Hecho: Var. cuyo valor es una cte.. o cjto.. de ctes. Declaración del Dominio de la BH: ONTOLOGÍA Conjunto de todas las variables, junto con sus posibles valores. Descripción de la información que es relevante en el dominio modelado por el sistema. Información del problema Conjunto de pares varoable valor. Tipos de Variables Variables uni valor Variables multi valor Información que es única. Sexo, Edad, Temperatura,... Valor puede ser un cjto.. de ctes. Enfermedad, Síntomas,...

2.3.2.1. Hechos: en Variable Sistemas Basados Valor en Reglas Declaración del Dominio de una BH: ONTOLOGÍA (I) Declaración de Variables: Puede ser: No Tipificada: Sólo se define el nombre Tipificada: Variable mono-valor (x s ) = x s : τ Variable multi-valor (x m ) = x m : 2 τ τ: Tipo que denota un cjto. no vacío de ctes. (enteros, reales, {blanco, rojo, azul}) Declaración del Dominio de la BH Conjunto D de declaraciones de variables (restringe el valor que una variable puede tomar). D = { sexo: {mujer, hombre}, edad: int, nombre: string, dolencia: 2 {fiebre, dolor-abdominal, dolor-cabeza}, trastorno: 2 {aneurisma-aortico, estenosis-arterial} } 2.3.2.1. Hechos: en Variable Sistemas Basados Valor en Reglas Declaración del Dominio de una BH: ONTOLOGÍA (II) Hecho: Una variable junto con el valor(es) que adopta: x s = c, c donde c t. (x s es declarada como x s :t) x m = C, C donde C t. (x m es declarada como x m :2 t ) Conjunto de Hechos { x s 1 = c 1,..., x ps = c p, x m 1 = C 1,..., x qm = C q } donde c i son constantes y C j conjuntos de constantes. Una var. puede ocurrir una sola vez en un cjto. de hechos. { sexo = hombre, edad = 27, dolencia = { fiebre, dolor abdominal }, enfermedad = { aneurisma aórtico } }

2.3.2.2. Reglas en de Sistemas Producción Base de Reglas Base de Hechos Control LHS Si ANTECEDENTE entonces CONSECUENTE RHS Representan: Conocimiento de resolución de problemas de un dominio específico (ejemplo: reglas físicas) Conocimiento heurístico o reglas de experiencia (analogías informales en la vida real). 2.3.2.2. Reglas en de Sistemas Producción Base de Reglas Base de Hechos Control LHS Si ANTECEDENTE entonces CONSECUENTE RHS if el paciente sufre dolor abdominal, y un murmullo abdominal es percibido por auscultación, y una masa pulsante es palpada en el abdomen then el paciente padece una aneurisma aórtico

2.3.2.2. Reglas en de Sistemas Producción Antecedente (LHS): Condiciones sobre la BH = c?, donde c τ. (x s : τ) x i s = c?, x m j = C?, donde C τ. (x m : 2 τ ) ( test ( =?a 7 ) ) ( test ( member?enfermedad gripe ) ) Consecuente (RHS): Asertar o eliminar hechos: Añadir (x is = c x jm = C) ( bind?a 6 ) ) ( bind?enfermedad ( insert?enfermedad faringitis ) ) Eliminar (x is =c x jm =C) ( bind?a 7 ) ( bind?enfermedad ( delete?enfermedad faringitis ) ) Acciones externas 2.3.2.2. Reglas en de Sistemas Producción Sintaxis <name> :: = string <conditional-element> ::= <and-ce> <or-ce> <not-ce> <test-ce> <ordered-pattern> <assigned-pattern> <and-ce> ::= ( and <conditional-element> + ) <or-ce> ::= ( or <conditional-element> + ) <not-ce> ::= ( not <conditional-element> ) <test-ce> ::= ( test ( <function-call> <term> <term> ) ) <function-call> ::= = > >= < <= <> eq neq <member> <term> ::= <variable> <constant> <variable> ::=? <name> <constant> ::= <number> <name> <member> ::= member <variable> <term> <assigned-pattern> ::= <variable> <- <ordered-pattern> <ordered-pattern> ::= ( <name> <constraint>* ) <constraint> ::= $ <variable> <term> ( defrule <name> <conditional-element> + <action>* )

2.3.2.2. Reglas en de Sistemas Producción Sintaxis <action> ::= ( bind <variable> <term> ) ( <action-multi-value> ) ( retract <term> ) ( assert <ordered-pattern> ) <action-multi-value> ::= ( create <replace> <action-name> <variable> <term> + ) <action-name> ::= insert delete <replace> ::= replace <variable> <term> <term> + ( defrule <name> <conditional-element> + <action>* ) 2.3.2.2. Reglas en de Sistemas Producción Antecedente Predicados (se evalúan a Verdadero o Falso) Variables uni-valuadas ( test ( =?a 7 ) ) ( test ( eq?a casa ) ) ( test ( neq?a casa ) ) = ( not ( test ( eq?a casa ) ) ) ( or ( test ( >=?a 4 ) ) ( test ( =?a 3 ) ) ) ( and ( test ( >=?a 7 ) ) ( test ( <?a 20 ) ) ( test ( =?b 9 ) ) ) = ( and ( and ( test ( >=?a 7 ) ) ( test ( <?a 20 ) ) ) ( test ( =?b 9 ) ) ) Variables multi-valuadas (member <variable> <term>) <variable>: var. multivaluada <term> : elemento ( test ( member?lista 3 ) ) ( and ( test ( member?lista 3 ) ) ( not ( test ( member?lista 7 ) ) ) )

2.3.2.2. Reglas en de Sistemas Producción Consecuente Asignación de Valores Variables uni-valuadas Variables multi-valuadas ( bind?a 3 ) ( bind?a casa ) ( bind?b?a ) ( bind?a (create) ) ) ( bind?a (create( ( 1 2 )) ) ( bind?a (insert(?a 4 5 6 7 ) ) ( bind?a (insert(?a casa agua ) ) (create): crea una variable multicampo vacía. (insert <variable> <term>+) <variable>: var. multicampo donde se quiere insertar un valor <term> + : uno o más elementos, pudiendo ser éstos vars. o ctes.?a ( ) ( 1 2 ) ( 4 5 6 7 1 2 ) ( casa agua 4 5 6 7 1 2 ) 2.3.2.2. Reglas en de Sistemas Producción Consecuente Modificación de Valores Variables uni-valuadas ( bind?a 1 ) Variables multi-valuadas ( bind?a (replace(?a 4 10 ) ) ( bind?a (replace(?a casa hotel apartamento ) )?a ( casa agua 10 5 6 7 1 2 ) ( hotel apartamento agua 10 5 6 7 1 2 ) (replace <variable> <term> <term>+) <variable>: var. multicampo donde se quiere reemplazar un valor <term>: elemento que se quiere reemplazar <term> + : elemento o elementos por los que se va a sustituir el elemento a reemplazar.

2.3.2.2. Reglas en de Sistemas Producción Consecuente Eliminación de Valores Variables uni-valuadas ( bind?a 1 ) Variables multi-valuadas?a ( bind?a (delete(?a 10 5 6 ) ) ( hotel apartamento agua 7 1 2 ) (delete <variable> <term>+) <variable>: var. multicampo donde se quiere borrar un valor <term> + : se puede borrar uno o más elementos de la var. multicampo (vars. o ctes.). 2.3.2.2. Reglas en de Sistemas Producción Ejemplos (I): If el paciente sufre dolor abdominal, y un murmullo abdominal es percibido por auscultación, y una masa pulsante es palpada en el abdomen then el paciente padece una aneurisma aórtico ( defrule aneurisma ( and ( test ( eq?dolencia dolor-abdominal ) ) ( test ( eq?auscultación murmullo-abdominal ) ) ( test ( eq?palpacion masa-pulsante ) ) ) ( bind?enfermedad ( insert?enfermedad aneurisma-aórtico aórtico ) ) )

2.3.2.2. Reglas en de Sistemas Producción Ejemplos (II): If then el paciente experimenta un dolor en la pantorrilla cuando anda, que desaparece gradualmente en reposo una estenosis de una de las arterias de la pierna, posiblemente debido a una arteriosclerosis, es concebible ( defrule estenosis ( and ( test ( eq?dolencia dolor-de-pantorrilla de-pantorrilla ) ) ( test ( eq?presencia andando ) ) ( test ( eq?ausencia en-reposo ) ) ) ( bind?causa estenosis-arterial ) ( bind?enfermedad ( insert?enfermedad arteriosclerosis ) ) ) 2.3.2.2. Reglas en de Sistemas Producción Ejemplos (III): If then la presión asistólica excede los 140 mmhg, y la presión del pulso excede los 50 mmhg, y es percibido un murmullo diastólico, o es observado un corazón agrandado el paciente sufre regurgitación aórtica ( defrule regurgitación ( and ( test ( >?presión-asistólica 140 ) ) ( test ( >?presión-puslo puslo 50 ) ) ( or ( test ( eq?auscultación murmullo-diastólico ) ) ( test ( eq?percusión corazón-agrandado agrandado ) ) ) ) ( bind?enfermedad ( insert?enfermedad regurgitación-aórtica aórtica ) ) )

2.3.2.2. Reglas en de Sistemas Producción Predicado o Acción vars. uni-valor vars. multi-valor (test (eq?x c)) x s = c -------------------------- (test (member?x c)) ------ c x m (test(not(eq?x c)) x s c -------------------------- (test (neq?x c)) x s c ------------------------ (test (not (member?x c)) ------- c x m (test (<?x c)) x s < c -------------------------- (test (>?x c)) x s > c -------------------------- (bind?x c) x s c (bind?x (insert?x c) ------- x m {c} x m (bind?x (delete?x c) ------- si x m = {c} entonces x m vacía sino x m x m -{c} (bind?x (replace?x c d)) ------- x m (x m {d}) -{c} (bind?x (create)) ------- x m vacía 2.3.2.3. Hechos: en Objeto Sistemas Atributo Basados en Valor Reglas Hecho: Var. Valor No permite relacionar variables entre sí. Al modelar dominios de problemas, es frecuente establecer vars. (atribs.) que caracterizan un mismo objeto, y subdominios (objetos/subobjetos) inter-relacionados. Frecuentemente se usan objetos para agrupar las propiedades mencionadas en las reglas heurísticas o de experiencia.

2.3.2.3. Hechos: en Objeto Sistemas Atributo Basados en Valor Reglas Objetos: Estruct.. de inform. que modela un subdominio/concepto. Obj.: descrito por props. o atribs.. específicos de tal obj. objeto dolor atributos localización, carácter Tupla objeto atributo valor ( o a v ): Permite expresar hechos asociados a atribs.. de un obj. Par ob obj. atributo se comporta igual que las vars. Atributos de tipo uni-valor (o.a s ) y multi-valor (o.a( m ) Distintas tuplas cuyo 1 er elemento sea el mismo obj. denotan distintas características de un mismo obj. Un par obj. atrib. indica que el atrib. pertenece al obj. (dolor localización vientre) 2.3.2.3. Hechos: en Objeto Sistemas Atributo Basados en Valor Reglas Ejemplos: Conocimiento Objetos Conceptos/características: Relaciones: atributo / valor atributo/valor Concepto mesa: Forma (rectangular, circular, etc.) Tamaño (grande, mediano, etc.) Nº patas (3, 4, 6, 12, etc.) Color(blanca, negra, etc.) BH ( mesa forma rectangular ) ( mesa tamaño grande ) ( mesa número-patas 4 ) ( mesa color negra )

2.3.2.3. Hechos: en Objeto Sistemas Atributo Basados en Valor Reglas Antecedente Reglas de Producción <conditional-element> ::= <and-ce> <or-ce> <not-ce> <test-ce> <ordered-pattern> <assigned-pattern> <assigned-pattern> ::= <variable> < <ordered-pattern> <ordered-pattern> ::= ( <name> <constraint>* ) <constraint> ::= <term> <term> ::= <constant> <variable> (variable sólo en el elemento valor) ( and ( mesa forma rectangular ) ( mesa color rojo ) ) ( sangre presion-sistolica sistolica 140 )?y < ( sangre presion-pulso pulso?pp ) ( test ( <?pp? 50 ) ) ( or ( paciente auscultacion murmullo-diastolico )?z < ( paciente percusion corazon-agrandado agrandado ) ) ) 2.3.2.3. Hechos: en Objeto Sistemas Atributo Basados en Valor Reglas Consecuente Reglas de Producción <action> ::= (bind <variable> <term> <action-multi-value>) (retract <term>) (assert <ordered-pattern>) <constraint> ::= <term> <term> ::= <variable> <constant> Creación de Valores Eliminación de Valores ( bind?a rectangular ) ;;; vble. uni-valuada ( assert ( mesa forma?a ) ) ( bind?lista ( create ( forma rectangular ) ) ) ;;; vble. Multivaluada (assert (mesa?lista))?z < ( paciente percusion corazon-agrandado agrandado ) ( retract?z ) ( retract 6 ) ;;; 6 es el índice del hecho que se quiere eliminar ( bind?a 6 ) ;;; se puede asignar a una vble.. el índice ( retract?a )

2.3.2.3. Hechos: en Objeto Sistemas Atributo Basados en Valor Reglas Ejemplo: ( defrule estenosis ( paciente dolencia dolor-de-pantorrilla de-pantorrilla ) ( dolor presencia andando ) ( dolor ausencia en-reposo ) ( assert ( dolor causa estenosis-arterial ) ) ( assert (paciente enfermedad regurgitación-aortica aortica ) ) ) Limitaciones del paradigma obj. atrib. valor No permite expresar relaciones explícitas entre objetos de una forma natural (redes semánticas / frames). Un esquema de objs. define las interrelaciones entre objs., y entre objs. y sus atribs. (redes semánticas / frames) dolor paciente lugar presencia ausencia dolencia auscultación percusión 2.3.3. Relación entre Reglas de Producción y Lógica de Predicados de Primer Orden En general, las RP pueden ser traducidas a la lógica de predicados ( implicaciones). Semántica de un SBR se describe mediante una semántica procedural,, como un método de inferencia específico de aplicación de las RP. Esta relación permite que una BR sea desarrollada sin necesidad de un conocim.. preciso sobre el funcionamiento de su método de inferencia, basado en sus formas lógicas equivalentes. Ventajas de un razonamiento basado en reglas: Ventajas de un razonamiento basado en reglas: Base formal en el cálculo de predicados. Permite una BH más clara y estructurada: Objeto Atributo Valor, redes, frames

2.3.3. Relación entre Reglas de Producción y Lógica de Predicados de Primer Orden Relación entre predicados de RP y fbf Pred. o Acción Repr. Lóg. de Atrib. Uni- Repr. Lóg. de Atrib. Multi-valor (o a v) a(o) = v a(o,v) (o a?x) (test (neq?x v)) a(o) = v a(o,v) (not (o a v)) a(o) = v a(o,v) (o a?x) (test (eq?x v)) a(o) = v -- (o a?x) (test (<?x v)) (o) < v -- (o a?x) (test (>?x v)) a(o) > v -- (assert (o a v)) a(o) = v a(o,v) (retract <term>) -- -- 2.3.3. Relación entre Reglas de Producción y Lógica de Predicados de Primer Orden Relación entre predicados de RP y fbf (defrule nombre (or c 1,1 c 1,2... c 1,m ) (or c b,1 c n,2... c n,p ) a 1 a 2... a q ) ((c' 1,1 v c' 1,2 v... v c' 1,m )) ^ ((c' n,1 v c' n,2 v... v c' n,p )) (a' 1 ^ a' 2 ^... ^a' q )

2.3.3. Relación entre Reglas de Producción y Lógica de Predicados de Primer Orden Ejemplo ( defrule regurgitación ( sangre presión-asistólica?ps? ) ( test ( >?ps? 140 ) ) ( sangre presión-pulso pulso?pp? ) ( test ( >?pp? 50 ) ) ( or ( paciente auscultación murmullo-diastólico ) ( paciente percusión corazón-agrandado agrandado ) ) ( assert ( paciente enfermedad regurgitación-aórtica aórtica ) ) ) ( presión-asistólica( sangre ) > 140 ^ presión-pulso( pulso( sangre ) > 50 ^ ( auscultación( paciente, murmullo-diastólico ) v percusión( paciente, corazón-agrandado agrandado ) ) ) enfermedad( paciente, regurgitación-aórtica aórtica ) 2.3.3. Relación entre Reglas de Producción y Lógica de Predicados de Primer Orden Hechos vs. fbf Atributos uni-valor Predicado de igualdad de la lógica de primer orden (o a s v) es traducido en la cláusula unidad a(o) =v Los axiomas de igualdad garantizan la unicidad de los atributos monovalor, a(o) = v y a(o) = w / v w inconsistencia Atributos multi-valor (o a m v) es traducido en un cjto. de cláusulas unidad a(o,v i ): Una para cada v i del cjto. de valores ctes. adoptado por el atributo: a(o,v i ) a(o, v) y a(o, v) inconsistentes Una por cada una de las restantes ctes. v i que ocurren en el tipo de atributo (negación por ausencia): a(o,v i ) Se asume que los valores de atributos multi-valor no introducidos explícitamente se consideran como no verdaderos (suposición del mundo cerrado)

2.3.3. Relación entre Reglas de Producción y Lógica de Predicados de Primer Orden Ejemplo: Hechos D = { enfermedad m :2 { regurgitación-aortíca, aortíca,, arteriosclerosis }, edad s : int } { enfermedad m = { arteriosclerosis }, edad s = 70 } Cláusulas ( bind?enfermedad ( insert?enfermedad arteriosclerosis ) ) ( bind?edad 70 ) ( paciente enfermedad arteriosclerosis ) ( paciente edad 70 ) { enfermedad( paciente, arteriosclerosis ), enfermedad( paciente, regurgitación-aórtica aórtica ), edad( paciente ) = 70 } 2.3.4. Inferencia en Sistemas Base de Conocimiento Base de Reglas R1: C1 A1 R2: C2 A2. Base de Hechos H1 H2. Añadir / Eliminar Hechos Motor de Inferencia Encadenamiento Inferencial Control Selección Pattern-Matching Reglas Aplicables Resolución de Conflictos Regla a Aplicar Ejecución Acciones Externas

2.3.4. Inferencia 2.3.4.1. Encadenamiento en Sistemas Inferencial Inferencia dirigida por el objetivo (backward) fbf implicación usadas como B-reglas: B Partiendo de la fbf objetivo, se obtienen BH objetivos parciales hasta que se satisface la condición de terminación (BH inicial). Se deduce sólo lo que es necesario en la demostración. Características: Más parecido a la conducta humana (eficacia). Obtiene respuestas a preguntas. Permiten preguntar al usuario. Necesita objetivos explícitos. OBJETIVOS SI SE SATISFACEN OBJETIVOS EN BH FIN NO SELECCIONAR REGLAS CUYAS PATTERN CONCLUSIONES SE IDENTIFICAN MATCHING CON OBJETIVOS HAY REGLAS NO PREGUNTAR A APLICABLES USUARIO POR OBJETIVOS SI RESOLUCION DE SELECCIONAR UNA REGLA CONFLICTOS GRA OBJETIVOS = PREMISAS REGLA SELECCIONADA AND EJECUCION 2.3.4. Inferencia 2.3.4.1. Encadenamiento en Sistemas Inferencial Inferencia dirigida por los datos (forward) fbf implicación usadas como F-F reglas: Operan sobre la BH inicial hasta satisfacer las fbf objetivos. Se deduce todo lo que se puede deducir. HECHOS INICIALES ENCONTRAR REGLAS POSIBLES (PREMISAS SATISFECHAS POR LA BH) HAY REGLAS SI NO SELECCIONAR UNA REGLA GRAFO AND / OR FIN PATTERN MATCHING RESOLUCION DE CONFLICTOS Características: Sistemas generativos. Obtiene todos los nuevos hechos deducibles. MODIFICACION BH (AÑADIR/ELIMINAR) OPERACIONES E/S NO PROBLEMA RESUELTO SI FIN EJECUCION

2.3.4. Inferencia 2.3.4.2. Control en Inferencial Sistemas En amplitud En profundidad Control inferencial (resolución de conflictos): Complejidad de premisas Peso de las reglas Combinación: peso, complejidad Mayor frecuencia Última utilizada Metarreglas: Aprendizaje. Utilización de reglas. Exclusión de reglas. Asignación dinámica de pesos. LHS Si ANTECEDENTE entonces CONSECUENTE P 1 ^ P 2 ^... ^ P m Elementos Patrón Constantes Variables en Sistemas A 1 ^ A 2 ^... ^ A m Acciones Modificaciones de la BH RHS Acciones Externas El leng.. de repr.. del conoc. descrito hasta ahora nos permite utilizar: Pares variable valor Tuplas obj. atr. valor Reglas de Producción Vamos a enriquecer la expresividad de dicho lenguaje, mediante patrones, para la representación de: Hechos de la BH (constantes) Condiciones y Conclusiones de las RP (constantes y variables)

en Sistemas Hechos como patrones Patrón ( (pattern):: secuencia finita ordenada de elementos: (e 1 e 2 e 3... e n ) donde cada elemento patrón e i (1 i n) es: una constante: elemento patrón constante una variable: elemento patrón variable. Variable Valor: : puede ser representado por un patrón constituido por dos constantes: x = 10 ( x 10 ) Objeto atributo valor: : puede ser representado por un patrón constituido por tres constantes: ( horno, temperatura, 100 ) ( horno temperatura 100 ) Hecho (extensión a patrones): secuencia finita ordenada de elementos: (f 1... f n ) donde cada elemento patrón f i (1 i n) es una cte. en Sistemas Ejemplos ( paciente nombre Juan edad 18 enfermedad aneurisma ) ( paciente nombre Luis edad 25 enfermedad gripe arteriosclerosis ) ( paciente nombre Pedro edad 21 enfermedad neumonía ) ( médico nombre Juan especialidad cardiología ) ( manzana tamaño grande color verde ) ( lista a b c d e ) Un patrón extiende la representación de hechos

en Sistemas Patrones en las RP Las condiciones y conclusiones de las reglas pueden referir a condiciones y conclusiones sobre patrones (con vars.. y ctes.). ( defrule regla-1 ( e 1 e 2 e 3... e n ) Un elemento patrón e i puede ser: ( assert ( a 1 a 2 a 3... a m ) ) Constante Patrón: : No contiene variables (hambriento Pedro) Variable Patrón Uni-Valor Valor: : su nombre empieza con el signo?:?x,?sexo,?edad,... Variable Patrón Multi-Valor Valor: : su nombre empieza con $?: $?enfermedad, $?ocupación,... Variables sin enlace: : Su nombre solo consta del símbolo? o $?. Son vars.. especiales que pueden estar ligadas a cualquier cte.. o secuencia de ctes., pero no preservan sus enlaces. (paciente nombre? edad? enfermedad $?z) en Sistemas Distintas ocurrencias de una misma variable patrón en una regla denotan el mismo elemento. ( defrule regla-1 ( paciente nombre Juan edad?y enfermedad $?z ) ( assert ( paciente nombre Juan edad?y enfermedad gripe ) ) ) Mediante los patrones se generaliza la sintaxis de las RP, permitiendo el uso de variables (+ pattern-matching matching).

2.3.5.1. Pattern en Matching Sistemas Pattern Matching: : Hacer sintácticamente iguales un patrón de una regla de producción y un hecho asociando variables y hechos. LHS Si ANTECEDENTE entonces CONSECUENTE RHS Aplicabilidad de una regla P 1 ^ P 2 ^... ^ P m Elementos Patrón Constantes Variables Pattern Matching Conjunto de INSTANCIAS Conjunto ordenado de hechos BH que CASAN con la LHS Base de Hechos 2.3.5.1. Pattern en Matching Sistemas (defrule COMER (p1? p2...?pn) Asumible por defecto Match: listas con variables instanciadas. No match: lista vacía ( false). not (p1? p2...? pn): Asumible como la negación Complementario a Igual. (HAMBRIENTO?PERSONA) (COMESTIBLE?ALIMENTO) (assert ( Come?PERSONA el?alimento)) BASE DE REGLAS H1: (HAMBRIENTO PEDRO) H2: (HAMBRIENTO PABLO) H3: (COMESTIBLE MANZANA) H4: (COMESTIBLE MELOCOTON) H5: (COMESTIBLE PERA) BASE DE HECHOS I1: {?PERSONA = PEDRO,?ALIMENTO = MANZANA} {H1, H3} I2: {?PERSONA = PEDRO,?ALIMENTO = MELOCOTON} {H1, H4} I3: {?PERSONA = PEDRO,?ALIMENTO = PERA} {H1, H5} I4: {?PERSONA = PABLO,?ALIMENTO = MANZANA} {H2, H3} I5: {?PERSONA = PABLO,?ALIMENTO = MELOCOTON} {H2, H4} I6: {?PERSONA = PABLO,?ALIMENTO = PERA} {H2, H5}

2.3.5.1. Pattern en Matching Sistemas Un Enlace (binding( binding) ) de una var. es una cte.. o una secuencia de ctes.. que instancian la var.?x = d : la variable mono-valor?x está ligada a la constante d. $?y = (c 1... c n ) : la variable multi-valor $?y está ligada a la secuencia de constantes (c 1... c n ) (?x?y?x a b)?x=a,?y=d (?x?y $?z a $?z)?x=g,?y=b, $?z=(c d) ( a d a a b ) ( g b c d a c d ) 2.3.5.1. Pattern en Matching Sistemas Un patrón (P) y un hecho (F) hacen match si existe un enlace de vars. de P tal que hace sintácticamente iguales P y F. Ejemplo: Enlace:?x=Juan??y=55 $?z=(aneurisma gripe) (paciente nombre?x edad?y enfermedad $?z)?x=juan?y=55 $?z=(aneurisma gripe) (paciente nombre Juan edad 55 enfermedad aneurisma gripe ) Las vars.. patrón de un patrón son reemplazadas por una o más ctes. dependiendo del tipo (mono- o multi-valor). Var. patrón mono-valor: sólo se instancia por una única cte. Var. patrón multi-valor: se instancia por una secuencia de ctes. La múltiple ocurrencia de una var. en un patrón denota un mismo objeto.

2.3.5.1. Pattern en Matching Sistemas Otros predicados de las Reglas de Producción: = > < : se aplican a variables instanciadas. assert : añadirá 'patrón' a la base de hechos. Las variables deben estar instanciadas. retract : elimina el hecho de la base de hechos. Las variables deben estar instanciadas. 2.3.5.2. Ejemplo en Sistemas - 1 BH= {(Persona nombre Juan edad 10)} ( defrule regla-1 ( persona nombre?x edad?y ) ( test ( >?y 9 )) ( assert (?x etapa joven ) ) )?x = Juan,?y = 10 El hecho (Juan etapa joven) será añadido a la BH.

2.3.5.2. Ejemplo en Sistemas - 2 BH ={(lista a b f g h), (elemento g)} ( defrule R1 ( defrule R2?f <- < (lista?x $?y) (lista?x $?) (elemento?e) (elemento?x) (test (neq?e?x)) (assert (El elemento?x pertenece a la lista)) (retract?f) (printout t El elemento?x pertenece a la lista )) (assert (lista $?y))) ( defrule R3 (lista) (elemento?x) (assert (El elemento?x no pertenece a la lista)) (printout t El elemento?x no pertenece a la lista )) 2.3.5.2. Ejemplo en Sistemas 2: BH BH H1: (lista a b f g h) H3: (lista b f g h) H2: (elemento g) H2: (elemento g) BH H4: (lista f g h) H2: (elemento g) matching {?x=a, $?y= (b f g h),?e=g} ejecución R1, R2, R3 BR {?x=b, $?y= (f g h),?e=g} R1, R2, R3 BR {?x=f, $?y= (g h),?e=g} R1, R2, R3 BR BH H5: (lista g h) H2: (elemento g) {?x=g, $?y= (h),?e=g} R1, R2, R3 BR BH H5: (lista g h) H2: (elemento g) H6: (El elemento g pertenece a la lista) Inferencia dirigida por los datos

.. 2.3.5.2. Ejemplo en Sistemas - 2 (El elemento g pertenece a la lista)? Objetivos O1: (El elemento g pertenece a la lista) O2: (lista g $?) O3: (elemento g) O4: (lista?x g $?) O3: (elemento g)?x g matching {?x=g} matching {$?y=(g $?)} {$?y=(?x g $?)} R1, R2, R3 R1, R2, R3 R1, R2, R3 O5: (lista?x1?x g $?) O3: (elemento g)?x1 g O6: (lista?x2?x1?x g $?) O3: (elemento g)?x2 g R1, R2, R3 {$?y=(?x1?x g $?)} se satisface objetivo {?x2=a,?x1=b,?x=f, $?=(h)} BH H1: (lista a b f g h) H2: (elemento g) Inferencia dirigida por el objetivo 2.3.5.2. Ejemplo en Sistemas - 2 BH H1: (lista a b f g h) H2: (elemento g) BH H3: (lista b f g h) H2: (elemento g) BH H4: (lista f g h) H2: (elemento g) matching {?x=a, $?y=(b f g h)} {?x=b, $?y= (f g h)} {?x=f, $?y=(g h)} R1, R2, R3 ejecución R1, R2, R3 R1, R2, R3 BR BR BR BH H5: (lista g h) H2: (elemento g) H5: (lista g h) H2: (elemento g) BH {?x=g, $?= (h)} H6: (El elemento g pertenece a la lista) R1, R2, R3 Inferencia dirigida por el objetivo

2.3.5.2. Ejemplo en Sistemas - 3 BH = {(libro nombre Quijote cuesta 5000 calidad media) (persona nombre Juan gana 2000)} ( defrule R1 Un libro que cuesta más de 3000, es bueno (libro nombre?x cuesta?y calidad?z) (test (>?y 3000)) (assert (libro nombre?x cuesta?y calidad?z alta) )) ( defrule R2 Una persona que gana más de 1000 es rica (persona nombre?x gana?y) (test (>?y 1000)) (assert (persona nombre?x status alto) )) 2.3.5.2. Ejemplo en Sistemas - 3 BH = {(libro nombre Quijote cuesta 5000 calidad media) (persona nombre Juan gana 2000)} ( defrule R3 Una persona de status alto, compra libros buenos (persona nombre?x status alto) (libro nombre?y cuesta $? calidad $?z) (test (member $?z alta)) (assert (compra nombre?x libro?y) ))