Agent-Oriented Programming

21
Agent-Oriented Programming Luanda Philippi Remáculo [email protected] Sabrina Schürhaus [email protected]

description

Agent-Oriented Programming. Luanda Philippi Remáculo [email protected] Sabrina Schürhaus [email protected]. Agent-Oriented Programming - AOP. Shoham (1993); Agente = entidade que envia e processa mensagens; Diferença entre agentes e objetos: Os campos de uma agente são restritos; - PowerPoint PPT Presentation

Transcript of Agent-Oriented Programming

Page 1: Agent-Oriented Programming

Agent-Oriented Programming

Luanda Philippi Remá[email protected]

Sabrina Schü[email protected]

Page 2: Agent-Oriented Programming

Agent-Oriented Programming - AOP Shoham (1993); Agente = entidade que envia e processa

mensagens; Diferença entre agentes e objetos:

– Os campos de uma agente são restritos;– Nos agentes, cada mensagem é também

definida em termos de atividades mentais. Um agente pode ser considerado um

objeto, no entanto muitas idéias da teoria dos objetos são esquecidas na AOP.

Page 3: Agent-Oriented Programming

Sistemas Multiagentes

Criação de entidades de software autônomas - Agentes;

Agentes: interagem através de um ambiente compartilhado por outros agentes de uma sociedade, e atuam sobre esse ambiente, alterando seu estado.

Page 4: Agent-Oriented Programming

Sistemas Multiagentes

Forma natural que permite analogias diretas com o mundo real e com a forma como raciocinamos sobre ele;

Sistemas computacionais vistos como ambientes onde os agentes atuam;

Nesses ambientes os agentes podem formar grupos, em um nível mais alto de abstração formando comunidades ou sociedades de agentes.

Page 5: Agent-Oriented Programming

Sistemas Multiagentes

Tipos:– Cognitivos:

• Poucos agentes;• Cada agente é um sistema sofisticado e

computacionalmente complexo.– Reativos:

• Grande número de agentes muito simples;• Seus comportamentos podem ser descritos como

autômatos finitos simples;• Agem sob um esquema estímulo-resposta.

Page 6: Agent-Oriented Programming

Sistemas Multiagentes

Formalismos:– Teoria dos Jogos:

• Ferramentas para a decisão de qual estratégia em um jogo abstrato de dois ou mais jogadores é a melhor para os jogadores.

– Lógica Matemática:• Lógicas modais complexas para o projeto e

desenvolvimento de agentes.

Page 7: Agent-Oriented Programming

Sistemas Multiagentes Disciplinas envolvidas no desenvolvimento de

SMA:– Psicologia;– Ciência cognitiva;– Sociologia;– Entomologia;– Economia;– Teoria das Organizações;– Teoria dramática;– Antropologia.

Page 8: Agent-Oriented Programming

Sistemas Multiagentes

Agente:– Estados Mentais:

• Crenças;• Objetivos;• Intenções;• Compromissos.

Page 9: Agent-Oriented Programming

Sistemas Multiagentes

Características:– Técnicas automáticas de decomposição de

tarefas e computação distribuída;– Impossível prever todos os casos quem

devem ser tratados;– O agente é dito como autônomo;– Os agentes possuem conhecimento

incompleto do seu ambiente e seguem o princípio da racionalidade limitada.

Page 10: Agent-Oriented Programming

Sistemas Multiagentes

Aspectos para compreensão de agentes nos SMA cognitivos:– Percepção;– Ação;– Comunicação;– Representação;– Motivação;– Deliberação;– Raciocínio e aprendizagem.

Page 11: Agent-Oriented Programming

Arquitetura BDI - Beliefs, Desires, Intentions. Crenças: agente sabe sobre o estado do

ambiente e dos agentes naquele ambiente; Desejos: estados do mundo que o agente

quer atingir; Intenções: seqüências de ações

específicas que um agente se compromete a executar para atingir determinados objetivos.

Page 12: Agent-Oriented Programming

Linguagem AgentSpeak

Projetada para programação de agentes BDI na forma de sistemas de planejamento reativos;

É extensão natural e elegante de programação em lógica para arquitetura de agentes BDI.

Page 13: Agent-Oriented Programming

Linguagem AgentSpeak(L)

Um agente AgentSpeak(L) corresponde a especificação de um conjunto de crenças (base inicial do agente) e de um conjunto de planos (biblioteca de planos)

AgentSpeak(L) distingue 2 tipos de objetivos: – Realização(!);– Teste(?).

Page 14: Agent-Oriented Programming

Linguagem AgentSpeak(L)

Elementos da linguagem:– Eventos ativadores (‘+’) e (‘-’);– Planos (evento ativador + contexto);

+concert(A,V) : likes(A)– !book_tickets(A,V).

+!book_tickets(A,V) : ¬busy(phone)– call(V);

: : :; !choose_seats(A,V).

Page 15: Agent-Oriented Programming

Estudo de Caso Robôs coletores de Lixo em Marte

2 robôs coletando lixo em Marte– r1: procura por lixos e quando encontra leva até r2;– r2 está ao lado de um incinerador.

Agent r2 +garbage(r2) : true

– <- burn(garb). Agent r1 Beliefs pos(r2,2,2). checking(slots).

Page 16: Agent-Oriented Programming

Estudo de Caso Robôs coletores de Lixo em Marte

Plans +pos(r1,X1,Y1) : checking(slots) & not(garbage(r1)) (p1)

– <- next(slot). +garbage(r1) : checking(slots) (p2)

– <- !stop(check);– !take(garb,r2);– !continue(check).

+!stop(check) : true (p3)– <- ?pos(r1,X1,Y1);– +pos(back,X1,Y1);– -checking(slots).

Page 17: Agent-Oriented Programming

Estudo de Caso Robôs coletores de Lixo em Marte

+!take(S,L) : true (p4)– <- !ensure_pick(S);– !go(L);– drop(S).

+!ensure_pick(S) : garbage(r1) (p5)– <- pick(garb);– !ensure_pick(S).

+!ensure_pick(S) : true <- true. (p6)

Page 18: Agent-Oriented Programming

Estudo de Caso Robôs coletores de Lixo em Marte

+!continue(check) : true (p7)– <- !go(back);– -pos(back,X1,Y1);– +checking(slots);– next(slot).

+!go(L) : pos(L,Xl,Yl) & pos(r1,Xl,Yl) (p8)– <- true.

+!go(L) : true (p9)– <- ?pos(L,Xl,Yl);– moveTowards(Xl,Yl);– !go(L).

Page 19: Agent-Oriented Programming

Linguagens de Programação a Agentes Agent-0; PLACA Extension; Agente-K Extension; Agent(): Arquitetura BDI + LISP; Concurrent METATEM; STAPLE; ConGolog; MINERVA; 3APL; Dribble; AgentTalk; JAVA

Page 20: Agent-Oriented Programming

Considerações Finais

Recente;

Há muito o que desenvolver;

Paradigma de Orientação a Agentes;

Page 21: Agent-Oriented Programming

Referências Bibliográficas

Bordini e Vieira, Linguagens de Programação Orientadas a Agentes: uma introdução baseada em AgenteSpeak(L); http://www.inf.ufrgs.br/~revista/docs/rita10/rita_v10_n1_p7a38.pdf

http://www.cs.berkeley.edu/~davidp/cs263/