Sistemas Expertos Basado en Reglas (1)

75
Sistemas expertos basado en reglas Al cual introducimos la opción más popular para construir sistemas basados en conocimientos: sistemas expertos basados en reglas. 2.1 Introducción, o ¿cuál es el conocimiento? En los años 1970, finalmente fue aceptado hacer una máquina solucionadora del problema intelectual uno que sepa la solución. En otras palabras, uno tiene que tener el conocimiento, 'conocimientos', en algún dominio específico. ¿Cuál es el conocimiento? El conocimiento es una comprensión teórica o práctica de un sujeto o un dominio. El conocimiento es también la suma de lo que ocurre ahora, y al parecer el conocimiento es poder. Los que poseen el conocimiento son llamados expertos. Ellos son la gente más poderosa e importante en sus organizaciones. Cualquier empresa acertada tiene al menos unos expertos de primera clase y no puede permanecer en el negocio sin ellos.

Transcript of Sistemas Expertos Basado en Reglas (1)

Page 1: Sistemas Expertos Basado en Reglas (1)

Sistemas expertos basado en reglasAl cual introducimos la opción más popular para construir sistemas basados en conocimientos: sistemas expertos basados en reglas.

2.1 Introducción, o ¿cuál es el conocimiento?

En los años 1970, finalmente fue aceptado hacer una máquina solucionadora del problema intelectual uno que sepa la solución. En otras palabras, uno tiene que tener el conocimiento, 'conocimientos', en algún dominio específico.

¿Cuál es el conocimiento? El conocimiento es una comprensión teórica o práctica de un sujeto o un dominio. El conocimiento es también la suma de lo que ocurre ahora, y al parecer el conocimiento es poder. Los que poseen el conocimiento son llamados expertos. Ellos son la gente más poderosa e importante en sus organizaciones. Cualquier empresa acertada tiene al menos unos expertos de primera clase y no puede permanecer en el negocio sin ellos.

¿Quién generalmente es reconocido como un experto? Alguien puede ser considerado un experto de dominio si él o ella tienen un conocimiento profundo (tanto de hechos como de reglas) y una fuerte experiencia práctica en un campo en particular. El área de dominio puede ser limitada. Por ejemplo, los expertos en máquinas eléctricas pueden tener el conocimiento sólo general sobre transformadores, mientras que los expertos en el márketing de seguro de vida podrían haber limitado la comprensión de una póliza de seguros inmobiliaria. En general, un experto es una persona hábil que puede hacer cosas otra gente no puede.

Page 2: Sistemas Expertos Basado en Reglas (1)

¿Cómo piensan los expertos? El proceso humano mental es interno, y es demasiado complejo para ser representado como un algoritmo. Sin embargo, la mayor parte de expertos son capaces de expresar su conocimiento en forma de reglas para la solución de problema. Considere un ejemplo simple. ¡Imagínese, usted encuentra a un alien! Él quiere cruzar un camino. ¿Puede usted ayudarle? Usted es un experto en caminos que se cruzan - usted ha estado trabajando durante varios años en esto. Así que usted es capaz de enseñar al alien. ¿Cómo haría usted esto?

Usted explica al alien que él puede cruzar el camino seguramente solo cuando semáforo es verde, y él debe pararse cuando la semáforo es roja. Estos son las reglas básicas. Su conocimiento puede ser formulado como las declaraciones siguientes:

IF el ‘semáforo’ está en verde

THEN puede avanzar

IF el ‘semáforo’ está en rojo

THEN debe detenerse

Estas declaraciones representadas en el IF-THEN llaman reglas de producción a la forma o solamente gobiernan. El término 'la regla' en IA, que es el tipo el más comúnmente usado de representación de conocimiento, puede ser definido como un IF-THEN la estructura que relaciona la información dada o hechos en el IF la parte a alguna acción en THEN. Una regla proporciona alguna descripción de como solucionar un problema. Las reglas son relativamente fáciles para crear y entender.

Page 3: Sistemas Expertos Basado en Reglas (1)

2.2 Reglas como una técnica de representación del conocimiento

Cualquier regla consiste en dos partes: la parte del IF, llamada el antecedente (la premisa o la condición) y la parte del THEN se llamara el consiguiente (la conclusión o la acción).

La sintaxis básica de una regla es:

IF <el antecedente>

THEN <consiguiente>

En general, una regla puede tener múltiples antecedentes unidos por las palabras clave (y la conjunción), (o la separación) o una combinación de ambos. Sin embargo, esto es un hábito bueno de evitar mezclar conjunciones y separaciones en la misma regla.

IF <antecedente 1>

AND <antecedente 2>

.

.

.

AND <antecedente n>

THEN <consiguiente>

IF <antecedente 1>

OR <antecedente 2>

.

.

.

OR<antecedente n>

Page 4: Sistemas Expertos Basado en Reglas (1)

THEN <consiguiente>

El consiguiente de una regla también puede tener múltiples cláusulas:

IF <antecedente>

THEN <1 consiguiente>

<2 consiguientes>

.

.

.

<m consiguiente>

El antecedente de una regla incorpora dos partes: un objeto (objeto lingüístico) y su valor. En el ejemplo del camino que debe cruzar, el objeto lingüístico semáforo ' puede tomar el valor verde o rojo. El objeto y su valor son unidos por un operador. El operador identifica el objeto y le asigna el valor. Los operadores son: tal cual, son, no es, no son; son usado para asignar un valor simbólico a un objeto lingüístico. Pero los sistemas expertos también pueden usar a operadores matemáticos para definir un objeto como numérico y asignarlo al valor numérico. Por ejemplo,

IF ' la edad del cliente ' <18

AND ' la retirada en efectivo '> 1000

THEN ' la firma del padre ' es requerida

Similar a la regla de antecedente, un consiguiente combina un objeto y un valor unido por un operador. El operador asigna el valor al objeto lingüístico. En el ejemplo el camino que cruza, si el valor del semáforo es verde, la primera regla se pone en acción de objeto lingüístico al valor va. Objetos numéricos y la

Page 5: Sistemas Expertos Basado en Reglas (1)

expresión aún simple aritmética también pueden ser usados en una regla consiguiente.

IF ' el ingreso sujeto a impuestos '> 16283

THEN ' la imposición de Asistencia médica ' ¼ ' el ingreso sujeto a impuestos ' 1.5 / 100

Reglas pueden representar relaciones, recomendaciones, directivas, estrategias y heurística (Durkin, 1994).

Relación

IF 'el depósito de combustible' es vacío

THEN el coche está muerto

Recomendación

IF la estación es el otoño

AND el cielo es nublado y la previsión es la llovizna

THEN el consejo es ' toman un paraguas '

Directiva

IF el coche está muerto

AND el depósito de ‘combustible es vacío’

THEN la acción es 'llenar de combustible el coche '

Estrategia

IF el coche está muerto

THEN la acción es ' la comprobación el depósito de combustible ';PASO1 es completo

IF PASO1 es completo

AND el depósito de ‘combustible está lleno’

Page 6: Sistemas Expertos Basado en Reglas (1)

THEN la acción es ' la comprobación la batería ';PASO2 está completo

Heurístico

IF el trozo es el líquido

AND el ‘fragmento de pH ' <6

AND ' el olor del fragmento ' es el vinagre

THEN ' el material de fragmento ' es ' el ácido acético'

2.3 Los jugadores principales en el desarrollo del sistema experto En cuanto un experto humano proporciona el conocimiento, podemos introducirlo en un ordenador. Esperamos que el ordenador actúe como un ayudante inteligente en algún dominio específico de experiencia o solucionen un problema que de otra manera tendría que ser solucionado por un experto. También nos gustaría el ordenador ser capaces de integrar el nuevo conocimiento y mostrar su conocimiento en una forma que es fácil para leer y entender, y tratar con sentencias simples en una lengua natural más bien que un lenguaje de programación artificial. Finalmente, queremos que nuestro ordenador explique como esto alcanza una conclusión particular.

En otras palabras, tenemos que construir un sistema experto, un programa del ordenador capaz de realización en el nivel de un experto humano en un problema estrecho el área.

Los sistemas expertos más populares son sistemas a base de reglas. Los números han sido inducidos satisfactoriamente aplicados en áreas como el negocio y la ingeniería, la medicina y

Page 7: Sistemas Expertos Basado en Reglas (1)

la geología, impulsa sistemas y minería. Un gran número de empresas produce y el software de mercado para el desarrollo de base de la regla de sistemas expertos - capas de sistemas expertos para ordenadores personales. Capas de sistemas expertos que se hacen populares para desarrollar esta regla - sistemas base.

Su ventaja principal consiste en que el constructor del sistema ahora puede concentrarse en el conocimiento en sí mismo, más bien en el estudio de un lenguaje de programación.

¿Cuál es la shell de un sistema experto? Una shell de sistema experto puede ser considerada como un sistema experto con el conocimiento quitado. Por lo tanto, todo el usuario tiene que hacer debe agregar que el conocimiento en forma alguna gobierna y proporcionar datos relevantes para solucionar un problema. Déjenos ahora mirar quien es necesario para desarrollar un sistema experto y que habilidades son necesarias. En general, hay cinco miembros del equipo de desarrollo de sistema experto: el experto de dominio, el ingeniero de conocimiento, el programador, el jefe de proyecto y el usuario final.

Page 8: Sistemas Expertos Basado en Reglas (1)

El éxito de un sistema experto depende de cuan bien los miembros trabajan juntos. Las relaciones básicas en el equipo de desarrollo son resumidas en la Figura 2.1.

El experto de dominio es una persona bien informada y experta capaz de solucionar problemas en un área específica o el dominio. Esta persona tiene la mayor experiencia en un dominio dado. Esta experiencia debe ser capturada en el sistema experto. Por lo tanto, el experto debe ser capaz de comunicar su conocimiento, estar dispuesto a participar en el desarrollo de sistema experto y cometer una cantidad de tiempo sustancial al proyecto. El experto de dominio es el jugador más importante en el equipo de desarrollo del sistema experto.

El ingeniero del conocimiento es alguien que es capaz de diseñar, construir y probar un sistema experto. Esta persona es responsable de seleccionar una tarea apropiada para el sistema experto. Él o ella entrevista al experto del dominio para averiguar cómo se resuelve un problema en particular. A través

Page 9: Sistemas Expertos Basado en Reglas (1)

de la interacción con el experto, el ingeniero del conocimiento establece cuáles son los métodos de razonamiento utiliza el experto para manejar los hechos y las reglas y decide cómo representarlos en el sistema experto. El ingeniero del conocimiento a continuación, elige algún tipo de software de desarrollo o un sistema experto, o mira a los lenguajes de programación para la codificación del conocimiento (y, a veces lo codifica a sí mismo). Y, por último, el ingeniero del conocimiento es responsable de las pruebas, la revisión y la integración del sistema experto en el lugar de trabajo. Así, el ingeniero del conocimiento está comprometido con el proyecto, desde la fase de diseño inicial hasta la entrega final del sistema de expertos, e incluso después de que se complete el proyecto, él o ella también puede estar implicado en el mantenimiento del sistema.

El programador es el responsable de la programación actual, que describe el conocimiento del dominio en términos de que un ordenador pueda entender. El programador tiene que tener habilidades en la programación simbólica en estos lenguajes de IA como LISP, Prolog y OPS5 y también algo de experiencia en la aplicación de diferentes tipos de shells de sistemas expertos. Además, el programador debe conocer lenguajes de programación convencionales como C, Pascal, FORTRAN y básico. Si se utiliza un sistema experto, el ingeniero del conocimiento puede codificar fácilmente el conocimiento en el sistema experto y así eliminar la necesidad del PROGRAMADOR. Sin embargo, si una shell no se puede utilizar, un programador debe desarrollar el conocimiento y las estructuras de representación de datos (base de conocimientos y base de datos), la estructura de control (motor de inferencia) y la estructura de diálogo (interfaz de usuario). El programador también puede estar implicado en la prueba del sistema experto.

Page 10: Sistemas Expertos Basado en Reglas (1)

El director del proyecto es el líder del equipo de desarrollo de sistemas expertos, responsables de mantener el proyecto en marcha. Él o ella se aseguran de que se cumplan todos los entregables e hitos, interactúa con el experto, ingeniero del conocimiento, programador y el usuario final.

El usuario final, a menudo llamado simplemente el usuario, es una persona que utiliza el sistema experto cuando se desarrolla. El usuario podría ser químico analítico de la estructura molecular de los suelos de Marte determinando (Feigenbaum et al., 1971), un médico residente diagnóstico de una enfermedad de la sangre infecciosa (Shortliffe, 1976), un geólogo de exploración tratando de descubrir un nuevo yacimiento (Duda et al., 1979), o de un operador de sistema de energía que necesitan asesoramiento en caso de emergencia (Negnevitsky, 1996). Cada uno de estos usuarios de los sistemas expertos tienen diferentes necesidades, que el sistema debe cumplir: la aceptación final del sistema dependerá de la satisfacción del usuario. El usuario no sólo debe tener la confianza en el rendimiento del sistema experto, pero también se sienten cómodos con él. Por lo tanto, el diseño de la interfaz de usuario del sistema experto es también de vital importancia para el éxito del proyecto; la contribución del usuario final aquí puede ser crucial.

El desarrollo de un sistema experto puede iniciarse cuando los cinco jugadores se han unido al equipo. Sin embargo, muchos sistemas expertos ahora se desarrollan en los ordenadores personales utilizando shells de sistemas expertos. Esto puede eliminar la necesidad de que el programador y también podría reducir el papel del ingeniero del conocimiento. Para los pequeños sistemas expertos, el director del proyecto, ingeniero del conocimiento, programador e incluso el experto podría ser la misma persona. Pero todos los jugadores del equipo son necesarios cuando se desarrollan grandes sistemas expertos.

Page 11: Sistemas Expertos Basado en Reglas (1)

2.4 Estructura de un sistema experto basado en reglasA principios de la década de 1970, Newell y Simon de la Universidad de Carnegie-Mellon propusieron un modelo de sistema de producción, la base de los modernos sistemas expertos basados en reglas (Newell y Simon, 1972). El modelo de producción se basa en la idea de que los seres humanos a resolver problemas mediante la aplicación de sus conocimientos (expresados como reglas de producción) a un determinado problema representado por la información específica del problema. Las reglas de producción se almacenan en la memoria a largo plazo y la información o hechos de un problema específico en la memoria a corto plazo. El modelo de sistema de producción y la estructura básica de un sistema experto basado en reglas se muestran en la Figura 2.2.

Un sistema experto basado en reglas tiene cinco componentes: la base de conocimientos, la base de datos, el motor de inferencia, las facilidades de explicación, y la interfaz de usuario.

Page 12: Sistemas Expertos Basado en Reglas (1)

La base de conocimientos contiene el conocimiento del dominio útil para la resolución de problemas. En un sistema experto basado en reglas, el conocimiento se representa como un conjunto de reglas. Cada regla especifica una relación, recomendación, directriz, estrategia o heurística y tiene la IF (condición) THEN (acción) estructura. Cuando la parte de condición de una regla se cumple, se dice que la regla con el fuego y la parte de acción se ejecuta.

La base de datos incluye un conjunto de hechos utilizado para coincidir contra el IF (condición) partes de reglas almacenadas en la base de conocimientos.

El motor de inferencia lleva a cabo el razonamiento mediante el cual el sistema experto llega a una solución. Vincula las reglas

Page 13: Sistemas Expertos Basado en Reglas (1)

establecidas en la base de conocimiento de los hechos previstos en la base de datos.

Las instalaciones de explicación que el usuario pueda pedir al sistema experto cómo se llegó a una conclusión en particular y por qué se necesita un hecho específico. Un sistema experto debe ser capaz de explicar su razonamiento y justificar su asesoramiento, análisis o conclusión.

La interfaz de usuario es el medio de comunicación entre un usuario buscar una solución al problema y un sistema experto. La comunicación debe ser lo más significativo y agradable como sea posible.

Estos cinco componentes son esenciales para cualquier sistema experto basado en reglas. Ellos constituyen su núcleo, pero puede haber algunos componentes adicionales.

La interfaz externa permite que un sistema experto para trabajar con archivos de datos externos y los programas escritos en lenguajes de programación convencionales, tales como C, Pascal, FORTRAN y Basic. La estructura completa de un sistema experto basado en reglas se muestra en la Figura 2.3.

La interfaz de programador normalmente incluye editores de bases de conocimiento, ayudas técnicas de depuración e instalaciones de entrada / salida.

Todos los shells de sistemas expertos proporcionan un simple editor de texto para introducir y modificar las reglas, y para comprobar su formato y ortografía correcta. Muchos sistemas expertos también incluyen instalaciones teneduría de libros para monitorear los cambios realizados por el ingeniero o experto conocimiento. Si se modifica una regla, el editor automáticamente almacenará la fecha del cambio y el nombre

Page 14: Sistemas Expertos Basado en Reglas (1)

de la persona que hizo este cambio para su posterior consulta. Esto es muy importante cuando un número de ingenieros y expertos en el conocimiento tienen acceso a la base de conocimientos y puede modificarlo.

Ayudas de depuración suelen consistir en recursos de rastreo y se rompen los paquetes. Rastreo proporciona una lista de todas las reglas disparadas durante la ejecución del programa, y un paquete de vacaciones que permite indicar al sistema experto de antemano dónde parar para que el ingeniero del conocimiento o el experto puede examinar los valores actuales en la base de datos.

La mayoría de los sistemas expertos también cabida a las instalaciones de entrada / salida, tales como la adquisición de conocimientos en tiempo de ejecución. Esto permite que el sistema experto corriendo a pedir la información necesaria cada

Page 15: Sistemas Expertos Basado en Reglas (1)

vez que esta información no está disponible en la base de datos. Cuando la información solicitada se introduce por el ingeniero del conocimiento o el experto, el programa se reanuda.

En general, la interfaz de desarrollador y facilidades de adquisición de conocimientos, en particular, están diseñados para permitir a un experto de dominio a la entrada de sus conocimientos directamente en el sistema experto y así reducir al mínimo la intervención de un ingeniero del conocimiento.

2.5 Características fundamentales de un sistema experto

Un sistema experto está construido para rendir a un nivel experto humano en un dominio estrecho, especializado. Por lo tanto, la característica más importante de un sistema experto es su rendimiento de alta calidad. No importa lo rápido que el sistema puede resolver un problema, el usuario no estará satisfecho si el resultado es erróneo. Por otro lado, la velocidad de llegar a una solución es muy importante. Incluso la decisión o diagnóstico más preciso puede no ser útil si es demasiado tarde para aplicar, por ejemplo, en caso de emergencia, cuando un paciente muere o una planta de energía nuclear explota. Los expertos usan su experiencia práctica y la comprensión del problema de encontrar atajos para una solución. Los expertos usan reglas empíricas o heurísticas. Al igual que sus contrapartes humanas, sistemas expertos deben aplicar la heurística para guiar el razonamiento y por lo tanto reducir el área de búsqueda de una solución.

Una característica única de un sistema experto es su capacidad de explicación. Esto permite que el sistema experto para que revise su propio razonamiento y explicar sus decisiones. Una

Page 16: Sistemas Expertos Basado en Reglas (1)

explicación de los sistemas expertos, en efecto, traza las reglas disparadas durante una sesión de resolución de problemas. Esto es, por supuesto, una simplificación; sin embargo, un real o

Explicación "humano" todavía no es posible, ya que requiere conocimiento básico del dominio. Aunque una secuencia de reglas disparadas no puede utilizarse para justificar una conclusión, podemos adjuntar principios fundamentales apropiadas del dominio expresan como texto para cada regla, o por lo menos cada regla de alto nivel, se almacena en la base de conocimientos. Esta es probablemente tan lejos como la capacidad de explicación puede ser tomada. Sin embargo, la capacidad de explicar una línea de razonamiento no puede ser esencial para algunos sistemas expertos. Por ejemplo, un sistema científico integrado por expertos no puede ser obligado a ofrecer explicaciones amplias, debido a la conclusión de que llegue

puede explicarse por sí mismo a otros expertos; una sencilla regla de rastreo puede ser muy adecuado. Por otro lado, los sistemas expertos utilizados en la toma de decisiones por lo general exigen explicaciones completas y reflexivo, como el costo de una decisión equivocada puede ser muy alta.

Los sistemas expertos emplean el razonamiento simbólico en la resolución de un problema. Se utilizan símbolos para representar diferentes tipos de conocimiento, como hechos, conceptos y reglas. A diferencia de los programas convencionales escritas para el procesamiento de datos numéricos, los sistemas expertos se construyen para la elaboración del conocimiento y pueden tratar fácilmente con datos cualitativos.

Page 17: Sistemas Expertos Basado en Reglas (1)

Los programas convencionales procesan datos utilizando algoritmos, o en otras palabras, una serie de operaciones bien definidas paso a paso. Un algoritmo siempre realiza las mismas operaciones en el mismo orden, y siempre ofrece una solución exacta. Los programas convencionales no cometen errores - pero los programadores a veces lo hacen. A diferencia de los programas convencionales, los sistemas expertos no siguen una secuencia prescrita de pasos. Permiten razonamiento inexacto y pueden lidiar con datos incompletos, inciertos y difusos.

¿Pueden los sistemas expertos cometen errores?

Incluso un experto brillante es sólo un ser humano y por lo tanto puede cometer errores. Esto sugiere que un sistema experto integrado para llevar a cabo a un nivel experto humano también debe permitir a cometer errores. Pero aún nos queda confiar en los expertos, aunque sí reconocemos que sus juicios son a veces mal. Del mismo modo, por lo menos en la mayoría de los casos, podemos confiar en las soluciones proporcionadas por los sistemas expertos, pero los errores son posibles y debemos ser conscientes de ello.

¿Significa esto que los programas convencionales tienen una ventaja sobre los sistemas expertos?

En teoría, los programas convencionales siempre ofrecen las mismas soluciones "correctas". Sin embargo, debemos recordar que los programas convencionales pueden abordar problemas si, y sólo si, los datos están completos y exactos. Cuando los datos son incompletos o incluye algunos errores, un programa convencional se contempla ni ninguna solución en absoluto o uno incorrecto. Por el contrario, los sistemas expertos reconocen

Page 18: Sistemas Expertos Basado en Reglas (1)

que la información disponible puede ser incompleta o confusa, pero se puede trabajar en este tipo de situaciones y aún así llegar a alguna conclusión razonable.

Otra característica importante que distingue a los sistemas expertos de los programas convencionales es que el conocimiento se separa de su procesamiento (la base de conocimientos y el motor de inferencia se dividen). Un programa convencional es una mezcla de conocimiento y la estructura de control para procesar este conocimiento. Esta mezcla da lugar a dificultades en la comprensión y la revisión del código del programa, ya que cualquier cambio en el código afecta tanto al conocimiento y su procesamiento. En los sistemas expertos, el conocimiento está claramente separada del mecanismo de procesamiento. Esto hace que los sistemas expertos mucho más fácil de construir y mantener. Cuando se utiliza un sistema experto, un ingeniero del conocimiento o un experto, simplemente entra en reglas en la base de conocimientos. Cada nueva regla añade algunos nuevos conocimientos y hace que el sistema experto inteligente. Entonces, el sistema se puede modificar fácilmente cambiando o restando reglas.

Page 19: Sistemas Expertos Basado en Reglas (1)

2.6 encadenamiento hacia adelante y hacia atrás encadenando técnicas de inferencia

En un sistema experto basado en reglas, el conocimiento del dominio es representado por un conjunto de reglas de producción IF-THEN y los datos se representan mediante un conjunto de datos sobre la situación actual. El motor de inferencia compara cada regla almacenada en la base de conocimientos con los hechos contenidos en la base de datos. Cuando la parte IF (condición) de la regla coincide con un hecho, la regla se dispara y su THEN (acción) se ejecuta. La regla en

Page 20: Sistemas Expertos Basado en Reglas (1)

acción puede cambiar el conjunto de hechos mediante la adición de un nuevo hecho, como se muestra en la Figura 2.4. Las letras en la base de datos y la base de conocimientos se utilizan para representar situaciones o conceptos.

La adaptación de la norma IF parte a los hechos y produce cadenas de inferencia. La cadena de inferencia indica cómo un sistema experto aplica las reglas para llegar a una conclusión. Para ilustrar el encadenamiento de técnicas de inferencia, considere un ejemplo sencillo.

Supongamos que la base de datos incluye inicialmente los hechos A, B, C, D y E, y la base de conocimientos contiene sólo tres reglas:

Regla 1: IF Y es verdad

AND D es cierto

THEN Z es cierto

Regla 2: IF X es verdadera

Page 21: Sistemas Expertos Basado en Reglas (1)

AND B es verdadero

AND E es cierto

THEN Y es cierto

Regla 3: IF A es verdadero

THEN X es verdadera

La cadena de inferencia se muestra en la Figura 2.5 indica cómo el sistema experto aplica las reglas para inferir hecho Z. Primera Regla 3 se dispara deducir hecho nuevo X de determinado hecho de A. Entonces la regla 2 se ejecuta para inferir hecho Y a partir de hechos conocidos inicialmente B y e, y ya conocido hecho de X. y, por último, el artículo 1 se aplica inicialmente conocido hecho de D y de hecho acaba de obtener-Y para llegar a la conclusión Z.

Un sistema experto puede mostrar su cadena de inferencia para explicar cómo se llegó a una conclusión particular; esta es una parte esencial de sus instalaciones de explicación.

Page 22: Sistemas Expertos Basado en Reglas (1)

El motor de inferencia debe decidir cuando las normas tienen que ser despedido. Hay dos formas principales en las que se ejecutan las reglas. Uno se llama encadenamiento hacia adelante y el otro encadenamiento hacia atrás (Waterman y Hayes-Roth, 1978).

2.6.1 encadenamiento hacia adelante

El ejemplo descrito anteriormente utiliza el encadenamiento hacia adelante. Ahora considere esta técnica con más detalle. Primero vamos a reescribir las reglas de la siguiente forma:

Regla 1: Y & D! Z

Regla 2: X & B y E! Y

Regla 3: A! X

Las flechas indican aquí las partes IF y luego, por las reglas. Agreguemos dos reglas más:

Regla 4: C! L

Regla 5: L & M! N

Page 23: Sistemas Expertos Basado en Reglas (1)

La Figura 2.6 muestra cómo encadenamiento hacia adelante obras de este sencillo conjunto de reglas.

Encadenamiento hacia adelante es el razonamiento por datos. El razonamiento comienza a partir de los datos conocidos y procede hacia adelante con esos datos. Cada vez solamente la regla más alta se ejecuta. Cuando se dispara, la regla agrega un hecho nuevo en la base de datos. Cualquier regla se puede ejecutar sólo una vez. El ciclo de partido del fuego se detiene cuando no hay otras normas pueden ser despedidos.

En el primer ciclo, sólo dos reglas, Regla 3: A! X y la Regla 4: C! L, hechos de los partidos en la base de datos. Regla 3: A! X es disparado por primera vez como la de más arriba. La parte IF de esta regla coincide hecho de A en la base de datos, su entonces parte es ejecutado y hecho nuevo X se agrega a la base de datos. Entonces Regla 4: C! L es despedido y hecho de L también se coloca en la base de datos.

En el segundo ciclo, la Regla 2: X & B y E! Y se dispara porque los hechos B, E y X ya están en la base de datos, y como un hecho consecuencia se deduce y se pone en la base de datos Y. Esto a su vez hace que la Regla 1: Y & D! Z a ejecutar, colocando hecho Z en la base de datos (ciclo 3). Ahora los ciclos partido fuego detienen porque la parte IF de la Regla 5: L & M! N no coincide con los hechos en la base de datos y por lo tanto el artículo 5 no puede ser logrado.

Page 24: Sistemas Expertos Basado en Reglas (1)

Encadenamiento hacia adelante es una técnica de recogida de información y luego deducir de él lo que se puede inferir. Sin embargo, en el encadenamiento hacia adelante, muchas reglas pueden ser ejecutados que no tienen nada que ver con la meta establecida. Supongamos que, en nuestro ejemplo, el objetivo fue determinar hecho Z. Teníamos sólo cinco reglas en la base de conocimientos y cuatro de ellos fueron despedidos. Pero Regla 4: C! L, que no guarda relación con los hechos Z, también fue despedido, entre otros. Un sistema experto basado en reglas real puede tener cientos de reglas, muchas de las cuales podrían ser disparados para derivar nuevos hechos que son válidas, pero por desgracia no relacionadas a la meta. Por lo tanto, si nuestro objetivo es inferir un solo hecho en particular, el encadenamiento hacia adelante técnica de inferencia no sería eficiente.

En tal situación, el encadenamiento hacia atrás es más apropiado.

Page 25: Sistemas Expertos Basado en Reglas (1)

2.6.2 Encadenamiento hacia atrás

Encadenamiento hacia atrás es el razonamiento a objetivos. En el encadenamiento hacia atrás, un sistema experto tiene el objetivo (una solución hipotética) y el motor de inferencia intenta encontrar la evidencia para probarlo. En primer lugar, la base de conocimientos se busca encontrar reglas que podrían tener la solución deseada. Tales normas deben tener el gol en sus ENTONCES (acción) partes. Si una norma de este tipo se encuentra y sus IF (condición) de datos coincide con parte de la base de datos, entonces la regla se dispara y el objetivo queda demostrado. Sin embargo, esto es raramente el caso. Así, el motor de inferencia deja de lado la regla que está trabajando con (se dice que la regla de apilar) y establece una nueva meta, un sub-objetivo, para demostrar la parte IF de esta regla. A continuación, la base de conocimientos se busca de nuevo por reglas que puedan demostrar la sub-meta. El motor de inferencia se repite el proceso de apilamiento de las normas hasta que no haya reglas se encuentran en la base de conocimientos para demostrar el actual sub-punto.

Page 26: Sistemas Expertos Basado en Reglas (1)

Figura 2.7 muestra cómo las obras encadenamiento hacia atrás, usando las reglas para el ejemplo de encadenamiento hacia adelante.

En Paso 1, el motor de inferencia intenta deducir hecho Z. Se busca en la base de conocimientos para encontrar la regla que tiene como objetivo, en nuestro caso hecho de Z, en su parte THEN. El motor de inferencia encuentra y pilas Regla 1: Y & D! Z. El IF parte de la Regla 1 incluye datos Y y D, y por lo tanto estos hechos debe ser establecido.

En Paso 2, el motor de inferencia configura la sub-meta, hecho de Y, y trata de determinarla. En primer lugar se comprueba la base de datos, sino un hecho Y no está allí. A continuación, la base de conocimientos se busca de nuevo por la regla con hecho Y en su parte THEN. El motor de inferencia localiza y pilas de Regla 2: X & B y E! Y. La parte IF de la regla 2 se compone de hechos X, B y E, y estos hechos también tienen que ser establecida.

Page 27: Sistemas Expertos Basado en Reglas (1)

En el paso 3, el motor de inferencia establece un nuevo sub-objetivo, hecho X. Se comprueba la base de datos de hecho de X, y cuando eso no funciona, busca la regla que infiere X. El motor de inferencia encuentra y apila Regla 3: A! X. Ahora se debe determinar de hecho A.

En paso 4, el motor de inferencia encuentra hecho de A en la base de datos, la Regla 3: Un! X es despedido y hecho nuevo X se infiere.

En Paso 5, el motor de inferencia vuelve al hecho de submeta Y y una vez más intenta ejecutar Regla 2: X & B y E! Y. Datos de X, B y E están en la base de datos y por lo tanto la regla 2 se dispara y un hecho nuevo, hecho de Y, se añade a la base de datos.

En Paso 6, el sistema vuelve a la Regla 1: Y & D! Z tratando de establecer la meta original, hecho de Z. El IF parte de la Regla 1 partidos todos los datos en la base de datos, la regla 1 se ejecuta y por lo tanto la meta original se estableció finalmente.

Comparemos ahora la figura 2.6 con la figura 2.7. Como se puede ver, se dispararon cuatro reglas cuando se utilizó el encadenamiento hacia adelante, pero sólo tres reglas cuando aplicamos el encadenamiento hacia atrás. Este simple ejemplo muestra que la técnica de inferencia encadenamiento hacia atrás es más eficaz cuando necesitamos para inferir un hecho particular, en nuestro caso hecho de Z. En el encadenamiento hacia adelante, los datos se conoce al inicio del proceso de inferencia, y el usuario nunca se le pide a de entrada hechos adicionales. En el encadenamiento hacia atrás, el objetivo está configurado y los únicos datos que se utilizan son los datos necesarios para apoyar la línea directa de razonamiento, y el usuario puede pedir que cualquier entrada que no está en la base de datos.

Page 28: Sistemas Expertos Basado en Reglas (1)

¿Cómo elegimos entre el plazo y el encadenamiento hacia atrás?

La respuesta es el estudio de cómo un experto de dominio resuelve un problema. Si un experto primero necesita recopilar cierta información y luego trata de inferir de él lo que se puede inferir, elija el encadenamiento hacia adelante motor de inferencia. Sin embargo, si el experto comienza con una solución hipotética y luego intenta encontrar hechos que lo demuestran, elegir el motor de inferencia de encadenamiento hacia atrás.

Encadenamiento hacia adelante es una forma natural para diseñar los sistemas expertos para el análisis y la interpretación. Por ejemplo, DENDRAL, un sistema experto para la determinación de la estructura molecular de suelo desconocida sobre la base de sus datos espectrales de masa (Feigenbaum et al., 1971), utiliza el encadenamiento hacia adelante. La mayoría de los sistemas expertos encadenamiento hacia atrás se utilizan para fines de diagnóstico. Por ejemplo, MYCIN, un sistema experto médico para el diagnóstico de enfermedades infecciosas de la sangre (Shortliffe, 1976), utiliza el encadenamiento hacia atrás.

Podemos combinar adelante y encadenamiento hacia atrás?

Muchos shells de sistemas expertos utilizan una combinación de avance y retroceso técnicas de inferencia de encadenamiento, por lo que el ingeniero del conocimiento no tiene que elegir entre ellos. Sin embargo, el mecanismo básico inferencia es generalmente encadenamiento hacia atrás. Sólo cuando se establece un nuevo hecho se encadenamiento hacia adelante empleada para maximizar el uso de los nuevos datos.

Page 29: Sistemas Expertos Basado en Reglas (1)

2.7 MEDIOS DE ASESOR: un sistema experto basado en reglas de demostración

Para ilustrar algunas de las ideas mencionadas anteriormente, el próximo consideramos un sistema experto basado en reglas simples. El sistema experto Leonardo fue seleccionada como una herramienta para construir un sistema de apoyo a decisiones, denominado MEDIA ASESOR. El sistema proporciona asesoramiento sobre la selección de un medio para la entrega de un programa de formación basado en el trabajo del aprendiz. Por ejemplo, si un aprendiz es un técnico mecánico responsable del mantenimiento de los sistemas hidráulicos, un medio apropiado podría ser un taller, donde el alumno puede aprender cómo los componentes hidráulicos básicos operan, cómo solucionar los problemas de la hidráulica y la forma de hacer las reparaciones sencillas de los sistemas hidráulicos. Por otro lado, si un aprendiz es un empleado de la evaluación de aplicaciones de seguros, un programa de formación podría incluir conferencias sobre problemas específicos de la tarea, así como tutoriales en donde el alumno puede evaluar aplicaciones reales. Para tareas complejas, donde es probable que cometa errores en prácticas, un programa de entrenamiento también debe incluir información sobre el desempeño del alumno.

Banco de conocimientos

/ * MEDIA ASESOR: un sistema experto basado en reglas de demostración

Regla: 1

if el ambiente es de documentos

Page 30: Sistemas Expertos Basado en Reglas (1)

or el medio ambiente es manuales

or el medio ambiente es documentos

or el medio ambiente es libros de texto

then la stimulus_situation es verbal

Regla: 2

if el ambiente es fotos

or el medio ambiente es ilustraciones

or el medio ambiente es fotografías

or el medio ambiente es diagramas

then el stimulus_situation es visual

Regla: 3

if el ambiente es máquinas

or el medio ambiente es edificios

or el medio ambiente es herramientas

then el stimulus_situation es "objeto físico"

Regla: 4

if el ambiente es el número

or el medio ambiente es fórmulas

or el medio ambiente es los programas de ordenador

then el stimulus_situation es simbólico

Page 31: Sistemas Expertos Basado en Reglas (1)

Regla: 5

if el trabajo está dando una conferencia

or el trabajo es asesorar

or el trabajo es el asesoramiento

then el stimulus_response es oral

Regla: 6

if el trabajo es la construcción

or el trabajo es la reparación

or el trabajo es la solución de problemas

then el stimulus_response es "práctico"

Regla: 7

if el trabajo es la escritura

or el trabajo está escribiendo

or el trabajo está llegando

then el stimulus_response se documenta

Regla: 8

Page 32: Sistemas Expertos Basado en Reglas (1)

if el trabajo está evaluando

or el trabajo se discutía

or el trabajo está investigando

then el stimulus_response es analítica

Regla: 9

if el stimulus_situation es "objeto físico"

and la stimulus_response es "práctico"

and la retroalimentación

then el medio es el taller

Regla: 10

if el stimulus_situation es simbólico

and lo stimulus_response es analítica

and se requiere retroalimentación

then el medio es 'lecture - tutorial'

Regla: 11

if el stimulus_situation es visual

Page 33: Sistemas Expertos Basado en Reglas (1)

and la stimulus_response se documenta

and no es necesaria la retroalimentación

then medio es la cinta de vídeo

Regla: 12

if el stimulus_situation es visual

and la stimulus_response es oral

and se requiere retroalimentación

then medio es 'lecture - tutorial'

Regla: 13

if el stimulus_situation es verbal

and la stimulus_response es analítica

and se requiere retroalimentación

then medio es 'lecture - tutorial'

Regla: 14

if el stimulus_situation es verbal

Page 34: Sistemas Expertos Basado en Reglas (1)

and la stimulus_response es oral

and se necesita información

then el medio es 'ejercicios de role-play(juego de roles)'

/ * La directiva SEEK establece el objetivo de la norma a través del medio.

Objetos MEDIA ASESOR utiliza seis objetos lingüísticos: el medio ambiente, stimulus_situation, empleo, stimulus_response, retroalimentación y medianas. Cada objeto puede tomar uno de los valores permitidos (por ejemplo, el medio ambiente objeto puede tomar el valor de los documentos, manuales, documentos, libros de texto, imágenes, ilustraciones, fotografías, diagramas, máquinas, edificios, herramientas, números, fórmulas, programas de ordenador). Un objeto y su valor constituyen un hecho (por ejemplo, el medio ambiente son las máquinas, y el trabajo es la reparación). Todos los hechos se colocan en la base de datos.

Page 35: Sistemas Expertos Basado en Reglas (1)

Opciones

El objetivo final del sistema experto basado en reglas es para producir una solución para el problema sobre la base de los datos de entrada. En MEDIA ASESOR, la solución es un medio seleccionado de la lista de cuatro opciones:

medio es un mediano taller

es el medio 'lecture - tutorial "

es el medio videocasete

es ' ejercicios de role-play '

Page 36: Sistemas Expertos Basado en Reglas (1)

Diálogo

En el diálogo se muestra a continuación, el sistema experto pide al usuario que introduzca los datos necesarios para resolver el problema (el medio ambiente, el trabajo y retroalimentación). En base a las respuestas suministradas por el usuario (las respuestas se indican con flechas), el sistema experto aplica reglas a partir de su base de conocimiento para inferir que el stimulus_situation es objeto físico, y el stimulus_response es práctico. Regla 9 a continuación, selecciona uno de los valores permitidos de medio.

¿Qué tipo de ambiente es un aprendiz de tratar con en el trabajo?

máquinas

Regla: 3

if el ambiente son máquinas

or el medio ambiente son edificios

or el medio ambiente son herramientas

then el stimulus_situation es "objeto físico"

Page 37: Sistemas Expertos Basado en Reglas (1)

¿En qué sentido es un aprendiz de esperar para actuar o responder en el trabajo?

La reparación

Regla: 6

if el trabajo es la construcción

or el trabajo es la reparación

or el trabajo es la solución de problemas

then el stimulus_response es "práctico"

¿La información sobre el progreso del alumno requerido durante el entrenamiento?

Requerido

Regla: 9

if el stimulus_situation es "objeto físico"

and la stimulus_response es "práctico"

and la retroalimentación se requiere

then medio es el taller

medio es el taller

Técnicas de inferencia

Page 38: Sistemas Expertos Basado en Reglas (1)

La técnica estándar de la inferencia en Leonardo está encadenamiento hacia atrás con el encadenamiento hacia adelante oportunista, que es la forma más eficaz de tratar con la información disponible. Sin embargo, Leonardo también permite al usuario desactivar el encadenamiento ya sea hacia atrás o hacia delante, y por lo tanto nos permite estudiar cada técnica por separado inferencia.

Encadenamiento hacia adelante es un razonamiento basado en datos, por lo que necesitamos primero para proporcionar algunos datos. Supongamos que

el medio ambiente es máquinas

"Medio ambiente" instancia por la entrada del usuario a "máquinas"

el trabajo es la reparación

'Trabajo' instancia por la entrada del usuario a 'reparación'

Se requiere retroalimentación

"Retroalimentación" instancia por parte del usuario que 'required' El siguiente proceso entonces sucederá:

Regla: 3 fuegos 'stimulus_situation' instancia por la Regla: 3 a la Regla "objeto físico"

Regla: 6 fuegos 'stimulus_response' instancia por la Regla: 6 de la Regla "hands-on"

Regla: 9 fuegos 'medium' instancia por la Regla: 9 al taller

Sin reglas de cortafuego

Encadenamiento hacia atrás es un razonamiento orientadas a objetivos, por lo que necesitamos primero establecer una solución hipotética (la meta). Veamos, por ejemplo, establecimos el siguiente objetivo:

'Medium' es 'workshop'

Page 39: Sistemas Expertos Basado en Reglas (1)

Fase 1

Regla a Tratar: 9 Necesidad de encontrar el objeto 'stimulus_situation'

Regla: 9 apilados Objeto 'stimulus_situation' tratado como "objeto físico"

Fase 2

Regla Tratar: 3 Necesidad de encontrar el objeto "medio ambiente"

Regla: 3 apilados Objetos "medio ambiente" busca como "máquinas"

Preguntas sobre el medio

Máquinas "medio ambiente" instancia por parte del usuario que "máquinas"

Regla Tratar: 3 'stimulus_situation' instancia por la Regla: 3 a

"Objeto físico"

Fase 3

Regla Tratar: 9 Necesidad de encontrar el objeto 'stimulus_response'

Regla: 9 apilados Objeto 'stimulus_response' tratado como "hands-on"

Fase 4

Regla Tratar: 6 Necesidad de encontrar el objeto 'trabajo'

Regla: 6 apilados "trabajo" objeto buscado como 'edificio'

Page 40: Sistemas Expertos Basado en Reglas (1)

Pedir trabajo

La reparación "trabajo" instancia por la entrada del usuario a 'reparación'

Regla Tratar: 6 'stimulus_response' instancia por la Regla: 6 a

'Práctico'

Fase 5

Regla Tratar: 9 Necesidad de encontrar el objeto 'retroalimentación'

Regla: 9 apilados Objeto 'retroalimentación' tratado como 'necesaria'

Pedir retroalimentación

Requerido 'retroalimentación' instancia por parte del usuario que la regla «requerida»

Tratar regla: 9 'medium' instancia por la Regla: 9 a 'workshop'

medio es el taller

Es útil tener un diagrama de árbol que se asigna una sesión de consulta con un sistema experto. Un diagrama de MEDIA ASESOR se muestra en la Figura 2.8. El nodo raíz es la meta; cuando se inicia el sistema, el motor de inferencia busca determinar el valor de la meta.

Page 41: Sistemas Expertos Basado en Reglas (1)

¿Maneja MEDIA ADVISOR todas las situaciones posibles?

Cuando comenzamos a utilizar nuestro sistema experto más a menudo, podemos encontrar que las opciones ofrecidas no cubren todas las situaciones posibles. Por ejemplo, se puede producir el siguiente diálogo:

¿Qué tipo de ambiente es un aprendiz de tratar con en el trabajo?

ilustraciones)

¿En qué sentido es un aprendiz de esperar para actuar o responder en el trabajo?

Dibujo

Page 42: Sistemas Expertos Basado en Reglas (1)

Es información sobre el progreso del alumno requerido durante el entrenamiento?

Requerido

Soy incapaz de sacar conclusiones sobre la base de los datos.

Por lo tanto, ASESOR MEDIA en su estado actual no puede manejar esta situación particular. Afortunadamente, el sistema experto puede ampliar fácilmente para acomodar más reglas hasta que finalmente se hace lo que el usuario quiere que haga.

Resolución 2.8 Conflicto

Al principio de este capítulo, hemos considerado dos reglas simples para cruzar una calle. Veamos ahora añadimos una tercera regla. Obtendremos el siguiente conjunto de reglas:

Regla 1:

IF el 'semáforo' es verde

THEN la acción es go

Regla 2:

IF el 'semáforo' es de color rojo

THEN la acción es stop

Regla 3:

Page 43: Sistemas Expertos Basado en Reglas (1)

IF el 'semáforo' es de color rojo

THEN la acción es go

¿Qué pasará?

El motor de inferencia compara IF (condición) partes de las reglas con los datos disponibles en la base de datos y cuando se cumplan las condiciones se establecen las reglas para disparar. El disparo de una regla puede afectar a la activación de otras reglas, y por lo tanto el motor de inferencia debe permitir sólo una regla al fuego a la vez. En nuestro ejemplo de cruzar la carretera, tenemos dos reglas, la Regla 2 y el artículo 3, con la misma IF parte. Así ambos se pueden configurar para disparar cuando la parte se cumple este requisito. Estas reglas representan un conjunto de conflictos. El motor de inferencia debe determinar qué regla para disparar desde dicho conjunto. Un método para elegir una regla para disparar cuando más de una regla puede ser empezada en un ciclo dado se llama resolución de conflictos.

Si el semáforo está en rojo, el cual norma deberían ser ejecutados?

En el encadenamiento hacia adelante, serían despedidos ambas reglas. Regla 2 se dispara primero como el de arriba-más, y como resultado, se ejecuta su entonces parte y de acción del objeto lingüístico obtiene parada de valor. Sin embargo, el artículo 3 también se dispara debido a que la parte condicional de esta regla coincide con el hecho de 'semáforo' es de color rojo, que todavía está en la base de datos. Como consecuencia de ello, la acción objeto adopta nueva valor que es GO. Este simple ejemplo muestra que el orden de las reglas es vital cuando se utiliza la técnica de inferencia de encadenamiento hacia adelante.

¿Cómo podemos resolver un conflicto?

La estrategia obvia para la resolución de conflictos es establecer una meta y detener la ejecución de la regla cuando se alcanza la meta. En nuestro problema, por ejemplo, el objetivo es establecer un valor para la acción

Page 44: Sistemas Expertos Basado en Reglas (1)

objeto lingüístico. Cuando el sistema experto determina un valor para la acción, se ha llegado a la meta y se detiene. Así, si el semáforo está en rojo, la Regla 2 se ejecuta, la acción objeto alcanza la parada de valor y el sistema experto se detiene. En el ejemplo dado, el sistema experto hace una decisión correcta; sin embargo, si nos organizó las reglas en el orden inverso, la conclusión sería errónea. Esto significa que el orden de las reglas en la base de conocimientos es aún muy importante.

¿Hay otros métodos de resolución de conflictos?

Existen varios métodos en uso (Giarratano y Riley, 1998; Shirai y Tsuji, 1982):

. Encienda la regla con la prioridad más alta. En aplicaciones sencillas, la prioridad se puede establecer mediante la colocación de las reglas en un orden apropiado en la base de conocimientos. Por lo general, esta estrategia funciona bien para sistemas expertos con alrededor de 100 normas. Sin embargo, en algunas aplicaciones, los datos deben ser procesados por orden de importancia. Por ejemplo, en un sistema de consulta médica (Durkin, 1994), se introducen las siguientes prioridades:

Objetivo 1. Prescripción es? Prescripción

REGLA 1 Meningitis Prescription1 (Prioridad 100)

IF la infección es la meningitis

AND el paciente es un niño

THEN la prescripción es número_1

AND la recomendación de drogas es la ampicilina

AND la Recomendación de drogas es Gentamicina

Page 45: Sistemas Expertos Basado en Reglas (1)

AND mostrar Meningitis Prescription1

REGLA 2 Meningitis Prescription2 (Prioridad 90)

IF la infección es la meningitis

AND el paciente es un adulto

THEN por prescripción es NUMBER_2

AND la recomendación de drogas es la penicilina

AND mostrar Meningitis Prescription2

Enciendan la regla más específica. Este método también se conoce como la estrategia de juego más largo. Se basa en la suposición de que una regla específica procesa más información de la que uno de carácter general. Por ejemplo,

Regla 1:

IF la temporada es el otoño

AND el cielo está nublado

AND la previsión es de lluvia

THEN el consejo es "quedarse en casa"

Regla 2:

IF la temporada es el otoño

THEN el consejo es 'tomar un paraguas'

Si la temporada es el otoño, el cielo está nublado y el pronóstico es de lluvia, a continuación del artículo 1 sería despedido porque su antecedente, la parte correspondiente, es más específico que el de la Regla 2. Pero si sólo se conoce que la temporada es el otoño, entonces la Regla 2 sería ejecutada.

Page 46: Sistemas Expertos Basado en Reglas (1)

Empezando la regla que utiliza los últimos datos introducidos en la base de datos. Este método se basa en etiquetas de tiempo unidos a cada hecho en la base de datos. En el conjunto de los conflictos, el sistema experto dispara primero la regla cuyo antecedente utiliza los datos más recientemente añadidos a la base de datos. Por ejemplo,

Regla 1:

IF el pronóstico es de lluvia [20:16 11/25/96]

THEN el consejo es 'llevar un paraguas'

Regla 2:

IF el clima es húmedo [10:18 11/26/96]

THEN el consejo es "quedarse en casa"

Suponga que las partes IF de ambas reglas coinciden hechos en la base de datos. En este caso, el artículo 2 sería despedido ya que el clima es húmedo hecho de haberse introducido después de la previsión de hecho es la lluvia. Esta técnica es especialmente útil para las aplicaciones del sistema experto en tiempo real cuando la información en la base de datos se actualiza constantemente.

Los métodos de resolución de conflictos considerados anteriormente son simples y fáciles de ejecutar. En la mayoría de los casos, estos métodos ofrecen soluciones satisfactorias. Sin embargo, como un programa se hace más grande y más complejo, se hace cada vez más difícil para el ingeniero del conocimiento para gestionar y supervisar las normas en la base de conocimientos. El sistema experto en sí mismo debe tener por lo menos algo de la carga y entender su propio comportamiento.

Para mejorar el rendimiento de un sistema experto, debemos alimentar el sistema con un poco de conocimiento acerca de los conocimientos que posee, o en otras palabras, meta-conocimiento.

Meta-conocimiento puede definirse simplemente como el conocimiento sobre el conocimiento. Meta-conocimiento es el conocimiento sobre el uso y control de los conocimientos de dominio en un sistema experto

Page 47: Sistemas Expertos Basado en Reglas (1)

(Waterman, 1986). En los sistemas expertos basados en reglas, meta-conocimiento es representado por meta-reglas. Un meta-regla determina una estrategia para el uso de reglas de tareas específicas en el sistema experto.

¿Cuál es el origen de metaconocimiento?

El ingeniero del conocimiento transfiere el conocimiento del dominio de expertos para el sistema experto, se entera de cómo se usan las reglas de problemas específicos, y crea gradualmente en su propia mente un nuevo cuerpo de conocimiento, el conocimiento sobre el comportamiento general del sistema experto. Este nuevo conocimiento, o metaconocimiento, es en gran medida independiente de dominio. Por ejemplo,

Metarregla 1:

Reglas facilitadas por los expertos tienen mayor prioridad que las reglas suministradas por los principiantes.

Metarregla 2:

Las normas que rigen el rescate de vidas humanas tienen mayor prioridad que las reglas que se ocupan de la limpieza de las sobrecargas en los equipos del sistema de potencia.

¿Puede un sistema experto de comprender y utilizar metareglas?

Algunos sistemas expertos proporcionan un motor de inferencia separado para metareglas. Sin embargo, la mayoría de los sistemas expertos no pueden distinguir entre reglas y metareglas. Así metareglas se debe dar la máxima prioridad en la base de conocimientos existente. Cuando se dispara, un metarregla 'inyecta' alguna información importante en la base de datos que se pueden cambiar las prioridades de otras reglas.

Page 48: Sistemas Expertos Basado en Reglas (1)

2.9 Ventajas y desventajas de los sistemas expertos basados en reglas

Sistemas expertos basados en reglas son generalmente aceptados como la mejor opción para la construcción de sistemas basados en el conocimiento.

¿Qué características hacen que los sistemas expertos basados en reglas particularmente atractivo para los ingenieros del conocimiento?

Entre estas características se encuentran:

. Representación Natural conocimiento. Un experto lo general se explica el procedimiento de resolución de problemas con expresiones como esta: 'En tal y tal situación, lo hago y lo otro'. Estas expresiones se pueden representar con toda naturalidad como SI-ENTONCES reglas de producción.

. Estructura uniforme. Normas de producción tienen el uniforme estructura IF-THEN.

Cada regla es una pieza independiente del conocimiento. La misma sintaxis de reglas de producción les permite ser auto-documentado.

. La separación de los conocimientos de su procesamiento. La estructura de un sistema experto basado en reglas proporciona una separación efectiva de la base de conocimiento del motor de inferencia. Esto hace que sea posible el desarrollo de diferentes aplicaciones usando el mismo sistema experto. También permite una expansión grácil y fácil del sistema experto. Para que el sistema sea más inteligente, un ingeniero del conocimiento no hace sino aumentar algunas reglas a la base de conocimientos, sin intervenir en la estructura de control.

Tratar con un conocimiento incompleto e incierto. La mayoría de los sistemas expertos basados en reglas son capaces de representar y razonar con conocimiento incompleto e incierto. Por ejemplo, la regla

Page 49: Sistemas Expertos Basado en Reglas (1)

IF temporada es el otoño

AND el cielo es 'nublado'

AND el viento es baja

THEN pronóstico es claro {cf 0,1}

previsión es llovizna {cf 1,0}

pronóstico es de lluvia {cf 0,9}

podría ser utilizado para expresar la incertidumbre de la siguiente declaración: "Si la temporada es el otoño y parece que llovizna, entonces es probable que sea un día más húmedo de hoy.

La norma representa la incertidumbre por números llamados factores de certidumbre fcf 0.1g. El sistema experto utiliza factores de certidumbre para establecer el grado de confianza o nivel de creencia de que la conclusión de la regla es verdadera. Este tema será considerado en detalle en el capítulo 3.

Todas estas características de los sistemas expertos basados en reglas hacen muy deseable para la representación del conocimiento en los problemas del mundo real.

¿Son los sistemas expertos basados en reglas sin problemas?

Hay tres defectos principales:

. Las relaciones entre las normas opacas. Aunque las normas de producción individuales tienden a ser relativamente sencilla y la auto-documentado, sus interacciones lógicas dentro de la gran conjunto de reglas pueden ser opacos. Sistemas basados en reglas hacen que sea difícil de observar cómo las reglas individuales sirven a la estrategia global. Este problema está relacionado con la falta de representación del conocimiento jerárquica en los sistemas expertos basados en reglas.

Page 50: Sistemas Expertos Basado en Reglas (1)

. Estrategia de búsqueda ineficaz. El motor de inferencia se aplica una búsqueda exhaustiva a través de todas las normas de producción durante cada ciclo. Los sistemas expertos con un amplio conjunto de normas (sobre 100 reglas) puede ser lento, por lo que los grandes sistemas basados en reglas pueden ser inadecuados para las aplicaciones en tiempo real.

. Incapacidad para aprender. En general, los sistemas expertos basados en reglas no tienen la capacidad de aprender de la experiencia. A diferencia de un experto humano, que sabe cuándo debe "romper las reglas", un sistema experto no puede modificar automáticamente su base de conocimientos, o ajustar las normas existentes o agregar otros nuevos. El ingeniero del conocimiento sigue siendo responsable de la revisión y el mantenimiento del sistema.

2.10 Resumen

En este capítulo, presentamos una visión general de los sistemas expertos basados en reglas. Discutimos brevemente qué es el conocimiento, y cómo los expertos expresan su conocimiento en forma de reglas de producción. Se identificaron los principales actores del experto equipo de desarrollo de sistemaS y mostró la estructura de un sistema basado en normas. Hablamos de las características fundamentales de los sistemas expertos y señaló que los sistemas expertos pueden cometer errores. A continuación repasamos las técnicas de inferencia de encadenamiento hacia adelante y hacia atrás y discutiendo las estrategias de resolución de conflictos. Por último, se examinaron las ventajas y desventajas de los sistemas expertos basados en reglas.

Las lecciones más importantes aprendidas en este capítulo son:

. El conocimiento es una comprensión teórica o práctica de un sujeto. El conocimiento es la suma de lo que se conoce actualmente.

Page 51: Sistemas Expertos Basado en Reglas (1)

. Un experto es una persona que tiene un conocimiento profundo de la forma de los hechos y las normas y una sólida experiencia práctica en un dominio particular. Un experto puede hacer cosas que otros no pueden.

. Los expertos generalmente pueden expresar sus conocimientos en forma de reglas de producción.

. Las reglas de producción se representan como IF (antecedente) THEN (consecuente). Una regla de producción es el tipo más popular de la representación del conocimiento. Las reglas pueden expresar relaciones, recomendaciones, directrices, estrategias y heurísticas.

. Programa informático capaz de realizar a un nivel humano experto en un área de dominio del problema estrecha se denomina un sistema experto. Los sistemas expertos son más populares los sistemas expertos basados en reglas.

. En el desarrollo de sistemas expertos basados en reglas, conchas están convirtiendo particularmente comunes. Un sistema experto es un sistema experto esqueleto con el conocimiento extraído. Para construir una nueva aplicación de sistema experto, todo el usuario tiene que hacer es agregar el conocimiento en forma de reglas y proporcionar los datos pertinentes. Shells de sistemas expertos ofrecen una reducción dramática en el tiempo de desarrollo de sistemas expertos.

. El equipo de desarrollo de sistemas expertos debe incluir el experto de dominio, el ingeniero del conocimiento, el programador, el director del proyecto y el usuario final. Los diseños de ingeniería del conocimiento, construye y pone a prueba un sistema experto. Él o ella capta el conocimiento de los expertos de dominio, establece métodos de razonamiento y elige el software de desarrollo. Para los sistemas expertos basados en pequeñas conchas sistemas expertos, el director del proyecto, ingeniero del conocimiento, programador e incluso el experto podría ser la misma persona.

. Un sistema experto basado en reglas tiene cinco componentes básicos: la base de conocimientos, la base de datos, el motor de inferencia, las instalaciones de la explicación y la interfaz de usuario. La base de conocimientos contiene el conocimiento del dominio representado como un conjunto de reglas. La base de datos incluye un conjunto de hechos que sirvieron para emparejar contra las partes IF de reglas. El motor de

Page 52: Sistemas Expertos Basado en Reglas (1)

inferencia vincula las reglas con los hechos y lleva a cabo el razonamiento por el que el sistema experto llega a una solución. Las instalaciones de explicación que el usuario pueda consultar el sistema experto sobre cómo se llegó a una conclusión en particular y por qué se necesita un hecho específico. La interfaz de usuario es el medio de comunicación entre un usuario y un sistema experto.

. Los sistemas expertos separan el conocimiento de la transformación mediante la división de la base de conocimientos y el motor de inferencia. Esto hace que la tarea de la construcción y el mantenimiento de un sistema experto mucho más fácil. Cuando se utiliza un sistema experto, un ingeniero del conocimiento o un experto simplemente introducen normas en la base de conocimientos. Cada nueva regla añade algunos nuevos conocimientos y hace que el sistema experto inteligente.

. Los sistemas expertos proporcionan una capacidad de explicación limitada trazando las reglas disparadas durante una sesión de resolución de problemas.

. A diferencia de los programas convencionales, los sistemas expertos pueden tratar con datos incompletos e inciertos y permitir razonamiento inexacto. Sin embargo, al igual que sus homólogos humanos, los sistemas expertos pueden cometer errores cuando la información es incompleto o borrosa.

. Hay dos métodos principales para la búsqueda directa y el razonamiento: encadenamiento hacia adelante y técnicas de inferencia de encadenamiento hacia atrás. Encadenamiento hacia adelante es un razonamiento basado en datos; se parte de los datos conocidos y procede hacia adelante hasta que no hay más reglas pueden ser despedidos. Encadenamiento hacia atrás es la razón-ción orientadas a objetivos; un sistema experto tiene una solución hipotética (la meta), y el motor de inferencia intenta encontrar la evidencia para probarlo.

. Si más de una regla puede ser despedido en un ciclo dado, el motor de inferencia debe decidir qué regla para disparar. Un método para decidir se llama resolución de conflictos.

Page 53: Sistemas Expertos Basado en Reglas (1)

. Sistemas expertos basados en reglas tienen las ventajas del conocimiento como representación natural, estructura uniforme, la separación del conocimiento de la transformación, y hacer frente a un conocimiento incompleto e incierto.

. Sistemas expertos basados en reglas también tienen desventajas, las relaciones especialmente opacas entre reglas, estrategia de búsqueda ineficaz, y la incapacidad para aprender.

Preguntas para la revisión

1 ¿Qué es el conocimiento? Explique por qué los expertos por lo general tienen un conocimiento detallado de una zona limitada de un dominio específico. ¿Qué se entiende por heurística?

2 ¿Qué es una regla de producción? Dé un ejemplo y definir dos partes básicas de la regla de producción.

3 Enumerar y describir los cinco principales actores en el equipo de desarrollo de sistemas expertos. ¿Cuál es el papel del ingeniero del conocimiento?

4 ¿Qué es un sistema experto? Explique por qué el uso de un sistema experto puede reducir drásticamente el tiempo de desarrollo de un sistema experto.

5 ¿Qué es un modelo de sistema de producción? Enumerar y definir los cinco componentes básicos de un sistema experto.

6 ¿Cuáles son las características fundamentales de un sistema experto? ¿Cuáles son las diferencias entre los sistemas expertos y programas convencionales?

Page 54: Sistemas Expertos Basado en Reglas (1)

7 ¿Puede un sistema experto cometer errores? ¿Por qué?

8 Describir el proceso de inferencia de encadenamiento hacia adelante. Dé un ejemplo.

9 Describir el proceso de inferencia de encadenamiento hacia atrás. Dé un ejemplo.

10 Lista de los problemas para los que el encadenamiento hacia adelante técnica inferencia es apropiado. ¿Por qué se encadenamiento hacia atrás utiliza para los problemas de diagnóstico?

11 ¿Qué es un conjunto de reglas de conflicto? ¿Cómo podemos resolver un conflicto? Enumerar y describir los métodos básicos de resolución de conflictos.

12 Lista de las ventajas de los sistemas expertos basados en reglas. ¿Cuáles son sus desventajas?

Referencias

Duda, R., Gaschnig, J. and Hart, P. (1979). Model design in the PROSPECTOR consultant system for mineral exploration, Expert Systems in the Microelectronic Age, D. Michie, ed., Edinburgh University Press, Edinburgh, Scotland, pp. 153 –167. Durkin, J. (1994). Expert Systems Design and Development. Prentice Hall, Englewood

Cliffs, NJ.

Page 55: Sistemas Expertos Basado en Reglas (1)

Feigenbaum, E.A., Buchanan, B.G. and Lederberg, J. (1971). On generality and problem solving: a case study using the DENDRAL program, Machine Intelligence

6, B. Meltzer and D. Michie, eds, Edinburgh University Press, Edinburgh, Scotland, pp. 165 –190.

Giarratano, J. and Riley, G. (1998). Expert Systems: Principles and Programming, 3rd edn.

PWS Publishing Company, Boston.

Negnevitsky, M. (1996). Crisis management in power systems: a knowledge based approach, Applications of Artificial Intelligence in Engineering XI, R.A. Adey, G. Rzevski and A.K. Sunol, eds, Computational Mechanics Publications, South- ampton, UK, pp. 122 –141.

Newell, A. and Simon, H.A. (1972). Human Problem Solving. Prentice Hall, Englewood

Cliffs, NJ.

Shirai, Y. and Tsuji, J. (1982). Artificial Intelligence: Concepts, Technologies and Applica- tions. John Wiley, New York.

Shortliffe, E.H. (1976). MYCIN: Computer-Based Medical Consultations. Elsevier Press, New York.

Waterman, D.A. (1986). A Guide to Expert Systems. Addison-Wesley, Reading, MA. Waterman, D.A. and Hayes-Roth, F. (1978). An overview of pattern-directed inference

systems, Pattern-Directed Inference Systems, D.A. Waterman and F. Hayes-Roth, eds, Academic Press, New York.