Manual del estudiante de Ingeniería en Sistemas de UTN/Inteligencia Artificial/Sistemas de producciones

Representación del conocimiento editar

Un agente inteligente necesita un sistema de representación del conocimiento, con el cual representar los hechos y las reglas para inferir los hechos no observados y las consecuencias de las acciones y del paso del tiempo.

Componentes del sistema de producciones editar

Base de conocimiento editar

Memoria de trabajo editar

Contiene un conjunto de sentencias que no tienen variables, es decir que representa los hechos particulares.

Memoria de producciones editar

Está constituida por sentencias del tipo:

 

Donde cada antecedente debe matchear con una afirmación, y cada acción representa un cambio sobre la memoria de trabajo (eliminaciones, adiciones o modificaciones).

Los antecedentes vienen de la forma

 

No hay disyunciones, sino que se representan como otra entrada en la memoria de producciones.

La máquina de inferencias editar

Encadenamiento hacia delante editar

Fase de cotejo (matching) editar

Se compara, para cada una de las reglas, cada elemento de la premisa con las sentencias en la memoria de trabajo. Se incorpora al conjunto de conflicto cada un de las reglas para las cuales se cumplan todas las premisas. Para evitar recálculos que atenten contra la eficiencia, se puede utilizar un algoritmo tal como Rete, que se basa en dos suposiciones:

  • La memoria de trabajo es muy grande y cambia poco entre cada ciclo. Toda la información que sigue presente en el siguiente ciclo se puede utilizar. Rete guarda información de los matchings parciales entre ciclos, de manera que el esfuerzo de matching depende de la razón de cambio de la memoria de trabajo en lugar de su tamaño.
  • Las condiciones de muchas reglas se repiten. Rete localiza condiciones comunes y produce un grafo que representa la memoria de producción, en donde los nodos son las condiciones de las reglas.
Resolución de conflictos editar

Se selecciona del conjunto de conflictos, la regla que se va a ejecutar, con un criterio que puede ser: la más específica, la que fue satisfecha con hechos más recientemente incorporados, etc.

Aplicación editar

Se aplica el consecuente de la regla seleccionada, produciéndose el cambio correspondiente en la memoria de trabajo.