Sistemas inteligentes y sus sociedades Walter Fritz

PRODIGY

 

Este programa fue desarrollado por Jaime Carbonell, Oren Etzioni, Yolanda Gil, Robert Joseph, Craig Knoblock, Steve Minton y Manuela Veloso en la School of Computer Science, Carnegie Mellon University. Fue descripto en la revista SIGARTen agosto '91.

PRODIGY utiliza objetivos, situaciones, reglas de actuación y planes. Las reglas de actuación (denominadas operadores) tienen un estímulo (pre-condición) y una respuesta (una lista de efectos). El estímulo es expresado mediante un sistema llamado logica de predicados (predicate logic) que incluye negación, conjunción, conjunción disyuntiva (disjunction) y cuantificadores existenciales y universales.
Negación significa que una parte de un estímulo de una regla de actuación no debería estar presente en la situación actual. Conjunción significa que varias partes deberían estar presentes juntas. Conjunción disyuntiva significa que solamente una o la otra debería estar presente. Cuantificador existencial significa que por lo menos uno debería estar presente. Cuantificador universal significa que todos deberían estar presentes.

 

Introduciendo reglas de control
Como en muchos sistemas de SI, la parte central del sistema del PRODIGY es un planificador. Este planificador genera una secuencia de reglas de actuación (llamadas operadores) para tratar de llegar de una situación dada, a un conjunto de objetivos. El planificador de PRODIGY es diferente a los sistemas que hemos visto hasta ahora, en cuanto a que su búsqueda de reglas de actuación aplicables está guiada, esta vez, por reglas de control. Estas reglas de control toman la forma de estimulo -- describiendo la(s) condición(es) a las que es aplicable -- y una parte respuesta -- para seleccionar, rechazar o preferir una regla de actuación. Las reglas de control pueden ser generales o aplicables solamente al problema presente (el entorno específico) y pueden ser insertadas mediante su programación inicial o aprendidas por el sistema. Estas reglas de control son utilizadas durante la búsqueda por encontrar reglas de actuación para poder resolver cualquier punto decisivo que surja.

 

El planificador
El planificador trabaja empezando únicamente con la situación y el objetivo. Luego decide dónde expandirse. Por ejemplo, puede elegir empezar a trabajar con la situación actual y uno de los objetivos. Entonces selecciona una regla de actuación y la aplica para producir una situación nueva intermedia. El proceso entonces se repite para cualquiera de las situaciones existentes y para cualquiera de los objetivos. Cuando se hayan satisfecho todos los objetivos, la búsqueda se para. Durante este proceso, son las reglas de control las que determinan dónde y cómo habrá que trabajar. Si ninguna regla de control es aplicable, el sistema trabaja al azar. Si al planificador le parece que esta elección al azar dió como resultado una mala decisión, se retracta y trata de aprender cuál es la regla de control que faltó.

PRODIGY tiene una cantidad de módulos de aprendizaje: