8 de diciembre de 2010

Sistemas Basados en Reglas (rule-based systems)


Los sistemas basados en reglas trabajan mediante la aplicación de reglas, comparación de resultados y aplicación de las nuevas reglas basadas en situación modificada. También pueden trabajar por inferencia lógica dirigida, empezando con una evidencia inicial en una determinada situación y dirigiéndose hacia la obtención de una solución, o bien con hipótesis sobre las posibles soluciones y volviendo hacia atrás para encontrar una evidencia existente (o una deducción de una evidencia existente) que apoye una hipótesis en particular.


Un ejemplo clásico de un sistema basado en reglas es el dominio específico de sistema experto que utiliza reglas de deducción o elecciones.



Algunos ejemplos de sistemas basados en reglas son:

  • Sistema que ayuda a un médico a elegir el correcto diagnóstico basado en un conjunto de síntomas
  • Sistema que selecciona los movimientos tácticos para jugar un juego
  • Sistema para realizar análisis léxico para recopilar e interpretar los programas de ordenador, o en el procesamiento del lenguaje natural
Un sistema basado en reglas típico cuenta con cuatro componentes básicos:

  1. Una lista de reglas o base de reglas, que es un tipo específico de base de conocimientos
  2. Un motor de inferencia o razonador semántico , lo que infiere información o toma de acción basado en la interacción de la entrada y la base de reglas
  3. Memoria de trabajo temporal
  4. Una interfaz de usuario u otra conexión con el mundo exterior a través del cual las señales de entrada y salida son recibidas y enviadas

 

EJERCICIO

Se realiza este ejercicio como práctica de estas reglas utilizando un archivo .csv con el precio histórico de la gasolina desde 1991 hasta octubre de 2010.


El archivo .csv fue cargado a R y se obtuvo la media y los outlier (superior e inferior), donde:
    > mean(gasolina)

          PrecioDlls

       1.671285


    > outlier(gasolina)

          PrecioDlls

       4.114


    >
 outlier(gasolina, TRUE)
PrecioDlls
0.907

  
A partir de esta información generaremos 4 clases, donde:
  1. Si el precio está entre 0.907 (menor) y 1.2891425 (la mitad de la diferencia entre la media y el valor menor) será considerado "Muy Barato".
  2. Si el precio está entre 1.2891425 y 1.671285 (media), será considerado como "Barato"
  3. Si el precio está entre 1.671285 (media) y 2.8926425 (la mitad de la diferencia entre la media y el valor mayor), será considerado como "Caro"
  4. Si el precio está entre 2.8926425 - 4.114 (mayor), será considerado como "Muy Caro".

Estas condiciones son programadas en ifs anidados en un documento de Excel con la siguiente formula, pensando que el precio está en la columna A:


=SI(A2 = 2.8926425,"Muy Caro",SI(A2=1.671285,"Caro",SI(A2=1.2891425,"Barato","Muy Barato")))


Con esta fórmula se obtienen los siguientes resultados:

1.266Muy Barato
1.272Muy Barato
1.321Barato
1.619Barato
1.626Barato
1.703Caro
1.713Caro
1.687Caro
1.704Caro
1.679Caro
1.647Barato
1.601Barato
2.858Caro
2.86Caro
2.849Caro
2.898Muy Caro
2.905Muy Caro
2.864Caro
2.786Caro

 


 

1 comentario:

  1. Bien. O más bien, un buen inicio. Esta parte es mera lógica difusa. Todavía no estamos usando múltiples reglas para sacar una decisión. Te pongo cinco puntos.

    ResponderBorrar