domingo, 2 de diciembre de 2007

Reglas de Produccion.

REPRESENTACIÓN MEDIANTE REGLAS DE PRODUCCIÓN

Los sistemas basados en reglas son los más comúnmente utilizados. Su simplicidad y similitud con el razonamiento humano, han contribuido para su popularidad en diferentes dominios. Las reglas son un importante paradigma de representación del conocimiento.
Las reglas representan el conocimiento utilizando un formato SI-ENTONCES (IF-THEN), es decir tienen 2 partes:

La parte SI (IF), es el antecedente, premisa, condición o situación; y La parte ENTONCES (THEN), es el consecuente, conclusión, acción o respuesta.
Las reglas pueden ser utilizadas para expresar un amplio rango de asociaciones, por ejemplo:

SI está manejando un vehículo Y se aproxima una ambulancia, ENTONCES baje la velocidad Y hágase a un lado para permitir el paso de la ambulancia.

SI su temperatura corporal es de 39 ºC, ENTONCES tiene fiebre.

SI el drenaje del lavabo está tapado Y la llave de agua está abierta, ENTONCES se puede inundar el piso.

Inferencia Basada en Reglas

Una declaración de que algo es verdadero o es un hecho conocido, es una afirmación (fact). El conjunto de afirmaciones se conoce a menudo con el nombre de memoria de trabajo o base de afirmaciones. De igual forma, al conjunto de reglas se lo denomina base de reglas.
Un sistema basado en reglas utiliza el modus ponens para manipular las afirmaciones y las reglas durante el proceso de inferencia. Mediante técnicas de búsqueda y procesos de unificación, los sistemas basados en reglas automatizan sus métodos de razonamiento y proporcionan una progresión lógica desde los datos iniciales, hasta las conclusiones deseadas. Esta progresión hace que se vayan conociendo nuevos hechos o descubriendo nuevas afirmaciones, a medida que va guiando hacia la solución del problema.
En consecuencia, el proceso de solución de un problema en los sistemas basados en reglas va realizando una serie de inferencias que crean un sendero entre la definición del problema y su solución. Las inferencias están concatenadas y se las realiza en forma progresiva, por lo que se lo que se dice que el proceso de solución origina una cadena de inferencias.
Los sistemas basados en reglas difieren de la representación basada en lógica en las siguientes características principales:
Son en general no-monotónicos, es decir hechos o afirmaciones derivadas, pueden ser retractados, en el momento en que dejen de ser verdaderos. Pueden aceptar incertidumbre en el proceso de razonamiento.

EL PROCESO DE RAZONAMIENTO

El proceso de razonamiento en un sistema basado en reglas es una progresión desde un conjunto inicial de afirmaciones y reglas hacia una solución, respuesta o conclusión.
Como se llega a obtener el resultado, sin embargo, puede variar significativamente:
Se puede partir considerando todos los datos conocidos y luego ir progresivamente avanzando hacia la solución. Este proceso se lo denomina guiado por los datos o de encadenamiento progresivo (forward chainning).
Se puede seleccionar una posible solución y tratar de probar su validez buscando evidencia que la apoye. Este proceso se denomina guiado por el objetivo o de encadenamiento regresivo (backward chainning).

Razonamiento Progresivo

En el caso del razonamiento progresivo, se empieza a partir de un conjunto de datos colectados a través de observacion y se evoluciona hacia una conclusión. Se chequea cada una de las reglas para ver si los datos observados satisfacen las premisas de alguna de las reglas. Si una regla es satisfecha, es ejecutada derivando nuevos hechos que pueden ser utilizados por otras reglas para derivar hechos adicionales. Este proceso de chequear reglas para ver si pueden ser satisfechas se denomina interpretación de reglas.
La interpretacion de reglas es realizada por una máquina de inferencia en un sistema basado en conocimiento. La interpretación de reglas, o inferencia, en el razonamiento progresivo involucra la repetición de los pasos que se indican en la siguiente figura.


Razonamiento Progresivo.

Unificación (Matching).- En este paso, en las reglas en la base de conocimientos se prueban los hechos conocidos al momento para ver cuáles son las que resulten satisfechas. Para decir que una regla ha sido satisfecha, se requiere que todas las premisas o antecedentes de la regla resuelvan a verdadero.
Resolución de Conflictos.- Es posible que en la fase de unificación resulten satisfechas varias reglas. La resolucion de conflictos involucra la seleccion de la regla que tenga la más alta prioridad de entre el conjunto de reglas que han sido satisfechas.
Ejecución.- El último paso en la interpretación de reglas es la ejecución de la regla. La ejecución puede dar lugar a uno o dos resultados posibles: nuevo hecho (o hechos) pueden ser derivados y añadidos a la base de hechos, o una nueva regla (o reglas) pueden ser añadidas al conjunto de reglas (base de conocimiento) que el sistema considera para ejecución.
En esta forma, la ejecución de las reglas procede de una manera progresiva (hacia adelante) hacia los objetivos finales.
Un conjunto de aplicaciones adecuadas al razonamiento progresivo incluye supervision y diagnostico en sistemas de control de procesos en tiempo real, donde los datos están continuamente siendo adquiridos, modificados y actualizados. Estas aplicaciones tienen 2 importantes características:
Necesidad de respuesta rápida a los cambios en los datos de entrada.
Existencia de pocas relaciones predeterminadas entre los datos de entrada y las conclusiones derivadas.
Otro conjunto de aplicaciones adecuadas para el razonamiento progresivo está formado por: diseño, planeamiento y calendarización, donde ocurre la sintesis de nuevos hechos basados en las conclusiones de las reglas. En estas aplicaciones hay potencialmente muchas soluciones que pueden ser derivadas de los datos de entrada.
Debido a que estas soluciones no pueden ser enumeradas, las reglas expresan conocimiento como patrones generales y las conexiones precisas entre estas reglas no pueden ser predeterminadas.

Razonamiento Regresivo.

El mecanismo de inferencia, o interprete de reglas para el razonamiento regresivo, difiere significativamente del mecanismo de razonamiento progresivo. Si bien es cierto ambos procesos involucran el examen y aplicación de reglas, el razonamiento regresivo empieza con la conclusión deseada y decide si los hechos que existen pueden dar lugar a la obtención de un valor para esta conclusión. El razonamiento regresivo sigue un proceso muy similar a la búsqueda primero en profundidad.
El sistema empieza con un conjunto de hechos conocidos que típicamente está vacío. Se proporciona una lista ordenada de objetivos (o conclusiones), para las cuales el sistema trata de derivar valores. El proceso de razonamiento regresivo utiliza esta lista de objetivos para coordinar su búsqueda a través de las reglas de la base de conocimientos. Esta búsqueda consiste de los siguientes pasos:
Conformar una pila inicialmente compuesta por todos los objetivos prioritarios definidos en el sistema.
Considerar el primer objetivo de la pila. Determinar todas las reglas capaces de satisfacer este objetivo, es decir aquellas que mencionen al objetivo en su conclusión.

Para cada una de estas reglas examinar en turno sus antecedendentes:
Si todos los antecedentes de la regla son satisfechos (esto es, cada parámetro de la premisa tiene su valor especificado dentro de la base de datos), entonces ejecutar esta regla para derivar sus conclusiones. Debido a que se ha asignado un valor al objetivo actual, removerlo de la pila y retornar al paso (2).
Si alguna premisa de la regla no puede ser satisfecha, buscar reglas que permitan derivar el valor especificado para el parámetro utilizado en esta premisa.
Si en el paso (b) no se puede encontrar una regla para derivar el valor especificado para el parámetro actual, entonces preguntar al usuario por dicho valor y añadirlo a la base de datos. Si este valor satisface la premisa actual entonces continuar con la siguiente premisa de la regla. Si la premisa no es satisfecha, considerar la siguiente regla.
Si todas las reglas que pueden satisfacer el objetivo actual se han probado y todas no han podido derivar un valor, entonces este objetivo quedará indeterminado. Removerlo de la pila y retornar al paso (2). Si la pila está vacía parar y anunciar que se ha terminado el proceso.
El razonamiento regresivo es mucho más adecuado para aplicaciones que tienen mucho mayor número de entradas, que de soluciones posibles. La habilidad de la lógica regresiva para trazar desde las pocas conclusiones hacia las múltiples entradas la hace más eficiente que el encadenamiento progresivo.
Una excelente aplicación para el razonamiento regresivo es el diagnóstico, donde el usuario dialoga directamente con el sistema basado en conocimiento y proporciona los datos a través del teclado. Problemas de clasificación también son adecuados para ser resuelto mediante el razonamiento regresivo.

No hay comentarios: