FORR (Por las razones correctas) es una arquitectura cognitiva para el aprendizaje y la resolución de problemas inspirada en las ideas de racionalidad limitada y satisfacción de Herbert A. Simon . Fue desarrollado por primera vez a principios de la década de 1990 en la Universidad de la Ciudad de Nueva York . Se ha utilizado en juegos, búsqueda de rutas de robots, diseño de parques recreativos, sistemas de diálogo hablado y resolución de problemas de satisfacción de restricciones NP-hard, y es lo suficientemente general para muchas aplicaciones de resolución de problemas. FORR no tiene un conocimiento perfecto de cómo resolver un problema, sino que aprende de la experiencia. Los agentes inteligentes no son óptimos, pero toman decisiones basadas solo en un subconjunto de todas las buenas razones posibles y datos informativos. Estos agentes aún pueden considerarse racionales. Esta idea de racionalidad limitada fue presentada por Herbert A. Simon,[1] quien, junto con Allen Newell, desarrolló los primeros cimientos del estudio de las arquitecturas cognitivas y también inspiró arquitecturas tempranas como Soar y ACT-R .
FORR depende de la idea de que existen múltiples razones o fundamentos para realizar acciones mientras se resuelve un problema. Estas razones pueden ser siempre correctas (siempre es correcto hacer un movimiento en el ajedrez que pondrá al oponente en jaque mate) o solo a veces correctas. Las razones siempre correctas son la minoría. Las razones a veces correctas pueden competir entre sí: por ejemplo, en el juego, una buena razón podría ser capturar piezas, mientras que otra podría ser controlar alguna área del tablero. En FORR, estas razones en competencia se denominan asesores. El sistema de asesores escalonados es lo suficientemente general como para que se pueda implementar cualquier buena razón potencial, como probabilística, deductiva o perceptiva, siempre que brinde consejos sobre su preferencia de una acción sobre otra. Debido a su dependencia de un conjunto de agentes independientes (los Asesores), FORR puede considerarse una arquitectura conexionista .
Una arquitectura FORR tiene tres componentes: un conjunto de descriptivos que describen el estado del problema, un conjunto de asesores en niveles que se consultan para decidir qué acción realizar y un script de comportamiento que consulta a los asesores y realiza la acción que ellos sugerir.[2]
Los Asesores son el conjunto de fundamentos o heurísticas para tomar una decisión. Pueden considerarse el componente de memoria procedimental de la arquitectura. Ante cada nueva decisión, se consulta a los asesores para decidir qué acción realizar. Los asesores nunca se comunican entre sí ni aprenden por sí solos: simplemente solicitan información sobre el estado del problema almacenado en forma de descriptivos y hacen una sugerencia basada en esa información. Los Asesores se dividen en tres niveles, que se consultan en el siguiente orden:
El componente de memoria declarativa de la arquitectura, los descriptivos representan el estado del problema y están disponibles para cualquier Asesor.
El script de comportamiento consulta cada nivel de asesores de forma secuencial. Si un asesor de nivel 1 sugiere una acción, el script realiza la acción. De lo contrario, si se activa un asesor de nivel 2, significa que se ha encontrado un subproblema. Un asesor de nivel 1 garantiza que solo un asesor de nivel 2 está activo en cualquier momento. Si ningún asesor de nivel 1 comenta ni se activa ningún asesor de nivel 2, el script de comportamiento solicita sugerencias o comentarios de todos los asesores de nivel 3 y les permite votar. El script realiza la acción con el voto más alto entre todos los asesores de nivel 3.
Un dominio de problema es un conjunto de problemas similares, llamados clases de problemas. Si el dominio del problema es jugar juegos de mesa simples, entonces el tres en raya es una clase de problema, y un juego particular de tres en raya es una instancia de problema. Si navegar por un laberinto es el dominio del problema, entonces un laberinto en particular es la clase y un intento de navegar por él es una instancia. Una vez que se identifica el dominio del problema, la implementación de una arquitectura FORR para ese dominio tiene dos etapas básicas: encontrar las posibles razones correctas (los asesores) y aprender sus pesos para una clase en particular.
Los asesores son los mismos para todas las clases de problemas en un dominio, pero los pesos pueden ser diferentes para cada clase dentro del dominio. Las heurísticas importantes para tres en raya podrían no serlo para un juego de mesa diferente. FORR aprende los pesos de sus asesores de nivel 3 por experiencia. Los asesores que sugieran una acción que resulte en un fracaso verán penalizados sus pesos, y los asesores cuyas sugerencias resulten en un éxito verán incrementados sus pesos. Los algoritmos de aprendizaje varían entre implementaciones.
FORR se ha utilizado para juegos, búsqueda de robots, problemas de satisfacción de restricciones, diseño de parques y sistemas de diálogo hablado .[3][4]