AGENTES INTELIGENTES COM JAVA Robison Cris Brito robison@utfpr.edu.br
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.
Os estados mentais humanos possuem vínculo com o mundo em que vivemos. 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
Arquiteturas de Sistemas Multiagentes 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
Ferramenta para Organização Social Moise+
Organização em XML
Estrutura de um Sistema Completo Sistema Cognitivo BDI (Jason) Agente 1 Agente 2 Agente N ..... Percepção Ambiental Execução de Comandos (Java) 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 Caso Robocup
O que é o Robocup Projeto 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 is one of the oldest fleet in RoboCupSoccer This league focuses on the issues of multi-agent cooperation with a hybrid centralized/distributed system. 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
Arquitetura do Robocup Servidor Robocup (sem GUI) String Protocolo: UDP String Time desenvolvido (Cliente 1) Formado por um ou mais Jogadores Robocup Monitor Time desenvolvido (Cliente 1) Formado por um ou mais Jogadores
Posicionamento no campo 68 metros 105 metros
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
... e definir ações 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 ........
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
A evolução da computação Ocupava 170 m², pesava 30 toneladas, funcionava com 18 mil válvulas e 10 mil capacitores, além de milhares de resistores a relé, consumindo uma potência de 150 Kwatts Como tinha vários componentes discretos, não funcionava por muitos minutos seguidos sem que um deles quebrasse
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úvidas ?
JAVA Muito Obrigado! Thank You! ¡ Muchas Gracias ! Danke Schön! AGENTES INTELIGENTES COM JAVA Muito Obrigado! Thank You! ¡ Muchas Gracias ! Danke Schön! Robison Cris Brito robison@utfpr.edu.br