IA941 - Laboratório de Arquiteturas 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.
Obs.: Consultar Catálogo vigente na DAC.
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