Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arquitecturas cognitivas
Objetivos de la práctica
Introducción
Una arquitectura cognitiva es el conjunto de componentes esenciales de un sistema que permite
el análisis exhaustivo, en múltiples niveles y en múltiples dominios de sus cogniciones y sus
conductas. En otras palabras, una arquitectura cognitiva permite resolver tareas de una manera
similar al comportamiento de un ser humano.
En esta práctica se introduce una de las arquitecturas cognitivas más utilizadas: la arquitectura
Soar. Soar es una arquitectura híbrida que se basa en el principio de que todo comportamiento
con un objetivo puede generarse como una aplicación de operadores a un estado. En el Tema 1.2
se introducen los conceptos básicos de esta arquitectura. Esta práctica permite aproximarse a la
programación de Soar a través de un tutorial inicial que tratará los aspectos básicos necesarios
para la comprensión y generación de códigos en Soar.
Instalando Soar
En primer lugar, es necesario instalar los componentes necesarios para la ejecución del software
de Soar. En la siguiente página web se puede descargar la última versión del sistema:
https://soar.eecs.umich.edu/articles/downloads/soar-suite/228-soar-tutorial-9-6-0
En la sección Downloads, se puede descargar el paquete multiplataforma (para Windows, Linux y
Mac) y el tutorial de la última versión. Una vez descargado se descomprime la carpeta en cualquier
ubicación tratando de que la ruta no sea demasiado larga, puesto que puede dar errores de
ejecución.
Nota importante: para que Soar funcione correctamente es necesario disponer de la última versión de Java
Runtime Environment que puede descargarse del siguiente link:
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
Si todo se ha hecho de forma correcta se dispondrá de una carpeta que incluye varios ejecutables
*.bat, varios agentes y ejemplos ya programados y una serie de tutoriales en pdf.
Este programa permite ejecutar agentes Soar de forma sencilla. Para ello, basta con seleccionar
File-->Load Source File y cargar un archivo de tipo *.soar.
Ejecución de una regla
Vamos a cargar un ejemplo sencillo llamado “hello-world-rule”. Este programa ejecuta una única
regla:
hello-world:
If I exist, then write “Hello World” and halt.
Como se puede observar, cualquier regla tiene una misma estructura que corresponde a la
sentencia if-->then de cualquier arquitectura cognitiva. De forma más general, la estructura de una
regla es la siguiente:
Dentro del visualizador de Soar se pueden realizar diversas opciones de ejecución y visualización.
A continuación, se muestran algunas opciones importante disponibles en el menú:
• Run: crea un agente
• Step: ejecuta un paso del proceso
• Stop: para la ejecución si ésta se encuentra en proceso
• Clear: limpia la pantalla
• Watch: establece distintos niveles de visualización
• Init-soar: reinicia Soar
• Excise-all: elimina todas las reglas de la memoria y reinicia Soar
Nota importante: cada vez que se desee reiniciar completamente un agente se debe pulsar Init-Soar y
después cargar de nuevo el *.soar
Como se puede observar, este operador es muy sencillo y siempre se propone al inicio de la
ejecución. Durante la práctica, se estudiarán operadores más complejos.
Editor de Soar
La sección anterior muestra como ejecutar programas o agentes Soar y visualizar su
comportamiento. Para poder generar nuestros propios programas Soar es necesario utilizar un
editor. Aunque muchos editores de texto son compatibles con Soar, en esta sección se presenta el
editor VisualSoar también disponible en la librería Soar descargada.
• La cantidad máxima de agua (primer número) que cada jarra puede contener (^volume).
• La cantidad de agua (segundo número) que cada jarra contiene (^contents).
A su vez podemos definir una estructura más: