Está en la página 1de 43

SISTEMAS EXPERTOS Csari Matilde 02.

SISTEMAS BASADOS EN REGLAS

Los sistemas basados en reglas (SBR) son uno de los modelos de representacin del conocimiento mas ampliamente utilizados. Esto es debido a que resultan muy apropiados en situaciones en las que el conocimiento que se desea representar surge de forma natural con estructura de reglas. Uno de los paradigmas [Vivancos, 2004] de programacin tradicionalmente asociado a los sistemas basados en reglas es el de los sistemas de produccin. Desde el punto de vista semntica, hay dos aproximaciones principales a los lenguajes basados en reglas: el paradigma de la programacin lgica, usado por ejemplo en las bases de datos deductivas; y el paradigma de los sistemas de produccin, que proporciona una semnticas procedural basada en el encadenamiento hacia adelante (o atrs) de reglas. Este ltimo se emplea en las bases de datos activas y en los sistemas de produccin tpicos de los sistemas expertos. Estos sistemas se usan cuando el dominio del problema es estrecho, es decir, es un dominio en el que se comprende bien la teora. Adems, el conocimiento debe poder representarse mediante hechos y reglas. En nuestra vida diaria encontramos muchas situaciones complejas gobernadas por reglas deterministas: sistemas de control de trfico, sistemas de seguridad, transacciones bancarias, etc. Los sistemas basados en reglas1 son una herramienta eficiente para tratar estos problemas. Las reglas deterministas constituyen la ms sencilla de las metodologas utilizadas en sistemas expertos. La base de conocimiento contiene el conjunto de reglas que definen el problema, y el motor de inferencia saca las conclusiones aplicando la lgica clsica a estas reglas.

Base de hechos. Datos relevantes relativos al problema concreto Conocimiento del dominio de sistema. Forma natural de almacenar el conocimientos

Apuntes basados en el libro: CASTILLO E., GUTIRREZ J.M. y HADI A.S. Sistemas Expertos y Modelos de Redes Probabilsticas. Academia de Ingeniera, Madrid, (1997).

SISTEMAS EXPERTOS Csari Matilde 1. Arquitectura

La Base de Conocimiento En los sistemas basados en reglas intervienen dos elementos importantes: la base de conocimiento y los datos. - Los datos estn formados por la evidencia o los hechos conocidos en una situacin particular. Este elemento es dinmico, es decir, puede cambiar de una aplicacin a otra. Por esta razn, no es de naturaleza permanente y se almacena en la memoria de trabajo. - En situaciones deterministas, las relaciones entre un conjunto de objetos pueden ser representadas mediante un conjunto de reglas. El conocimiento se almacena en la base de conocimiento y consiste en un conjunto de objetos y un conjunto de reglas que gobiernan las relaciones entre esos objetos. La informacin almacenada en la base de conocimiento es de naturaleza permanente y esttica, es decir, no cambia de una aplicacin a otra, a menos que se incorporen al sistema experto elementos de aprendizaje. Para dar una idea intuitiva de lo que es una regla, supngase que se tiene un conjunto de objetos y, por simplicidad, que cada objeto puede tener uno y slo uno de un conjunto de posibles valores.
Objeto Nota Calificacin Puesto Admitir Notificar Conjunto de valores posibles {0, 1, ..., 10} {sobresaliente, notable, aprobado, suspenso} {0, 1, ..., 100} {s, pendiente, no} {s, no}

Seguidamente se dan unos pocos ejemplos de reglas:


Regla 1: Si nota > 9, entonces calificacin = sobresaliente. Regla 2: Si puesto < 20 o nota > 7, entonces Admitir = si y Notificar =si.

Cada una de las reglas anteriores relaciona dos o ms objetos y est formada por las partes siguientes: - La premisa de la regla, que es la expresin lgica entre las palabras clave si y entonces. La premisa puede contener una o ms afirmaciones. objeto-valor conectadas con operadores lgicos y, o, o no. Por ejemplo, la premisa de la Regla 1 consta de una nica afirmacin objeto-valor, mientras que las premisas de la Regla 2 constan de dos afirmaciones objeto-valor conectadas por un operador lgico. - La conclusin de la regla, que es la expresin lgica tras la palabra clave entonces. Los ejemplos anteriores facilitan la definicin siguiente de regla. Regla. Una regla es una afirmacin lgica que relaciona dos o ms objetos e incluye dos partes, la premisa y la conclusin. Cada una de estas partes consiste en una expresin lgica con una o mas afirmaciones objeto-valor conectadas mediante los operadores lgicos y, o, o no.

SISTEMAS EXPERTOS Csari Matilde

REGLAS

Una regla se escribe normalmente como Si premisa, entonces conclusin. En general, ambas, la premisa y la conclusin de una regla, pueden contener afirmaciones mltiples objetovalor. Una expresin lgica que contiene slo una afirmacin objeto-valor se denomina expresin lgica simple; en caso contrario, la expresin se dice expresin lgica compuesta.
Ejemplo 1 Cajero Automtico. Como ejemplo de problema determinista que puede ser formulado usando un conjunto de reglas, considrese una situacin en la que un usuario (por ejemplo, un cliente) desea sacar dinero de su cuenta corriente mediante un cajero automtico (CA). En cuanto el usuario introduce la tarjeta en el CA, la mquina la lee y la verifica. Si la tarjeta no es verificada con xito (por ejemplo, porque no es legible), el CA devuelve la tarjeta al usuario con el mensaje de error correspondiente. En otro caso, el CA pide al usuario su nmero de identificacin personal (NIP). Si el nmero fuese incorrecto, se dan tres oportunidades de corregirlo. Si el NIP es correcto, el CA pregunta al usuario cunto dinero desea sacar. Para que el pago se autorice, la cantidad solicitada no debe exceder de una cierta cantidad lmite diaria, adems de haber suficiente dinero en su cuenta. En este caso se tienen siete objetos, y cada objeto puede tomar uno y slo un valor de entre sus posibles valores. La Tabla 2.1 muestra estos objetos y sus posibles valores.
Objeto Conjunto de posibles valores Tarjeta {verificada, no verificada} Fecha {expirada, no expirada} NIP {correcto, incorrecto} Intentos {excedidos, no excedidos} Balance {suficiente, insuficiente} Lmite {excedido, no excedido} Pago {autorizado, no autorizado} TABLA 2.1. Objetos y posibles valores para el ejemplo del cajero automtico.

La Figura 2.1 muestra siete reglas que gobiernan la estrategia que el CA debe seguir cuando un usuario intenta sacar dinero de su cuenta. En la Regla 1, por ejemplo, la premisa consiste en seis afirmaciones objetovalor conectadas mediante el operador lgico y, lo que indica que la premisa es cierta si las seis afirmaciones lo son. Por ello, la Regla 1 relaciona el objeto Pago (en la conclusin) con los dems objetos. Segn la Regla 1, la accin que debe iniciar el CA es dar el dinero al usuario si la tarjeta se ha verificado correctamente, la fecha no ha expirado, el NIP es correcto, el nmero de intentos para dar el NIP correcto no se ha excedido y la cantidad solicitada no excede ni la cantidad disponible ni el lmite mximo diario. Las expresiones lgicas en cada una de las restantes reglas de la Figura 2.1 constan de una sola afirmacin. Ntese que la Regla 1 indica cundo debe permitirse el pago, y las restantes cundo debe rechazarse.

SISTEMAS EXPERTOS Csari Matilde

FIGURA 2.1. Ejemplos de reglas para sacar dinero de un cajero automtico.

Las expresiones lgicas en ambas, premisa y conclusin de la Regla 1, son simples, mientras que las expresiones lgicas de las premisas y la conclusin de la Regla 2 es compuesta. Correspondientemente, una regla que contiene solamente expresiones lgicas simples se denomina una regla simple; en otro caso, se llama regla compuesta. Por ejemplo, la Regla 1 es simple, mientras que la Reglas 2 es compuesta. Ejemplo 2 Gente famosa. Supngase que se dispone de una base de datos consistente en N individuos. Para cada individuo, la base de datos contiene cuatro atributos: nombre, sexo, nacionalidad y profesin. Supngase que la base de datos muestra slo si una persona es americana, poltica y/o si es mujer. Cada uno estos atributos es binario (toma slo dos valores posibles). En este caso, la base de datos puede contener, como mucho, 23 = 8 conjuntos disjuntos. Estos conjuntos se muestran en la Figura 2.2. La figura muestra tambin el nombre de una persona en cada subconjunto. La Tabla 2.2 da un ejemplo de una base de datos que contiene N = 8 personas famosas. En este caso se tienen cuatro objetos: Nombre, Americano, Poltico, y Mujer. El primer objeto puede tomar uno de N posibles valores (los nombres de cada persona) y cada uno de los tres ltimos objetos pueden tomar el valor s o el valor no. A partir de la Tabla 2.2 se pueden construir reglas para identificar a cada persona, resultando un total de ocho reglas. Por ejemplo, la regla siguiente corresponde al presidente Clinton: Regla 1: Si Nombre = Clinton, entonces Americano = s y Poltico = s y Mujer = no. Las restantes siete reglas pueden construirse de forma anloga.
Nombre
Barbara Jordan Bill Clinton Barbara Walters Mohammed Ali Margaret Thatcher Anwar El-Sadat Marie Curie Pablo Picasso

Americano Poltico
s s s s no no no no s s no no s s no no

Mujer
s no s no s no s no

TABLA 2.2. Una base de datos mostrando cuatro objetos y sus valores correspondientes para el ejemplo de las personas famosas.

SISTEMAS EXPERTOS Csari Matilde

FIGURA 2.2. Un ejemplo de una base de datos con tres atributos binarios que dividen la poblacin en ocho conjuntos disjuntos.

Los Ejemplos 1 y 2 se utilizarn posteriormente para ilustrar varios conceptos relacionados con los sistemas expertos basados en reglas. Algunos sistemas imponen ciertas restricciones a las reglas. Por ejemplo: No permitir en la premisa el operador lgico o, y Limitar las conclusiones a expresiones lgicas simples. Hay buenas razones para imponer estas restricciones. En primer lugar, las reglas que satisfacen estas restricciones son fciles de tratar a la hora de escribir un programa de ordenador. En segundo lugar, las dos restricciones anteriores no dan lugar a una prdida de generalidad, puesto que reglas mucho ms generales pueden ser reemplazadas por conjuntos de reglas de esta forma. A esto se le llama sustitucin de reglas. Por tanto, el conjunto de reglas especificado inicialmente por el experto humano puede requerir una sustitucin posterior por un conjunto de reglas equivalente para satisfacer estas restricciones.
La Tabla 2.3 da ejemplos de sustitucin de reglas. Ntese que cada regla de la primera columna puede ser sustituda por el correspondiente conjunto de reglas de la segunda columna y que todas las reglas de sta satisfacen las condiciones anteriores. Por ejemplo, la primera regla compuesta de la Tabla 2.3:

TABLA 2.3. Ejemplos de sustitucin de reglas: Las reglas en la primera columna son equivalentes a las reglas de la segunda columna. Ntese que en los seis primeros ejemplos las sustituciones se aplican a la premisa y en los cuatro ltimos, a la conclusin.

SISTEMAS EXPERTOS Csari Matilde


Regla 1: Si A o B, entonces C, puede ser reemplazada por las dos reglas simples:

Como ejemplo adicional, la Tabla 2.5 muestra que

puede ser reemplazada por la regla donde A significa no A.

La Tabla 2.4 se llama tabla de verdad.

TABLA 2.4. Una tabla de verdad mostrando que las expresiones lgicas A o B y A y B son equivalentes. Los smbolos C y F se utilizan para cierto y falso, respectivamente.

El Motor de Inferencia Tal como se ha mencionado en la seccin anterior, hay dos tipos de elementos: los datos (hechos o evidencia) y el conocimiento (el conjunto de reglas almacenado en la base de conocimiento). El motor de inferencia usa ambos para obtener nuevas conclusiones o hechos. Por ejemplo, si la premisa de una regla es cierta, entonces la conclusin de la regla debe ser tambin cierta. Los datos iniciales se incrementan incorporando las nuevas conclusiones. Por ello, tanto los hechos iniciales o datos de partida como las conclusiones derivadas de ellos forman parte de los hechos o datos de que se dispone en un instante dado. Las conclusiones pueden clasificarse en dos tipos: simples y compuestas. Las conclusiones simples son las que resultan de una regla simple. Las conclusiones compuestas son las que resultan de ms de una regla. Para obtener conclusiones, los expertos utilizan diferentes tipos de reglas y estrategias de inferencia y control

INFERENCIA

Deduccin El nuevo conocimiento es cierto si se parte de conocimiento cierto. Esta es la fuerza de la inferencia lgica y, por tanto, de la lgica. Induccin Es el mecanismo del Aprendizaje Automtico Presenta el problema de la dudosa fiabilidad del conocimiento inferido Equipara correlacin con causalidad

SISTEMAS EXPERTOS Csari Matilde Abduccin De un conjunto de reglas y hechos observados (conocimiento) produce un conjunto de explicaciones posibles que, usando la deduccin, haran coherente el conocimiento de partida.

Un SBR que emplee el paradigma de los sistemas de produccin se dene como una terna (BH,BR,MI) formada por una base de hechos BH, una base de reglas BR y un motor de inferencias MI que emplea una estrategia de control. [Vivancos, 2004] Durante la ejecucin del SBR, como resultado del proceso de resolucin del problema modelado por el SBR ante una instancia concreta del problema, se a naden o eliminan hechos de la memoria de trabajo. Una regla viene denida por un conjunto de patrones que forman el antecedente de la regla y un consecuente formado por un conjunto de acciones a ejecutar cuando se cumple el antecedente. El antecedente tambin se conoce como parte izquierda (Left-HandSide) o simplemente LHS, mientras que el consecuente tambin es llamado parte derecha (Right-Hand-Side) o RHS. Cada uno de los patrones del antecedente de una regla puede estar compuesto por una o mas condiciones. La semntica de los SBR implica que las reglas que forman el programa se ejecutan (disparan) en paralelo hasta que se alcanza su punto jo. La estrategia de control decide el orden en que se seleccionan y disparan las reglas. Ciclo de reconocimiento-accin de un SBR. La ejecucin de un SBR [Vivancos, 2004] sigue un ciclo denominado ciclo de reconocimiento-accin que consta de las siguientes fases:

Evaluacin (o match): En esta fase se evalan los patrones del antecedente de las reglas para determinar cuales se satisfacen en funcin del contenido actual de la memoria de trabajo. Esta labor se lleva a cabo mediante un algoritmo de emparejamiento de patrones, o pattern matching como Rete, o Treat. Una regla se activa cuando se satisface todo su antecedente. El resultado de la activacin de una regla seria una o ms instancias de regla en la que todas las variables que aparecen en el antecedente de la regla estarn ligadas a constantes. Todas las instancias de reglas activas, que forman el denominado conjunto conicto, permanecen almacenadas, hasta ser seleccionadas para ejecutarse, en una estructura denominada agenda. Seleccin (o resolucin del conictos): Se selecciona y extrae una regla de la agenda en funcin de algn criterio especicado en la estrategia de control. Ejecucin (o accin): Se ejecutan las acciones que aparecen en el consecuente de la regla seleccionada. La ejecucin de las acciones del consecuente de una regla frecuentemente modica algn elemento de la memoria de trabajo, lo que provoca que se vuelva a la fase de evaluacin, comenzando de nuevo el ciclo de reconocimiento - accin. Si no se modica ningn elemento de la memoria de trabajo, se selecciona otra instancia de regla del conjunto conicto. La ejecucin del SBR naliza cuando no queda ninguna instancia de regla en la agenda. Decimos que un SBR alcanza su punto jo cuando ninguna de las reglas esta activa, o nicamente hay activas reglas cuyo consecuente no modica la memoria de trabajo.

SISTEMAS EXPERTOS Csari Matilde Dos de los motores de inferencia ms utilizados son: CLIPS2 y Jess3:

CLIP significa, C Language Integrated Production System, desarrollado en NASAs Johnson Space Center a mediados de los 80s, C se utiliz como lenguaje de implementacin. Versin inicial: interpretador de reglas de producin. Actualmente: COOL = CLIPS Object-Oriented Language

http://scalab.uc3m.es/docweb/ia/software.html
Jess significa, Java Expert System Shell, es un entorno en para el desarrollo de sistemas expertos mediante la generacin de reglas de produccin, es la versin en java de CLIPS, est programado totalmente en Java por lFriedman-Colina de Ernest J. en los laboratorios nacionales de Sandia para el Ministerio de Energa de los EE.UU, se puede poner en ejecucin como applet, Existe un API JAVA desarrollado para crear SBR.

http://herzberg.ca.sandia.gov/jess/

http://www.jessrules.com/jess/index.shtml

Aplicaciones Java + razonamiento de un sistema experto (reglas). JESS une hechos de la base de hechos con reglas de la base de reglas. Estas reglas contienen llamadas a funciones que manipulan la base de hechos y/u otro cdigo Java. JESS usa el algoritmo Rete (ree-tee) para unir patrones. Una red Rete es una coleccin de nodos interconectados, es decir, una memoria funcional.

2. Inferencia en Sistemas de Reglas Las reglas de inferencia: Modus Ponens, Modus Tollens, Resolucin ; y las estrategias de inferencia: Encadenamiento de reglas, Encadenamiento de reglas orientado a un objetivo, Compilacin de reglas; que son utilizadas por el motor de inferencia para obtener conclusiones simples y compuestas. Las dos primeras reglas de inferencia se usan para obtener conclusiones simples y el resto de reglas y estrategias para obtener conclusiones compuestas.

1 Modus Ponens y Modus Tollens El Modus Ponens es quizs la regla de inferencia ms comnmente utilizada. Se utiliza para obtener conclusiones simples. En ella, se examina la premisa de la regla, y si es cierta, la conclusin pasa a formar parte del conocimiento. Como ilustracin, supngase que se tiene la regla, Si A es cierto, entonces B es cierto y que se sabe adems que A es cierto. Entonces, tal como muestra la Figura 2.3, la regla Modus Ponens concluye que B es cierto. Esta regla de inferencia, que parece trivial, debido a su familiaridad, es la base de un gran nmero de sistemas expertos.

2 3

G. D. Riley, "CLIPS, a tool for building expert systems." E. J. Friedman-Hill, "Jess, the Expert System Shell for the Java Platform," 2003.

SISTEMAS EXPERTOS Csari Matilde

Se examina la premisa y si es cierta, la conclusin pasa a formar parte del conocimiento.

FIGURA 2.3. Una ilustracin de la regla de inferencia Modus Ponens.

La regla de inferencia Modus Tollens se utiliza tambin para obtener conclusiones simples. En este caso se examina la conclusin y si es falsa, se concluye que la premisa tambin es falsa. Por ejemplo, supngase de nuevo que se tiene la regla, Si A es cierto, entonces B es cierto pero se sabe que B es falso. Entonces, utilizando la regla Modus Ponens no se puede obtener ninguna conclusin, pero, tal como se muestra en la Figura 2.4, la regla Modus Tollens concluye que A es falso. Aunque muy simple y con muchas aplicaciones tiles, la regla Modus Tollens es menos utilizada que la Modus Ponens. Por ello, la regla Modus Ponens se mueve hacia adelante, es decir, de la premisa a la conclusin de una regla, mientras que la regla Modus Tollens se mueve hacia atrs, es decir, de la conclusin a la premisa. Las dos reglas de inferencia no deben ser vistas como alternativas sino como complementarias. La regla Modus Ponens necesita informacin de los objetos de la premisa para concluir, mientras que la regla Modus Tollens necesita informacin sobre los objetos de la conclusin. De hecho, para un motor de inferencia que solamente utiliza Modus Ponens, la incorporacin de la regla de inferencia Modus Tollens puede ser considerada como una expansin de la base de conocimiento mediante la adicin de reglas, tal como ilustra el ejemplo que sigue.

Se examina la conclusin y si es falsa, se concluye que la premisa tambin es falsa.

FIGURA 2.4. Una ilustracin de la regla Modus Tollens.

Ejemplo 3 La regla Modus Tollens equivale a una expansin de la base de conocimiento. Supngase que la base de conocimiento consiste slo en la Regla 1, que se muestra en la Figura 2.5. Se puede utilizar la regla de inferencia Modus Tollens para invertir la Regla 1 y obtener alguna conclusin cuando se tiene informacin sobre los objetos de su conclusin. Entonces, aplicar la regla Modus Tollens a la regla Si A, entonces B es equivalente a aplicar la regla Modus Ponens a la regla Si B, entonces A. En este caso de Regla 1, utilizando la equivalencia: (A = C y B = C) (A = F) o (B = F), Se obtiene la Regla 1b, que se muestra en la Figura 2.6. Por ello, utilizar ambas, las reglas Modus Ponens y Modus Tollens cuando la base de conocimiento contiene slo la Regla 1, es equivalente a usar la regla Modus Ponens cuando la base de conocimiento contiene ambas, la Regla 1 y la Regla 1b. Por otra parte, el rendimiento del motor de inferencia depende del conjunto de reglas en su base de conocimiento. Hay situaciones en las que el motor de inferencia puede concluir utilizando un conjunto de reglas, pero no puede, utilizando otro (aunque stos sean lgicamente equivalentes). A continuacin se da un ejemplo ilustrativo.

SISTEMAS EXPERTOS Csari Matilde

10

FIGURA 2.5. Regla 1 tomada de la Figura 2.1.

FIGURA 2.6. La Regla 1b puede obtenerse de la Regla 1 utilizando la regla de inferencia Modus Tollens.

Ejemplo 4 Inferencia con dos conjuntos equivalentes de reglas. Supngase de nuevo que se tienen dos motores de inferencia: El motor E1, cuya base de conocimiento contiene las siete reglas de la Figura 2.1, y el motor E2, cuya base de conocimiento contiene las siete reglas de la Figura 2.7. Ntese que los dos conjuntos de reglas son lgicamente equivalentes. Supngase adems que se sabe que el valor de NIP es incorrecto. Si ambos E1 y E2 utilizan slo la regla de inferencia Modus Ponens, entonces E1 ser capaz de concluir que Pago = no autorizado (por la Regla 4), pero E2 no concluir. Por ello, algunas de las conclusiones lgicamente derivables pueden no ser obtenidas usando slo la regla de inferencia Modus Ponens. Por otra parte, si ambos motores usan la regla Modus Tollens, entonces ambos concluirn.

FIGURA 2.7. Un conjunto de reglas lgicamente equivalentes al conjunto de reglas de la Figura 2.1).

SISTEMAS EXPERTOS Csari Matilde

11

2. El Mecanismo de Resolucin Las reglas de inferencia Modus Ponens y Modus Tollens pueden ser utilizadas para obtener conclusiones simples. Por otra parte, las conclusiones compuestas, que se basan en dos o ms reglas, se obtienen usando el llamado mecanismo de resolucin. Esta regla de inferencia consiste en las etapas siguientes: 1. Las Reglas son sustituidas por expresiones lgicas equivalentes. 2. Estas expresiones lgicas se combinan en otra expresin lgica. 3. Esta ltima expresin se utiliza para obtener la conclusin. Estas etapas involucran conceptos tales como la combinacin y simplificacin de expresiones lgicas, que se ilustran de un modo intuitivo en los ejemplos que siguen. Para un tratamiento detallado de esta regla de inferencia el lector puede consultar alguno de los libros especficos citados en las referencias bibliogrficas.
Ejemplo 2.5 Mecanismo de resolucin 1. Supngase que se tienen las dos reglas: Regla 1: Si A es cierto, entonces B es cierto. Regla 2: Si B es cierto, entonces C es cierto.

La primera etapa en el mecanismo de resolucin consiste en sustituir cada una de las dos reglas por expresiones lgicas equivalentes. Esto se hace como sigue (vase la Figura 2.8):
La Regla 1 es equivalente a la expresin lgica: A es falso o B es cierto. Una prueba de esta equivalencia se muestra en la tabla de verdad que se muestra en la Tabla 2.5. Similarmente, la Regla 2 es equivalente a la expresin lgica: B es falso o C es cierto.

FIGURA 2.8. Un ejemplo ilustrando la regla de inferencia correspondiente al mecanismo de resolucin. A B A Si A, entonces B A o B C C F C C C F F F F F C C C C F F C C C TABLA 2.5. Una tabla de verdad mostrando que la regla Si A es cierto, entonces B es cierto es equivalente a la expresin lgica A es falso o B es cierto.

La segunda etapa consiste en combinar las dos expresiones anteriores en una, tal como sigue: Las expresiones lgicas A es falso o B es cierto y B es falso o C es cierto implican la expresin A es falso o C es cierto. Una prueba de esta equivalencia se muestra en la Tabla 2.6. Esta ltima expresin se utiliza seguidamente en la tercera etapa para obtener la conclusin. Las etapas anteriores se ilustran en la Figura 2.8.
A B C A o B B o C (A o B) y (B o C) A o C C C C C C C C C C F C F F F C F C F C F C C F F F C F F F C C C C C C F C F C F F C F F C C C C C F F F C C C C TABLA 2.6. Una tabla de verdad que muestra que las expresiones lgicas A es falso o B es cierto y B es falso o C es cierto implican la expresin lgica A es falso o C es cierto.

SISTEMAS EXPERTOS Csari Matilde

12

Ejemplo 6 Mecanismo de resolucin 2. Considrese de nuevo el ejemplo del CA con el objeto aadido Explicar, que puede tomar los valores {s, no}, indicando si se necesita explicar las acciones del CA. Apliquemos ahora el mecanismo de resolucin a la evidencia NIP = incorrecto y a las reglas siguientes: Si NIP = incorrecto entonces Pago = no autorizado. Si Pago = no autorizado entonces Explicar = s. Tal como se ilustra en la Figura 2.9, la regla de inferencia correspondiente al mecanismo de resolucin conduce a la conclusin Explicar = s. En efecto, siguiendo los pasos indicados, se tiene 1. Las dos reglas se sustituyen por las expresiones equivalentes: NIP = correcto o Pago = no autorizado Pago = autorizado o Explicar = s 2. Las dos expresiones anteriores se combinan de la forma indicada para dar la expresin NIP = correcto o Explicar = s, y 3. Esta ltima expresin se combina con la evidencia NIP = incorrecto, y se obtiene la conclusin compuesta, Explicar = s.

FIGURA 2.9. La regla de inferencia del mecanismo de resolucin aplicada al ejemplo del CA.

Es importante sealar que la regla de inferencia correspondiente al mecanismo de resolucin no siempre conduce a conclusiones, pues, de hecho, puede no conocerse la verdad o falsedad de ciertas expresiones. Si esto ocurre, el sistema experto, o ms precisamente, su motor de inferencia, debe decidir entre: - Abandonar la regla, dada la imposibilidad de obtener conclusiones, o - Preguntar al usuario, mediante el subsistema de demanda de informacin, sobre la verdad o falsedad de una o varias expresiones para poder continuar el proceso de inferencia hasta que se obtenga una conclusin. 3 Encadenamiento de Reglas Una de las estrategias de inferencia ms utilizadas para obtener conclusiones compuestas es el llamado encadenamiento de reglas. Esta estrategia puede utilizarse cuando las premisas de ciertas reglas coinciden con las conclusiones de otras. Cuando se encadenan las reglas, los hechos pueden utilizarse para dar lugar a nuevos hechos. Esto se repite sucesivamente hasta que no pueden obtenerse ms conclusiones. El tiempo que consume este proceso hasta su terminacin depende, por una parte, de los hechos conocidos, y, por otra, de las reglas que se activan. La estrategia de encadenamiento de reglas se da en el algoritmo siguiente: Algoritmo 2.1 Encadenamiento de reglas.
Datos: Una base de conocimiento (objetos y reglas) y algunos hechos iniciales. Resultado: El conjunto de hechos derivados lgicamente de ellos. 1. Asignar a los objetos sus valores conocidos tales como los dan los hechos conocidos o la evidencia 2. Ejecutar cada regla de la base de conocimiento y concluir nuevos hechos si es posible. 3. Repetir la Etapa 2 hasta que no puedan ser obtenidos nuevos hechos.

Este algoritmo puede ser implementado de muchas formas. Una de ellas comienza con las reglas cuyas premisas tienen valores conocidos. Estas reglas deben concluir y sus conclusiones dan lugar a nuevos hechos. Estos nuevos hechos se aaden al conjunto de hechos conocidos, y el proceso contina hasta que no pueden obtenerse nuevos hechos. Este proceso se ilustra, a continuacin, con dos ejemplos.

SISTEMAS EXPERTOS Csari Matilde

13

Ejemplo 7 Encadenamiento de Reglas 1. La Figura 2.10 muestra un ejemplo de seis reglas que relacionan 13 objetos, del A al M. Las relaciones entre estos objetos implicadas por las seis reglas pueden representarse grficamente, tal como se muestra en la Figura 2.11, donde cada objeto se representa por un nodo. Las aristas representan la conexin entre los objetos de la premisa de la regla y el objeto de su conclusin. Ntese que las premisas de algunas reglas coinciden con las conclusiones de otras reglas. Por ejemplo, las conclusiones de las Reglas 1 y 2 (objetos C y G) son las premisas de la Regla 4. Supngase que se sabe que los objetos A,B,D,E,F,H e I son ciertos y los restantes objetos son de valor desconocido. La Figura 2.12 distingue entre objetos con valor conocido (los hechos) y objetos con valores desconocidos. En este caso, el algoritmo de encadenamiento de reglas procede como sigue: - La Regla 1 concluye que C = cierto. - La Regla 2 concluye que G = cierto. - La Regla 3 concluye que J = cierto. - La Regla 4 concluye que K = cierto. - La Regla 5 concluye que L = cierto. - La Regla 6 concluye que M = cierto. Puesto que no pueden obtenerse ms conclusiones, el proceso se detiene. Este proceso se ilustra en la Figura 2.12, donde los nmeros en el interior de los nodos indican el orden en el que se concluyen los hechos. Ejemplo 2.8 Encadenamiento de reglas 2. Considrense de nuevo las seis reglas de la Figura 2.10 y supngase ahora que se dan los hechos H = cierto, I = cierto, K = cierto y M = falso. Esto se ilustra en la Figura 2.13, donde los objetos con valores conocidos (los hechos) aparecen

FIGURA 2.10. Un ejemplo de un conjunto de seis reglas relacionando 13 objetos.

FIGURA 2.11. Una representacin grfica de las relaciones entre las seis reglas de la Figura 2.10.

Sombreados y la variable objetivo se muestra rodeada por una circunferencia. Supngase, en primer lugar, que el motor de inferencia usa las dos reglas de inferencia Modus Ponens y Modus Tollens. Entonces, aplicando el Algoritmo 2.1, se obtiene 1. La Regla 3 concluye que J = cierto (Modus Ponens). 2. La Regla 6 concluye (Modus Tollens) que K = falso o L = falso, pero, puesto que K = cierto, deber ser L = falso.

SISTEMAS EXPERTOS Csari Matilde

14

FIGURA 2.12. Un ejemplo que ilustra la estrategia de encadenamiento de reglas. Los nodos con valores conocidos aparecen sombreados y los nmeros en su interior indican el orden en el que se concluyen los hechos.

3. La Regla 5 concluye (Modus Tollens) que G = falso o J = falso, pero, puesto que J = cierto, deber ser G = falso. En consecuencia, se obtiene la conclusin G = falso. Sin embargo, si el motor de inferencia slo utiliza la regla de inferencia Modus Ponens, el algoritmo se detendr en la Etapa 1, y no se concluir nada para el objeto G. Este es otro ejemplo que ilustra la utilidad de la regla de inferencia Modus Tollens.

Ntese que la estrategia de encadenamiento de reglas diferencia claramente entre la memoria de trabajo y la base de conocimiento. La memoria de trabajo contiene datos que surgen durante el periodo de consulta. Las premisas de las reglas se comparan con los contenidos de la memoria de trabajo y cuando se obtienen nuevas conclusiones son pasadas tambin a la memoria de trabajo. 4 Encadenamiento de Reglas Orientado a un Objetivo El algoritmo de encadenamiento de reglas orientado a un objetivo requiere del usuario seleccionar, en primer lugar, una variable o nodo objetivo; entonces el algoritmo navega a travs de las reglas en bsqueda de una conclusin para el nodo objetivo. Si no se obtiene ninguna conclusin con la informacin existente, entonces el algoritmo fuerza a preguntar al usuario en busca de nueva informacin sobre los elementos que son relevantes para obtener informacin sobre el objetivo. Algunos autores llaman a los algoritmos de encadenamiento y de encadenamiento orientado a un objetivo encadenamiento hacia adelante y encadenamiento hacia atrs, respectivamente. Pero esta terminologa puede ser confusa, puesto que ambos algoritmos pueden, en realidad, utilizar las dos reglas de inferencia Modus Ponens (hacia adelante) y Modus Tollens (hacia atrs).

El algoritmo de encadenamiento de reglas orientado a un objetivo se describe a continuacin.

SISTEMAS EXPERTOS Csari Matilde Algoritmo 2.2 Encadenamiento de reglas orientado a un objetivo.

15

Datos: Una base de conocimiento (objetos y reglas), algunos hechos iniciales, y un nodo o variable objetivo. Resultado: El valor del nodo o variable objetivo. 1. Asigna a los objetos sus valores conocidos tales como estn dados en los hechos de partida, si es que existe alguno. Marcar todos los objetos cuyo valor ha sido asignado. Si el nodo objetivo est marcado, ir a la Etapa 7; en otro caso: (a) Designar como objetivo inicial el objetivo en curso. (b) Marcar el objetivo en curso. (c) Sea ObjetivosPrevios = , donde es el conjunto vaco. (d) Designar todas las reglas como activas (ejecutables). (e) Ir a la Etapa 2. 2. Encontrar una regla activa que incluya el objetivo en curso y ninguno de los objetos en ObjetivosPrevios. Si se encuentra una regla, ir a la Etapa 3; en otro caso, ir a la Etapa 5. 3. Ejecutar la regla referente al objetivo en curso. Si concluye, asignar el valor concluido al objetivo en curso, e ir a la Etapa 6; en otro caso, ir a la Etapa 4. 4. Si todos los objetos de la regla estn marcados, declarar la regla como inactiva e ir a la Etapa 2; en otro caso: (a) Aadir el objetivo en curso a ObjetivosPrevios. (b) Designar uno de los objetos no marcados en la regla como el objetivo en curso. (c) Marcar el objetivo en curso. (d) Ir a la Etapa 2. 5. Si el objetivo en curso es el mismo que el objetivo inicial, ir a la Etapa 7; en otro caso, preguntar al usuario por el valor del objetivo en curso. Si no se da un valor, ir a la Etapa 6; en otro caso asignar al objeto el valor dado e ir a la Etapa 6. 6. Si el objetivo en curso es el mismo que el objetivo inicial, ir a la Etapa 7; en otro caso, designar el objetivo previo como objetivo en curso, eliminarlo de ObjetivosPrevios, e ir a la Etapa 2. 7. Devolver el valor del objetivo en curso si es conocido.

FIGURA 2.13. Otro ejemplo que ilustra el algoritmo de encadenamiento de reglas. Los nodos con valores conocidos aparecen sombreados, la variable objetivo se muestra rodeada por una circunferencia, y los nmeros del interior de los nodos indican el orden en el que se concluyen los hechos.

A continuacin se ilustra el encadenamiento de reglas orientado a un objetivo mediante algunos ejemplos.


Ejemplo 9 Encadenamiento de reglas orientado a un objetivo. Considrense las seis reglas de las Figuras 2.10 y 2.11. Supngase que se selecciona el nodo M como nodo objetivo y que se sabe que los objetos D, E,F y L son ciertos. Estos nodos estn sombreados en la Figura 2.14. Las etapas del algoritmo de encadenamiento de reglas orientado a un objetivo se ilustran en la Figura 2.14, donde el nmero en el interior de un nodo indica el orden en el que se visita cada nodo. Estas etapas son:

SISTEMAS EXPERTOS Csari Matilde

16

FIGURA 2.14. Un ejemplo que ilustra el algoritmo de encadenamiento de reglas orientado a un objetivo. Los nodos cuyo valor es conocido se han sombreado, el nodo objetivo se ha rodeado por una circunferencia, y el nmero en el interior de un nodo indica el orden en el que se visita cada nodo.

Etapa 1: Se asigna el valor cierto a los objetos D, E, F y L y se marcan. Puesto que el nodo objetivo M no est marcado, entonces - Se designa el objeto M como objeto en curso. - Se marca el objeto M. Por tanto, se tiene ObjetosMarcados = {D,E, F,L, M}. - ObjetivosPrevios = . - Las seis reglas estn activas. Por tanto, se tiene ReglasActivas = {1,2, 3,4,5,6}. - Se va a la Etapa 2. Etapa 2. Se busca una regla que incluya el objetivo en curso M. Se encuentra la Regla 6, por lo que se va a la Etapa 3. Etapa 3. La Regla 6 no puede concluir puesto que el valor del objeto K es desconcoido. As que se va a la Etapa 4. Etapa 4. El objeto K no est marcado. Entonces - ObjetivosPrevios = {M}. - Se elige el objeto K como objetivo en curso. - El objeto K est marcado. Por tanto se tiene, ObjetosMarcados = {D, E, F, L, M, K}. - Se va a la Etapa 2. Etapa 2. Se busca una regla que incluya el objetivo en curso K pero no el anterior M. Se encuentra la Regla 4, y se continu con la Etapa 3. Etapa 3. La Regla 4 no puede concluir puesto que se desconocen los valores de los objetos C y G. Por ello, se continu con la Etapa 4. Etapa 4. Los objetos CyGno estn marcados. Entonces - ObjetivosPrevios = {M, K}. - Se elige uno de los objetos no marcados C o G como el nuevo objetivo en curso. Supngase que se elige C. - Se marca el objeto C. Por tanto, se tiene ObjetosMarcados = {D, E, F, L, M, K, C}. - Se continu con la Etapa 2. Etapa 2. Se busca una regla activa que incluya el objetivo en curso C pero no objetos que se va a la Etapa 3. Etapa 3. La Regla 1 no puede concluir puesto que se desconocen los C pero no los objetos previos {M, K}. Se encuentra la Regla 1, as concluir valores de los objetos Ay B. Por tanto se continu con la Etapa 4. Etapa 4. Los objetos A y B no estn marcados. Entonces - ObjetivosPrevios = {M, K, C}. - Se elige uno de los objetos no marcados A y B como nuevo objetivo en curso. Supngase que se elige A. - Se marca el objeto A. Por ello, ObjetosMarcados = {D, E, F, L, M, K, C, A}. - Se continu con la Etapa 2.

SISTEMAS EXPERTOS Csari Matilde

17

Etapa 2. Se busca una regla activa que incluya el objetivo en curso A pero no los objetivos previos {M, K, C}. No se encuentra ninguna regla que satisfaga estas condiciones, as que se pasa a la Etapa 5. Etapa 5. Puesto que el objetivo en curso A es diferente del inicial M, se pregunta al usuario por el valor del objeto A. Supngase que A toma el valor cierto, entonces se hace A = cierto y se sigue con la Etapa 6. Etapa 6. El objetivo en curso A no coincide con el previo M. Por tanto, el objeto C se designa como objetivo en curso y se elimina de la lista ObjetivosPrevios. Por ello, ObjetivosPrevios = {M,K} y se continu con la Etapa 2. Etapa 2. Se busca una regla activa que incluya el objetivo C pero no los anteriores {M, K}. Se encuentra la Regla 1, por lo que se va a la Etapa 3. Etapa 3. La Regla 1 no puede concluir porque el valor del objeto B es desconocido. As que se va a la Etapa 4. Etapa 4. El objeto B no est marcado. Entonces - ObjetivosPrevios = {M, K, C}. - Se elige como objetivo en curso el nico objeto no marcado, B. - Se marca el objeto B. Por ello, ObjetosMarcados = {D, E, F, L, M, K, C, A, B}. - Se va a la Etapa 2. Etapa 2. Se busca una regla activa que incluya el objetivo B pero no los objetivos previos {M,K,C}. Como no se encuentra ninguna regla, se va a la Etapa 5. Etapa 5. Puesto que el objetivo en curso B no coincide con el inicial M, se pregunta al usuario el valor del objetivo en curso B. Supngase que se da un valor cierto a B, entonces se hace B = cierto y se va a la Etapa 6. Etapa 6. Como el objetivo en curso B no coincide con el inicial M, se designa el objetivo previo C como objetivo en curso y se elimina de ObjetivosPrevios. Por ello, ObjetivosPrevios = {M, K} y se va a la Etapa 2. Etapa 2. Se busca una regla activa que incluya el objetivo en curso C pero no los anteriores {M, K}. Se encuentra la Regla 1, por lo que se va a la Etapa 3. Etapa 3. Puesto que A = cierto y B = cierto, entonces C = cierto por la Regla 1. Ahora se va a la Etapa 6. Etapa 6. El objetivo en curso C no coincide con el inicial M. Entonces, se designa el objetivo previo K como objetivo en curso y se elimina de ObjetivosPrevios. Por ello, ObjetivosPrevios = {M} y se va a la Etapa 2. Etapa 2. Se busca una regla activa que incluya el objetivo en curso K pero no los anteriores {M}. Se encuentra la Regla 4, por lo que se va a la Etapa 3. Etapa 3. La Regla 4 no puede concluir puesto que el valor del objeto G es desconocido. Por tanto, se va a la Etapa 4. Etapa 4. El objeto G no est marcado. Entonces - ObjetivosPrevios = {M, K}. - El nico objeto no marcado G se elige como objetivo en curso. - Se marca el objeto G. Por ello, ObjetosMarcados = {D, E, F, L, M, K, C, A, B, G}. - Se va a la Etapa 2. Etapa 2. Se busca una regla activa que incluya el objetivo en curso G pero no los anteriores {M, K}. Se encuentra la Regla 2, por lo que se va a la Etapa 3. Etapa 3. Puesto que D = cierto, E = cierto y F = cierto, entonces G = cierto por la Regla 2. Ahora se va a la Etapa 6. Etapa 6. El objetivo en curso G no coincide con el inicial M. Entonces, se designa el objetivo previo K como objetivo en curso y se elimina de ObjetivosPrevios. Por ello, ObjetivosPrevios = {M} y se va a la Etapa 2. Etapa 2. Se busca una regla activa que incluya el objetivo en curso K pero no los anteriores {M}. Se encuentra la Regla 4, por lo que se va a la Etapa 3. Etapa 3. Puesto que C = cierto y G = cierto, entonces K = cierto por la Regla 4. Seguidamente se va a la Etapa 6. Etapa 6. El objetivo en curso K no coincide con el inicial M. Entonces, se designa el objetivo previo M como objetivo en curso y se elimina de ObjetivosPrevios. Por ello, ObjetivosPrevios = y se va a la Etapa 2. Etapa 2. Se busca una regla activa que incluya el objetivo en curso M. Se encuentra la Regla 6, por lo que se va a la Etapa 3. Etapa 3. Puesto que K = cierto y L = cierto, entonces M = cierto por la Regla 6. Ahora se va a la Etapa 6. Etapa 6. El objetivo en curso M coincide con el inicial. En consecuencia, se va a la Etapa 7. Etapa 7. El algoritmo devuelve el valor M = cierto.

SISTEMAS EXPERTOS Csari Matilde

18

Ntese que a pesar de que los objetos H, I y J tienen valores desconocidos, el algoritmo orientado a un objetivo ha sido capaz de concluir el valor del objetivo M. La razn de este resultado est en que el conocimiento del objeto L convierte al conocimiento de los objetos H, I y J es irrelevante para el conocimiento del objeto M. Las estrategias de encadenamiento de reglas se utilizan en problemas en los que algunos hechos (por ejemplo, sntomas) se dan por conocidos y se buscan algunas conclusiones (por ejemplo, enfermedades). Por el contrario, las estrategias de encadenamiento de reglas orientadas a un objetivo se utilizan en problemas en los que se dan algunos objetivos (enfermedades) y se buscan los hechos (sntomas) para que stas sean posibles.
Ejemplo 2.10 Encadenamiento de reglas orientado a un objetivo sin Modus Tollens. Considrense las seis reglas de las Figuras 2.10 y 2.11. Supngase que se selecciona el nodo J como objetivo y que se dan los siguientes hechos: G = cierto y L = falso. Esto se ilustra en la Figura 2.15, donde los objetos con valores conocidos (los hechos) aparecen sombreados y el objetivo rodeado por una circunferencia. Supngase, en primer lugar, que el motor de inferencia utiliza slo la regla de inferencia Modus Ponens. En este caso, las etapas del Algoritmo 2.2 son como sigue: Etapa 1: Se marcan los objetos G y L y se les asignan los valores G = cierto y L = falso. Puesto que el objetivo J no est marcado, entonces - Se designa el objeto J como objetivo en curso. - Se marca el objeto J. Por ello, ObjetosMarcados = {G, L,J}. - ObjetivosPrevios = . - Todas las reglas estn activas. Por tanto, se tiene ReglasActivas = {1, 2, 3, 4, 5, 6}. - Se va a la Etapa 2. Etapa 2. Se busca una regla activa que incluya el objetivo en curso J. Puesto que slo se utiliza la regla de inferencia Modus Ponens, se encuentra la Regla 3 (es la nica regla en la que el objetivo en curso J forma parte de su conclusin). Por tanto, se va a la Etapa 3. Etapa 3. La Regla 3 no puede concluir puesto que los valores de los objetos H e I son desconocidos. Por tanto, se va a la Etapa 4. Etapa 4. Los objetos H y I no estn marcados. Entonces - ObjetivosPrevios = {J}. - Se elige uno de los objetos no marcados H o I como objetivo en curso. Supngase que se elige H.

FIGURA 2.15. Un ejemplo que ilustra el encadenamiento de reglas orientado a un objetivo sin Modus Tollens. Los objetos con valores conocidos (los hechos) aparecen sombreados, el objetivo se muestra rodeado por una circunferencia, y el nmero en el interior de cada nodo indica el orden en el que se visita.

El objeto H est marcado. Por tanto, se tiene ObjetosMarcados = {G, L, J, H}. Se va a la Etapa 2. Etapa 2. Se busca una regla activa que incluya el objetivo en curso H pero no el previo J. No se encuentra tal regla, por lo que se va a la Etapa 5. Etapa 5. Puesto que el objetivo en curso H es diferente del objetivo inicial J, se pregunta al usuario el valor del objetivo en curso H. Supngase que no se da un valor para dicho objeto, entonces se va a la Etapa 6.
-

SISTEMAS EXPERTOS Csari Matilde

19

Etapa 6. El objetivo en curso H no coincide con el objetivo inicial J. Entonces, se designa el objetivo previo J como objetivo en curso y se elimina de ObjetivosPrevios. Por ello, ObjetivosPrevios = y se va a Etapa 2. Etapa 2. Se busca una regla activa que incluya el objetivo en curso J. Se encuentra la Regla 3 y se va a la Etapa 3. Etapa 3. La Regla 3 no puede concluir puesto que se desconocen los valores de los objetos H e I. Por tanto, se va a la Etapa 4. Etapa 4. El objeto I no est marcado. Entonces - ObjetivosPrevios = {J}. - Se elige el nico objeto no marcado I como el objetivo en curso. - Se marca el objeto I. Por ello, ObjetosMarcados = {G, L, J, H, I}. - Se va a la Etapa 2. Etapa 2. Se busca una regla activa que incluya el objetivo en curso I pero no el previo J. Como no se encuentra tal regla, se va a la Etapa 5. Etapa 5. Puesto que el objetivo en curso I es diferente del objetivo inicial J, se pregunta al usuario el valor del objetivo en curso I. Supngase que no se da un valor para el objeto I, entonces, se va a la Etapa 6. Etapa 6. El objetivo en curso I no es el mismo que el inicial J. Por tanto, se designa el objetivo previo J como objetivo en curso y se elimina de la lista ObjetivosPrevios. Por ello, se hace ObjetivosPrevios = y se vuelve a la Etapa 2. Etapa 2. Se busca una regla activa que incluya el objetivo en curso J. Se encuentra la Regla 3, por lo que se va a la Etapa 3. Etapa 3. La Regla 3 no puede concluir puesto que no se conocen los valores de los objetos H e I. Se va a la Etapa 4. Etapa 4. Todos los objetos de la Regla 3 estn marcados, por lo que la Regla 3 se declara inactiva. Por ello, se hace ReglasActivas = {1, 2,4, 5, 6}. Se continu en la Etapa 2. Etapa 2. Se busca una regla activa que incluya el objetivo en curso J. Puesto que la Regla 3 se ha declarado inactiva y no se utiliza la regla de inferencia Modus Tollens, no se encuentra ninguna regla y se va a la Etapa 5. Etapa 5. Puesto que el objetivo en curso J coincide con el inicial, se va a la Etapa 7. Etapa 7. El motor de inferencia no puede concluir un valor para el objetivo J. Ejemplo 11 Encadenamiento de reglas orientado a un objetivo con Modus Tollens. En el ejemplo 2.10, el motor de inferencia utiliza slo la regla de inferencia Modus Ponens. Considrense las mismas hiptesis del Ejemplo 2.10 excepto que ahora el motor de inferencia utiliza ambas reglas de inferencia, la Modus Ponens y la Modus Tollens. Las etapas del Algoritmo 2.2 en este caso son como sigue: Etapa 1: Se marcan los objetos G y L y se les asignan los valores G = cierto y L = falso. Puesto que el objetivo J no est marcado, entonces - Se designa el objeto J como objetivo en curso. - Se marca el objeto J. Por ello, se hace ObjetosMarcados = {G,L, J}. - ObjetivosPrevios = . - Las seis reglas son activas. Por ello, se hace ReglasActivas = {1,2,3,4,5,6}. - Se va a la Etapa 2. Etapa 2. Se busca una regla activa que incluya el objetivo en curso J. Puesto que se utilizan ambas reglas de inferencia, las Reglas 3 y 5 incluyen el objeto J. Supngase que se elige la Regla 5. Se va a la Etapa 3. (Si se elige la Regla 3, el algoritmo tardar ms tiempo en terminar.) Etapa 3. Puesto que se usa la regla de inferencia Modus Tollens, la Regla 5 concluye que J = falso (puesto que G = cierto y L = falso). Por tanto, se va a la Etapa 6. Etapa 6. El objetivo en curso J coincide con el inicial, por lo que se va a la Etapa 7. Etapa 7. Se devuelve J = falso.

SISTEMAS EXPERTOS Csari Matilde

20

5 Compilacin de reglas Otra forma de tratar con reglas encadenadas consiste en comenzar con un conjunto de datos (informacin) y tratar de alcanzar algunos objetivos. Esto se conoce con el nombre de compilacin de reglas. Cuando ambos, datos y objetivos, se han determinado previamente, las reglas pueden ser compiladas, es decir, pueden escribirse los objetivos en funcin de los datos para obtener las llamadas ecuaciones objetivo. La compilacin de reglas se explica mejor con un ejemplo.
Ejemplo 2.12 Compilacin de reglas. Considrese el conjunto de seis reglas de la Figura 2.11 y supngase que son conocidos los valores de los objetos A, B, D, E,F,H, e I y que los restantes objetos, C, G, J,K,Ly M, son objetivos. Denotemos por el operador lgico y; entonces, utilizando las seis reglas, pueden obtenerse las siguientes ecuaciones objetivo: o La Regla 1 implica C = AB. o La Regla 2 implica G = D E F. o o La Regla 3 implica J = H I. La Regla 4 implica K = C G = (A B) (D E F).

o La Regla 5 implica L = G J = (D E F) (H I). o La Regla 6 implica M = KL = ABDEFHI. Las tres primeras ecuaciones son equivalentes a las tres primeras reglas. Las tres ecuaciones objetivo son, respectivamente, equivalentes a las reglas siguientes: Regla 4a: Si A y B y D y E y F, entonces K. Regla 5a: Si D y E y F y H e I, entonces L. Regla 6a: Si A y B y D y E y F y H e I, entonces M. Por ello, si, por ejemplo, cada uno de los objetos {A, B, D, E, F, H, I} toma el valor cierto, entonces se obtiene de forma inmediata, a partir de las Reglas 4a, 5a y 6a, que los objetos {K, L, M} deben ser ciertos.

3. Control de la Coherencia En situaciones complejas, incluso verdaderos expertos pueden dar informacin inconsistente (por ejemplo, reglas inconsistentes y/o combinaciones de hechos no factibles). Por ello, es muy importante controlar la coherencia del conocimiento tanto durante la construccin de la base de conocimiento como durante los procesos de adquisicin de datos y razonamiento. Si la base de conocimiento contiene informacin inconsistente (por ejemplo, reglas y/o hechos), es muy probable que el sistema experto se comporte de forma poco satisfactoria y obtenga conclusiones absurdas. El objetivo del control de la coherencia consiste en 1. Ayudar al usuario a no dar hechos inconsistentes, por ejemplo, dndole al usuario las restricciones que debe satisfacer la informacin demandada. 2. Evitar que entre en la base de conocimiento cualquier tipo de conocimiento inconsistente o contradictorio. El control de la coherencia debe hacerse controlando la coherencia de las reglas y la de los hechos. 2.4.1 Coherencia de Reglas Definicin 2.2 Reglas coherentes. Un conjunto de reglas se denomina coherente si existe, al menos, un conjunto de valores de todos los objetos que producen conclusiones no contradictorias. En consecuencia, un conjunto coherente de reglas no tiene por qu producir conclusiones no contradictorias para todos los posibles conjuntos de valores de los objetos. Es decir, es suficiente que exista un conjunto de valores que conduzcan a conclusiones no contradictorias. Ejemplo 2.13 Conjunto de reglas incoherentes. Considrense las cuatro reglas siguientes, que relacionan dos objetos A y B binarios {C, F}: Regla 1: Si A = C, entonces B = C. Regla 2: Si A = C, entonces B = F. Regla 3: Si A = F, entonces B = C. Regla 4: Si A = F, entonces B = F. Entonces, pueden obtenerse las siguientes conclusiones: 1. Las Reglas 1-2 son coherentes puesto que, tal como se muestra en la Tabla 2.7, para A = F, no producen conclusiones. Objetos A B Conclusiones Conclusiones Regla 1 Regla 2 contradictoria

SISTEMAS EXPERTOS Csari Matilde s C C C F B =C B B =F B S S No No F F C F =C =F TABLA 2.7. Una tabla de verdad que muestra que las Reglas 1 y 2 son coherentes.

21

2. Las Reglas 1-3 son coherentes puesto que para A = F y B = C, producen una conclusin (B = C) (vase la Tabla 2.8). Objetos A B Conclusiones Conclusiones Regla 1 Regla 2 Regla 3 contradictoria s S S No S

C C C F B =C B B =F B F F C F =C =F -B=C B=C -

TABLA 2.8. Una tabla de verdad que muestra que las Reglas 1-3 son coherentes.

3. Las Reglas 1-4 son incoherentes porque producen conclusiones contradictorias para todos los posibles valores de A y B, tal como se ve en la Tabla 2.9. Objetos A B Conclusiones Conclusiones Regla 1 Regla 2 Regla 3 Regla 4 contradictoria s

C C C F B =C B B =F B S S S S F F C F =C =F -B =C B -B =F B =C =F TABLA 2.9. Una tabla de verdad que muestra que las Reglas 1-4 son incoherentes.

Ntese que un conjunto de reglas puede ser coherente, aunque algunos conjuntos de valores puedan producir conclusiones inconsistentes. Estos conjuntos de valores se llaman valores no factibles. Por ejemplo, las Reglas 1-2 son coherentes, aunque producen conclusiones inconsistentes en todos los casos en que A = C. En consecuencia, el subsistema de control de coherencia eliminar automticamente el valor C de la lista de posibles valores del objeto A, permitiendo de esta forma al usuario seleccionar slo valores factibles de los objetos. Definicin 2.3 Valores no factibles. Se dice que un valor a para el objeto A no es factible si las conclusiones obtenidas al hacer A = a contradicen cualquier combinacin de valores del resto de los objetos. Por ello, cualquier valor no factible debe ser eliminado de la lista de valores posibles de su correspondiente objeto para eliminar la posibilidad de que el motor de inferencia pueda obtener conclusiones inconsistentes. Ejemplo 2.14 Valores no factibles. Considrese el conjunto de las cuatro reglas del Ejemplo 2.13. En este caso, el motor de inferencia concluir lo siguiente: 1. Las dos primeras reglas implican que A = C, puesto que A = C siempre conduce a conclusiones inconsistentes. Por tanto, el valor A = C deber ser eliminado automticamente de la lista de valores factibles de A. Dado que A es binario, entonces resulta A = F (el nico valor posible). 2. Las tres primeras reglas implican que A = F y B = C. Por tanto, el valor B = F deber ser eliminado automticamente de la lista de valores factibles de B. 3. Las primeras cuatro reglas implican que A = C, A = F, B = C yB=F. Por tanto, los valores {C, F} son eliminados de las listas de valores de A y B, con lo que las listas de valores factibles de todos los objetos estn vacas, lo que implica que las cuatro reglas son incoherentes.

SISTEMAS EXPERTOS Csari Matilde

22

Ntese que es suficiente realizar la comprobacin de la coherencia de las reglas slo una vez, tras ser introducida cada regla, y que todos los valores no factibles pueden ser eliminados de sus correspondientes listas, nada ms ser detectados. El conjunto de reglas que forman el conocimiento debe ser coherente; en otro caso, el sistema podr obtener conclusiones errneas. Por ello, antes de aadir una regla a la base de conocimiento, hay que comprobar la consistencia de esta regla con el resto de ellas, incluidas en la base de conocimiento. Si la regla fuese consistente con el resto de reglas, se aadira a la base de conocimiento; en caso contrario, se devolvera al experto humano para su correccin. Ejemplo 2.15 Coherencia de reglas. Supngase que se tienen los cuatro objetos: A {0,1},B {0,1}, C {0,1, 2} y D {0,1}. Considrense las cuatro reglas: Regla 1: Si A = 0 y B = 0, entonces C = 0. Regla 2: Si A = 0 y D = 0, entonces C = 1. Regla 3: Si A = 0 y B = 0, entonces C = 1. Regla 4: Si A = 0, entonces B = 0. Regla 5: Si B = 0, entonces A = 1. Supngase ahora que se desea aadir las tres ltimas reglas a una base de conocimiento que contiene las dos primeras reglas. Entonces, las Reglas 1 y 3 son inconsistentes, puesto que tienen la misma premisa pero diferentes conclusiones. Por tanto, la Regla 3 debe ser rechazada y el experto humano informado de la razn del rechazo. El experto humano corregir la regla en cuestin y/o las reglas existentes si fueran incorrectas. La Regla 4 entrar en la base de conocimiento, puesto que es consistente con las Reglas 1 y 2. La Regla 5 es inconsistente con la Regla 4. Por ello, la consistencia de ambas reglas debe ser comprobada antes de pasar a formar parte de la base de conocimiento. 2.4.2 Coherencia de hechos Los datos o evidencias suministrados por los usuarios deben ser tambin consistentes en s y con el conjunto de reglas de la base de datos. Por ello, el sistema no debe aceptar hechos que contradigan el conjunto de reglas y/o el conjunto de hechos existente en cada instante del proceso. Por ejemplo, con una base de conocimiento que contenga las dos primeras reglas del Ejemplo 2.15, el sistema no debe aceptar el conjunto de hechos A = 0, B = 0 y C = 1 puesto que contradicen la Regla 1. El sistema debe tambin comprobar si existe o no, una solucin factible e informar al usuario en consecuencia. Si en el ejemplo anterior se trata de dar la informacin A = 0,B = 0 y D = 0, el sistema debe detectar que no existe ningn valor de C que sea consistente con la base de conocimiento. Ntese que antes de conocer los valores de los objetos, existe una solucin factible. Por ejemplo, A = 0,B = 0,C = 0 y D = 1 (estos hechos no contradicen la base de conocimiento). Por ello, la inconsistencia surge de que los hechos y las reglas sean inconsistentes. La coherencia de los hechos puede lograrse mediante las estrategias siguientes: 1. Eliminar todos los valores no factibles (los que contradicen el conjunto de reglas y/o hechos) de los objetos una vez detectados. Cuando se pregunte al usuario por informacin sobre los valores de un conjunto de objetos, el sistema experto debera aceptar slo los valores de cada objeto que sean consistentes con las reglas y con el conocimiento previo. Considrese, por ejemplo, la base de conocimiento del Ejemplo 2.15 y supngase que al sistema experto se le ha dado la informacin A = 0 y C = 1; entonces el sistema debe saber que B = 0. Por ello, este valor debe ser eliminado de la lista de posibles valores del objeto B. 2. El motor de inferencia debe comprobar que los hechos conocidos no contradicen el conjunto de reglas. En la situacin anterior, por ejemplo, el sistema no debe aceptar el conjunto de hechos A = 1, B = 1 y C = 2. Si el sistema no elimina los valores no factibles, entonces el usuario podr dar evidencias contradictorias tales como Pago = autorizado y NIP = incorrecto en el Ejemplo 2.1 del CA . Por ello, tan pronto como se de la primera evidencia, Pago = autorizado, el sistema debe seleccionar slo los valores del NIP que no conduzcan a conclusiones contradictorias. 3. Suministrar al usuario una lista de objetos a los que no se ha asignado valores previamente. 4. Para cada uno de los objetos, mostrar y aceptar slo sus valores factibles. 5. Actualizar continuamente la base de conocimiento, es decir, tan pronto como se d un hecho o se obtenga una conclusin, y eliminar los valores no factibles. El motor de inferencia obtiene todas

SISTEMAS EXPERTOS Csari Matilde

23

las conclusiones posibles examinando, y posiblemente concluyendo, las reglas tan pronto como una simple unidad de informacin llega al sistema. Ntese que dar varias unidades de informacin simultneamente puede conducir a inconsistencias en la base de datos. Por ejemplo, dado A = 0, no se puede dar la informacin combinada B = 0 y C = 1. En este caso, el orden de la informacin afecta a los posibles valores futuros de los objetos que conducen a compatibilidad, es decir, tras dar A = 0 se puede dar B = 0 C = 1, pero estas dos opciones imponen restricciones diferentes a los posibles futuros valores de los restantes objetos. La actualizacin continua de la base de conocimiento es muy importante puesto que no actualizar implica la posibilidad de que evidencias contradictorias puedan convivir en la base de conocimiento. Por ello, el conocimiento debe ser actualizado inmediatamente tras la incorporacin de cada hecho. Por ello, tanto la eliminacin automtica de valores no factibles como la actualizacin continua del conocimiento aseguran la coherencia de la base de conocimiento. El ejemplo siguiente ilustra la aplicacin de esta tcnica al problema de los agentes secretos presentado en el Captulo 1. Ejemplo 2.16Los Agentes Secretos. En este ejemplo se retoma el problema de los agentes secretos introducido en el Ejemplo 1.5, en el que cada uno de los cuatro agentes secretos, Alberto, Luisa, Carmen y Toms, est en uno de los cuatro pases: Egipto, Francia, Japn y Espaa. Se han recibido los siguientes telegramas de los agentes: De Francia: Luisa est en Espaa. De Espaa: Alberto est en Francia. De Egipto: Carmen est en Egipto. De Japn: Carmen est en Francia. El problema radica en que no se sabe quin ha enviado cada uno de los mensajes, pero es conocido que Toms miente (es un agente doble?) y que los dems agentes dicen la verdad. El misterio que trata de escudriarse es el de responder a la pregunta quin est en cada pas? Seguidamente se disea un sistema experto para resolver este problema. Se tienen cuatro objetos: Alberto, Luisa, Carmen y Toms. Cada objeto puede tomar uno de cuatro valores: Egipto, Francia, Japn o Espaa. Puesto que Toms es el nico que miente, se considera que un telegrama suyo es siempre falso. Esto da lugar a dos reglas por cada mensaje: 1. El mensaje de Francia (Luisa est en Espaa) da lugar a: Regla 1: Si Toms est en Francia, entonces Luisa no est en Espaa. Regla 2: Si Toms no est en Francia, entonces Luisa est en Espaa. 2. El mensaje de Espaa (Alberto est en Francia) da lugar a: Regla 3: Si Toms est en Espaa, entonces Alberto no est en Francia. Regla 4: Si Toms no est en Espaa, entonces Alberto est en Francia. 3. El mensaje de Egipto (Carmen est en Egipto) da lugar a: Regla 5: Si Toms est en Egipto, entonces Carmen no est en Egipto. Regla 6: Si Toms no est en Egipto, entonces Carmen est en Egipto. 4. El mensaje de Japn (Carmen est en Francia) da lugar a: Regla 7: Si Toms est en Japn, entonces Carmen no est en Francia. Regla 8: Si Toms no est en Japn, entonces Carmen est en Francia. Utilizando slo estas ocho reglas, se intentar ahora averiguar el valor que toma el objeto Toms: 1. Toms est posiblemente en Egipto. Si Toms est en Egipto, se obtienen las conclusiones siguientes: Luisa est en Espaa, por la Regla 2. Alberto est en Francia, por la Regla 4. Carmen no est en Egipto, por la Regla 5. Carmen est en Francia, por la Regla 8. Se ve que con esta hiptesis se llega a la conclusin de que tanto Alberto como Carmen estn en Francia, lo que contradice la informacin de que slo un agente puede estar en cada pas (pero el conjunto de las ocho reglas anteriores no contiene esta informacin). Por tanto, se concluye que Egipto es un valor imposible para el objeto Toms, es decir, Toms no puede estar en Egipto.

SISTEMAS EXPERTOS Csari Matilde

24

2. Toms est posiblemente en Japn. Si Toms est Japn, se obtienen las conclusiones siguientes: Luisa est en Espaa, por la Regla 2. Alberto est en Francia, por la Regla 4. Carmen est en Egipto, por la Regla 6. En este caso no hay una contradiccin, lo que significa que Japn es un valor posible para el objeto Toms. Con las ocho reglas anteriores, el motor de inferencia no puede concluir en qu pas est cada uno de los agentes, puesto que las reglas no contienen la informacin slo un agente puede estar en cada pas. Seguidamente se considera esta situacin y se obtiene un conjunto de reglas adicionales que tienen en cuenta esta informacin. Puesto que cada pas puede estar ocupado por exactamente un agente, supngase que un agente est en un pas dado. Entonces, se necesitan tres reglas para garantizar que ninguno de los restantes agentes est en ese mismo pas. Dado que se tienen cuatro agentes, resultan un total de 12 reglas (3 reglas 4 agentes). Sin embargo, si se utiliza la regla de inferencia Modus Tollens, slo son necesarias seis reglas, pues las restantes resultan redundantes. Por ejemplo, para Egipto se tienen las reglas: Regla 9: Si Alberto est en Egipto, entonces Luisa no est en Egipto. Egipto. Regla 1 Egipto. Regla 10: Si Alberto est en Egipto, entonces Carmen no est en Regla 11: Si Alberto est en Egipto, entonces Toms no est en Regla 12: Si Luisa est en Egipto, entonces Carmen no est en Egipto. Regla 13: Si Luisa est en Egipto, entonces Toms no est en Egipto. Regla 14: Si Carmen est en Egipto, entonces Toms no est en Egipto. Ntese que existen un conjunto de seis reglas equivalentes a las anteriores. Por ejemplo, la regla: Regla 14a: Si Toms est en Egipto, entonces Carmen no est en Egipto, es equivalente a (Modus Tollens) la Regla 14. Por tanto, se necesitan slo seis reglas por pas. Los conjuntos de seis reglas para cada uno de los restantes pases se generan de forma similar. Por tanto, se tienen un total de 24 reglas adicionales que representan el hecho de que exactamente un agente puede estar en cada pas. 4. Explicando Conclusiones Tal como se ha indicado en el Captulo 1, las conclusiones no bastan para satisfacer al usuario de un sistema experto. Normalmente, los usuarios esperan que el sistema les d algn tipo de explicacin que indique el por qu de las conclusiones. Durante el proceso realizado por el motor de inferencia, las reglas activas (las que han concluido) forman la base del mecanismo de explicacin, que es regulado por el subsistema de explicacin. En los sistemas expertos basados en reglas, es fcil dar explicaciones de las conclusiones obtenidas. El motor de inferencia obtiene conclusiones basndose en un conjunto de reglas y, por tanto, conoce de qu regla procede cada conclusin. Por ello, el sistema puede dar al usuario la lista de hechos concluidos junto con las reglas que se han utilizado para obtenerlos. Ejemplo 2.17 Explicando conclusiones. Considrense las seis reglas de las Figuras 2.10 y 2.11. Como en el Ejemplo 2.7, supngase que se sabe que los objetos A, B, D, E, F,H, y I son ciertos y que los restantes objetos toman valores desconocidos. Entonces, aplicando el Algoritmo 2.1 y examinando las reglas que han sido ejecutadas, el sistema experto puede suministrar la explicacin siguiente a las conclusiones obtenidas: 1. Hechos dados: A = cierto, B = cierto, D = cierto, E = cierto, F = cierto, H = cierto, I = cierto. 2. Conclusiones y explicaciones: C = cierto, basada en la Regla 1. G = cierto, basada en la Regla 2. J = cierto, basada en la Regla 3.

SISTEMAS EXPERTOS Csari Matilde K = cierto, basada en la Regla 4. L = cierto, basada en la Regla 5. M = cierto, basada en la Regla 6.

25

5. Ejemplo de Aplicacin Los sistemas de control de trfico actuales son necesariamente complejos. En esta seccin se muestra un ejemplo para ilustrar cmo puede disearse un sistema experto basado en reglas para resolver un problema de control de trfico muy simple. La Figura 2.16 muestra un trazado de ferrocarril en el que varios trenes pueden circular en las dos direcciones. Hay cinco vas, S1, . . . , S5, y 14 seales de trfico, ocho en la parte superior del diagrama,

FIGURA 2.16. Trazado de ferrocarril con cinco va

Objeto

Valor

U1 aU8 {verde, rojo} L1 aL6 S1 {verde, rojo} aS5 {libre, ocupada}


TABLA 2.10. Objetos y sus correspondientes valores para el ejemplo del control de trfico ferroviario.

U1,.. .,U8, y seis en la parte inferior, L1,...,L6. Todos los objetos y sus posibles valores se muestran en la Tabla 2.10. El objetivo de este sistema es disear un conjunto de reglas que eviten la colisin de los trenes. Estas reglas pueden obtenerse como sigue: 1. Si la seal de trfico U 1 est verde, entonces puede permitirse la salida de un tren que est en la va S1 y no debe permitirse la salida de los trenes de la va S2, por lo que L1 tiene que estar en rojo. Lo mismo es cierto para las vas S4 y S5. Esto da las dos primeras reglas de la Tabla 2.11. Ntese que si el motor de inferencia utiliza la regla de inferencia Modus Tollens, estas reglas garantizan tambin que cuando las seales de la parte baja de las vas estn en verde, las seales de sus correspondientes partes superiores estn en rojo. Es decir, las dos primeras reglas de la Tabla 2.11 implican las dos reglas siguientes: Regla 1a: Si L1 = verde, entonces U1 = rojo. Regla 2a: Si L6 = verde, entonces U6 = rojo.

SISTEMAS EXPERTOS Csari Matilde

26

TABLA 2.11. Reglas para el ejemplo del control de trfico ferroviario.

2. Si la va S1 est ocupada, entonces la seal U2 debe estar en rojo para evitar que un tren entre en la va ocupada. Similarmente, para las dems vas. Esto da lugar a las seis reglas adicionales (Reglas 38) en la Tabla 2.12. 3. Si ambas seales U3 y L3 estn en rojo, entonces ningn tren puede salir de la va S1. La misma condicin vale para las seales U5 y L5. Por ello, se tiene la regla Regla 9: Si (U3 = rojo y L3 = rojo) o (U5 = rojo o L5 = rojo), entonces U1 = rojo. Las cinco reglas asociadas a las otras cinco vas pueden ser obtenidas de forma anloga. Todas las reglas se muestran en la Tabla 2.12 como las Reglas 9-14. 4. Para evitar la colisin de los trenes procedentes de las vas S1 - S2 y S4 - S5, son necesarias las reglas siguientes: Regla 15: Si U3 = verde, entonces U4 = rojo Regla 16: Si L3 = verde, entonces L4 = rojo. 5. Para evitar que las seales de la parte alta y sus correspondientes seales de la parte baja estn simultneamente en verde, es necesario incluir las Reglas 17-20 de la Tabla 2.12. 6. Finalmente, para evitar la colisin de un tren de la va S3 con un tren de las otras cuatro vas, se imponen las dos ltimas reglas de la Tabla 2.11. Para mantener la coherencia de los hechos, es necesario actualizar automticamente el conocimiento tan pronto como se conozca un nuevo hecho o conclusin. Seguidamente se considera un ejemplo para ilustrar el comportamiento de un sistema experto cuya base de conocimiento consta de los objetos de la Tabla 2.10 y el conjunto de reglas de la Tabla 2.11. Ejemplo 2.18 Control de trfico ferroviario. En este ejemplo se usar la concha X-pert Reglas. En primer lugar, se necesita escribir un fichero que contenga una descripcin de la base de conocimiento anterior. Este fichero es ledo por la concha X-pert Reglas. Puesto que X-pert Reglas no permite el uso del operador o en la premisa de las reglas, es necesario reemplazar las Reglas 912 por el conjunto siguiente de reglas equivalente (ver las equivalencias de la Tabla 2.3):

SISTEMAS EXPERTOS Csari Matilde

27

Regla 9a: Si (U3 = rojo y L3 = rojo), entonces U1 = rojo. Regla 9b: Si (U5 = rojo y L5 = rojo), entonces U1 = rojo. Regla 10a: Si (U3 = rojo y L3 = rojo), entonces L1 = rojo. Regla 10b: Si (U5 = rojo y L5 = rojo), entonces L1 = rojo. Regla 11a: Si (U2 = rojo y L2 = rojo), entonces U6 = rojo. Regla 11b: Si (U4 = rojo y L4 = rojo), entonces U6 = rojo. Regla 12a: Si (U2 = rojo y L2 = rojo), entonces L6 = rojo. Regla 12b: Si (U4 = rojo y L4 = rojo), entonces L6 = rojo. Por ello, se crea el fichero de texto TrafficControl.txt, que contiene todos los objetos y las 26 reglas.1 Supngase que inicialmente se tienen trenes 1El fichero TrafficControl.txt con la base de conocimiento y la concha para construir sistemas expertos X-pert Reglas puede obtenerse de la direccin de World Wide Web http://ccaix3.unican.es/aIGroup. esperando en las vas S1, S2 y S3 tal como se indica en la Figura 2.17. Lo que sigue muestra una sesin interactiva utilizando X-pert Reglas y tras leer el fichero de texto TrafficControl.txt. En primer lugar se especifican los hechos: S1 = ocupada, S3 = ocupada y S5 = ocupada. Entonces se obtienen los siguientes hechos (dados) y las conclusiones (hechos concluidos): 1. Hechos: S1 = ocupada. S3 = ocupada. S5 = ocupada. 2. Conclusiones: U2 = rojo (basada en la Regla 3). U3 = rojo (basada en la Regla 5). U4 = rojo (basada en la Regla 6). L5 = rojo (basada en la Regla 8). Por ello, se ponen en rojo cuatro seales para evitar la colisin de los trenes que esperan en las vas. El resto de los objetos toman valores desconocidos. La Figura 2.17 muestra esta informacin en forma grfica.

FIGURA 2.17. Nuevas conclusiones resultantes de los hechos Si = S3 = S& = ocupada.

Supngase ahora que se desea permitir al tren en la va Si salir en direccin Este. Para ello, se hace U1 = verde. Entonces se tienen los siguientes hechos y conclusiones: 1. Hechos: Si = ocupada. S3 = ocupada. S$ = ocupada. U1 = verde. 2. Conclusiones: U2 = rojo (basada en la Regla 3). U3 = rojo (basada en la Regla 5). U4 = rojo (basada en la Regla 6). L5 = rojo (basada en la Regla 8). L1 = rojo (basada en la Regla 1). U7 = rojo (basada en la Regla 21). L3 = verde (basada en la Regla 9a). U5 = verde (basada en la Regla 9b). L4 = rojo (basada en la Regla 16). S4 = ocupada (basada en la Regla 7). S4 = free (es el nico valor posible). U6 = rojo (basada en la Regla 11b). L6=rojo (basada en la Regla 12b).

SISTEMAS EXPERTOS Csari Matilde

28

La Figura 2.18 muestra las conclusiones resultantes. que est en la va S1 puede ahora partir y dirigirse a la v se muestra en la Figura 2.18.

FIGURA 2.18. Nuevas conclusiones resultantes de los hechos S1 = S3 = S5 = ocupada and U1 = verde.

SISTEMAS EXPERTOS Csari Matilde

29

6. Ejercicios 2.1 En el Ejemplo 2.3, se usan dos objetos binarios A y B y se da un ejemplo en el que la regla de inferencia Modus Tollens expande la base de conocimiento. Utilizando objetos no binarios, dar un ejemplo similar. Por ejemplo, cuando A y B puedan tomar los valores {0,1,2}. 2.2 Mostrar que los dos conjuntos de reglas de las Figuras 2.1 y 2.7 son lgicamente equivalentes. 2.3 En algn momento del Ejemplo 2.11, se ha buscado una regla activa que incluyera el objeto en curso J. Se encontraron las Reglas 3 y 5, y se eligi la Regla 5. Completar las etapas del algoritmo si se hubiera elegido la Regla 3 en vez de la Regla 5. 2.4 Considrese una interseccin de dos calles de doble sentido, tal como se indica en la Figura 2.19, en la que se muestran los giros permitidos. Sean T1-T3, R1-R3, B1-B3 y L1-L3 los semforos asociados a dichos carriles. Definir un conjunto de reglas que regulen la interseccin de forma que no pueda producirse ninguna colisin. 2.5 Considrese la lnea ferroviaria con seis vas dada en la Figura 2.20. Completar el conjunto de reglas dado en la Seccin 2.6 para incorporar la nueva va S6. 2.6 Considrese la lnea ferroviaria de la Figura 2.21 con cuatro vas {S1, . . . , S4}. Disear un sistema de control de trfico ferroviario para controlar las seales. Obtener un conjunto de reglas que garanticen la imposibilidad de colisiones de trenes. 2.7 Supngase que se tienen las seis reglas del Ejemplo 2.7. Siguiendo el proceso dado en los Ejemplos 2.9y 2.10, aplicar un algoritmo de encadenamiento orientado a un objetivo para concluir un valor para los objetivos dados en las Figuras 2.22(a) y 2.22(b). Los objetos que se indican en gris son objetos con valores asignados. Los correspondientes valores se muestran prximos a los objetos. Cules seran las conclusiones con un motor de inferencia que slo incluya la regla de inferencia Modus Ponens?

FIGURA 2.19. Interseccin mostrando los giros permitidos.

2.8 Disear un sistema experto basado en reglas que sirva para jugar al Tres en Raya. Por turno, dos jugadores ponen una de sus piezas en un tablero de 9cuadrados (3 3) (vase la Figura 2.23). Gana el jugador que consiga poner sus 3 piezas en columna (Figura 2.23(a)), en fila (Figura 2.23(b)), o en diagonal (Figura 2.23(c)). Considrense las estrategias siguientes: Estrategia defensiva: Definir las reglas para evitar que el contrario gane.

SISTEMAS EXPERTOS Csari Matilde

30

FIGURA 2.20. Una lnea ferroviaria con seis va

FIGURA 2.21. Una lnea ferroviaria con cuatro va

FIGURA 2.22. Hechos iniciales y objetivos para un algoritmo de encadenamiento de reglas orientado a un objetivo.

Estrategia atacante: Aadir el conjunto de reglas que definan la estrategia para ganar. 2.9Disear un sistema experto basado en reglas para clasificar animales o plantas basndose en un conjunto mnimo de caractersticas. Sganse las etapas siguientes:

SISTEMAS EXPERTOS Csari Matilde Decidir el conjunto de animales o plantas a clasificar. Elegir las caractersticas diferenciales.

31

FIGURA 2.23. Tableros del juego del Tres en Raya: Tres ejemplos en los que el jugador X es el ganador.

Definir las reglas necesarias para identificar cada animal o planta. Eliminar las caractersticas innecesarias. Escribir las reglas en el sistema. Comprobar exhaustivamente el sistema experto. Redisear el sistema a la vista de lo anterior. 2.10 En el ejemplo de los agentes secretos del Ejemplo 2.16, qu conclusiones pueden sacarse utilizando slo las ocho primeras reglas cuando (a) se da Francia como valor posible del objeto Toms y (b) se da Espaa como valor posible para el mismo objeto?.

SISTEMAS EXPERTOS Csari Matilde 7. Aplicaciones de los RBSs [Fernndez, 2008]

32

Dada su naturaleza, los RBSs son usados como sistemas de propsito especfico para realizar tareas de soporte a expertos. Dichas tareas se agrupan de la siguiente forma: Clasificacin: Un RBS clasificador proporciona como salida del sistema una respuesta, seleccionada entre un conjunto de respuestas prefijado, conforme a un conjunto de entradas prefijado denominado situacin. El RBS empareja cada situacin de entrada con una respuesta de salida. Las especializaciones de la clasificacin son:
Clasificacin jerarquizada: Se establece una jerarqua de especificidad dentro del conjunto de respuestas a una situacin, distinguiendo entre respuestas plausibles, probables e individualizadas. Interpretacin: El objetivo es analizar informacin obtenida mediante unos datos de entrada para determinar su significado. En este grupo se clasifican los RBS dedicados a reconocimiento de seales, imgenes, estructuras qumicas, etc. Diagnosis: Los sistemas encargados de diagnsticos interpretan datos de entrada para detectar irregularidades en los mismos. En medicina, un RBS puede identificar una enfermedad basndose en los sntomas mostrados por un paciente. Depuracin: Aade a un sistema de diagnstico la funcin de indicar, o incluso ejecutar, medidas correctivas ante la anomala detectada.

Prediccin y pronstico: Los sistemas de prediccin analizan secuencias de datos distribuidas a lo largo del tiempo para tratar de prever situaciones venideras. Son aplicados a todos los dominios sujetos al cambio provocado por el paso del tiempo, como la prediccin meteorolgica, el pronstico de valores inmobiliarios, etc. Diseo: Un RBS enfocados al diseo de un sistema es capaz de establecer la configuracin del mismo atendiendo a sus requisitos, por ejemplo, minimizar una funcin objetivo que mide los costes de produccin de un diseo. Planificacin: La planificacin consiste en la elaboracin de una serie de acciones a seguir para alcanzar un objetivo. En este grupo se engloban los RBSs dedicados a la programacin automtica, planes de robots, proyectos, clculo de rutas, etc. Monitorizacin: Los sistemas de monitorizacin observan un conjunto de variables de estado correspondientes a un sistema con el fin de alertar ante situaciones anmalas. Un requisito indispensable de los sistemas de monitorizacin es su funcionamiento constante, ya que su responsabilidad es velar por el buen funcionamiento del sistema monitorizado. Cuando a un RBS de monitorizacin se le aaden estrategias de reaccin ante alertas, se le denomina sistema de control. Ayuda inteligente: Este tipo de RBSs est enfocado a atender las necesidades del usuario de un sistema para proporcionarle consejo e informacin de inters. Los sistemas de ayuda a la decisin se usan como asesoramiento de expertos en diversos dominios: concesin de crditos, pilotaje de aviones, reparacin de sistemas, etc. Instruccin: La finalidad de estos RBSs es instruir a un alumno en una determinada materia, localizando sus errores y ofrecindole el conocimiento necesario para subsanarlos.

SISTEMAS EXPERTOS Csari Matilde

33

Anexos
RAZONAMIENTO HACIA DELANTE Y HACIA ATRS

Las bases de conocimiento en el mundo real a menudo contienen slo clusulas de un tipo restringido, denominado clusulas de Horn, que es una disyuncin de literales de los cuales, como mucho uno es positivo.
Una clusula de Horn es una regla de inferencia lgica con una serie de premisas (cero, una o ms), y un nico consecuente. Las clusulas de Horn son las instrucciones bsicas del lenguaje de programacin PROLOG, de paradigma declarativo. La sintaxis de una clusula de Horn en PROLOG tiene el siguiente aspecto:
hija (A, B) :- mujer (A), padre (B, A). Que podra leerse as: "A es hija de B si A es mujer y B es padre de A".

Obsrvese que, en PROLOG, el smbolo :- separa la conclusin de las condiciones. En PROLOG, las variables se escriben comenzando por una letra mayscula. Todas las condiciones deben cumplirse simultneamente para que la conclusin sea vlida; por tanto, la coma que separa las distintas condiciones es equivalente a la conjuncin copulativa. La disyuncin, en cambio, no se representa mediante smbolos especiales, sino definiendo reglas nuevas, como la siguiente:
hija (A, B) :- mujer (A), madre (B, A). Que podra leerse as: "A es hija de B si A es mujer y B es madre de A".

La inferencia con clusulas de Horn se puede realizar mediante los algoritmos de encadenamiento hacia delante y de encadenamiento hacia atrs. Diferencias entre razonamiento hacia delante y hacia atrs.

Razonamiento hacia delante a partir de los estados iniciales. Se comienza por construir un rbol de secuencias de movimientos que se pueden presentar como soluciones empezando por la configuracin inicial en la raz del rbol.

Razonamiento hacia atrs a partir de los estados objetivo. Se comienza construyendo un rbol de secuencias de movimientos que ofrezcan soluciones empezando con la configuracin objetivo en la raz del rbol.

SISTEMAS EXPERTOS Csari Matilde Factores para seleccionar la direccin del razonamiento. Existen ms estados iniciales posibles que estados objetivo?

34

En qu direccin es mayor el factor de ramificacin?

Se requiere que el sistema explique su razonamiento? Si es as, se debe seguir la misma direccin que una persona. Qu evento nos descubre la solucin? - Si es la presencia de un hecho, razonamos hacia delante. - Si es en base a una pregunta, razonamos hacia atrs.

SISTEMAS EXPERTOS Csari Matilde Algoritmos

35

Importante: La direccin de encadenamiento no tiene nada que ver con la direccin en que se ejecuta una regla. Siempre se disparan hacia delante (se da por bueno o se ejecuta el consecuente cuando se confirma el antecedente) Cuando se habla de encadenamiento hacia atrs nos referimos solo al proceso de bsqueda y seleccin de reglas.

Encadenamiento hacia delante


Matching: Bsqueda de las reglas para las que es cierto su antecedente. Resolucin de conflictos: Seleccin, entre las reglas encontradas no redundantes, de aquella que se va a ejecutar Ejecucin: Se dispara la regla, por lo que ampliamos los datos conocidos.

En un SBR con encadenamiento adelante se pueden usar las estructuras de datos siguientes: Una matriz BC para almacenar la informacin sobre las reglas: la matriz tendr i filas y tres columnas. A cada regla corresponde una fila de la matriz, las columnas responden al criterio siguiente:
- La columna 1 contiene las conclusiones de las reglas - La columna 2 contiene la condicin de la regla - La columna 3 se usa para expresar si la regla se ha usado o no.

De esta forma la fila i-sima de la matriz se refiere a la regla i-sima y se lee de la forma que sigue:
- BC(i,1): conclusin de la i-sima regla - BC(i,2): condicin de la i-sima regla - BC(i,3): indica si la i-sima regla ha sido usada o no

Una matriz MT de tres filas y j columnas que sirve de memoria de trabajo: la matriz tendr 3 filas y j columnas, cada columna se refiere a un atributo particular y las filas responden al criterio:
- La fila 1 contiene los nombres de todos los atributos - La fila 2 contiene los valores asignados a los atributos - La fila 3 contiene la identificacin de la regla por la cual ha sido probado cada atributo

De esta forma la j-sima columna de la matriz se refiere al atributo j-simo y se lee de la forma que sigue:
- MT(1,j): nombre del j-simo atributo - MT(2,j): valor del j-simo atributo - MT(3,j): regla con la cual se calcul el valor del j-simo atributo

Se necesita, adems, una variable que indique la cantidad de reglas del sistema de produccin, en este caso se usa NR. Las siguientes subrutinas facilitan la implementacin de un procedimiento de bsqueda con encadenamiento adelante:
Funciones que se usan - LeerValoresIniciales(): Actualiza la memoria de trabajo con los valores que el usuario fija, para algunos atributos, antes de comenzar la inferencia. - NoUsada(i): Responde verdadero si la i-sima regla no ha sido usada o falso en caso contrario. - ExtraeAtributos(EXP,A): Crea la lista A con los atributos que aparecen como operandos en la expresin EXP. - TodosAtribValor(A): Responde verdadero si todos los atributos de la lista A tienen valor o falso en caso contrario. - Evalua(EXP): Evala la expresin EXP. - Extrae-atrib(EXP,C): Coloca en C el atributo que se evala en la expresin EXP. - PoneValorEnMT(V,C): Actualiza la memoria de trabajo asignando el valor V al atributo C. - MarcaRegla(i): Marca la i-sima regla como usada. - DetAtrib(i,C): Determina el atributo que se evala en la i-sima regla y lo coloca en C

SISTEMAS EXPERTOS Csari Matilde


Procedure Forward; Begin LeerValoresIniciales() fin1 0 While Not fin1 Begin fin2 0 i1 while Not fin2 Begin If NoUsada(i) Then Begin ExtraeAtrib(BC(i,1)+BC(i,2),A) If TodosAtribValor(A) Then Begin If EVALUA(BC(i,2)) Then Begin DetAtrib(i,C) PoneValorEnMT(Evalua(BC(i,1)),C) MarcaRegla(i) fin2 1 End End End If Not fin2 Then Begin ii+1 If i > NR Then Begin fin1 1 fin2 1 End End End End End Encadenamiento hacia atrs

36

Caractersticas Mtodo muy til en aplicaciones con muchos datos disponibles de partida, de los que solo una pequea parte son relevantes. Sistema interactivo, slo pregunta lo estrictamente necesario a diferencia del encadenamiento hacia delante que no pregunta nada. - Se forma una pila inicial compuesta por todos los objetivos iniciales. - Considerar el primer objetivo de la pila. Localizar todas las reglas que lo satisfagan. - Examina las premisas de dichas reglas, en orden: Si todas las premisas se satisfacen. Ejecutamos las reglas y se derivan sus conclusiones. Si se deriv un valor para el objetivo actual entonces se elimina de la pila y se vuelve al paso 2. Si una premisa de una regla no se satisface (tiene un valor desconocido en la base de conocimientos), se mira a ver si existen reglas que concluyan un valor para ella. Si existen se inserta en el tope de la pila de objetivos y se vuelve al paso 2. Si por b) no se encontr ninguna regla que concluya un valor para la premisa actual .Entonces se pregunta al usuario por dicho valor y se aade a la base de conocimientos. Si el valor satisface la premisa actual se contina examinado el resto del antecedente. Sino se considera la siguiente regla que concluya un valor para el objetivo actual - Si se han examinado todas las reglas que concluyen un valor para el objetivo actual y todas fallaron entonces se marca el objetivo como indeterminado, se extrae de la pila y se vuelve al paso dos. Si la pila esta vaca el proceso finaliza.

SISTEMAS EXPERTOS Csari Matilde

37

En un SBR con encadenamiento hacia atrs se pueden usar las mismas estructuras de datos y subrutinas descritas en el epgrafe anterior y adems: Una matriz PILA en la cual se colocan el objetivo inicial y los sub objetivos que se generan durante la bsqueda, de acuerdo a la forma siguiente:
- PILA(1,j): j-simo atributo en la pila. - PILA(2,j): nmero de la regla que llev a la pila al j-simo atributo.

La variable TOP que indica la posicin del ltimo atributo insertado en la pila. Se usan, adems, las siguientes funciones:
- LeeObj(C): Procedimiento que lee el nombre del atributo objetivo y lo coloca en C. - NotValor(C): Funcin que responde verdadero si el atributo C no tiene valor o falso en caso

contrario.
- InsertaEnPila(C): Procedimiento que inserta el atributo C en la pila. - LeerValorA(C,V): Procedimiento que lee el valor V para el atributo C.

SISTEMAS EXPERTOS Csari Matilde

38

Procedure Backward; Begin LeerObj(C) InsertaEnPila(C) While (TOP 0) Do Begin i1 fin 0 While Not fin do Begin DetAtrib(i,C) If C = Pila(TOP) Then Begin ExtraeAtrib(BC(i,1)+BC(i,2),A) If TodosAtribValor(A) Then Begin If Evalua(BC(i,2)) Then Begin PoneValorEnMT(EVALUA(BC(i,1)),C) fin 1 End End Else Begin For i = 1 To n Do If NotValor(A(i)) Then InsertaEnPila(A(i)) fin 1 End End Else ii+1 If Not fin Then If i > nr Then Begin LeerValorA(C,V) PoneValorEnMT(V,C) fin 1 End End top top - 1 End

SISTEMAS EXPERTOS Csari Matilde Ejemplos sencillos Sistema Simple de Reglas para Identificacin de frutas n de frutas

39

SISTEMAS EXPERTOS Csari Matilde Prctica: Sistema de Reglas para la Eleccin de la Cena Determinar el tipo de comida y bebida en una cena con un invitado

40

SISTEMAS EXPERTOS Csari Matilde Sistema de Reglas para el Control de Inundaciones Determinar si se va a producir una inundacin o no y si es o no necesaria la evacuacin

41

SISTEMAS EXPERTOS Csari Matilde LA LGICA DE LOS SISTEMAS EXPERTOS

42

Este apartado es meramente informativo. En l se intenta solamente que el alumno conozca en qu reglas lgicas se basan los razonamientos adelante y atrs de los sistemas expertos, y llamar la atencin sobre la existencia del problema de la verificacin. El sistema tiene asociado un mecanismo para sacar conclusiones a partir de las afirmaciones anteriores y de algunos hechos conocidos. Este mecanismo tiene dos formas de actuar, hacia adelante y hacia atrs. A continuacin se da un ejemplo. Sea dada la base de reglas: 1- B D E F 4- B X 7- C D 2- G D A 5- D E 8- X C A 3- C F A 6- C D B X A H 9- X B D El disparo hacia adelante se produce si se dan unos hechos extemos, como, por ejemplo, B y C. Aplicando la regla lgica de inferencia modus ponens: Se obtiene, de la regla 4, B, C, X; de la regla 8, A, B, C, X; de la regla 9, A, B, C, X, D; por ltimo, de la 6, se obtiene H. H ha sido alcanzada por disparo hacia adelante a partir de los hechos B y C. El disparo hacia atrs puede ilustrarse tomando, como ejemplo, la misma base, en la que, por simplicidad, se cambia la regla 6 por la regla 6': X A H. El esquema de la figura 1 recoge en un rbol con nodos y cmo estn dispuestas las reglas.

Se sugieren H como meta, y B y C como hechos dados, y se pregunta si H es alcanzable desde B y C. El razonamiento que se sigue se basa en otra regla de la lgica, que se llama modus tollens, que dice: Es decir, si nos dan que de a se saca (3, pero se tiene la negacin de (3, entonces se puede deducir la negacin de a.WSA Entonces, tenemos X A H, si la meta H no fuese alcanzable (si H), entonces, por modus tollens se obtiene (X A), o sea, X v A. Hay que examinar, pues, dos casos, X y A. Si X, como nos dan BX, por modus tollens, se obtendra B, lo cual contradice que se haya dado B como hecho. Entonces se dice que la rama de B est cerrada, y hay que examinar el caso A. A A van a parar las reglas 2, 3, y 8. Cuando se da este caso basta cerrar una de las ramas. Con la regla 2 no se puede hacer nada pues G y D no son hechos dados, luego hay que pasar a la rama correspondiente a la regla 3, C F A. De nuevo, si se sigue suponiendo A, se obtendra, por modus tollens, (C F), es decir, C v F. Otra vez, si C, entonces se obtiene contradiccin con C como hecho, luego esa rama se cierra. Si F, entonces se acude a la regla que termina en F y se repite el razonamiento. Cuando se haya cerrado la rama, se dice que se ha obtenido H por razonamiento hacia atrs, para los hechos B y C.

SISTEMAS EXPERTOS Csari Matilde Referencias Bibliogrficas GARCA MARTNEZ R., BRITOS P, Ingeniera de Sistemas Expertos. Editorial Nueva Librera. Buenos Aires. (2004) KASTNER, J. Y HONG S. (1984). A review of expert systems. European journal of operational research, p.p. 285-292. GUTIRREZ, J. (1994) Sistemas Expertos Basados en Reglas, Dpto. de Matemtica Aplicada. Universidad de Cantabria.

43

Anlisis de la relacin entre la ingeniera del conocimiento y la gestin del conocimiento en base al modelo de NONAKA Y TAKEUC, http://www.intangiblecapital.org/Articulos/N9/0033.htm#notas GMEZ J.A., PUERTA J.M. Sistemas Expertos Probabilsticos, Coleccin Ciencia y Tcnica, vol. 20. Ediciones de la Universidad de Castilla-La Mancha. Cuenca, (1998). MINSKY. M., A framework for representing knowledge. En: P. H. Winston (ed.), The Psychology of Computer Vision, pgs. 211277. McGraw-Hill, Nueva York, (1975). FERNNDEZ, JOS MARA FONT, Generacin de sistemas basados en reglas mediante programacin gentica, Tesis de Mster de Investigacin en Inteligencia Artificial, Universidad Politcnica de Madrid - Facultad de Informtica, 2008. VIVANCOS RUBIO, EMILIO P., Incorporacin de un sistema basado en reglas en un entorno de tiempo real, Tesis doctoral conducente al titulo de Doctor en Informtica, Departamento de Sistemas Informticos y Computacin, Universidad Politcnica de Valencia, 2004.

También podría gustarte