Sistemas expertos

Producción de reglas para el modelo humano de solución de problemas Separación de conocimiento y mecanismo de inferenci

Views 173 Downloads 0 File size 84KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Producción de reglas para el modelo humano de solución de problemas

Separación de conocimiento y mecanismo de inferencia, el shell

Conocimiento como la clave de la experiencia

Sistemas expertos

Convergencia de tres factores importantes en la creación del moderno sistema experto basado en reglas Sistemas de producción. Reglas. Un ejemplo: Regla: Luz_roja SI la luz es roja ENTONCES alto Regla: luz_verde SI la luz es verde ENTONCES adelante Cada regla se identifica con un nombre, seguido por la parte SI de la regla. A la sección entre las partes SI y ENTONCES de la regla se le dan varios nombres como son antecedente, parte condicional, patrón o lado izquierdo. A la condición individual la luz es verde se le llama elemento condicional o patrón. Algunos ejemplos de reglas de sistemas expertos reales son: Sistema MYCIN para diagnóstico de meningitis y bacteremia (infecciones bacterianas) SI El medio de cultivo es la sangre, y La identidad del organismo no es conocida con certeza, y La coloración del organismo es gramnegativa, y

La morfología del organismo es de bastoncillo, y El paciente presenta elevación de la temperatura ENTONCES Hay una débil evidencia que sugiere (.4) que la identidad del organismo es pseudomona. XCON/Rl para configurar los sistemas de cómputo VAX de DEC SI El contexto actual es la asignación de dispositivos a los módulos Unibus y Hay una unidad de disco con puerto dual que no ha sido asignada y El tipo de controlador que se requiere es conocido y Hay dos controladores y ninguno de ellos tiene un dispositivo asignado, y Se conoce el número de dispositivos que estos controladores pueden soportar ENTONCES Asignar la unidad de disco a cada uno contro1adores, y Revisar que los dos contro1adores han sido asociados y que cada uno soporta un drive Cuando todos los patrones de una regla están satisfechos, se dice que está activada o iniciada. Muchas reglas activadas pueden estar en la agenda al mismo tiempo, en cuyo caso, el mecanismo de inferencia debe seleccionar una regla de disparo. Después de la parte ENTONCES de una regla, hay una serie de acciones que se ejecutarán cuando la regla se dispare. A esta parte de la regla se le conoce como la consecuencia o lado derecho (RHS). Cuando la regla de la luz roja se dispara, se ejecuta su acción, que es detenerse. Del mismo modo, cuando la regla de la luz verde se dispara, su acción es avanzar. Por lo general, las acciones específicas incluyen la adición o remoción de los hechos de la memoria activa o de los resultados impresos. El mecanismo de inferencia opera en ciclos. Se han dado varios nombres para describir el ciclo, como: ciclo acto-reconocimiento, ciclo selección-ejecución, ciclo situaciónrespuesta, y ciclo situación-acción. Cualquiera que sea el nombre, el mecanismo de inferencia ejecutará un grupo de ciertas tareas repetidas hasta que ciertos criterios causen el cese de la ejecución. Las tareas de un ciclo para OPS5, un shell de sistema experto típico, se muestran en el siguiente seudocódigo como resolución de conflicto, acto, correspondencia y verificación de interrupciones. MIENTRAS no se haga Resolución de conflicto: si hay activaciones, entonces seleccione aquella con la prioridad más alta. Acto: ejecutar en forma secuencial las acciones en el lado derecho de la activación seleccionada.Aquellas que cambian la memoria activa tienen un efecto inmediato en este ciclo. Eliminar de la agenda la activación que se acaba de disparar. Correspondencia: actualizar la agenda revisando si el lado izquierdo de cualquier regla están satisfechos. De ser así, activarlos. Eliminar acciones si el lado izquierdo de las reglas ya no se satisfacen.

Verificación de interrupciones: si se ejecuta una acción de interrupción o se da un comando de ruptura, entonces hacerla. FIN-MIENTRAS Aceptar las órdenes de un nuevo usuario Varias reglas pueden activarse y pasar a la agenda durante un ciclo, las activaciones de ciclos previos también se dejarán en la agenda a menos que hayan sido desactivadas porque su lado izquierdo ya no está satisfecho. Así, el número de activaciones en la agenda variará mientras procede la ejecución. Dependiendo del programa, una activación puede estar siempre en la agenda pero nunca seleccionada para dispararse; del mismo modo, algunas reglas quizá nunca se activen. En estos casos, los propósitos.de estas reglas deberían volver a examinarse porque o son innecesarias, o sus patrones no se diseñaron bien. El mecanismo de inferencia ejecuta las acciones con mayor prioridad de activación en la agenda, luego, la siguiente en grado de prioridad y así sucesivamente hasta que no quede ninguna activación. Un medio de explicación debe admitir que el usuario pregunte cómo llegó el sistema a cierta conclusión y por qué es necesaria cierta información. Para un sistema basado en reglas, la pregunta de cómo llegó el sistema a cierta conclusión es fácil de responder porque es posible mantener en un panel una historia de las reglas activadas y del contenido de la memoria activa. Los medios de explicación sofisticados permiten que el usuario haga preguntas del tipo "¿Qué pasa si?" para explorar las rutas de razonamiento que se alternan a través del razonamiento hipotético. Las reglas son un tipo de producción cuyos orígenes se remontan a los cuarenta. Debido a la importancia de los sistemas basados en reglas, vale la pena examinar el desarrollo del concepto de regla. Esto dará una mejor idea de por qué los sistemas basados en reglas son tan útiles para los sistemas expertos.

Sistemas de producción de Post Cualquier sistema de matemáticas o lógica podría escribirse como cierto tipo de sistema de reglas de producción. Este resultado establecía la gran capacidad de las reglas de producción para representar clases de conocimiento más grandes en lugar de estar limitadas a unos cuantos tipos. Bajo el término reescribir reglas, éstas también se usan en lingüística como una manera de definir]a gramática de un lenguaje. Los lenguajes de computadora suelen definirse utilizando la Forma Backus-Naur (BNF) de reglas de producción. Antecedente  Consecuencia La persona tiene fiebre  que tome una aspirina Esta regla se puede interpretar en términos de la notación más familiar SI...ENTONCES de esta manera: SI la persona tiene fiebre ENTONCES que tome una aspirina Las reglas de producción también pueden tener múltiples antecedentes. Por ejemplo: La persona tiene fiebre Y La fiebre es más alta que 39  vea al doctor

El conector especial Y no es parte de la hilera, sencillamente indica que la regla tiene varios antecedentes. Un sistema de producción de Post consta de un grupo de reglas de producción, como las siguientes (los números entre paréntesis son para propósitos de este análisis): (1) el carro no arranca  revisar batería (2) el carro no arranca  revisar gasolina (3) revisar batería Y si la batería está mal  reemplazarla (4) revisar gasolina Y si no hay gasolina  llenar el tanque de gasolina Si hay una cadena "el carro no arranca", es posible usar las reglas (1) Y(2) para generar las cadenas "revisar la batería" y "revisar gasolina", sin embargo, no hay un mecanismo de control que aplique ambas reglas a la cadena. Sólo puede aplicarse una regla, o ambas o ninguna. Si hay otra cadena "la batería está mal" y una cadena "revisar batería", entonces la regla (3) puede aplicarse para generar la cadena "remplazar batería". El orden con el que se escriban las reglas escritas no tiene un significado especial. Las del ejemplo también podrían escribirse en el siguiente orden y el sistema seguiría siendo el mismo: (4) revisar gasolina Y si no hay  llenar el tanque (2) el carro no arranca  revisar gasolina (1) el carro no arranca  revisar batería (3) revisar batería Y si la batería está mal  reemplazar la batería

A pesar de que las reglas de producción de Post eran útiles en la colocación de la parte fundamental de los sistemas expertos, no eran adecuadas para escribir los programas prácticos. La limitante básica de las reglas de producción de Post para la programación es la falta de una estrategia de control para guiar la aplicación de las reglas. Un sistema Post permite que las reglas se apliquen de cualquier manera en las hileras porque no hay una especificación dada sobre cómo deberían aplicarse. Algoritmos de Markov El siguiente adelanto en la aplicación de las reglas de producción fue hecho por Markov, quien especificó una estructura de control para los sistemas de producción (Markov 54). Un algoritmo de Markov es un grupo ordenado de producciones que se aplican en orden de prioridad a una hilera de entrada. Si la regla de prioridad más alta no es aplicable, entonces se aplica la siguiente y así sucesivamente. El algoritmo de Markov termina si (1) la última producción no es aplicable a una hilera o (2) se aplica una producción que termina con un punto. Algoritmo Rete Puede notarse que hay una estrategia de control definitiva para los algoritmos de Markov, con las reglas de más alta prioridad ordenadas en primer lugar. Mientras procede la regla de mayor prioridad, ésta se utiliza. Si no, el algoritmo de Markov prueba reglas de prioridad más baja. A pesar de que el algoritmo de Markov puede utilizarse como la base de un sistema experto, es muy poco eficaz en sistemas con muchas reglas. El problema

de la eficiencia es de gran importancia si queremos crear sistemas expertos para problemas reales que contengan cientos o miles de reglas. Sin importar qué tan bueno sea todo lo demás en un sistema, si el usuario tiene que esperar mucho tiempo para una respuesta, el sistema no se usará. Lo que en verdad es necesario es un algoritmo que conozca todas las reglas y pueda aplicar cualquier regla sin tener que probar cada una en forma secuencial. Una solución para este problema es el algoritmo Rete desarrollado en 1979 por Charles L. Forgy en la Universidad Carnegie-Mellon para su tesis de doctorado en filosofía, en el shell del sistema experto OPS (sistema de producción oficial) de esa institución. El algoritmo Rete es un rápido igualador de patrones que obtiene su velocidad del almacenamiento de información sobre las reglas de una red. En lugar de tener que igualar los hechos con todas las reglas en cualquier ciclo-acto reconocimiento, el algoritmo Rete sólo busca los cambios en las correspondencias de cada ciclo. Esto acelera en gran medida la correspondencia de los hechos con los antecedentes, porque los datos estáticos que no cambiaron de un ciclo a otro pueden pasarse por alto. Los algoritmos de igualado rápido como Rete completaron las bases para la aplicación práctica de los sistemas expertos. En la figura se resumen los fundamentos de la tecnología de los sistemas expertos modernos basados en reglas.

Fundamentos de los modernos sistemas expertos basados en reglas