You are here

Atividade 2 - Tutorial Project I

Atividade 2


Basic Agent Exercise 0:

 A primeira parte do exercício é abrir o projeto e identificar os arquivos e classes mais importantes

 

Basic Agent Exercise 1:

 Para iniciar a simulação é necessário fazer click no botão Start/Pause. É possível rodar um número determinado de ticks ativando o botão "Step Mode" e estabelecendo o número de tick no editbox. Também é possível modificar a "velocidade de simulação" com o parâmetro Tick duration.

Na parte inferior estão umas abas com a informação do Logging e do arquivo de configuração.

A primeira coluna é o número da entrada de log; a segunda coluna é o tick ao qual foi feito o log; a seguinte coluna é o nível de severidade; depois o nome do logger e finalmente a mensagem. 

 Arquivos de configuração:

 

Basic Agent Exercise 2:

No painel PAM Table é possível verificar que os valores de ativação no Node red e do Node square são 1 quando é apresentado um quadrado vermelho. Na figura de embaixo, quado o quadrado vermelho é trocado por um circulo azul, os valores dos Nós no PAM Table decaem até chegar a zero.

 

 O seguinte código apresenta a forma de adicionar um painel:

 Resultado:

Basic Agent Exercise 3:

Do diagrama de embaixo os elementos que estão com o traço pontilhado são os elementos do Framework que serão adicionados nesta parte do Tutorial 

 Foi feita a inclusão do módulo Enviroment

No momento o agente não percebe a presença do circulo azul, isto é porque ainda não foram inclusos os detetores de características (feature detectors), ainda mais, mesmo que o quadro vermelho é reconhecido, ele ainda não transfere a informação ao Perceptual Buffer. Isso acontece porque a conexão entre o PAM e o Workspace ainda não foi definida no arquivo de declaração do agente. Essa conexão corresponde à seta "Move Percept" no modelo LIDA

A seguir a inclusão do PAMListener

 Após adicionar o PamListener a informação do PAM passa para o Perceptual Buffer 

 Para detetar o circulo azul é necessário agregar feature detectors isto é feito adicionando a task blueDetector e circleDetector no modulo PerceptualAssociativeMemory

 O resultado é:

 A ideia do programa é que o agente responda à aparição do quadrado vermelho ou ao circulo azul assim: quado o quadrado vermelho aparecer então selecionar o botão 1; se o circulo azul aparecer, selecionar o botão 2. Neste momento ele não cumpre a segunda ação já que não possui "attention codelet" no GlobalWorkspace.

 

Para realizar a ação do agente quando é apresentado para ele o circulo azul é adicionada uma tarefa de execução chamada blueCircleCodelet

 Programa terminado: O agente seleciona o botão 1 quando aparece o quadrado vermelho e o botão 2 quando aparece o circulo azul

 

Advanced Exercise 1

É possível correr o agente sem usar o GUI, só tem que colocar o valor de lida.gui.enable em false

 Também é possível modificar a forma como é apresentada a informação do Logging, ela pode ser apresentada na consola ou num arquivo. A configuração do Logging é feita através do arquivo logging.properties.

Advanced Exercise 2

É possível modificar modificar o número de ticksPerRun de uma tarefa para cambiar a forma como ela se executa. O valor de ticksPerRun pode ser localizado na definição do codelet no arquivo de configuração do Agente.

Advanced Exercise 3

Nesta parte do tutorial é realizada a parte onde o agente detecta o estado de "vazio" e realiza a ação de "releasePress". Para isso é criado uma classe de feature detector e adiciona-la num codelet.

1) É criado um feature detector para o estado empty (quando o quadrado seja branco). O feature detector é uma classe chamada EmptyFeatureDetector:

 2) É adicionado o novo feature detector como nova tarefa (task) dentro do arquivo factoryData.xml:

 3) Adicionar o nó empty na lista "nodes" do modulo PerceptualAssociativeMemory:

 4) No arquivo basicAgent.xml definir o codelet como BasicAttentionCodelet com parâmetro empty

 5) Criação do esquema no ProceduralMemory:

 6) Associação do algoritmo de ação no SensoryMotorMemory:

 Na seguinte imagem pode-se verificar que o agente detecta o estado empty no PAM Table.

 Na seguinte imagem pode-se verificar que o estado empty é transmitido ao Perceptual Buffer 

 Na seguinte imagem pode-se verificar que a ação é tomada executada:

 Na seguinte imagem pode-se verificar que a ação de releaseButton é executada apos o botão 2 ser selecionado, completando a tarefa proposta.

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer