Professional Documents
Culture Documents
1.1
Introduccin o
No hace mucho tiempo, se cre que algunos problemas como la demostraa cin de teoremas, el reconocimiento de la voz y el de patrones, ciertos juegos o (como el ajedrez o las damas), y sistemas altamente complejos de tipo determinista o estocstico, deb ser resueltos por personas, dado que su a an formulacin y resolucin requieren ciertas habilidades que slo se encueno o o tran en los seres humanos (por ejemplo, la habilidad de pensar, observar, memorizar, aprender, ver, oler, etc.). Sin embargo, el trabajo realizado en las tres ultimas dcadas por investigadores procedentes de varios campos, e muestra que muchos de estos problemas pueden ser formulados y resueltos por mquinas. a El amplio campo que se conoce como inteligencia articial (IA) trata de estos problemas, que en un principio parec imposibles, intratables y an dif ciles de formular utilizando ordenadores. A. Barr y E. A. Feigenbaum, dos de los pioneros de la investigacin en IA, denen sta como sigue: (vase o e e Barr y Feigenbaum (1981), pgina 4): a La Inteligencia Articial es la parte de la Ciencia que se ocupa del diseo de sistemas de computacin inteligentes, es decir, n o sistemas que exhiben las caracter sticas que asociamos a la inteligencia en el comportamiento humano que se reere a la
1.
Introduccin o
comprensin del lenguaje, el aprendizaje, el razonamiento, la o resolucin de problemas, etc. o Hoy en d el campo de la IA engloba varias subreas tales como los a, a sistemas expertos, la demostracin automtica de teoremas, el juego auo a tomtico, el reconocimiento de la voz y de patrones, el procesamiento del a lenguaje natural, la visin articial, la robtica, las redes neuronales, etc. o o Este libro est dedicado a los sistemas expertos. Aunque los sistemas exa pertos constituyen una de las areas de investigacin en el campo de la o IA, la mayor parte de las restantes reas, si no todas, disponen de una a componente de sistemas expertos formando parte de ellas. Este cap tulo presenta una introduccin a los sistemas expertos. Se coo mienza con algunas deniciones de sistemas expertos en la Seccin 1.2. La o Seccin 1.3 da algunos ejemplos que sirven para motivar los sistemas expero tos en varios campos de aplicacin. Estos ejemplos muestran la importancia o y la amplia aplicabilidad de los sistemas expertos en la prctica. Algunas a de las razones para utilizar los sistemas expertos se indican en la Seccin o 1.4. Los principales tipos de sistemas expertos se presentan en la Seccin o 1.5. La Seccin 1.6 discute y analiza la estructura de los sistemas expero tos y sus principales componentes. Las diferentes etapas necesarias para el diseo, desarrollo e implementacin de los sistemas expertos se analizan en n o la Seccin 1.7. Finalmente, la Seccin 1.8 se dedica a mencionar algunas de o o las restantes reas de investigacin de la IA y suministran al lector interea o sado algunas de las referencias ms importantes, revistas, y direcciones de a acceso (WWW).
1.2
Qu es un Sistema Experto? e
En la literatura existente se pueden encontrar muchas deniciones de sistema experto. Por ejemplo, Stevens (1984), pgina 40, da la denicin a o siguiente: Los sistemas expertos son mquinas que piensan y razonan como a un experto lo har en una cierta especialidad o campo. Por a ejemplo, un sistema experto en diagnstico mdico requerir o e a como datos los s ntomas del paciente, los resultados de anlisis a cl nicos y otros hechos relevantes, y, utilizando stos, buscar e a en una base de datos la informacin necesaria para poder ideno ticar la correspondiente enfermedad. [. . .] Un Sistema Experto de verdad, no slo realiza las funciones tradicionales de maneo jar grandes cantidades de datos, sino que tambin manipula esos e datos de forma tal que el resultado sea inteligible y tenga signicado para responder a preguntas incluso no completamente especicadas.
1.2
Qu es un Sistema Experto? e
Aunque la anterior es todav una denicin razonable de un sistema exa o perto, han surgido desde entonces otras deniciones, debido al rpido desaa rrollo de la tecnolog (ver, por ejemplo, Castillo y Alvarez (1991) y Durkin a (1994)). El sentido de estas deniciones puede resumirse como sigue: Denicin 1.1 Sistema Experto. Un sistema experto puede denirse o como un sistema informtico (hardware y software) que simula a los expera tos humanos en un rea de especializacin dada. a o Como tal, un sistema experto deber ser capaz de procesar y memorizar a informacin, aprender y razonar en situaciones deterministas e inciertas, o comunicar con los hombres y/u otros sistemas expertos, tomar decisiones apropiadas, y explicar por qu se han tomado tales decisiones. Se puede e pensar tambin en un sistema experto como un consultor que puede sumie nistrar ayuda a (o en algunos casos sustituir completamente) los expertos humanos con un grado razonable de abilidad. Durante la ultima dcada se han desarrollado muy rpidamente nu e a merosas aplicaciones de sistemas expertos a muchos campos (ver, por ejemplo, Quinlan (1987, 1989)). Durkin (1994) examina unos 2,500 sistemas expertos y los clasica por criterios, tales como reas de aplicacin, tareas a o realizadas, etc. Tal como puede verse en la Figura 1.1, la econom la indusa, tria y la medicina continan siendo los campos dominantes entre aquellos u en los que se utilizan los sistemas expertos. La seccin siguiente muestra o algunos ejemplos que motivan la aplicacin de los sistemas expertos en o algunos de estos campos.
Otros Educacin Transporte Espacio Militar Ciencias Aplicadas Ingeniera Medicina Industria Negocios
0 100 200 300 400
FIGURA 1.1. Campos de aplicacin de los sistemas expertos. Adaptado de o Durkin (1994) y Castillo, Gutirrez, y Hadi (1995a). e
1.
Introduccin o
1.3
Ejemplos Ilustrativos
Los sistemas expertos tienen muchas aplicaciones. En esta seeccin se dan o unos pocos ejemplos ilustrativos del tipo de problemas que pueden resolverse mediante sistemas expertos. Otros ejemplos prcticos se dan a lo largo a del libro. Ejemplo 1.1 Transacciones bancarias. No hace mucho, para hacer una transaccin bancaria, tal como depositar o sacar dinero de una cuenta, uno o ten que visitar el banco en horas de ocina. Hoy en d esas y otras a a, muchas transacciones pueden realizarse en cualquier momento del d o a de la noche usando los cajeros automticos que son ejemplos sencillos de a sistemas expertos. De hecho, se pueden realizar estas transacciones desde casa comunicndose con el sistema experto mediante la l a nea telefnica. o Ejemplo 1.2 Control de trco. El control de trco es una de las a a aplicaciones ms importantes de los sistemas expertos. No hace mucho a tiempo, el ujo de trco en las calles de una ciudad se controlaba mediante a guardias de trco que controlaban el mismo en las intersecciones. Hoy se a utilizan sistemas expertos que operan automticamente los semforos y a a regulan el ujo del trco en las calles de una ciudad y en los ferrocarriles. a En la Seccin 2.6 y en los ejercicios del Cap o tulo 2 se dan ejemplos de estos sistemas. Ejemplo 1.3 Problemas de planicacin. Los sistemas expertos pueden o utilizarse tambin para resolver problemas complicados de planicacin de e o forma que se optimicen ciertos objetivos como, por ejemplo, la organizacin o y asignacin de aulas para la realizacin de exmenes nales en una gran o o a universidad, de forma tal que se logren los objetivos siguientes: Eliminar las coincidencias de asignacin simultnea de aulas: Slo se o a o puede relizar un examen en cada aula al mismo tiempo. Asientos sucientes: Un aula asignada para un examen debe tener al menos dos asientos por estudiante. Minimizar los conictos temporales: Minimizar el nmero de alumnos u que tienen exmenes coincidentes. a Eliminar la sobrecarga de trabajo: Ningn alumno debe tener ms de u a dos exmenes en un periodo de 24 horas. a Minimizar el nmero de exmenes realizados durante las tardes. u a Otros ejemplos de problemas de planicacin que pueden ser resueltos o mediante sistemas expertos son la planicacin de doctores y enfermeras o en un gran hospital, la planicacin en una gran factor y la planicacin o a, o de autobuses para las horas de congestin o de d festivos. o as
1.3
Ejemplos Ilustrativos
Ejemplo 1.4 Diagnstico mdico. Una de las aplicaciones ms imporo e a tantes de los sistemas expertos tiene lugar en el campo mdico, donde stos e e pueden ser utilizados para contestar a las siguientes preguntas: 1. Cmo se puede recoger, organizar, almacenar, poner al d y recuo a perar la informacin mdica (por ejemplo, registros de pacientes) de o e una forma eciente y rpida? Por ejemplo, supngase que un doctor a o en un centro mdico est interesado en conocer informacin sobre una e a o cierta enfermedad (E) y tres s ntomas asociados (S1 , S2 , y S3 ). Se puede utilizar un sistema experto para buscar en la base de datos, extraer y organizar la informacin deseada. Esta informacin puede o o resumirse en tablas tales como la dada en la Tabla 1.1 o en grcos a como el de la Figura 1.2. 2. Cmo se puede aprender de la experiencia? Es decir, cmo se actuao o liza el conocimiento de los doctores en medicina cuando el nmero de u pacientes que stos tratan aumenta? e 3. Supuesto que un paciente presenta un conjunto de s ntomas, cmo se o decide qu enfermedad es la que ms probablemente tiene el paciente? e a 4. Cules son las relaciones entre un conjunto (normalmente no oba servable) de enfermedades y un conjunto (observable) de s ntomas? En otras palabras, qu modelos pueden utilizarse para describir las e relaciones entre los s ntomas y las enfermedades? 5. Dado que el conjunto de s ntomas conocidos no es suciente para diagnosticar la enfermedad con cierto grado de certeza, qu informacin e o adicional debe ser obtenida (por ejemplo, qu s e ntomas adicionales deben ser identicados? o qu pruebas mdicas deben realizarse?). e e 6. Cul es el valor de cada una de stas piezas de informacin? En a e o otras palabras, cul es la contribucin de cada uno de los s a o ntomas adicionales o pruebas a la toma de decisin? o Ejemplo 1.5 Agentes secretos. Alberto, Luisa, Carmen, y Toms son a agentes secretos, cada uno est en uno de los cuatro pa a ses: Egipto, Francia, Japn y Espaa. No se sabe dnde est cada uno de ellos. Por tanto, se ha o n o a pedido informacin y se han recibido los cuatro telegramas siguientes: o Desde Francia: Luisa est en Espaa. a n Desde Espaa: Alberto est en Francia. n a Desde Egipto: Carmen est en Egipto. a Desde Japn: Carmen est en Francia. o a No se sabe quin es el que ha mandado cada uno de los mensajes, pero se e sabe que Toms miente (un agente doble?) y que los dems agentes dicen a a la verdad.
1.
Introduccin o
E=1 S1
4 14 6 5 6 2 7 6 6 2
15
S2
8
S3
10
E=0
FIGURA 1.2. Una representacin grca de la distribucin de frcuencias de una o a o enfermedad (D) y tres s ntomas binarios (S1 , S2 , y S3 ) en una base de datos mdica. e
E 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
S1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
S2 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
S3 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Frecuencia 7 4 6 14 6 8 0 15 2 0 6 5 6 2 9 10
TABLA 1.1. Una representacin tabular de la distribucin de frecuencias de una o o enfermedad (D) y tres s ntomas binarios (S1 , S2 , y S3 ) en una base de datos mdica (1 representa la presencia y 0 representa la ausencia de la enfermedad o e el s ntoma indicado).
1.4
La cuestin que se desea responder es: Qu agente est en cada pa o e a s? Aunque se trata de un problema de lgica, que contiene armaciones muy o simples, su solucin no es fcil de obtener a simple vista. En la Seccin 2.4.2 o a o se muestra la forma de resolver automticamente este problema utilizando a un conjunto de reglas.
1.4
El desarrollo o la adquisicin de un sistema experto es generalmente caro, o pero el mantenimiento y el coste marginal de su uso repetido es relativamente bajo. Por otra parte, la ganancia en trminos monetarios, tiempo, e y precisin resultantes del uso de los sistemas expertos son muy altas, o y la amortizacin es muy rpida. Sin embargo, antes de desarrollar o o a adquirir un sistema experto debe realizarse un anlisis de factibilidad y a de coste-benecio. Hay varias razones para utilizar sistemas expertos. Las ms importantes son: a 1. Con la ayuda de un sistema experto, personal con poca experiencia puede resolver problemas que requieren un conocimiento de experto. Esto es tambin importante en casos en los que hay pocos expertos e humanos. Adems, el nmero de personas con acceso al conocimiento a u aumenta con el uso de sistemas expertos. 2. El conocimiento de varios expertos humanos puede combinarse, lo que da lugar a sistemas expertos ms ables, ya que se obtiene un a sistema experto que combina la sabidur colectiva de varios expertos a humanos en lugar de la de uno solo. 3. Los sistemas expertos pueden responder a preguntas y resolver problemas mucho ms rpidamente que un experto humano. Por ello, los a a sistemas son muy valiosos en casos en los que el tiempo de respuesta es cr tico. 4. En algunos casos, la complejidad del problema impide al experto humano resolverlo. En otros casos la solucin de los expertos humanos o no es able. Debido a la capacidad de los ordenadores de procesar un elevad simo nmero de operaciones complejas de forma rpida y u a aproximada, los sistemas expertos suministran respuestas rpidas y a ables en situaciones en las que los expertos humanos no pueden. 5. Los sistemas expertos pueden ser utilizados para realizar operaciones montonas, aburridas e inconfortables para los humanos. En vero dad, los sistemas expertos pueden ser la unica solucin viable en una o situacin en la que la tarea a realizar desborda al ser humano (por o ejemplo, un avin o una cpsula espacial dirigida por un sistema o a experto).
1.
Introduccin o
6. Se pueden obtener enormes ahorros mediante el uso de sistemas expertos. El uso de los sistemas expertos se recomienda especialmente en las situaciones siguientes: Cuando el conocimiento es dif de adquirir o se basa en reglas que cil slo pueden ser aprendidas de la experiencia. o Cuando la mejora continua del conocimiento es esencial y/o cuando el problema est sujeto a reglas o cdigos cambiantes. a o Cuando los expertos humanos son caros o dif ciles de encontrar. Cuando el conocimiento de los usuarios sobre el tema es limitado.
1.5
Los problemas con los que pueden tratar los sistemas expertos pueden clasicarse en dos tipos: problemas esencialmente deterministas y problemas esencialmente estocsticos. Por ejemplo, aunque el ejemplo 1.1 (transaca ciones bancariass) y el Ejemplo 1.2 (control de trco) pueden contener a algunos elementos de incertidumbre, son esencialmente problemas deterministas. Por otra parte, en el campo mdico (ver Ejemplo 1.4) las relae ciones entre s ntomas y enfermedades se conocen slo con un cierto grado o de certeza (la presencia de un conjunto de s ntomas no siempre implica la presencia de una enfermedad). Estos tipos de problemas pueden tambin e incluir algunos elementos deterministas, pero se trata fundamentalmente de problemas estocsticos. a Consecuentemente, los sistemas expertos pueden clasicarse en dos tipos principales segn la naturaleza de problemas para los que estn diseados: u a n deterministas y estocsticos. a Los problemas de tipo determinista pueden ser formulados usando un conjunto de reglas que relacionen varios objetos bien denidos. Los sistemas expertos que tratan problemas deterministas son conocidos como sistemas basados en reglas, porque sacan sus conclusiones basndose en un conjunto a de reglas utilizando un mecanismo de razonamiento lgico. El Cap o tulo 2 se dedica a los sistemas expertos basados en reglas. En situaciones inciertas, es necesario introducir algunos medios para tratar la incertidumbre. Por ejemplo, algunos sistemas expertos usan la misma estructura de los sistemas basados en reglas, pero introducen una medida asociada a la incertidumbre de las reglas y a la de sus premisas. En este caso se pueden utilizar algunas frmulas de propagacin para calcular o o la incertidumbre asociada a las conclusiones. Durante las ultimas dcadas e han sido propuestas algunas medidas de incertidumbre. Algunos ejemplos
1.6
de estas medidas son los factores de certeza, usados en las conchas para generar sistemas expertos tales como el sistema experto MYCIN (vase e Buchanan y Shortlie (1984)); la lgica difusa (vase, por ejemplo, Zadeh o e (1983) y Buckley, Siler, y Tucker (1986)); y la teor de la evidencia de a Dempster y Shafer (vase Shafer (1976)). e Otra medida intuitiva de incertidumbre es la probabilidad, en la que la distribucin conjunta de un conjunto de variables se usa para describir o las relaciones de dependencia entre ellas, y se sacan conclusiones usando frmulas muy conocidas de la teor de la probabilidad. Este es el caso del o a sistema experto PROSPECTOR (vase Duda, Gaschnig, y Hart (1980)), e que utiliza el teorema de Bayes para la exploracin de mineral. o Los sistemas expertos que utilizan la probabilidad como medida de incertidumbre se conocen como sistemas expertos probabil sticos y la estrategia de razonamiento que usan se conoce como razonamiento probabil stico, o inferencia probabil stica.. Este libro est dedicado a los sistemas expertos de a tipo probabil stico. Otros libros que sirven para introducirse de forma general en otras medidas de incertidumbre son Buchanan y Shortlie (1984), Waterman (1985), Pearl (1988), Jackson (1990), Neapolitan (1990), Castillo y Alvarez (1991), Durkin (1994) y Jensen (1996). En los comienzos de los sistemas expertos de tipo probabil stico surgieron varios obstculos, debido a las dicultades encontradas para denir la disa tribucin de probabilidad conjunta de las variables. Ello ha ralentizado o su desarrollo. Con la introduccin de los modelos de redes probabil o sticas, estos obstculos se han superado y los sistemas expertos probabil a sticos han vuelto de forma espectacular durante las dos ultimas dcadas. Estos e modelos, que incluyen las redes de Markov y las Bayesianas, se basan en una representacin grca de las relaciones entre las variables. Esta repreo a sentacin conduce no slo a formas ms ecientes de denir la distribucin o o a o conjunta de probabilidad sino tambin a una propagacin de incertidumbre e o muy eciente, que permite sacar conclusiones. Ejemplos de tales conchas para el desarrollo de sistemas expertos son el sistema HUGIN (vase Ane dersen y otros (1989)) y X-pert Nets,1 que ha sido desarrollado por los autores de este libro.
1.6
Las deniciones de sistemas expertos dadas en la Seccin 1.2 se entienden o mejor cuando se examinan las principales componentes de los sistemas expertos. Estas componentes se muestran esquemticamente en la Figura 1.3 a y se explican seguidamente.
1 Esta y otras conchas para sistemas expertos pueden obtenerse de la direccin o WWW http://ccaix3.unican.es/AIGroup.
10
1.
Introduccin o
Ingenieros Conocimiento
Base de Datos
Usuarios
Subsistema Aprendizaje
Base Conocimiento
Motor Inferencia
Subsistema Explicacin
Memoria Trabajo
Subsistema Ejecucin-Accin
FIGURA 1.3. Componentes t picos de un sistema experto. Las echas representan el ujo de la informacin. o
1.6.1
La Componente Humana
Un sistema experto es generalmente el resultado de la colaboracin de uno o o varios expertos humanos especialistas en el tema de estudio y los ingenieros del conocimiento, con los usuarios en mente. Los expertos humanos suministran el conocimiento bsico en el tema de inters, y los ingenieros a e del conocimiento trasladan este conocimiento a un lenguaje, que el sistema experto pueda entender. La colaboracin de los expertos humanos, o los ingenieros del conocimiento y los usuarios es, quizs, el elemento ms a a
1.6
11
importante en el desarrollo de un sistema experto. Esta etapa requiere una enorme dedicacin y un gran esfuerzo debido a los diferentes lenguajes que o hablan las distintas partes y a las diferentes experiencias que tienen.
1.6.2
La Base de Conocimiento
Los especialistas son responsables de suministrar a los ingenieros del conocimiento una base de conocimiento ordenada y estructurada, y un conjunto de relaciones bien denidas y explicadas. Esta forma estructurada de pensar requiere que los expertos humanos repiensen, reorganicen, y reestructuren la base de conocimiento y, como resultado, el especialista se convierte en un mejor conocedor de su propio campo de especialidad. Hay que diferenciar entre datos y conocimiento. El conocimiento se reere a armaciones de validez general tales como reglas, distribuciones de probabilidad, etc. Los datos se reeren a la informacin relacionada con una o aplicacin particular. Por ejemplo, en diagnstico mdico, los s o o e ntomas, las enfermedades y las relaciones entre ellos, forman parte del conocimiento, mientras los s ntomas particulares de un paciente dado forman parte de los datos. Mientras el conocimiento es permanente, los datos son ef meros, es decir, no forman parte de la componente permanente de un sistema y son destru dos despus de usarlos. El conocimiento se almacena en la base de e conocimiento y los datos se almacenan en la memoria de trabajo. Todos los procedimientos de los diferentes sistemas y subsistemas que son de carcter a transitorio se almacenan tambin en la memoria de trabajo. e
1.6.3
El subsistema de adquisicin de conocimiento controla el ujo del nuevo o conocimiento que uye del experto humano a la base de datos. El sistema determina qu nuevo conocimiento se necesita, o si el conocimiento recibido e es en realidad nuevo, es decir, si debe incluirse en la base de datos y, en caso necesario, incorpora estos conocimientos a la misma.
1.6.4
Control de la Coherencia
El subsistema de control de la coherencia ha aparecido en los sistemas expertos muy recientemente. Sin embargo, es una componente esencial de un sistema experto. Este susbsistema controla la consistencia de la base de datos y evita que unidades de conocimiento inconsistentes entren en la misma. En situaciones complejas incluso un experto humano puede formular armaciones inconsistentes. Por ello, sin un subsistema de control de la coherencia, unidades de conocimiento contradictorio pueden formar parte de la base de conocimiento, dando lugar a un comportamiento insatisfactorio del sistema. Es tambin bastante comn, especialmente en sistemas con e u
12
1.
Introduccin o
mecanismos de propagacin de incertidumbre, que se llegue a conclusiones o absurdas o en conicto como, por ejemplo, situaciones en las que el sistema genera probabilidades mayores que la unidad o negativas. Por ello, el subsistema de control de la coherencia comprueba e informa a los expertos de las inconsistencias. Por otra parte, cuando se solicita informacin de los o expertos humanos, ste subsistema informa sobre las restricciones que sta e e debe cumplir para ser coherente con la existente en la base de conocimiento. De esta forma, ayuda a los expertos humanos a dar informacin able. o
1.6.5
El Motor de Inferencia
El motor de inferencia es el corazn de todo sistema experto. El cometido o principal de esta componente es el de sacar conclusiones aplicando el conocimiento a los datos. Por ejemplo, en diagnstico mdico, los s o e ntomas de un paciente (datos) son analizados a la luz de los s ntomas y las enfermedades y de sus relaciones (conocimiento). Las conclusiones del motor de inferencia pueden estar basadas en conocimiento determinista o conocimiento probabil stico. Como puede esperarse, el tratamiento de situaciones de incertidumbre (probabil sticas) puede ser considerablemente ms dif que el tratamiento de situaciones ciertas (dea cil terministas). En muchos casos, algunos hechos (datos) no se conocen con absoluta certeza. Por ejemplo, pinsese en un paciente que no est seguro e a de sus s ntomas. Puede darse el caso de tener que trabajar con conocimiento de tipo no determinista, es decir, de casos en los que se dispone slo de informacin aleatoria o difusa. El motor de inferencia es tambin o o e responsable de la propagacin de este conocimiento incierto. De hecho, en o los sistemas expertos basados en probabilidad, la propagacin de incertio dumbre es la tarea principal del motor de inferencia, que permite sacar conclusiones bajo incertidumbre. Esta tarea es tan compleja que da lugar a que sta sea probablemente la componente ms dbil de casi todos e a e los sistemas expertos existentes. Por esta razn, la mayor parte de este o libro se dedica al anlisis y resolucin del problema de la propagacin de a o o incertidumbre.
1.6.6
Si el conocimiento inicial es muy limitado y no se pueden sacar conclusiones, el motor de inferencia utiliza el subsistema de adquisicin de conocimiento o para obtener el conocimiento necesario y continuar con el proceso de inferencia hasta que se hayan sacado conclusiones. En algunos casos, el usuario puede suministrar la informacin requerida para ste y otros objetivos. De o e ello resulta la necesidad de una interfase de usuario y de una comprobacin o de la consistencia de la informacin suministrada por el usuario antes de o introducirla en la memoria de trabajo.
1.6
13
1.6.7
Interfase de Usuario
La interfase de usuario es el enlace entre el sistema experto y el usuario. Por ello, para que un sistema experto sea una herramienta efectiva, debe incorporar mecanismos ecientes para mostrar y obtener informacin de o forma fcil y agradable. Un ejemplo de la informacin que tiene que ser a o mostrada tras el trabajo del motor de inferencia, es el de las conclusiones, las razones que expliquen tales conclusiones y una explicacin de las aco ciones iniciadas por el sistema experto. Por otra parte, cuando el motor de inferencia no puede concluir debido, por ejemplo, a la ausencia de informacin, la interfase de usuario es un veh o culo para obtener la informacin o necesaria del usuario. Consecuentemente, una implementacin inadecuada o de la interfase de usuario que no facilite este proceso minar notablemente a la calidad de un sistema experto. Otra razn de la importancia de la ino terfase de usuario es que los usuarios evalan comnmente los sistemas u u expertos y otros sistemas por la calidad de dicha interfase ms que por la a del sistema experto mismo, aunque no se deber juzgar la calidad de un a libro por su portada. Los lectores que estn interesados en el diseo de una e n interfase de usuario pueden consultar los libros de Shneiderman (1987) y Brown y Cunningham (1989).
1.6.8
El subsistema de ejecucin de rdenes es la componente que permite al o o sistema experto iniciar acciones. Estas acciones se basan en las conclusiones sacadas por el motor de inferencia. Como ejemplos, un sistema experto diseado para analizar el trco ferroviario puede decidir retrasar o parar n a ciertos trenes para optimizar el trco global, o un sistema para controlar a una central nuclear puede abrir o cerrar ciertas vlvulas, mover barras, a etc., para evitar un accidente. La explicacin de las razones por las que se o inician estas acciones pueden darse al usuario mediante el subsistema de explicacin. o
1.6.9
El Subsistema de Explicacin o
El usuario puede pedir una explicacin de las conclusiones sacadas o de las o acciones iniciadas por el sistema experto. Por ello, es necesario un subsistema que explique el proceso seguido por el motor de inferencia o por el subsistema de ejecucin. Por ejemplo, si un cajero automtico decide reo a chazar la palabra clave (una accin), la mquina puede mostrar un mensaje o a (una explicacin) como la siguiente: o Lo siento!, su palabra clave es todav incorrecta tras tres ina tentos. Retenemos su tarjeta de crdito, para garantizar su seguridad. e Por favor, pngase en contacto con su banco en horas de ocina. o
14
1.
Introduccin o
En muchos dominios de aplicaciones, es necesaria la explicacin de las cono clusiones debido a los riesgos asociados con las acciones a ejecutar. Por ejemplo, en el campo del diagnstico mdico, los doctores son responsao e ble ultimos de los diagnsticos, independientemente de las herramientas o tcnicas utilizadas para sacar conclusiones. En estas situaciones, sin un e subsistema de explicacin, los doctores pueden no ser capaces de explicar o a sus pacientes las razones de su diagnstico. o
1.6.10
El Subsistema de Aprendizaje
Una de las principales caracter sticas de un sistema experto es su capacidad para aprender. Diferenciaremos entre aprendizaje estructural y aprendizaje paramtrico. Por aprendizaje estructural nos referimos a algunos aspectos e relacionados con la estructura del conocimiento (reglas, distribuciones de probabilidad, etc.). Por ello, el descubrimiento de nuevos s ntomas relevantes para una enfermedad o la inclusin de una nueva regla en la base o de conocimiento son ejemplos de aprendizaje estructural. Por aprendizaje paramtrico nos referimos a estimar los parmetros necesarios para conse a truir la base de conocimiento. Por ello, la estimacin de frecuencias o probao bilidades asociadas a s ntomas o enfermedades es un ejemplo de aprendizaje paramtrico. e Otra caracter stica de los sistemas expertos es su habilidad para obtener experiencia a partir de los datos disponibles. Estos datos pueden ser obtenidos por expertos y no expertos y pueden utilizarse por el subsistema de adquisicin de conocimiento y por el subsistema de aprendizaje. o De las componentes antes mencionadas puede verse que los sistemas expertos pueden realizar varias tareas. Estas tareas incluyen, pero no se limitan a, las siguientes: Adquisicin de conocimiento y la vericacin de su coherencia; por o o lo que el sistema experto puede ayudar a los expertos humanos a dar conocimiento coherente. Almacenar (memorizar) conocimiento. Preguntar cundo se requiere nuevo conocimiento. a Aprender de la base de conocimiento y de los datos disponibles. Realizar inferencia y razonamiento en situaciones deterministas y de incertidumbre. Explicar conclusiones o acciones tomadas. Comunicar con los expertos y no expertos humanos y con otros sistemas expertos.
1.7
15
1.7
Weiss y Kulikowski (1984) sugieren las etapas siguientes para el diseo e imn plementacin de un sistema experto (ver tambin Hayes-Roth, Waterman, o e y Lenat (1983), Luger y Stubbleeld (1989), y la Figura 1.4):
Construir Prototipo
Probar Prototipo
Refinamiento y Generalizacin
Mantenimiento y Puesta al da
1. Planteamiento del problema. La primera etapa en cualquier proyecto es normalmente la denicin del problema a resolver. Puesto o que el objetivo principal de un sistema experto es responder a preguntas y resolver problemas, esta etapa es quizs la ms importante a a en el desarrollo de un sistema experto. Si el sistema est mal denido, a se espera que el sistema suministre respuestas errneas. o 2. Encontrar expertos humanos que puedan resolver el problema. En algunos casos, sin embargo, las bases de datos pueden jugar el papel del experto humano.
16
1.
Introduccin o
3. Dise o de un sistema experto. Esta etapa incluye el diseo de n n estructuras para almacenar el conocimiento, el motor de inferencia, el subsistema de explicacin, la interfase de usuario, etc. o 4. Eleccin de la herramienta de desarrollo, concha, o lenguaje o de programacin. Debe decidirse si realizar un sistema experto a o medida, o utilizar una concha, una herramienta, o un lenguaje de programacin. Si existiera una concha satisfaciendo todos los requeo rimientos del diseo, sta deber ser la eleccin, no slo por razones n e a o o de tipo nanciero sino tambin por razones de abilidad. Las conchas e y herramientas comerciales estn sujetas a controles de calidad, a los a que otros programas no lo estn. a 5. Desarrollo y prueba de un prototipo. Si el prototipo no pasa las pruebas requeridas, las etapas anteriores (con las modicaciones apropiadas) deben ser repetidas hasta que se obtenga un prototipo satisfactorio. 6. Renamiento y generalizacin. En esta etapa se corrigen los fallos o y se incluyen nuevas posibilidades no incorporadas en el diseo inicial. n 7. Mantenimiento y puesta al d En esta etapa el usuario plantea a. problemas o defectos del prototipo, corrige errores, actualiza el producto con nuevos avances, etc. Todas estas etapas inuyen en la calidad del sistema experto resultante, que siempre debe ser evaluado en funcin de las aportaciones de los usuarios. o Para el lector interesado en estos temas recomendamos la lectura de los trabajos de OKeefe, Balci y Smith (1987), Chandrasekaran (1988) y Preece (1990).
1.8
Otras Areas de la IA
En esta seccin se da una breve descripcin panormica del mbito y doo o a a minio de algunas areas de la IA distintas de la de los sistemas expertos. Puesto que este libro est dedicado exclusivamente a sistemas expertos, se a dan algunas referencias para que el lector interesado pueda acceder a otras a reas de la IA. Debe tenerse en mente que sta no es una lista exhaustiva e de todas las reas de la IA y que la IA es un campo que se desarrolla a muy rpidamente, y emergen continuamente nuevas ramas para tratar las a nuevas situaciones de esta ciencia que no para de crecer. Hay varios libros que dan una visin general de la mayor de los temas o a inclu dos en la IA. El multivolumen Handbook of Articial Intelligence editado por Barr y Feigenbaum (1981, 1982) (volmenes 1 y 2) y por Cohen y u Feigenbaum (1982) (volumen 3), y la Encyclopedia of Articial Intelligence,
1.8
Otras Areas de la IA
17
editado por Shapiro (1987) contienen discusiones detalladas de varios de los temas de la IA. Hay otros muchos libros que cubren las areas de IA. Por mencionar unos pocos, citamos a: Charniak y McDermott (1985), Rich y Knight (1991), Winston (1992), Ginsberg (1993), Russell y Norvig (1995). Como consecuencia de la intensa investigacin realizada en el area de la o IA, hay tambin un nmero creciente de revistas que publican art e u culos en los distintos campos de la IA y temas relacionados con ella. Algunas de estas revistas son: Applied Articial Intelligence, Applied Intelligence, Articial Intelligence, Articial Intelligence Magazine, International Journal of Intelligent Systems. Por otra parte, revistas tales como Articial Intelligence in Medicine, Biocybernetics and Biomedical Engineering, Cybernetics and Systems, Fuzzy Sets and Systems, IEEE Expert, IEEE Transactions on Systems, Man and Cybernetics, International Journal for Articial Intelligence in Engineering, International Journal of Approximate Reasoning, International Journal of Computer Vision, International Journal of Expert Systems, Machine Learning, Networks, Neural Networks, y Pattern Recognition Letters se especializan en un tema o en un cierto dominio de aplicaciones. 2
1.8.1
Hay muchas fuentes de informacin o conocimiento relacionadas con la IA. o El campo de la representacin del conocimiento se reere a los mecaniso mos para representar y manipular esta informacin. Los esquemas de reo presentacin resultantes deber permitir una bsqueda o una operacin o an u o eciente de los mecanismos de inferencia. Por ejemplo, en algunos casos la informacin puede ser representada mediante objetos (o variables) y por o reglas lgicas (que expresan relaciones entre los objetos). Por ello, esta o representacin puede manipularse usando anlisis lgico. Este es el meo a o canismo de representacin del conocimiento utilizado, por ejemplo, en los o sistemas expertos basados en reglas (Cap tulo 2). Para tener una visin o general de las diferentes metodolog de representacin del conocimiento as o vase, por ejemplo, Bachman, Levesque, y Reiter (1991), Bench-Capon e (1990), y los Proceedings of the International Conference on Principles of Knowledge Representation and Reasoning (KR-89, 91, 92, y 94) publicados por Morgan y Kaufmann Publishers.
Una lista que contiene la mayor de revistas en el campo de la IA se a puede obtener en la direccin WWW http://ai.iit.nrc.ca/ai journals.html; o vase tambin http://www.bus.orst.edu/faculty/brownc/aies/journals.htm. e e
18
1.
Introduccin o
1.8.2
Planicacin o
Cuando se trata con problemas complejos, es importante dividir las tareas en partes ms pequeas que sean ms fciles de manejar. Los mtodos de a n a a e planicacin analizan diferentes estrategias para descomponer un problema o dado, resolver cada una de sus partes, y llegar a una solucin nal. La o interaccin entre las partes depender del grado de descomponibilidad del o a problema. Por otra parte, el comienzo de la computacin paralela, capaz o de realizar varias tareas simultneamente, da lugar a nuevos problemas a que requieren estrategias especiales de planicacin. En esta situacin, el o o objetivo consiste en dividir las tareas de forma adecuada para resolver muchas partes simultneamente. El trabajo editado por Allen, Hendler, y a Tate (1990), da una descripcin general de este campo. Por otra parte, la o coleccin de art o culos editada por Bond y Gasser (1988) est dedicada al a razonamiento paralelo, tambin conocido como razonamiento distribuido. e
1.8.3
La capacidad de hacer deducciones lgicas fue considerada durante mucho o tiempo como una posibilidad reservada a la mente humana. La investigacin o desarrollada en los aos 1960 en el rea de la demostracin automtica de n a o a teoremas ha mostrado que esta tarea puede ser realizada por mquinas a programables. Tales mquinas son capaces no slo de modicar el conocia o miento existente, sino tambin de obtener conclusiones nuevas. En primer e lugar, los demostradores de teoremas han sido utilizados en varios campos de las matemticas, tales como la Lgica, la Geometr etc. El campo de a o a, la Matemtica constituye un area natural para esta metodolog por la a a existencia de mecanismos de deduccin y de una extensa base de conocio miento. Sin embargo, los demostradores de teoremas, pueden ser adaptados para resolver problemas de otras areas de conocimiento con estas dos mis mas caracter sticas. Una introduccin general a este tema se da en Wos y o otros (1984) y Bundy (1983), que contiene el cdigo en Prolog de un deo mostrador de teoremas muy simple. Referencias ms recientes son las de a Newborn (1994), Almulla (1995) y las inclu das en ellos.
1.8.4
Los juegos automatizados constituyen un ejemplo de una de las ms ana tiguas y fascinantes areas de la IA (vase, por ejemplo, Newell, Shaw, y e Simon (1963)). Los juegos por computador (tales como el ajedrez, backgammon, y los de cartas) han visto un desarrollo masivo en los ultimos aos. n Por ejemplo, los programas de juegos de ajedrez son capaces de competir e incluso vencer a bien conocidos maestros. El juego automtico rea quiere un estudio terico profundo y tiene varias aplicaciones en otras areas o tales como mtodos de bsqueda, optimizacin, etc. Una buena discusin e u o o
1.8
Otras Areas de la IA
19
de este campo, que incluye adems referencias histricas de inters, puede a o e encontrarse en Levy (1988).
1.8.5
Reconocimiento de patrones
El reconocimiento de patrones trata de diferentes tcnicas de clasicacin e o para identicar los subgrupos, o conglomerados, con caracter sticas comunes en cada grupo. El grado de asociacin de cualquiera de los obo jetos con cada uno de los grupos suministra un modo de sacar conclusiones. Por ello, los algoritmos desarrollados en este rea son herramientas a utiles para tratar con varios problemas de muchos campos tales como re conocimiento de imgenes, reconocimiento de se ales, diagnosis de fallos a n de equipos, control de procesos, etc. Para una introduccin general a este o campo vase Sing-Tze (1984) y Niemann (1990) y Patrick y Fattu (1984) e para una discusin de tipo estad o stico.
1.8.6
Reconocimiento de la Voz
La voz es, con mucho, el medio de comunicacin ms usado por el hombre. o a El reconocimiento de voz trata del problema de procesar el lenguaje hablado y capturar los diferentes elementos semnticos que forman la conversacin. a o Los problemas asociados con las diferentes pronunciaciones y tonos de voz son los principales obtculos que esta disciplina tiene que afrontar. Una ina troduccin general al problema del reconocimiento de voz se da en Rabiner o y Juang (1993).
1.8.7
Un objetivo del procesamiento del lenguaje natural consiste en extraer tanta informacin como sea posible de un texto escrito. Con el uso creo ciente de los ordenadores en el tratamiento de la informacin, el lenguaje o escrito est jugando un papel muy importante como medio de comunia cacin. Puesto que el reconocimiento de la voz es inherentemente un proo blema ms dif a cil, resulta necesario disponer de un procesado eciente del lenguaje escrito. El problema inverso del procesamiento del lenguaje es el de la generacin de lenguaje, es decir, dotar a los computadores de capacio dades para generar sentencias de lenguaje natural en vez de mensajes de tipo telegrco. La combinacin de estas dos tareas permitir por ejema o a, plo, la posibilidad de traducir textos escritos en diferentes idiomas, lo que se conoce como traduccin asistida por ordenador. Una referencia clsica o a a este campo es Schank y Abelson (1977). Tambin se pueden encontrar e descripciones interesantes de procesamiento del lenguaje natural en Allen (1995) y McKeown (1985).
20
1.
Introduccin o
1.8.8
Visin Articial o
Uno de los objetivos de la visin articial es la posibilidad de usar oro denadores para localizar y reconocer automticamente objetos en tres dia mensiones. Muchas otras reas de la IA tales como la representacin del a o conocimiento, el reconocimiento de patrones, y las redes neuronales juegan un papel esencial en la visin articial. Los muy signicativos avances o tcnicos producidos durante la ultima dcada has sido aplicados a varios e e sistemas comerciales utilizados en fabricacin, inspeccin, tareas de gu o o a, etc. Para una introduccin general a este rea, vase Fischler y Firschein o a e (1987) y Shapiro y Rosenfeld (1992).
1.8.9
Robtica o
La robtica es una de las reas de la IA ms populares. Los robots combinan o a a elementos mecnicos, sensores, y ordenadores que les permiten tratar con a objetos reales y realizar muchas tareas de forma precisa, rpida y cmoda. a o Por ello, se puede pensar en los robots como ordenadores que interaccionan con el mundo real. Una revisin general de la robtica se presenta en o o McKerrow (1991), mientras Jones y Flynn (1993) tratan el tema de las aplicaciones prcticas. a
1.8.10
Redes Neuronales
Las redes neuronales se crearon con el objetivo de reproducir de forma bsica las funciones elementales del cerebro humano. Las arquitecturas en a red con un gran nmero de conexiones entre varias capas de procesadores u fueron introducidas para reproducir la estructura del cerebro humano. La informacin contenida en una red neuronal se codica en la estructura de la o red y en los pesos de las conexiones. Por tanto, en una situacin particular, o los pesos de las conexiones tienen que modicarse para reproducir la salida deseada. Esta tarea de aprendizaje se consigue mediante una tcnica de e aprender por analog es decir, el modelo se entrena para reproducir las a, salidas de un conjunto de seales de entrenamiento con el objetivo de codin car de esta forma la estructura del fenmeno. La aparicin de ordenadores o o rpidos en los que pudieran simularse redes grandes y complejas, y el desa cubrimiento de potentes algoritmos de aprendizaje han sido las causas que han posibilitado el desarrollo rpido de este rea de conocimiento. Para una a a introduccin ver, por ejemplo, Freeman y Skapura (1991) y Lisboa (1992). o
1.9
Conclusiones
21
1.9
Conclusiones
A partir de la breve descripcin de las variadas areas de la IA mostradas en o este cap tulo, se puede ver que stas estn interrelacionadas. Por ejemplo, e a la robtica utiliza otras areas de la IA tales como la visin automtica y o o a el reconocimiento de patrones o de la voz. El area de la IA, como un todo, es altamente interdisciplinar. Por ejemplo, los sistemas expertos requieren varios conceptos de la ciencia del computador, la lgica matemtica, la o a teor de grafos, la teor de la probabilidad y la estad a a stica. Por ello, el trabajo en este campo requiere la colaboracin de muchos investigadores o en diferentes areas de especializacin. o
2.1
Introduccin o
En nuestra vida diaria encontramos muchas situaciones complejas gobernadas por reglas deterministas: sistemas de control de trco, sistemas de a seguridad, transacciones bancarias, etc. Los sistemas basados en reglas son una herramienta eciente para tratar estos problemas. Las reglas deterministas constituyen la ms sencilla de las metodolog utilizadas en sistemas a as expertos. La base de conocimiento contiene el conjunto de reglas que denen el problema, y el motor de inferencia saca las conclusiones aplicando la lgica clsica a estas reglas. Una introduccin general a los sistemas exo a o pertos basados en reglas, puede encontrarse , por ejemplo, en Buchanan y Shortlie (1984), Castillo y Alvarez (1991), Durkin (1994), Hayes-Roth (1985), Waterman (1985), y tambin en el trabajo editado por Garc y e a Chien (1991). El libro de Pedersen (1989) muestra un enfoque prctico e a incluye varios algoritmos. Este cap tulo presenta los conceptos bsicos que forman parte de los a sistemas expertos basados en reglas. No se pretende realizar una descripcin o detallada de estos sistemas, para la que hay libros mucho ms completos a que ste, sino slo introducir al lector, de forma simple e intuitiva, en esta e o metodolog La intencin de este cap a. o tulo es mostrar cmo los sistemas o probabil sticos pueden considerarse como una generalizacin de los sistemas o basados en reglas. La Seccin 2.2 describe la base de conocimiento de los o sistemas expertos basados en reglas y da una denicin y ejemplos de reglas, o que constituyen el corazn de la base de conocimiento. Seguidamente, se o
24
2.
Conjunto de valores posibles {0, 1, . . ., 10} {sobresaliente, notable, aprobado, suspenso} {0, 1, . . ., 100} {s pendiente, no} , {s no} ,
discute cmo opera el motor de inferencia (Seccin 2.3), cmo trabaja el o o o subsistema de control de la coherencia (Seccin 2.4), y cmo se explican las o o conclusiones sacadas por el motor de inferencia (Seccin 2.5). La Seccin o o 2.6, muestra un ejemplo de aplicacin. Finalmente, la Seccin 2.7 muestra o o algunas de las limitaciones de los sistemas expertos basados en reglas.
2.2
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 evia dencia o los hechos conocidos en una situacin particular. Este elemento es o dinmico, es decir, puede cambiar de una aplicacin a otra. Por esta razn, a o o 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 o permanente y esttica, es decir, no cambia de una aplicacin a otra, a a o 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 o un conjunto de objetos y, por simplicidad, que cada objeto puede tener uno y slo uno de un conjunto de posibles valores. Ejemplos de objetos con sus o posibles valores se dan en la Tabla 2.1. Seguidamente se dan unos pocos ejemplos de reglas: Regla 1: Si nota > 9, entonces calicacin = sobresaliente. o Regla 2: Si puesto < 20 o nota > 7, entonces Admitir = s y Noticar = s . Cada una de las reglas anteriores relaciona dos o ms objetos y est a a formada por las partes siguientes: La premisa de la regla, que es la expresin lgica entre las palabras o o clave si y entonces. La premisa puede contener una o ms armaciones a
2.2
La Base de Conocimiento
25
objeto-valor conectadas con operadores lgicos y, o, o no. Por ejemplo, o la premisa de la Regla 1 consta de una unica armacin objeto-valor, o mientras que las premisas de la Regla 2 constan de dos armaciones objeto-valor conectadas por un operador lgico. o La conclusin de la regla, que es la expresin lgica tras la palabra o o o clave entonces. Los ejemplos anteriores facilitan la denicin siguiente de regla. o Denicin 2.1 Regla. Una regla es una armacin lgica que relaciona o o o dos o ms objetos e incluye dos partes, la premisa y la conclusin. Cada una a o de estas partes consiste en una expresin lgica con una o ms armaciones o o a objeto-valor conectadas mediante los operadores lgicos y, o, o no. o Una regla se escribe normalmente como Si premisa, entonces conclusin. o En general, ambas, la premisa y la conclusin de una regla, pueden contener o armaciones mltiples objeto-valor. Una expresin lgica que contiene slo u o o o una armacin objeto-valor se denomina expresin lgica simple; en caso o o o contrario, la expresin se dice expresin lgica compuesta. Por ejemplo, o o o las expresiones lgicas en ambas, premisa y conclusin de la Regla 1, son o o simples, mientras que las expresiones lgicas de las premisas y la conclusin o o de la Regla 2 es compuesta. Correspondientemente, una regla que contiene solamente expresiones lgicas simples se denomina una regla simple; en otro o caso, se llama regla compuesta. Por ejemplo, la Regla 1 es simple, mientras que la Reglas 2 es compuesta. Ejemplo 2.1 Cajero Automtico. Como ejemplo de problema detera minista que puede ser formulado usando un conjunto de reglas, considrese e una situacin en la que un usuario (por ejemplo, un cliente) desea sacar o dinero de su cuenta corriente mediante un cajero automtico (CA). En a cuanto el usuario introduce la tarjeta en el CA, la mquina la lee y la vea rica. Si la tarjeta no es vericada con xito (por ejemplo, porque no es e 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 identicacin u o personal (NIP). Si el nmero fuese incorrecto, se dan tres oportunidades de u corregirlo. Si el NIP es correcto, el CA pregunta al usuario cunto dinero a desea sacar. Para que el pago se autorice, la cantidad solicitada no debe exceder de una cierta cantidad l mite diaria, adems de haber suciente a dinero en su cuenta. En este caso se tienen siete objetos, y cada objeto puede tomar uno y slo o un valor de entre sus posibles valores. La Tabla 2.2 muestra estos objetos y sus posibles valores. 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 armaciones objeto-valor conectadas mediante el operador lgico y, lo que indica que la premisa o
26
2.
Conjunto de posibles valores {vericada, no vericada} {expirada, no expirada} {correcto, incorrecto} {excedidos, no excedidos} {suciente, insuciente} {excedido, no excedido} {autorizado, no autorizado}
TABLA 2.2. Objetos y posibles valores para el ejemplo del cajero automtico. a
es cierta si las seis armaciones lo son. Por ello, la Regla 1 relaciona el objeto Pago (en la conclusin) con los dems objetos. Segn la Regla 1, o a u la accin que debe iniciar el CA es dar el dinero al usuario si la tarjeta se o ha vericado 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 u solicitada no excede ni la cantidad disponible ni el l mite mximo diario. a Las expresiones lgicas en cada una de las restantes reglas de la Figura 2.1 o constan de una sola armacin. Ntese que la Regla 1 indica cundo debe o o a permitirse el pago, y las restantes cundo debe rechazarse. a
Ejemplo 2.2 Gente famosa. Supngase que se dispone de una base o de datos consistente en N individuos. Para cada individuo, la base de datos contiene cuatro atributos: nombre, sexo, nacionalidad y profesin. o Supngase que la base de datos muestra slo si una persona es amerio o cana, pol tica 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, o como mucho, 23 = 8 conjuntos disjuntos. Estos conjuntos se muestran en la Figura 2.2. La gura muestra tambin el nombre de una persona en e cada subconjunto. La Tabla 2.3 da un ejemplo de una base de datos que contiene N = 8 personas famosas. En este caso se tienen cuatro objetos: N ombre, Americano, P ol tico, y M ujer. El primer objeto puede tomar uno de N posibles valores (los nombres de cada persona) y cada uno de los tres ultimos objetos pueden tomar el valor s o el valor no. A partir de la Tabla 2.3 se pueden construir reglas para identicar a cada persona, resultando un total de ocho reglas. Por ejemplo, la regla siguiente corresponde al presidente Clinton: Regla 1: Si N ombre = Clinton, entonces Americano = s y P ol tico = s y M ujer = no. Las restantes siete reglas pueden construirse de forma anloga. a
2.2
La Base de Conocimiento
27
Regla 1
Si Tarjeta = verificada Fecha = no expirada NIP= correcto Intentos = no excedidos Balance = suficiente Lmite = no excedido Entonces Pago = autorizado y y y y y
Regla 2
Si Tarjeta = no verificada Entonces Pago = no autorizado Si
Regla 3
Fecha = expirada Entonces Pago = no autorizado
Regla 4
Si NIP = incorrecto Entonces Pago = no autorizado Si
Regla 5
Intentos = excedidos Entonces Pago = no autorizado
Regla 6
Si Balance = insuficiente Entonces Pago = no autorizado Si
Regla 7
Lmite = excedido Entonces Pago = no autorizado
Nombre Barbara Jordan Bill Clinton Barbara Walters Mohammed Ali Margaret Thatcher Anwar El-Sadat Marie Curie Pablo Picasso
Americano s s s s no no no no
Pol tico s s no no s s no no
Mujer s no s no s no s no
TABLA 2.3. Una base de datos mostrando cuatro objetos y sus valores correspondientes para el ejemplo de las personas famosas.
28
2.
Anwar El-Sadat
Bill Clinton
Mohammed Ali
Polticos
Barbara Jordan Margaret Thatcher
Americanos
Barbara Walters
Pablo Picasso
Marie Curie
Mujeres
FIGURA 2.2. Un ejemplo de una base de datos con tres atributos binarios que dividen la poblacin en ocho conjuntos disjuntos. o
Los Ejemplos 2.1 y 2.2 se utilizarn posteriormente en este cap a tulo 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 o Limitar las conclusiones a expresiones lgicas simples. o Hay buenas razones para imponer estas restricciones. En primer lugar, las reglas que satisfacen estas restricciones son fciles de tratar a la hora de a escribir un programa de ordenador. En segundo lugar, las dos restricciones anteriores no dan lugar a una prdida de generalidad, puesto que reglas e mucho ms generales pueden ser reemplazadas por conjuntos de reglas de a esta forma. A esto se le llama sustitucin de reglas. Por tanto, el conjunto de o reglas especicado inicialmente por el experto humano puede requerir una sustitucin posterior por un conjunto de reglas equivalente para satisfacer o estas restricciones. La Tabla 2.4 da ejemplos de sustitucin de reglas. Ntese que cada regla o o de la primera columna puede ser sustitu por el correspondiente conjunto da de reglas de la segunda columna y que todas las reglas de sta satisfacen e las condiciones anteriores. Por ejemplo, la primera regla compuesta de la Tabla 2.4: Regla 1: Si A o B, entonces C, puede ser reemplazada por las dos reglas simples:
2.2
La Base de Conocimiento
29
Regla Si A o B, entonces C Si A o B, entonces C Si A y B, entonces C Si (A o B) y C, entonces D Si (A o B) y C, entonces D Si A y B y C, entonces D Si A, entonces B y C Si A, entonces B o C Si A, entonces B y C Si A, entonces B o C
Reglas Equivalentes Si A, entonces C Si B, entonces C Si A y B, entonces C Si A, entonces C Si B, entonces C Si A y C, entonces D Si B y C, entonces D Si A y B y C, entonces D Si A y C, entonces D Si B y C, entonces D Si A, entonces B Si A, entonces C Si A y Si A y B, entonces C entonces B C, C B
TABLA 2.4. Ejemplos de sustitucin de reglas: Las reglas en la primera columna o son equivalentes a las reglas de la segunda columna. Ntese que en los seis o primeros ejemplos las sustituciones se aplican a la premisa y en los cuatro ultimos, a la conclusin. o
Regla 1a: Si A, entonces C. Regla 1b: Si B, entonces C. Como ejemplo adicional, la Tabla 2.5 muestra que Regla 2: Si A o B, entonces C, puede ser reemplazada por la regla Regla 2: Si A y B, entonces C, donde A signica no A. La Tabla 2.5 se llama tabla de verdad.
30
2.
A C C F F
B C F C F
A F F C C
B F C F C
AoB F F F C
AyB F F F C
TABLA 2.5. Una tabla de verdad mostrando que las expresiones lgicas A o B o y A y B son equivalentes. Los s mbolos C y F se utilizan para cierto y falso, respectivamente.
2.3
El Motor de Inferencia
Tal como se ha mencionado en la seccin anterior, hay dos tipos de eleo mentos: 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 o tambin cierta. Los datos iniciales se incrementan incorporando las nuevas e 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 clasicarse 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 a conclusiones, los expertos utilizan diferentes tipos de reglas y estrategias de inferencia y control (vase, por ejemplo, Castillo y Alvarez (1991), Durkin e (1994), Shapiro (1987), Waterman (1985)). En el resto de esta seccin se o discuten las reglas de inferencia Modus Ponens, Modus Tollens, Resolucin, o y las estrategias de inferencia Encadenamiento de reglas, Encadenamiento de reglas orientado a un objetivo, Compilacin de reglas, o 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.
2.3
El Motor de Inferencia
31
Ntese, sin embargo, que ninguna de las estrategias anteriores, si se imo plementan solas, conduce a todas las conclusiones posibles. Por ello, deben implementarse varias reglas y estrategias en el sistema experto para que el motor de inferencia sea capaz de obtener tantas conclusiones como sea posible.
2.3.1
El Modus Ponens es quizs la regla de inferencia ms comnmente utilizada. a a u 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. o Como ilustracin, supngase que se tiene la regla, Si A es cierto, entonces o o B es cierto y que se sabe adems que A es cierto. Entonces, tal como a 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. u
Modus Ponens
Si
Regla:
B es cierto
Hecho:
La regla de inferencia Modus Tollens se utiliza tambin para obtener e conclusiones simples. En este caso se examina la conclusin y si es falsa, se o concluye que la premisa tambin es falsa. Por ejemplo, supngase de nuevo e o 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 o regla Modus Tollens concluye que A es falso. Aunque muy simple y con muchas aplicaciones utiles, 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 Tolo lens se mueve hacia atrs, es decir, de la conclusin a la premisa. Las dos a o reglas de inferencia no deben ser vistas como alternativas sino como complementarias. La regla Modus Ponens necesita informacin de los objetos o
32
2.
Modus Tollens
Si
A es falso
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 o o inferencia que solamente utiliza Modus Ponens, la incorporacin de la regla o de inferencia Modus Tollens puede ser considerada como una expansin de o la base de conocimiento mediante la adicin de reglas, tal como ilustra el o ejemplo que sigue. Ejemplo 2.3 La regla Modus Tollens equivale a una expansin o de la base de conocimiento. Supngase que la base de conocimiento o consiste slo en la Regla 1, que se muestra en la Figura 2.5. Se puede o utilizar la regla de inferencia Modus Tollens para invertir la Regla 1 y obtener alguna conclusin cuando se tiene informacin sobre los objetos de o o su conclusin. Entonces, aplicar la regla Modus Tollens a la regla Si A, o 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 o 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 e o continuacin se da un ejemplo ilustrativo. o Ejemplo 2.4 Inferencia con dos conjuntos equivalentes de reglas. Supngase de nuevo que se tienen dos motores de inferencia: El motor E1 , o cuya base de conocimiento contiene las siete reglas de la Figura 2.1, y el
2.3
El Motor de Inferencia
33
Regla 1
Si Tarjeta = verificada Fecha = no expirada NIP = correcto Intentos = no excedidos Balance = suficiente Lmite = no excedido Entonces Pago = autorizado y y y y y
Regla 1b
Si Pago = no autorizado Entonces Tarjeta = no verificada Fecha = expirada NIP = incorrecto Intentos = excedidos Balance = insuficiente Lmite = excedido o o o o o
FIGURA 2.6. La Regla 1b puede obtenerse de la Regla 1 utilizando la regla de inferencia Modus Tollens.
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. o o Supngase adems que se sabe que el valor de N IP es incorrecto. Si ambos o a E1 y E2 utilizan slo la regla de inferencia Modus Ponens, entonces E1 o ser capaz de concluir que P ago = no autorizado (por la Regla 4), pero E2 a no concluir. Por ello, algunas de las conclusiones lgicamente derivables a o pueden no ser obtenidas usando slo la regla de inferencia Modus Ponens. o Por otra parte, si ambos motores usan la regla Modus Tollens, entonces ambos concluirn. a
2.3.2
El Mecanismo de Resolucin o
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 llaa
34
2.
Regla 1
Si Tarjeta = verificada Fecha = no expirada NIP= correcto Intentos = no excedidos Balance = suficiente Lmite = no excedido Entonces Pago = autorizado y y y y y
Regla 2b
Si Pago = autorizado Entonces Tarjeta = verificada Si
Regla 3b
Pago = autorizado Entonces Fecha = no expirada
Regla 4b
Si Pago =autorizado Entonces NIP = correcto Si
Regla 5b
Pago =autorizado Entonces Intentos = no excedidos
Regla 6b
Si Pago =autorizado Entonces Balance = suficiente Si
Regla 7b
Pago =autorizado Entonces Lmite = no excedido
FIGURA 2.7. Un conjunto de reglas lgicamente equivalentes al conjunto de o reglas de la Figura 2.1).
mado mecanismo de resolucin. Esta regla de inferencia consiste en las o etapas siguientes: 1. Las Reglas son sustituidas por expresiones lgicas equivalentes. o 2. Estas expresiones lgicas se combinan en otra expresin lgica. o o o 3. Esta ultima expresin se utiliza para obtener la conclusin. o o Estas etapas involucran conceptos tales como la combinacin y simplio cacin de expresiones lgicas, que se ilustran de un modo intuitivo en los o o ejemplos que siguen. Para un tratamiento detallado de esta regla de inferencia el lector puede consultar alguno de los libros espec cos citados en la introduccin de este cap o tulo.
2.3
El Motor de Inferencia
35
A C C F F
B C F C F
A F F C C
Si A, entonces B C F C C
AoB C F C C
TABLA 2.6. 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. o o
Ejemplo 2.5 Mecanismo de resolucin 1. Supngase que se tienen las o o 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 o una de las dos reglas por expresiones lgicas equivalentes. Esto se hace o como sigue (vase la Figura 2.8): e La Regla 1 es equivalente a la expresin lgica: A es falso o B es o o cierto. Una prueba de esta equivalencia se muestra an la tabla de verdad que se muestra en la Tabla 2.6. Similarmente, la Regla 2 es equivalente a la expresin lgica: B es o o falso o C es cierto.
A es falso
o
B es cierto
A es falso
o
B es falso
o
C es cierto
C 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 o y B es falso o C es cierto implican la expresin A es falso o C es o
36
2.
A C C C C F F F F
B C C F F C C F F
C C F C F C F C F
AoB C C F F C C C C
BoC C F C C C F C C
(A o B) y (B o C) C F F F C F C C
AoC C F C F C C C C
TABLA 2.7. Una tabla de verdad que muestra que las expresiones lgicas A es o falso o B es cierto y B es falso o C es cierto implican la expresin lgica A o o es falso o C es cierto.
cierto. Una prueba de esta equivalencia se muestra en la Tabla 2.7. Esta ultima expresin se utiliza seguidamente en la tercera etapa para obtener o la conclusin. Las etapas anteriores se ilustran en la Figura 2.8. o Ejemplo 2.6 Mecanismo de resolucin 2. Considrese de nuevo el o e ejemplo del CA con el objeto aadido Explicar, que puede tomar los valores n {s no}, indicando si se necesita explicar las acciones del CA. Apliquemos , ahora el mecanismo de resolucin a la evidencia N IP = incorrecto y a las o reglas siguientes: Si N IP = incorrecto entonces P ago = no autorizado. Si P ago = 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 o o . efecto, siguiendo los pasos indicados, se tiene 1. Las dos reglas se sustituyen por las expresiones equivalentes: N IP = correcto o P ago = no autorizado P ago = autorizado o Explicar = s 2. Las dos expresiones anteriores se combinan de la forma indicada para dar la expresin N IP = correcto o Explicar = s y o , 3. Esta ultima expresin se combina con la evidencia N IP = incorrecto, o y se obtiene la conclusin compuesta, Explicar = s o . Es importante sealar que la regla de inferencia correspondiente al mecan nismo de resolucin no siempre conduce a conclusiones, pues, de hecho, o
2.3
El Motor de Inferencia
37
NIP = correcto o Pago = no autorizado NIP = correcto o Explicar = s Pago = autorizado o Explicar = s
FIGURA 2.9. La regla de inferencia del mecanismo de resolucin aplicada al o ejemplo del CA.
puede no conocerse la verdad o falsedad de ciertas expresiones. Si esto ocurre, el sistema experto, o ms precisamente, su motor de inferencia, a 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 o poder continuar el proceso de inferencia hasta que se obtenga una conclusin. o
2.3.3
Encadenamiento de Reglas
Una de las estrategias de inferencia ms utilizadas para obtener conclua siones 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 proa ceso hasta su terminacin depende, por una parte, de los hechos conocidos, o 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. o 1. Asignar a los objetos sus valores conocidos tales como los dan los hechos conocidos o la evidencia
38
2.
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 n u hasta que no pueden obtenerse nuevos hechos. Este proceso se ilustra, a continuacin, con dos ejemplos. o Ejemplo 2.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 grcamente, tal como se muestra en la Figura 2.11, donde cada a objeto se representa por un nodo. Las aristas representan la conexin entre o los objetos de la premisa de la regla y el objeto de su conclusin. Ntese o o 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 o 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. a Este proceso se ilustra en la Figura 2.12, donde los nmeros en el interior u de los nodos indican el orden en el que se concluyen los hechos. Ejemplo 2.8 Encadenamiento de reglas 2. Considrense de nuevo las e seis reglas de la Figura 2.10 y supngase ahora que se dan los hechos o H = cierto, I = cierto, K = cierto y M = f also. Esto se ilustra en la Figura 2.13, donde los objetos con valores conocidos (los hechos) aparecen
2.3
El Motor de Inferencia
39
Regla 1
Si A y B Entonces C
Regla 2
Si D, E y F Entonces G
Regla 3
Si H e I Entonces J
Regla 4 Si C y G
Entonces K
Regla 5
Si G y J Entonces L
Regla 6 Si K y L
Entonces M
Regla 4 L
Regla 2
Regla 6
FIGURA 2.11. Una representacin grca de las relaciones entre las seis reglas o a 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 o 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 = f also o L = f also, pero, puesto que K = cierto, deber ser L = f also. a
40
2.
Regla 1
C
1
B D
Regla 2
Regla 4
K
4
Regla 6
E F H
G
2
M
6
Regla 5
L
5
Regla 3
J
3
I
FIGURA 2.12. Un ejemplo que ilustra la estrategia de encadenamiento de reglas. Los nodos con valores conocidos aparecen sombreados y los n meros en su interior u indican el orden en el que se concluyen los hechos.
3. La Regla 5 concluye (Modus Tollens) que G = f also o J = f also, pero, puesto que J = cierto, deber ser G = f also. a En consecuencia, se obtiene la conclusin G = f also. Sin embargo, si el o motor de inferencia slo utiliza la regla de inferencia Modus Ponens, el o algoritmo se detendr en la Etapa 1, y no se concluir nada para el objeto a a 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 o 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 e de trabajo.
2.3.4
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 cone u clusin para el nodo objetivo. Si no se obtiene ninguna conclusin con la o o
2.3
El Motor de Inferencia
41
Regla 1
C B D E F H
Regla 3 Regla 4
K
Regla 2 Regla 6 Objetivo Regla 5
G
3
L
2
J
1
I
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 n meros del interior de los nodos u indican el orden en el que se concluyen los hechos.
informacin existente, entonces el algoritmo fuerza a preguntar al usuario o en busca de nueva informacin sobre los elementos que son relevantes para o obtener informacin sobre el objetivo. o 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 terminolog puede a a ser confusa, puesto que ambos algoritmos pueden, en realidad, utilizar las dos reglas de inferencia Modus Ponens (hacia adelante) y Modus Tollens (hacia atrs). a El algoritmo de encadenamiento de reglas orientado a un objetivo se describe a continuacin. o Algoritmo 2.2 Encadenamiento de reglas orientado a un objetivo. 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 a los hechos de partida, si es que existe alguno. Marcar todos los objetos
42
2.
cuyo valor ha sido asignado. Si el nodo objetivo est marcado, ir a la a Etapa 7; en otro caso: (a) Designar como objetivo inicial el objetivo en curso. (b) Marcar el objetivo en curso. (c) Sea ObjetivosP revios = , donde es el conjunto vac o. (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 ObjetivosP revios. 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 a inactiva e ir a la Etapa 2; en otro caso: (a) Aadir el objetivo en curso a ObjetivosP revios. n (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 ObjetivosP revios, e ir a la Etapa 2. 7. Devolver el valor del objetivo en curso si es conocido. A continuacin se ilustra el encadenamiento de reglas orientado a un objeo tivo mediante algunos ejemplos. Ejemplo 2.9 Encadenamiento de reglas orientado a un objetivo. Considrense las seis reglas de las Figuras 2.10 y 2.11. Supngase que se e o 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. a 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 u nodo indica el orden en el que se visita cada nodo. Estas etapas son:
2.3
El Motor de Inferencia
43
A
4
Regla 1
C
3
B
5
Regla 4
K D
Regla 2
2
Regla 6
E F H
G
6
M
1
Regla 5
L
Regla 3
Objetivo
J I
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 n mero en el interior de u 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 a Se designa el objeto M como objeto en curso. Se marca el objeto M . Por tanto, se tiene ObjetosM arcados = {D, E, F, L, M }. ObjetivosP revios = . Las seis reglas estn activas. Por tanto, se tiene ReglasActivas a = {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 a ObjetivosP revios = {M }.
44
2.
Se elige el objeto K como objetivo en curso. El objeto K est marcado. Por tanto se tiene, ObjetosM arcados a = {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 contina con la Etapa u 3. Etapa 3. La Regla 4 no puede concluir puesto que se desconocen los valores de los objetos C y G. Por ello, se contina con la Etapa 4. u Etapa 4. Los objetos C y G no estn marcados. Entonces a ObjetivosP revios = {M, K}. Se elige uno de los objetos no marcados C o G como el nuevo objetivo en curso. Supngase que se elige C. o Se marca el objeto C. Por tanto, se tiene ObjetosM arcados = {D, E, F, L, M, K, C}. Se contina con la Etapa 2. u Etapa 2. Se busca una regla activa que incluya el objetivo en curso C pero no los objetos previos {M, K}. Se encuentra la Regla 1, as que se va a la Etapa 3. Etapa 3. La Regla 1 no puede concluir puesto que se desconocen los valores de los objetos A y B. Por tanto se contina con la Etapa 4. u Etapa 4. Los objetos A y B no estn marcados. Entonces a ObjetivosP revios = {M, K, C}. Se elige uno de los objetos no marcados A y B como nuevo objetivo en curso. Supngase que se elige A. o Se marca el objeto A. Por ello, ObjetosM arcados = {D, E, F, L, M, K, C, A}. Se contina con la Etapa 2. u 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 o toma el valor cierto, entonces se hace A = cierto y se sigue con la Etapa 6.
2.3
El Motor de Inferencia
45
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 ObjetivosP revios. Por ello, ObjetivosP revios = {M, K} y se contina con la Etapa 2. u 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 a ObjetivosP revios = {M, K, C}. Se elige como objetivo en curso el unico objeto no marcado, B. Se marca el objeto B. Por ello, ObjetosM arcados = {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 o 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 ObjetivosP revios. Por ello, ObjetivosP revios = {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 ObjetivosP revios. Por ello, ObjetivosP revios = {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.
46
2.
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 a ObjetivosP revios = {M, K}. El unico objeto no marcado G se elige como objetivo en curso. Se marca el objeto G. Por ello, ObjetosM arcados = {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 ObjetivosP revios. Por ello, ObjetivosP revios = {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 ObjetivosP revios. Por ello, ObjetivosP revios = 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.
2.3
El Motor de Inferencia
47
Ntese que a pesar de que los objetos H, I y J tienen valores desconocidos, o 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 o a 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, s ntomas) 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 (s ntomas) para que stas sean posibles. e Ejemplo 2.10 Encadenamiento de reglas orientado a un objetivo sin Modus Tollens. Considrense las seis reglas de las Figuras 2.10 y e 2.11. Supngase que se selecciona el nodo J como objetivo y que se dan los o siguientes hechos: G = cierto y L = f also. 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, o que el motor de inferencia utiliza slo la regla de inferencia Modus Ponens. o 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 = f also. Puesto que el objetivo J no est marcado, a entonces Se designa el objeto J como objetivo en curso. Se marca el objeto J. Por ello, ObjetosM arcados = {G, L, J}. ObjetivosP revios = . Todas las reglas estn activas. Por tanto, se tiene ReglasActivas a = {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 o encuentra la Regla 3 (es la unica regla en la que el objetivo en curso J forma parte de su conclusin). Por tanto, se va a la Etapa 3. o 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 a ObjetivosP revios = {J}. Se elige uno de los objetos no marcados H o I como objetivo en curso. Supngase que se elige H. o
48
2.
Regla 1
C B D
Regla 2 Regla 4
K
Regla 6
E F H
2
G
Regla 5
L
Regla 3
J I
3 1
Objetivo
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. u
El objeto H est marcado. Por tanto, se tiene ObjetosM arcados a = {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 o la Etapa 6. 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 ObjetivosP revios. Por ello, ObjetivosP revios = y se va a la 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.
2.3
El Motor de Inferencia
49
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 a ObjetivosP revios = {J}. Se elige el unico objeto no marcado I como el objetivo en curso. Se marca el objeto I. Por ello, ObjetosM arcados = {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 o 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 ObjetivosP revios. Por ello, se hace ObjetivosP revios = 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 a la Regla 3 se declara inactiva. Por ello, se hace ReglasActivas = {1, 2, 4, 5, 6}. Se contina en la Etapa 2. u 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 2.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 o e o
50
2.
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 = f also. Puesto que el objetivo J no est marcado, a entonces Se designa el objeto J como objetivo en curso. Se marca el objeto J. Por ello, se hace ObjetosM arcados = {G, L, J}. ObjetivosP revios = . 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 o Etapa 3. (Si se elige la Regla 3, el algoritmo tardar ms tiempo en a a terminar.) Etapa 3. Puesto que se usa la regla de inferencia Modus Tollens, la Regla 5 concluye que J = f also (puesto que G = cierto y L = f also). 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 = f also.
2.3.5
Compilacin de reglas o
Otra forma de tratar con reglas encadenadas consiste en comenzar con un conjunto de datos (informacin) y tratar de alcanzar algunos objetivos. o Esto se conoce con el nombre de compilacin de reglas. Cuando ambos, o datos y objetivos, se han determinado previamente, las reglas pueden ser compiladas, es decir, pueden escribirse los objetivos en funcin de los datos o para obtener las llamadas ecuaciones objetivo. La compilacin de reglas se o explica mejor con un ejemplo. Ejemplo 2.12 Compilacin de reglas. Considrese el conjunto de seis o e reglas de la Figura 2.11 y supngase que son conocidos los valores de los o objetos A, B, D, E, F, H, e I y que los restantes objetos, C, G, J, K, L y M , son objetivos. Denotemos por el operador lgico y; entonces, utilizando o las seis reglas, pueden obtenerse las siguientes ecuaciones objetivo:
2.4
Control de la Coherencia
51
La Regla 1 implica C = A B. La Regla 2 implica G = D E F . La Regla 3 implica J = H I. La Regla 4 implica K = C G = (A B) (D E F ). La Regla 5 implica L = G J = (D E F ) (H I). La Regla 6 implica M = K L = A B D E F H I. 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.
2.4
Control de la Coherencia
En situaciones complejas, incluso verdaderos expertos pueden dar informacin inconsistente (por ejemplo, reglas inconsistentes y/o combinaciones o de hechos no factibles). Por ello, es muy importante controlar la coherencia del conocimiento tanto durante la construccin de la base de conocimiento o como durante los procesos de adquisicin de datos y razonamiento. Si la o base de conocimiento contiene informacin inconsistente (por ejemplo, reo glas 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 a al usuario las restricciones que debe satisfacer la informacin demano dada. 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.
52
2.
Objetos A C C F F B C F C F
Conclusiones contradictorias S S No No
TABLA 2.8. Una tabla de verdad que muestra que las Reglas 1 y 2 son coherentes.
2.4.1
Coherencia de Reglas
Denicin 2.2 Reglas coherentes. Un conjunto de reglas se denomina o 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 e conclusiones no contradictorias para todos los posibles conjuntos de valores de los objetos. Es decir, es suciente que exista un conjunto de valores que conduzcan a conclusiones no contradictorias. Ejemplo 2.13 Conjunto de reglas incoherentes. Considrense las e 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 12 son coherentes puesto que, tal como se muestra en la Tabla 2.8, para A = F , no producen conclusiones. 2. Las Reglas 13 son coherentes puesto que para A = F y B = C, producen una conclusin (B = C) (vase la Tabla 2.9). o e 3. Las Reglas 14 son incoheremtes porque producen conclusiones contradictorias para todos los posibles valores de A y B, tal como se ve en la Tabla 2.10. Ntese que un conjunto de reglas puede ser coherente, aunque algunos o conjuntos de valores puedan producir conclusiones inconsistentes. Estos conjuntos de valores se llaman valores no factibles. Por ejemplo, las Reglas 12 son coherentes, aunque producen conclusiones inconsistentes en todos los casos en que A = C. En consecuencia, el subsistema de control de
2.4
Control de la Coherencia
53
Conclusiones contradictorias S S No S
TABLA 2.9. Una tabla de verdad que muestra que las Reglas 13 son coherentes.
Conclusiones Regla 2 B=F B=F Regla 3 B=C B=C Regla 4 B=F B=F
Conclusiones contradictorias S S S S
TABLA 2.10. Una tabla de verdad que muestra que las Reglas 14 son incoherentes.
coherencia eliminar automticamente el valor C de la lista de posibles a a valores del objeto A, permitiendo de esta forma al usuario seleccionar slo o valores factibles de los objetos. Denicin 2.3 Valores no factibles. Se dice que un valor a para el o objeto A no es factible si las conclusiones obtenidas al hacer A = a contradicen cualquier combinacin de valores del resto de los objetos. o 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 cuae tro reglas del Ejemplo 2.13. En este caso, el motor de inferencia concluir a 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 a a factibles de A. Dado que A es binario, entonces resulta A = F (el unico 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 a a valores factibles de B.
54
2.
3. Las primeras cuatro reglas implican que A = C, A = F , B = C y B = 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 vac lo que implica que las cuatro reglas a as, son incoherentes. Ntese que es suciente realizar la comprobacin de la coherencia de las o o reglas slo una vez, tras ser introducida cada regla, y que todos los valores o no factibles pueden ser eliminados de sus correspondientes listas, nada ms a 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 a o aadir una regla a la base de conocimiento, hay que comprobar la consistenn cia de esta regla con el resto de ellas, inclu das en la base de conocimiento. Si la regla fuese consistente con el resto de reglas, se a adir a la base de n a conocimiento; en caso contrario, se devolver al experto humano para su a correccin. o Ejemplo 2.15 Coherencia de reglas. Supngase que se tienen los cuatro o objetos: A {0, 1}, B {0, 1}, C {0, 1, 2} y D {0, 1}. Considrense las e 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 ultimas reglas a una base de o n 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 o a cuestin y/o las reglas existentes si fueran incorrectas. La Regla 4 entrar o a 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 e 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
2.4
Control de la Coherencia
55
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 o 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 o existe ningn valor de C que sea consistente con la base de conocimiento. u Ntese que antes de conocer los valores de los objetos, existe una solucin o o 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 o de objetos, el sistema experto deber aceptar slo los valores de a o cada objeto que sean consistentes con las reglas y con el conocimiento previo. Considrese, por ejemplo, la base de conocimiento del Ejemplo e 2.15 y supngase que al sistema experto se le ha dado la informacin o o 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 ejemo plo, 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 P ago = a autorizado y N IP = incorrecto en el Ejemplo 2.1 del CA . Por ello, tan pronto como se de la primera evidencia, P ago = autorizado, el sistema debe seleccionar slo los valores del N IP que no conduzcan o 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 o 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 vae o lores no factibles. El motor de inferencia obtiene todas las conclusiones posibles examinando, y posiblemente concluyendo, las reglas tan pronto como una simple unidad de informacin llega al sistema. o
56
2.
Ntese que dar varias unidades de informacin simultneamente puede o o a 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. o En este caso, el orden de la informacin afecta a los posibles valores o futuros de los objetos que conducen a compatibilidad, es decir, tras dar A = 0 se puede dar B = 0 o 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 imo portante 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. o Por ello, tanto la eliminacin automtica de valores no factibles como la o a actualizacin continua del conocimiento aseguran la coherencia de la base o de conocimiento. El ejemplo siguiente ilustra la aplicacin de esta tcnica o e al problema de los agentes secretos presentado en el Cap tulo 1. Ejemplo 2.16 Los 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, a est en uno de los cuatro paises: Egipto, Francia, Japn y Espaa. Se han a o n recibido los siguientes telegramas de los agentes: De Francia: Luisa est en Espaa. a n De Espaa: Alberto est en Francia. n a De Egipto: Carmen est en Egipto. a De Japn: Carmen est en Francia. o a El problema radica en que no se sabe quin ha enviado cada uno de los e mensajes, pero es conocido que Toms miente (es un agente doble?) y que a los dems agentes dicen la verdad. El misterio que trata de escudriarse es a n el de responder a la pregunta quin est en cada pa e a s? Seguidamente se disea un sistema experto para resolver este problema. n Se tienen cuatro objetos: Alberto, Luisa, Carmen y Toms. Cada objeto a puede tomar uno de cuatro valores: Egipto, Francia, Japn o Espaa. o n Puesto que Toms es el unico que miente, se considera que un telegrama a 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: a n Regla 1: Si Toms est en Francia, entonces Luisa no est en a a a Espaa. n
2.4
Control de la Coherencia
57
Regla 2: Si Toms no est en Francia, entonces Luisa est en a a a Espaa. n 2. El mensaje de Espaa (Alberto est en Francia) da lugar a: n a Regla 3: Si Toms est en Espaa, entonces Alberto no est en a a n a Francia. Regla 4: Si Toms no est en Espaa, entonces Alberto est en a a n a Francia. 3. El mensaje de Egipto (Carmen est en Egipto) da lugar a: a Regla 5: Si Toms est en Egipto, entonces Carmen no est en a a a Egipto. Regla 6: Si Toms no est en Egipto, entonces Carmen est en a a a Egipto. 4. El mensaje de Japn (Carmen est en Francia) da lugar a: o a Regla 7: Si Toms est en Japn, entonces Carmen no est en a a o a Francia. Regla 8: Si Toms no est en Japn, entonces Carmen est en a a o a Francia. Utilizando slo estas ocho reglas, se intentar ahora averiguar el valor o a que toma el objeto Toms: a 1. Toms est posiblemente en Egipto. Si Toms est en Egipto, se a a a a obtienen las conclusiones siguientes: Luisa est en Espaa, por la Regla 2. a n Alberto est en Francia, por la Regla 4. a Carmen no est en Egipto, por la Regla 5. a Carmen est en Francia, por la Regla 8. a Se ve que con esta hiptesis se llega a la conclusin de que tanto Alo o berto como Carmen estn en Francia, lo que contradice la informacin a o de que slo un agente puede estar en cada pa (pero el conjunto de o s las ocho reglas anteriores no contiene esta informacin). Por tanto, o se concluye que Egipto es un valor imposible para el objeto Toms, a es decir, Toms no puede estar en Egipto. a 2. Toms est posiblemente en Japn. Si Toms est Japn, se obtienen a a o a a o las conclusiones siguientes: Luisa est en Espaa, por la Regla 2. a n Alberto est en Francia, por la Regla 4. a
58
2.
Carmen est en Egipto, por la Regla 6. a En este caso no hay una contradiccin, lo que signica que Japn es o o un valor posible para el objeto Toms. a Con las ocho reglas anteriores, el motor de inferencia no puede concluir en qu pa est cada uno de los agentes, puesto que las reglas no contienen e s a la informacin slo un agente puede estar en cada pa Seguidamente se o o s. considera esta situacin y se obtiene un conjunto de reglas adicionales que o tienen en cuenta esta informacin. o Puesto que cada pa puede estar ocupado por exactamente un agente, s supngase que un agente est en un pa dado. Entonces, se necesitan tres o a s reglas para garantizar que ninguno de los restantes agentes est en ese a mismo pa Dado que se tienen cuatro agentes, resultan un total de 12 s. 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 o redundantes. Por ejemplo, para Egipto se tienen las reglas: Regla 9: Si Alberto est en Egipto, entonces Luisa no est en Egipto. a a Regla 10: Si Alberto est en Egipto, entonces Carmen no est en a a Egipto. Regla 11: Si Alberto est en Egipto, entonces Toms no est en a a a Egipto. Regla 12: Si Luisa est en Egipto, entonces Carmen no est en Egipto. a a Regla 13: Si Luisa est en Egipto, entonces Toms no est en Egipto. a a a Regla 14: Si Carmen est en Egipto, entonces Toms no est en a a a Egipto. Ntese que existen un conjunto de seis reglas equivalentes a las anteriores. o Por ejemplo, la regla: Regla 14a: Si Toms est en Egipto, entonces Carmen no est en a a a Egipto, es equivalente a (Modus Tollens) la Regla 14. Por tanto, se necesitan slo o seis reglas por pa s. Los conjuntos de seis reglas para cada uno de los restantes pa se geneses ran 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 pa s.
2.6
Ejemplo de Aplicacin o
59
2.5
Explicando Conclusiones
Tal como se ha indicado en el Cap tulo 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 e u o e de las conclusiones. Durante el proceso realizado por el motor de inferencia, las reglas activas (las que han conclu do) forman la base del mecanismo de explicacin, que es regulado por el subsistema de explicacin. o o En los sistemas expertos basados en reglas, es fcil dar explicaciones a de las conclusiones obtenidas. El motor de inferencia obtiene conclusiones basndose en un conjunto de reglas y, por tanto, conoce de qu regla procede a e cada conclusin. Por ello, el sistema puede dar al usuario la lista de hechos o concluidos junto con las reglas que se han utilizado para obtenerlos. Ejemplo 2.17 Explicando conclusiones. Considrense las seis reglas e de las Figuras 2.10 y 2.11. Como en el Ejemplo 2.7, supngase que se o 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: o 1. Hechos dados: A = cierto, B = cierto, F = cierto, H = 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. K = cierto, basada en la Regla 4. L = cierto, basada en la Regla 5. M = cierto, basada en la Regla 6. D = cierto, E = cierto, I = cierto.
2.6
Ejemplo de Aplicacin o
Los sistemas de control de trco actuales son necesariamente complejos. a En esta seccin se muestra un ejemplo para ilustrar cmo puede disearse o o n un sistema experto basado en reglas para resolver un problema de control de trco muy simple. La Figura 2.16 muestra un trazado de ferrocarril en a el que varios trenes pueden circular en las dos direcciones. Hay cinco v as, S1 , . . . , S5 , y 14 seales de trco, ocho en la parte superior del diagrama, n a
60
2.
U1
U7
U8
U6
S1
U2 U3
S3
U4 U5
S4
L2
L3
L4
L5
S2
L1
FIGURA 2.16. Trazado de ferrocarril con cinco v as.
S5
L6
Objeto U1 a U8 L1 a L6 S1 a S 5
TABLA 2.11. Objetos y sus correspondientes valores para el ejemplo del control de trco ferroviario. a
U1 , . . . , U8 , y seis en la parte inferior, L1 , . . . , L6 . Todos los objetos y sus posibles valores se muestran en la Tabla 2.11. El objetivo de este sistema es dise ar un conjunto de reglas que eviten n la colisin de los trenes. Estas reglas pueden obtenerse como sigue: o 1. Si la seal de trco U1 est verde, entonces puede permitirse la n a a salida de un tren que est en la v S1 y no debe permitirse la salida e a de los trenes de la v S2 , por lo que L1 tiene que estar en rojo. a Lo mismo es cierto para las v S4 y S5 . Esto da las dos primeras as reglas de la Tabla 2.12. Ntese que si el motor de inferencia utiliza o la regla de inferencia Modus Tollens, estas reglas garantizan tambin e que cuando las seales de la parte baja de las v estn en verde, n as e las seales de sus correspondientes partes superiores estn en rojo. Es n e decir, las dos primeras reglas de la Tabla 2.12 implican las dos reglas siguientes: Regla 1a: Si L1 = verde, entonces U1 = rojo. Regla 2a: Si L6 = verde, entonces U6 = rojo. 2. Si la v S1 est ocupada, entonces la seal U2 debe estar en rojo a a n para evitar que un tren entre en la v ocupada. Similarmente, para a las dems v Esto da lugar a las seis reglas adicionales (Reglas 38) a as. en la Tabla 2.12.
2.6
Ejemplo de Aplicacin o
61
3. Si ambas seales U3 y L3 estn en rojo, entonces ningn tren puede n a u salir de la v S1 . La misma condicin vale para las seales U5 y L5 . a o n 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 v pueden ser obtenidas as de forma anloga. Todas las reglas se muestran en la Tabla 2.12 como a las Reglas 914. 4. Para evitar la colisin de los trenes procedentes de las v S1 S2 y o as 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 n seales de la parte baja estn simultneamente en verde, es necesario n e a incluir las Reglas 1720 de la Tabla 2.12. 6. Finalmente, para evitar la colisin de un tren de la v S3 con un o a tren de las otras cuatro v se imponen las dos ultimas reglas de la as, Tabla 2.12. Para mantener la coherencia de los hechos, es necesario actualizar automticamente el conocimiento tan pronto como se conozca un nuevo hecho a o conclusin. o 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.11 y el conjunto de reglas de la Tabla 2.12. Ejemplo 2.18 Control de trco ferroviario. En este ejemplo se usar a a la concha X-pert Reglas. En primer lugar, se necesita escribir un chero que contenga una descripcin de la base de conocimiento anterior. Este chero o es le por la concha X-pert Reglas. Puesto que X-pert Reglas no permite do 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.4): 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.
62
2.
Regla 9 Regla 10 Regla 11 Regla 12 Regla 13 Regla 14 Regla 15 Regla 16 Regla Regla Regla Regla 17 18 19 20
(U3 = rojo y L3 = rojo) o (U5 = rojo y L5 = rojo) (U3 = rojo y L3 = rojo) o (U5 = rojo y L5 = rojo) (U2 = rojo y L2 = rojo) o (U4 = rojo y L4 = rojo) (U2 = rojo y L2 = rojo) o (U4 = rojo y L4 = rojo) U2 = rojo y L2 = rojo U5 = rojo y L5 = rojo U3 = verde L3 = verde U2 U3 U4 U5 = verde = verde = verde = verde
U1 = rojo L1 = rojo U6 = rojo L6 = rojo U7 = rojo U8 = rojo U4 = rojo L4 = rojo L2 L3 L4 L5 = rojo = rojo = rojo = rojo
Regla 21 Regla 22
U7 = rojo U8 = 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 chero de texto TracControl.txt, que contiene todos los objetos y las 26 reglas.1 Supngase que inicialmente se tienen trenes o
El chero TracControl.txt con la base de conocimiento y la concha para construir sistemas expertos X-pert Reglas puede obtenerse de la direccin de o World Wide Web http://ccaix3.unican.es/AIGroup.
1
2.6
Ejemplo de Aplicacin o
63
esperando en las v S1 , S2 y S3 tal como se indica en la Figura 2.17. Lo as que sigue muestra una sesin interactiva utilizando X-pert Reglas y tras leer o el chero de texto TracControl.txt. En primer lugar se especican 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 n o que esperan en las v El resto de los objetos toman valores desconocidos. as. La Figura 2.17 muestra esta informacin en forma grca. o a
S1
rojo ocupado rojo
S3
rojo ocupado
S4
ocupado rojo
S2
S5
Supngase ahora que se desea permitir al tren en la v S1 salir en dio a reccin Este. Para ello, se hace U1 = verde. Entonces se tienen los siguientes o hechos y conclusiones: 1. Hechos: S1 = ocupada. S3 = ocupada. S5 = ocupada. U1 = verde.
64
2.
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 = f ree (es el unico valor posible). U6 = rojo (basada en la Regla 11b). L6 =rojo (basada en la Regla 12b). La Figura 2.18 muestra las conclusiones resultantes. Ntese que el tren o que est en la v S1 puede ahora partir y dirigirse a la v S4 . Este camino a a a se muestra en la Figura 2.18.
verde
rojo
rojo
S1
rojo ocupado rojo
S3
rojo ocupado verde
S4
libre
S2
rojo rojo
S5
FIGURA 2.18. Nuevas conclusiones resultantes de los hechos S1 = S3 = S5 = ocupada and U1 = verde.
2.7
Introduciendo Incertidumbre
Los sistemas basados en reglas descritos en este cap tulo pueden aplicarse slo a situaciones deterministas. Sin embargo, hay muchos casos prcticos o a que implican incertidumbre. Por ejemplo, en el Ejemplo 1.4 del diagnstico o
2.7
Introduciendo Incertidumbre
65
mdico, la presencia de algunos s e ntomas no siempre implica la existencia de una enfermedad dada, incluso aunque haya una fuerte evidencia sobre la existencia de esa enfermedad. Por ello, es util extender la lgica clsica o a para incorporar incertidumbre. Esto ha sido realizado mediante la intro duccin de varias medidas para tratar la incertidumbre. Castillo y Alvarez o (1990, 1991) describen la aplicacin de estas medidas para mejorar los o sistemas expertos basados en reglas. Por otra parte, Johnson y Keravnou (1988) describen algunos prototipos de sistemas expertos basados en lgicas o inciertas. El Cap tulo 3 describe en detalle los sistemas expertos basados en probabilidad, que incorporan la incertidumbre.
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. o 2.3 En algn momento del Ejemplo 2.11, se ha buscado una regla activa u 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 o elegido la Regla 3 en vez de la Regla 5. 2.4 Considrese una interseccin de dos calles de doble sentido, tal como e o 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 dia chos carriles. Denir un conjunto de reglas que regulen la interseccin o de forma que no pueda producirse ninguna colisin. o 2.5 Considrese la l e nea ferroviaria con seis v dada en la Figura 2.20. as Completar el conjunto de reglas dado en la Seccin 2.6 para incorpoo rar la nueva v S6 . a 2.6 Considrese la l e nea ferroviaria de la Figura 2.21 con cuatro v as {S1 , . . . , S4 }. Disear un sistema de control de trco ferroviario para n a controlar las seales. Obtener un conjunto de reglas que garanticen n la imposibilidad de colisiones de trenes. 2.7 Supngase que se tienen las seis reglas del Ejemplo 2.7. Siguiendo o el proceso dado en los Ejemplos 2.9 y 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
66
2.
T1 T2 T3
R1 R2 R3
L1 L2 L3 B1 B2 B 3
S1
S3
S4
S2
S6
FIGURA 2.20. Una l nea ferroviaria con seis v as.
S5
se indican en gris son objetos con valores asignados. Los correspondientes valores se muestran prximos a los objetos. Cules ser las o a an conclusiones con un motor de inferencia que slo incluya la regla de o inferencia Modus Ponens? 2.8 Disear un sistema experto basado en reglas que sirva para jugar al n Tres en Raya. Por turno, dos jugadores ponen una de sus piezas en un tablero de 9 cuadrados (3 3) (vase la Figura 2.23). Gana el e jugador que consiga poner sus 3 piezas en columna (Figura 2.23(a)), en la (Figura 2.23(b)), o en diagonal (Figura 2.23(c)). Considrense e las estrategias siguientes: Estrategia defensiva: Denir las reglas para evitar que el contrario gane.
2.7
Introduciendo Incertidumbre
67
S1 S2
S3 S4
FIGURA 2.21. Una l nea ferroviaria con cuatro v as.
Regla 1
A Cierto B Cierto
Regla 6
Regla 1
C
Regla 4
K
Regla 2
Cierto
D
Regla 2
K
Regla 6
G
Regla 5
E F
G Cierto
Regla 5
M Falso
Objetivo
L
Regla 3
H I Falso (a)
J I Cierto
Objetivo
(b)
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 denan la n estrategia para ganar. 2.9 Disear un sistema experto basado en reglas para clasicar animales o n plantas basndose en un conjunto m a nimo de caracter sticas. S ganse las etapas siguientes: Decidir el conjunto de animales o plantas a clasicar. Elegir las caracter sticas diferenciales.
68
2.
(a)
(b)
(c)
FIGURA 2.23. Tableros del juego del Tres en Raya: Tres ejemplos en los que el jugador X es el ganador.
Denir las reglas necesarias para identicar cada animal o planta. Eliminar las caracter sticas innecesarias. Escribir las reglas en el sistema. Comprobar exhaustivamente el sistema experto. Redisear el sistema a la vista de lo anterior. n 2.10 En el ejemplo de los agentes secretos del Ejemplo 2.16, qu conclue siones pueden sacarse utilizando slo las ocho primeras reglas cuando o (a) se da Francia como valor posible del objeto Toms y (b) se da a Espaa como valor posible para el mismo objeto?. n