Está en la página 1de 22

SISTEMAS BASADOS EN EL

CONOCIMIENTO

Sistemas Basados en Reglas de


Producción (S.B.R.P.)
S.B.R.P.
 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.

 Métodos procedimental de representación del conocimiento.

 Las reglas de producción son un método procedimental de


representación del conocimiento, es decir, pone énfasis en
representar y soportar las relaciones inferenciales del
dominio, en contraposición a los métodos declarativos(énfasis
en la representación de los hechos).
Características
 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.

 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.
MODUS PONENS
También llamado modus ponendo
ponens, es una regla de inferencia que
tiene la siguiente forma:
Si A, entonces B
A
Por lo tanto, B

Esto significa que a partir de una fórmula


condicional y su antecedente, podemos
pasar a su consecuente
Componentes Fundamentales de un
S.B.R.P.
 Basede Reglas(Base de Conocimiento): Reúne todo el
conocimiento del sistema(Hechos+Reglas)

 Memoria Activa: Contiene los hechos que que


representan el estado actual del problema(iniciales +
inferidos a posteriori) y las reglas activadas (en
condiciones de ser ejecutada)

 Motor de Inferencias: Decide que reglas activadas se


ejecutarán. Permite obtener nuevo conocimiento a partir
del existente, para ello utiliza un proceso de
razonamiento.
 Lasreglas representan el conocimiento utilizando un
formato SI-ENTONCES(IF-THEN), es decir tienen 2
partes:

◦ La parte SI(IF), es el antecedente, condición o


situación;

◦ La parte ENTONCES(THEN), es el consecuente,


conclusión, acción o respuesta.
 Cadaregla SI-ENTONCES establece un segmento
completo de conocimiento.

 Regla: operador válido en un espacio de estados.

 Condiciones(premisas, precondiciones)
◦ Formadas por cláusulas y conectivas(AND, OR,NOT)
◦ Representación Clausal debe corresponder con
conocimiento del dominio.
Inferencia
 La Inferencia es la operación por la se obtiene
conocimiento nuevo a partir del existente.

◦ Deducción: Reglas de inferencia de la lógica, por


ejemplo Resolución. El nuevo conocimiento es cierto
si se parte de conocimiento cierto.

◦ Inducción: Se generalizan observaciones para


sintetizar conocimiento de más alto nivel. Es el
mecanismo del Aprendizaje Automático.
… Inferencias

 Abducción: Razonamiento por explicación posible. De


un conjunto de reglas y hecho observados produce un
conjunto de explicaciones posibles, que harían coherente
el conocimiento de partida.
Inferencia Basada en Reglas
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:

◦ 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.


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.

◦ Se puede partir considerando todos los datos conocidos


y luego ir progresivamente avanzando hacia la
solución(Encadenamiento Progresivo).

◦ Se puede seleccionar una posible solución y tratar de


probar su validez buscando evidencia que la
apoye(Encadenamiento regresivo).
Encadenamiento
Progresivo(Forward Chaining)
 Se parte de sentencias(reglas de inferencia) de la base de
conocimiento para producir conclusiones(afirmaciones);

 Se llama procedimiento dirigido a datos(Data Driven)


porque el proceso de inferencia no es direccionado para
resolver un problema particular.

 Método muy útil cuando los datos iniciales son pocos y/o
existen muchas posibles conclusiones.
Esquema del Encadenamiento
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 resolución de conflictos involucra la
selección de la regla que tenga la más alta prioridad de entre el conjunto de
reglas que han sido satisfechas.

 Ejecución.- 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.
Encadenamiento
Regresivo(Blackward Chaining)
 Se parte de una hipótesis a probar, procurando reglas en la
base de conocimiento retroactivamente para analizar las
asertivas que soportan la hipótesis en cuestión.

 Si la premisa(antecedente) es una conjunción, sus términos


son procesados uno a uno para que sea obtenido o sea
unificador.

 Método muy útil en aplicaciones con muchos datos


disponibles de partida, de los que solo una pequeña parte
son relevantes.
Operaciones básicas en los Sistemas
de Razonamiento
 Adicionar un hecho nuevo a la base de conocimiento.
 Adicionar nuevas reglas que a la vez generan nuevas
conclusiones.
 Decidir si una base de conocimiento atiende a una
consulta realizada.
 Decidir si una consulta está explícitamente almacenada
en la base de conocimiento.
 Remover hechos y reglas de la base de conocimiento
Ventajas
 Modularidad: Facilita el desarrollo incremental

 Uniformidad: Facilita su manipulación

 Naturalidad para expresar el conomiento

 Carácter declarativo.

 Cada regla es independiente de las otras.


Desventajas de un S.B.R.P.

 Encadenamiento Infinito
 Incorporación de conocimiento nuevo contradictorio.
 Modificación de reglas existentes.
 Ineficiencia(Necesidad de modularizar o de introducir
metarreglas)
 Opacidad(Dificultad de estabalecer relaciones)
 Rápido crecimiento del número de reglas
 La adquisición del conocimiento es difícil
Aplicaciones de un S.B.R.P.
 Análisis de imágenes, reconocimiento del habla,
inversiones financieras.

 Predicción meteorológica, previsión del tráfico,


evolución de la bolsa.

 Diagnóstico médico(Dendral, MYCIN), detección de


fallos en electrónica.

 Diseño de ciruitos, automóviles, edificios, etc.

 Programación de proyectos e inversiones.


Ejemplos de S.B.R.P.

 Dendral, MYCIN
 G2 de Gensym
 ABB, Alcan, Codelco
 Dow Chemical, DuPont
 Ericsson, ExxonMobil, Motorola, Nokia
 Shell, Unilever,
 Ford, Hitachi,
 HP
 Etc.
Ejemplo de regla de producción
 Reglas del robot
 SI adelante no hay obstatulo Y
   hay suficiente bateria
ENTONCES assert (accion_actual (ejecutar acc_avanzar))
 SI esta en casilla sucia Y
   hay suficiente bateria
ENTONCES assert (accion_actual (ejecutar acc_limpiar))
 ...

;;;;;;;;; Reglas de simulación del comportamiento del robot/habitacion


 SI (accion_actual (ejecutar acc_avanzar))
ENTONCES retract hecho con la accion actual
         ;; actualizar situacion de la habitacion
         ;; actualizar sensores robot
         actualizar coordenas actuales del robot
         decrementar la energia consumida
         establecer contenido de casilla actual
         identificar contenido de casilla adelante
SI (accion_actual (ejecutar acc_limpiar))
ENTONCES retract hecho con la accion actual
         ;; actualizar situacion de la habitacion
         eliminar hecho que señala que la casilla actual está sucia
         ;; actualizar sensores robot
         establecer nuevo contenido de casilla actual
         decrementar la energia consumida

También podría gustarte