You are here

Atividade 3

 

Agentes Simples utilizando Operadores

Nesta atividade foi executado o código do Hello World com operadores fornecido pelo tutorial do SOAR o estudo e compreenção de seu funcionamento.

 

sp {propose*hello-world                      Declara Soar Production propose*hello-world
   (state <s> ^type state)                         Se existe identificador com propriedade tipe de valor state, coloca o identificador em <s>
-->then
   (<s> ^operator <o> +)          adiciona um operador <o> com preferencia aceitável em <s>
   (<o> ^name hello-world)}                            adiciona a propriedade name com valor hello-world em <o>

 

sp {apply*hello-worldDeclara Soar Production apply*hello-world
   (state <p> ^operator <o>)Se existe identificador <p> com operador <o>
   (<o> ^name hello-world)onde name de <o> valha hello-world
-->then
   (write |Hello World|)escreve Hello World
   (halt)}Halts

 

Em um dado momento um estado pode possuir vários operadores selecionárveis, cada qual com sua preferência. É possível aumentar e reduzir a preferência de cada operador durante e execução. Regras definirão quais operadores serão selecionáveis naquele momento de execução e as preferências dos operadores uns sobre os outros. Assim, o agente produzirá um comportamento de seleção e aplicação de operações. O objetivo do programador é induzir o sistema a selecionar as operações corretas a serem aplicadas a cada momento de forma a resolver o problema em questão.

A imagem abaixo exibe o detalhamento da execução do Hello World com operador através do Soar Debugger. É possível ver na imagem o momento em que o agente 'proposes' o operador Hello-World modificando a memória de trabalho e em seguida o momento onde o operador é disparado, imprimindo Hello World e interrompendo a execução do agente.

clique na imagem para melhor visualização

 

Visual Soar

Uma das ferramentas disponibilas no pacote do SOAR é o Visual Soar. Esta ferramenta auxilia no desenvolvimento de projetos SOAR de forma a facilitar a criação, manutenção e documentação do código. As principais vantagens observadas no Visual Soar são:

  • Coloração de texto com regras de sintaxe
  • Auto formatação de texto com regras de sintaxe
  • Templates para criação de regras e operadores
  • Verificação de erros de sintaxe
  • Auto complete
  • Manutenção de um Data Map que:
    • Permite buscar elementos de memória que nunca são criados ou testados
    • Facilita vizualização da estrutura do agente como um todo

Na atividade 4 a seguir, foi feito intenso uso do visual soar e suas possibilidades ficam mais claras.

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer