IA941 - Laboratório de Arquiteturas Cognitivas | Laboratory of Cognitive Architectures | Laboratorio de Arquitecturas Cognitivas
Turma: A -
Período: 1/2026 -
Tipo Período: 1o. período letivo -
Disciplina: 4 créditos.
Ementa: Laboratório introdutório sobre o uso de arquiteturas cognitivas aplicadas ao controle de criaturas artificiais. Arquiteturas cognitivas são arquiteturas computacionais de uso geral que provêm a infra-estrutura básica para a construção de “mentes artificiais” para agentes, sejam estes agentes físicos, tais como robôs ou veículos autônomos ou virtuais, tais como “players” em jogos de computador. Essas arquiteturas utilizam-se de modelos cognitivos da mente humana, de forma a implementar versões computacionais de habilidades cognitivas, tais como percepção, emoções, memória, tomada de decisão, comportamento reativo e deliberativo, motivações, e em alguns casos até mesmo consciência e emergência de linguagem. Neste laboratório, desenvolvem-se experimentos utilizando as linguagens Java e C# utilizando algumas das mais populares arquiteturas cognitivas: SOAR, Clarion, LIDA e CST, desenvolvendo pequenos experimentos que ilustram o funcionamento destas arquiteturas para a construção de mentes artificiais para o controle de agentes inteligentes.
Bibliografia: Documentação das arquiteturas: SOAR, Clarion, LIDA e CST - Roteiro dos Experimentos do Laboratório
Conteudo Programático: Aula 1
O objetivo desta aula é oferecer aos alunos um primeiro contato com o ambiente de trabalho a ser utilizado no curso. Para tanto, as seguintes atividades devem ser realizadas:
Primeiras Instalações e Preparações
Primeiros Passos com o WorldServe3D (WS3D)
Geração de um Controlador Manual para o Ambiente Virtual
Aula 2
Nesta aula, iniciaremos o estudo do SOAR. O SOAR é uma arquitetura cognitiva desenvolvida na Universidade de Michigan, pela equipe do Prof. John Laird. A equipe do SOAR desenvolveu um tutorial em 8 passos que estaremos utilizando como base para o nosso curso. Na aula de hoje, desenvolveremos as atividades do Tutorial 1.
Aula 3
Na aula de hoje, desenvolveremos o Tutorial 2 do Soar. Particularmente, utilizaremos o Soar para controlar o comportamento de criaturas artificiais bem simples, os assim chamados "Eaters" em um jogo do tipo Pacman. Para tanto, utilizaremos o mecanismo de estados e operadores do Soar para diagnosticar o estado de cada Eater, propor diferentes tipos de ações a cada instante e mostrar como o Soar faz para interfacear com o jogo, para controlá-lo de fato.
Aula 4
Na aula de hoje, seguiremos o tutorial 3 do SOAR. Neste tutorial, o objetivo é lidar com problemas mais complexos, que exigem a decomposição de uma meta em metas intermediárias (subgoals), de forma a ser resolvido. Para isso, utilizaremos o pequeno jogo TankSoar, desenvolvido pelo grupo do SOAR para ilustrar situações mais complexas. O nosso agente no TankSoar possuirá agora um grande número de possíveis ações e comportamentos possíveis, e o Soar deverá ser capaz de elaborar uma estratégia que coordene essas ações no tempo. Isso exigirá o uso do mecanismo de impasses e a criação de sub-estados, que iremos exercitar durante a aula.
Aula 5
Neste laboratório, iremos desenvolver as atividades nos Tutoriais 4 e 5 do Soar. Essas atividades envolvem técnicas clássicas de Inteligência Artificial, como buscas, planejamento e uma técnica de aprendizagem chamada de chunking.
Aula 6
Nas aulas anteriores, seguimos os tutoriais básicos do Soar para entender seu funcionamento. Para isso, nos servimos de alguns exemplos de interfaceamento do Soar com outros programas (Eaters e TankSoar), que já estavam preparados. Na aula de hoje, utilizaremos o Soar para controlar uma aplicação externa por meio da interface SML. O sistema que desenvolveremos será a mente artificial de um agente capaz de controlar o robô no ambiente WorldServer3D que utilizamos na primeira aula.
Nosso objetivo com os exercícios aqui propostos é exercitar todos os conteúdos estudados previamente sobre o SOAR, mas agora usando-os de maneira pró-ativa para resolver um problema mais complexo. Nesse exercício, utilizaremos os recursos de sub-goaling do SOAR, bem como sua capacidade de criar um planejamento, que é a capacidade mais distintiva do SOAR.
Aula 7
Nesta aula, iniciaremos o estudo da arquitetura Clarion, desenvolvida pelo grupo do Prof. Ron Sun na Universidade de Michigan. Para tanto, será necessário um pequeno estudo teórico do funcionamento da arquitetura, antes do desenvolvimento das atividades práticas.
Existem diversas fontes de informação que são importantes. A mais importante é o "R. Sun, A Detailed Specification of CLARION 5.0 . Technical report. 2003". Apesar dele citar o Clarion 5.0, o detalhamento é similar para a versão 6.1.1, que utilizaremos em nossas aulas.
Outra fonte de referências, mais recente, é o livro "Sun, R. (2016). Anatomy of the Mind: Exploring Psychological Mechanisms and Processes with the Clarion Cognitive Architecture. United Kingdom: Oxford University Press.".
Aula 8
Nesta aula, daremos continuidade às atividades desenvolvidas na aula passada.
Aula 9
O objetivo da aula de hoje é utilizar a arquitetura cognitiva Clarion para controlar uma criatura artificial no WorldServer3D, de modo análogo ao que foi feito com o SOAR. Para tanto, é necessário que entendamos o funcionamento do Clarion, e desenvolvamos uma instância da arquitetura Clarion para controlar a criatura.
Aula 10
O objetivo da aula de hoje é dar continuidade às atividades desenvolvidas na aula passada, de modo a finalizar o projeto.
Aula 11
O objetivo da aula de hoje é iniciar o estudo da arquitetura cognitiva LIDA. A arquitetura LIDA foi desenvolvida pelo grupo do Prof. Stan Franklin, da University of Memphis, nos EUA, e talvez seja a mais sofisticada das três arquiteturas estudadas nesse curso. Na aula de hoje, acompanharemos um tutorial desenvolvido pelo grupo do Stan Franklin, para compreendermos o modelo teórico da arquitetura. Na próxima aula, faremos um estudo mais aprofundado do uso da arquitetura, já utilizando o framework com exemplos de código.
Aula 12
O objetivo da aula de hoje é executar um tutorial prático utilizando a arquitetura LIDA.
Aula 13
O objetivo desta aula é estudar o exemplo DemoLIDA do uso da arquitetura cognitiva LIDA para controlar o WorldServer3D e promover seu aperfeiçoamento por meio de novos módulos e funções.
Aula 14
O objetivo da aula de hoje é utilizar o CST - Cognitive Systems Toolkit, sendo desenvolvido na UNICAMP, para controlar uma criatura artificial no WorldServer3D, de modo análogo ao que foi feito com o SOAR, Clarion e LIDA. Para tanto, é necessário que entendamos o funcionamento do CST, e desenvolvamos uma mente artificial usando o CST para controlar a criatura.
Maiores informações sobre o CST, podem ser encontradas no artigo:
PARAENSE, A.L.O., RAIZER, K., PAULA, S.M. de, ROHMER, E., GUDWIN, R.R. - "The Cognitive Systems Toolkit and the CST Reference Cognitive Architecture" - Biologically Inspired Cognitive Architectures Journal, Volume 17, July 2016, Pages 32–48 - doi:10.1016/j.bica.2016.07.005
Aula 15
O objetivo desta aula é estender o exemplo do ws3dapp, utilizando o CST, demonstrando proficiência no uso do toolkit.
Conteudo Programático em Inglês: Class 1
The objective of this class is to provide students with a first contact with the work environment that will be used in the course. To this end, the following activities must be carried out:
First Installations and Preparations
Getting Started with WorldServe3D (WS3D)
Generating a Manual Controller for the Virtual Environment
Class 2
In this class, we will begin our study of SOAR. SOAR is a cognitive architecture developed at the University of Michigan by Prof. John Laird's team. The SOAR team developed an 8-step tutorial that we will use as the basis for our course. In today's class, we will develop the activities from Tutorial 1.
Class 3
In today's class, we will develop Soar Tutorial 2. In particular, we will use Soar to control the behavior of very simple artificial creatures, the so-called "Eaters" in a Pacman-type game. To do so, we will use Soar's state and operator mechanism to diagnose the state of each Eater, propose different types of actions at each moment and show how Soar interfaces with the game to actually control it.
Class 4
In today's lesson, we will follow SOAR tutorial 3. In this tutorial, the objective is to deal with more complex problems, which require the decomposition of a goal into intermediate goals ( subgoals ) in order to be solved. To do this, we will use the small game TankSoar, developed by the SOAR group to illustrate more complex situations. Our agent in TankSoar will now have a large number of possible actions and possible behaviors, and Soar must be able to develop a strategy that coordinates these actions over time. This will require the use of the deadlock mechanism and the creation of substates, which we will practice during the lesson.
Class 5
In this lab, we will develop the activities in Soar Tutorials 4 and 5. These activities involve classic AI techniques such as searching, planning, and a learning technique called chunking .
Class 6
In the previous classes, we followed the basic Soar tutorials to understand how it works. To do this, we used some examples of interfacing Soar with other programs (Eaters and TankSoar), which were already prepared. In today's class, we will use Soar to control an external application through the SML interface. The system we will develop will be the artificial mind of an agent capable of controlling the robot in the WorldServer3D environment that we used in the first class.
Our goal with the exercises proposed here is to practice all the content previously studied about SOAR, but now using it proactively to solve a more complex problem. In this exercise, we will use SOAR's sub-goaling capabilities, as well as its ability to create a plan, which is SOAR's most distinctive capability.
Class 7
In this class, we will begin studying the Clarion architecture, developed by Professor Ron Sun's group at the University of Michigan. To do so, a brief theoretical study of how the architecture works will be necessary before developing practical activities.
There are several sources of information that are important. The most important is "R. Sun, A Detailed Specification of CLARION 5.0 . Technical report. 2003". Although it mentions Clarion 5.0, the details are similar for version 6.1.1, which we will use in our classes.
Another, more recent, source of references is the book "Sun, R. (2016). Anatomy of the Mind: Exploring Psychological Mechanisms and Processes with the Clarion Cognitive Architecture. United Kingdom: Oxford University Press.".
Class 8
In this class, we will continue the activities developed in the last class.
Class 9
The objective of today's lesson is to use the Clarion cognitive architecture to control an artificial creature in WorldServer3D, similar to what was done with SOAR. To do so, we need to understand how Clarion works and develop an instance of the Clarion architecture to control the creature.
Class 10
The objective of today's class is to continue the activities developed in the last class, in order to finalize the project.
Class 11
The objective of today's class is to introduce you to the study of the LIDA cognitive architecture. The LIDA architecture was developed by Prof. Stan Franklin's group at the University of Memphis in the US, and is perhaps the most sophisticated of the three architectures studied in this course. In today's class, we will follow a tutorial developed by Stan Franklin's group to understand the theoretical model of the architecture. In the next class, we will do a more in-depth study of the use of the architecture, already using the framework with code examples.
Class 12
The objective of today's class is to perform a practical tutorial using the LIDA architecture.
Class 13
The objective of this class is to study the DemoLIDA example of using the LIDA cognitive architecture to control WorldServer3D and promote its improvement through new modules and functions.
Class 14
The objective of today's class is to use the CST - Cognitive Systems Toolkit, being developed at UNICAMP, to control an artificial creature in WorldServer3D, in a similar way to what was done with SOAR, Clarion and LIDA. To do so, it is necessary that we understand how the CST works, and develop an artificial mind using the CST to control the creature.
More information about the CST can be found in the article:
PARAENSE, ALO, RAIZER, K., PAULA, SM de, ROHMER, E., GUDWIN, RR - "The Cognitive Systems Toolkit and the CST Reference Cognitive Architecture" - Biologically Inspired Cognitive Architectures Journal, Volume 17, July 2016, Pages 32–48 - doi:10.1016/j.bica.2016.07.005
Class 15
The objective of this lesson is to extend the ws3dapp example, using CST, demonstrating proficiency in using the toolkit.
Conteudo Programático em Espanhol: Clase 1
El objetivo de esta clase es ofrecer a los estudiantes un primer contacto con el entorno de trabajo que se utilizará en el curso. Para ello se deberán realizar las siguientes actividades:
Primeras instalaciones y preparativos
Introducción a WorldServe3D (WS3D)
Generación de un controlador manual para el entorno virtual
Clase 2
En esta clase, comenzaremos el estudio de SOAR. SOAR es una arquitectura cognitiva desarrollada en la Universidad de Michigan por el profesor John Laird. El equipo SOAR ha desarrollado un tutorial de 8 pasos que utilizaremos como base para nuestro curso. En la clase de hoy desarrollaremos las actividades del Tutorial 1.
Clase 3
En la clase de hoy, desarrollaremos el Tutorial 2 de Soar. En particular, usaremos Soar para controlar el comportamiento de criaturas artificiales muy simples, los llamados "Eaters" en un juego tipo Pacman. Para ello, utilizaremos el mecanismo de estados y operadores de Soar para diagnosticar el estado de cada Eater, proponer diferentes tipos de acciones en cada momento y mostrar cómo Soar interactúa con el juego para controlarlo realmente.
Clase 4
En la clase de hoy, seguiremos el tutorial 3 de SOAR. En este tutorial, el objetivo es abordar problemas más complejos, que requieren la descomposición de un objetivo en objetivos intermedios ( subobjetivos ), para poder resolverlos. Para ello, utilizaremos el pequeño juego TankSoar, desarrollado por el grupo SOAR para ilustrar situaciones más complejas. Nuestro agente en TankSoar ahora tendrá una gran cantidad de acciones y comportamientos posibles, y Soar debe ser capaz de diseñar una estrategia que coordine estas acciones a lo largo del tiempo. Esto requerirá el uso del mecanismo de bloqueo y la creación de subestados, que practicaremos durante la clase.
Clase 5
En este laboratorio, desarrollaremos las actividades de los Tutoriales Soar 4 y 5. Estas actividades involucran técnicas clásicas de Inteligencia Artificial, como búsquedas, planificación y una técnica de aprendizaje llamada chunking .
Clase 6
En clases anteriores, seguimos los tutoriales básicos de Soar para entender cómo funciona. Para ello, utilizamos algunos ejemplos de la interfaz de Soar con otros programas (Eaters y TankSoar), que ya estaban preparados. En la clase de hoy, usaremos Soar para controlar una aplicación externa a través de la interfaz SML. El sistema que desarrollaremos será la mente artificial de un agente capaz de controlar el robot en el entorno WorldServer3D que utilizamos en la primera clase.
Nuestro objetivo con los ejercicios aquí propuestos es ejercitar todos los contenidos previamente estudiados sobre SOAR, pero ahora utilizándolos de forma proactiva para resolver un problema más complejo. En este ejercicio, utilizaremos las capacidades de establecimiento de objetivos secundarios de SOAR, así como su capacidad para crear un plan, que es la capacidad más distintiva de SOAR.
Clase 7
En esta clase, comenzaremos el estudio de la arquitectura Clarion, desarrollada por el profesor Ron Sun en la Universidad de Michigan. Para ello será necesario un pequeño estudio teórico de cómo funciona la arquitectura, antes de desarrollar actividades prácticas.
Hay varias fuentes de información que son importantes. El más importante es "R. Sun, Una especificación detallada de CLARION 5.0. Informe técnico. 2003". Aunque menciona Clarion 5.0, los detalles son similares para la versión 6.1.1, que usaremos en nuestras clases.
Otra fuente de referencias más reciente es el libro «Sun, R. (2016). Anatomía de la mente: Explorando los mecanismos y procesos psicológicos con la arquitectura cognitiva Clarion. Reino Unido: Oxford University Press».
Clase 8
En esta clase continuaremos con las actividades desarrolladas en la clase anterior.
Clase 9
El objetivo de la clase de hoy es utilizar la arquitectura cognitiva Clarion para controlar una criatura artificial en WorldServer3D, de manera similar a lo que se hizo con SOAR. Para hacer esto, necesitamos entender cómo funciona Clarion y desarrollar una instancia de la arquitectura Clarion para controlar a la criatura.
Clase 10
El objetivo de la clase de hoy es continuar las actividades desarrolladas en la clase anterior, para poder finalizar el proyecto.
Clase 11
El objetivo de la clase de hoy es comenzar el estudio de la arquitectura cognitiva LIDA. La arquitectura LIDA fue desarrollada por el profesor Stan Franklin, de la Universidad de Memphis, en EE.UU., y es quizás la más sofisticada de las tres arquitecturas estudiadas en este curso. En la clase de hoy, seguiremos un tutorial desarrollado por el grupo de Stan Franklin, para comprender el modelo teórico de la arquitectura. En la próxima clase haremos un estudio más profundo del uso de la arquitectura, ya utilizando el framework con ejemplos de código.
Clase 12
El objetivo de la clase de hoy es realizar un tutorial práctico utilizando la arquitectura LIDA.
Clase 13
El objetivo de esta clase es estudiar el ejemplo DemoLIDA de uso de la arquitectura cognitiva LIDA para controlar WorldServer3D y promover su mejora a través de nuevos módulos y funciones.
Clase 14
El objetivo de la clase de hoy es utilizar el CST - Cognitive Systems Toolkit, que se está desarrollando en la UNICAMP, para controlar una criatura artificial en WorldServer3D, de forma similar a lo que se hizo con SOAR, Clarion y LIDA. Para hacer esto, necesitamos entender cómo funciona el CST y desarrollar una mente artificial utilizando el CST para controlar a la criatura.
Puede encontrar más información sobre el CST en el artículo:
PARAENSE, ALO, RAIZER, K., PAULA, SM de, ROHMER, E., GUDWIN, RR - "El kit de herramientas de sistemas cognitivos y la arquitectura cognitiva de referencia CST" - Revista de arquitecturas cognitivas de inspiración biológica, volumen 17, julio de 2016, páginas 32–48 - doi:10.1016/j.bica.2016.07.005
Clase 15
El objetivo de esta lección es ampliar el ejemplo ws3dapp, utilizando CST, y demostrar competencia en el uso del kit de herramientas.
Forma Avaliação: Serão desenvolvidos 5 projetos computacionais, relacionados às 4 arquiteturas cognitivas estudadas no curso. Os projetos deverão ser entregues pelos alunos, e receberão uma nota. A nota final é uma média ponderada das notas dos projetos, com pesos relativos ao número de aulas estudadas em cada arquitetura cognitiva.
Ofertar para Graduação:
Sim Número Limite de Alunos de Graduação:
5
Aceita Estudante Especial:
Sim
Número de Alunos Total:
de 2 até 25