El último de los mecanismos de representación de conocimiento que estudiaremos son los sistemas basados en reglas y los sistemas de producción, vistos como un formalismo computacional que permite la resolución de problemas utilizando reglas e infiriendo sobre ellas.
La importancia en la IA de los sistemas basados en reglas es grande, la mayoría de los sistemas expertos deterministas (que veremos más adelante) están basados en este tipo de representación. Los sistemas basados en reglas consisten de un conjunto de reglas de la forma SI –ENTOCES (IF THEN), es decir se utiliza la implicación como principal forma de representación.
Las reglas representan bloques de conocimiento que serán invocadas por un intérprete cuando sea necesario. Siconsideramos un problema a ser resueltocompuestopor
-
Un objetivo
-
Acciones posibles (implican cursos de acción y producen resultados inidentificables, cambian el estado)
-
Estado Inicial
Partiendo de un estado inicial (por ejemplo la disposición de las fichas del ajedrez al iniciar la partida) mediante las acciones u operaciones posibles (los movimientos permitidos) se llega a un estado final (tablas o jaque mate).
Las reglas expresan las transformaciones que pueden efectuarse sobre el estado actual de resolución. Inicialmente sobre el estado inicial y a medida que realizamos acciones sobre los nuevos estados. Las reglas entonces son:
SIcondición ENTONCES acción
A diferencia de la programación clásica, donde implementamos un algoritmo, en un sistema basado en reglas la ejecución puede ser vista como la búsqueda en un espacio de estados.
Las reglas deben ser manejadas por un intérprete. El mismo puede tener diversas estrategias de control. Las principales son forward chaining (encadenamiento hacia delante) y backward chaining (encadenamiento hacia atrás). En las figuras vemos la relación entre reglas y control. Debería existir una base de datos global que contenga toda la información relevante al problema.
Forward chaining: Es denominado también data-driven y bottom-up (manejado por datos y de abajo hacia arriba). Parte de los datos iniciales, aplica las reglas al estado inicial y a los sucesores de éste hasta llegar al estado final.
Backward chaining: Es denominado también goal-driven y top-down (manejado por el objetivo y de arriba hacia abajo). Se parte del objetivo (una hipótesis que se quiere probar) y se busca que reglas permiten esta hipótesis. Ahora se trata de probar las condiciones que disparan esas reglas, las cuales se transforman en subobjetivos, y éstos a su vez se transforman en otros subobjetivos, así hasta llegar al estado inicial.
En otro capítulo analizaremos diversas estrategias de búsqueda que permiten la resolución de problemas y que se utilizan en los sistemas basados en reglas, incluso existen estrategias híbridas.
Todo sistema de producción tiene un algoritmo de control que ejecuta el intérprete de reglas y aplica las estrategias correspondientes. El algoritmo de control cuenta en general con cuatro pasos que se aplican iterativamente:
Extracción: obtener el conjunto de reglas plausibles de ser utilizadas, esto dependerá de la estrategia utilizada. En forward chaining se elegirán aquellas que tengan su condición satisfecha en la base de datos global, mientras que en backward chaining se elegirán aquellas cuya conclusión esté en el objetivo o subobjetivos actuales.
Refinamiento: Se refinan las reglas obtenidas (y las pendientes de pasos anteriores si las hubiera) eliminado algunas.
Selección: Se elige una regla del conjunto refinado (es posible elegir más de una incluso alguna estrategia plantea elegir todas y no refinar). La selección aplica lo que se conoce como resolución de conflictos. Se considera que hay un conflicto en el sentido de que varias reglas pueden ser aplicadas en ese momento.
Aplicación: La aplicación de la regla/s seleccionada para producir modificaciones en la base de datos global.
Se dice que los sistemas que utilizan forward chaining son sistemas que utilizan una representación en espacio de estados. Pueden verse como un problema de moverse por distintos estados, donde cada estado corresponde con determinada configuración de la base de datos global. Por otro lado, los sistemas que razonan en forma backward chaining se dice que utilizan representación por reducción de problemas, se pueden pensar como partiendo de un problema a ser resuelto y reduciendo la complejidad del problema inicial a subproblemas, en forma iterativa
Al estudiar sistemas expertos, planificación y resolución de problemas mediante búsqueda volveremos sobre estos temas.