agentes inteligentes com java robison cris brito [email protected]
TRANSCRIPT
AGENTESINTELIGENTESCOM
JAVARobison Cris [email protected]
Agenda
• Agentes• Sistemas Multi-Agentes• BDI• Organização de Agentes• Estudo de Caso – Robocup• O futuro da computação
distribuída• Conclusão
Visão que o mundo tem dos Agentes Inteligentes!
Mas o que é um Agente
“Um agente é uma entidade lógica ou física à qual é atribuída uma certa missão que ela é capaz de cumprir de maneira autônoma e
em coordenação com outros agentes.”
A autonomia significa que um agente existe independente dos demais agentes e, independente também do problema a ser solucionado.
Características de um
Agente• Adaptabilidade = aprender e evoluir
• Situado = percebe mudança no ambiente
• Comportamento Social = interagir com outros agentes
• Mobilidade = migrar de plataforma
Tipos de Agentes
• Agentes Reativos
• Agentes Cognitivos
Agente Reativo
• O conhecimento é implícito no código
• Não possui memória
• Não possui controle planejado das ações
• Sociedades formados por muitos elementos
• Exemplo: Colônia de Formigas
Agente Reativo
Agente Cognitivo
• Considera-se que os agentes possuem um estado mental
• Raciocinam para construir um plano de ações que leva a um objetivo pretendido
• Agentes cognitivos tem autonomia funcional • Possuem representação de conhecimento
explícita no código (conhecimento introspectivo) • As comunidades possuem poucos agentes
Características dos Agentes Cognitivos
• Percepção – perceber informações do mundo• Ação – age com o intuito de atingir um objetivo• Comunicação – para coordenar ações• Representação – representação simbólica do
que acredita ser verdade• Motivação – estado desejado para o ambiente• Deliberação – motivação + estado do ambiente
= deliberaçào• Raciocínio e Aprendizagem – o agente deve
aprender a aprender
Agente Cognitivo
O Pensamento
Dentre os seguimentos da Inteligência Artificial, alguns são dedicados ao estudo
de arquiteturas de agentes deliberativos baseados em estados mentais. Entre estes estados mentais, destacam-se as crenças,
os desejos e as intenções.
O Pensamento
Crenças, desejos, expectativa, capacidade,, intenções, temores, dúvidas, ódio, etc. são
exemplos de estados intencionais.
Os estados mentais humanos possuem vínculo com o mundo em que vivemos.
BDI – Belief, Desire, Intention
Nesse modelo, as decisões são logicamente restritas pelas crenças dos agentes, com
base nessas crenças o agente pode possuir desejos, um conjunto de desejos podem traçar uma meta para que o desejo seja satisfeita, esse conjunto de desejos é a
intenção do agente.
Exemplo de Aplicativo
• Jogador de Truco– Crenças– Desejos– Intenções
Linguagem para programar Agentes em BDI
• AgentSpeak(L)– linguagem é uma extensão natural e
elegante de programação em lógica – tem sido a abordagem predominante na
implementação de agentes inteligentes ou “racionais”
Ferramenta para trabalhar com AgentSpeak(L)
E a organização social do agente???
• Assim como nas sociedades humanas, todos os sistemas multi agentes possuem alguma forma de organização, no entanto isto pode ser implícito ou informal.
• Orientam como os membros desta população interagem uns com os outros.
• Estas estruturas organizacionais influenciam as relações de autoridade, o fluxo de informações, a alocação de recursos, os padrões de coordenação e inúmeras outras características sistêmicas
Matriz
Arquiteturas de Sistemas Multiagentes
Hierarquia
Arquiteturas de Sistemas Multiagentes
Federação
Arquiteturas de Sistemas Multiagentes
Congregação
Arquiteturas de Sistemas Multiagentes
Coalisão
Arquiteturas de Sistemas Multiagentes
Hologarquia
Arquiteturas de Sistemas Multiagentes
Composição
Arquiteturas de Sistemas Multiagentes
Sociedade
Arquiteturas de Sistemas Multiagentes
Ferramenta para Organização Social
Moise+
Organização em XML
Estrutura de um Sistema Completo
Sistema Cognitivo BDI (Jason)
Agente 1
Sistema Cognitivo BDI (Jason)
Agente 2
Sistema Cognitivo BDI (Jason)
Agente N
.....
.....Percepção Ambiental
Execução de Comandos
(Java)Agente 1
Percepção AmbientalExecução de Comandos
(Java)Agente 1
Percepção AmbientalExecução de Comandos
(Java)Agente 1
Organização Social dos Agentes (Moise+)
Ambiente de Testes e Execução
Por que Java?
Por que Java
• Java is Everywhere
• Portabilidade
• Segurança
• Java – Independente de Plataforma
Exemplo de Aplicações Multi Agente
• Controle de Tráfego Aéreo
• Indústria
• Gerência de Negócio
• Interação Ser Humano – Computador
• Ambientes de Aprendizagem
• Entretenimento
• Aplicações Distribuídas
• Simulação Social
Estudo de CasoRobocup
O que é o RobocupProjeto Internacional com objetivo de promover a Inteligência Artificial
e Robótica.
Envolvem pesquisas em desenvolvimento de agentes autônomos, colaboração multi agente, elaboração de estratégias, pensamento em
tempo real e robótica (sensores).
“… by 2050, develop a team of fully autonomous humanoid robots that can win against the human world champion team in soccer…”
Categorias do Robocup
• Simulation league
• Small-size robot league (f-180)
• Middle-size robot league (f-2000)
• Four-legged robot league
• Humanoid league
This league focuses on the issues of multi-agent cooperation with a hybrid centralized/distributed system.
This is one of the oldest fleet in RoboCupSoccer
All sensors are on-board. Robots can use wireless networking to communicate
Challenges include vision, self-localization, planning, and multi-agent coordination.
Biped autonomous humanoid robots play in "penalty kick" and " 2 vs. 2" matches and "Technical Challenges".
Simulador• Pode ser baixado do site:
http://www.robocup.org/
• Software Livre para plataforma Linux
Arquitetura do Robocup
• Servidor Robocup
• Monitor
• Times
Time desenvolvido (Cliente 1)Formado por um ou mais
Jogadores
Time desenvolvido (Cliente 1)Formado por um ou mais
Jogadores
Time desenvolvido (Cliente 1)Formado por um ou mais
Jogadores
Time desenvolvido (Cliente 1)Formado por um ou mais
Jogadores
Time desenvolvido (Cliente 1)Formado por um ou mais
Jogadores
Time desenvolvido (Cliente 1)Formado por um ou mais
Jogadores
Time desenvolvido (Cliente 1)Formado por um ou mais
Jogadores
Arquitetura do Robocup
Servidor Robocup(sem GUI)
Protocolo: UDP
Robocup Monitor
Posicionamento no campo
105 metros
68metros
String recebida do Servidor (Percepções)
(see 0 ((goal r) 66.7027 33) ((flag r t) 55.581 3) ((flag p r t) 42.4804 23) ((flag p r c) 53.7587 43) ((flag g r t) 64.7442 30) ((flag g r b) 68.8003 36) ((flag t 0) 3.60555 -33 0 0) ((flag t r 10) 13.1529 -8 0 0) ((flag t r 20) 23.0868 -4 0 0) ((flag t r 30) 33.0606 -3) ((flag t r 40) 43.0465 -2) ((flag t r 50) 53.0377 -2) ((flag r t 30) 60.9036 6) ((flag r t 20) 62.8431 15) ((flag r t 10) 66.2514 24) ((flag r 0) 70.9172 31) ((flag r b 10) 76.611 37) ((flag r b 20) 83.1219 43))
String recebida do Servidor (Percepções)
(see 0 ((goal r) 66.7027 33) ((flag r t) 55.581 3) ((flag p r t) 42.4804 23) ((flag p r c) 53.7587 43) ((flag g r t) 64.7442 30) ((flag g r b) 68.8003 36) ((flag t 0) 3.60555 -33) ((flag t r 10) 13.1529 -8) ((flag t r 20) 23.0868 -4) ((flag t r 30) 33.0606 -3) ((flag t r 40) 43.0465 -2) ((flag t r 50) 53.0377 -2) ((flag r t 30) 60.9036 6) ((flag r t 20) 62.8431 15) ((flag r t 10) 66.2514 24) ((flag r 0) 70.9172 31) ((flag r b 10) 76.611 37) ((flag r b 20) 83.1219 43) ,,,,,,,,,, ((player 1) 34.33 10 ) ((ball) 1 0 ))
São necessário definir percepções
• Bola Perto
• Bola Campo Ataque
• Jogador com a Bola
• Jogador mais próximo
• Jogador menos marcado
• Situação do Time
• ......
Enviando mensagens para o servidor
• init -> incluir um jogador no jogo
• move -> movimentar um jogador no campo (antes do jogo começar)
• dash -> fazer o jogador correr
• kick -> chutar a bola
• turn -> girar o jogador
• Passar Bola para o Jogador .....• Chutar bola para o Gol• Cruzar para área adversária• Tirar Bola da defesa• Posicionar-se• Driblar• Correr com bola• ........
... e definir ações
Robocup na prática
Robocup Small Size Robot League
Humanoid League
O Futuro dos Agentes Distribuídos na
Humanidade
Antes, Hoje, Amanhã! E depois??
respirocyte
Histórico• Mark Weiser, o pai
– “Over the next twenty years computers will inhabit the most trivial things: clothes labels (to track washing), coffee cups (to alert cleaning staff to moldy cups), light switches (to save energy if no one is in the roomand) and pencils (to digitize everything we draw). In such a world, we must dwell with computers, not just interact with them."
• Ubiquitous Computing• Invisible Computing• Calm Technology• Pervasive Computing
Ocupava 170 m², pesava 30 Ocupava 170 m², pesava 30 toneladas, funcionava com toneladas, funcionava com 18 mil válvulas e 10 mil 18 mil válvulas e 10 mil capacitores, além de capacitores, além de milhares de resistores a relé, milhares de resistores a relé, consumindo uma potência consumindo uma potência de 150 Kwattsde 150 KwattsComo tinha vários Como tinha vários componentes discretos, não componentes discretos, não funcionava por muitos funcionava por muitos minutos seguidos sem que minutos seguidos sem que um deles quebrasseum deles quebrasse
A evolução da computação
Computadores pequenos
• E-Book
• Nailtop
• Nano computadores
Lei de Moore
Fundamento
• Ubiquitous Computing, Invisible Computing....• Pra quê ?• Juntar toda a humanidade em torno de um
ambiente de valor computacional agregado.• Disponibilizar acesso computacional de modo
invisível em todo lugar, o tempo todo.• O computador deixa de ser o foco e torna-se
periférico às nossas atenções.• O computador é utilizado de forma subconsciente
Wearable Computer
M2M
One Laptop Per Children (OLPC)
e para o futuro ...
DúvidasDúvidas
??
AGENTESINTELIGENTES
COM
JAVA
Robison Cris [email protected]
Muito Obrigado!Thank You!
¡ Muchas Gracias !Danke Schön!