Interactions among agents that plan 2008 Felipe Rech Meneguzzi Michael Luck 1/10 Introdução Em situações reais, agentes BDI normalmente contam com uma extensa biblioteca de planos para lidar com um mundo complexo. Esta biblioteca precisa lidar com todas as situações previstas pelo projetista. Apesar dos sistemas preverem a cooperação de agentes para alcançar um determinado objetivo (de um), existe pouco suporte nas linguagens para isso. Se um agente puder criar planos em tempo de execução levando em conta a capacidade de outros, novos planos multiagente podem ser criados e usados de forma cooperativa para ultrapassar barreiras individuais. 2/10 Proposta Ações cooperativas envolvem cooperação e comunicação. Visando isto, é necessário criar uma nova técnica para agentes, capazes de gerar planos, cooperarem em uma sociedade multiagente. Problemas Confiar em terceiros para a realização de tarefas visando alcançar um objetivo individual(seu) apresenta o risco de quebra de compromissos. Um agente, com uma determinada capacidade necessária na execução de um plano seu pode sair da sociedade, tornando esse plano inviável. (prejudica a eficiência do agente) 3/10 AgentSpeak(L) - Linguagem BDI (e interpretador), para agentes. - Permite a definição de “planos reativos”. São definidos a partir de eventos aos quais o agente deve reagir, executando uma sequência de ações. - Caso a execução do plano escolhido para alcançar um determinado objetivo falhe, o comportamento padrão do agente é considerar o objetivo alvo como inalcansável. - A responsabilidade de detectar conflitos entre planos é do projetista dos agentes. (planos de alto nível) 4/10 AgentSpeak(PL) - É uma extensão do interpretados AgentSpeak(L). - Integra um módulo de planejamento capaz de gerar planos de alto nível através de um encadeamento de planos de baixo nível da bibioteca de planos. - A responsabilidade de verificar situações de conflito entre subplanos de um mesmo plano de alto nível é do módulo de planejamento. 5/10 Planejamento e Cooperação Quando um agente esgota todas as possibilidades de alcançar um objetivo através de suas capacidades ele ainda pode conseguir através de outros. Para que isso seja possível é introduzido o conceito de planos externos, que tem como dono um agente específico, mas podem ser consultados por outros. Esses planos, quando criados, são adicionados à biblioteca de planos e podem ser usados futuramente. É necessária a detecção de planos falhos e sua associação à parceiros não confiáveis. Podendo esses planos serem excluídos da biblioteca. 6/10 Compartilhamento de planos (pdrões de planos) 7/10 Atos de fala ask – Usado pelo agente para requisitar informações de outros. tell – Usado pelo agente para enviar informações a outros. achieve – Usado pelo agente para pedir a outro para alcançar um objetivo. 8/10 Estratégia de planejamento Quando um agente falha em alcançar um objetivo, ele tentará alcança-lo através de outros, para a realização desta técnica são definidas 3 etapas: - Descoberta de prováveis parceiros de cooperação. (investigação) - Criação de planos cooperativos. (abstraindo cooperação) - Execução dos planos multiagente. 9/10 Comunicação entre agentes cooperativos 10/10 Conclusão: Foi criada uma técnica de planejamento multiagente. Esta técnica extende trabalhos anteriores [12], melhorando a cooperação entre agentes para alcançar objetivos. Esta melhoria acontece adicionando a possibilidade de um agente delegar partes de planos para serem executados por outros. Foi demonstrado como essa ténica pode ser implementada usando extensões da linguagem AgentSpeak(L), podendo também ser implementada em qualquer outra linguagem BDI que ofereça suporte a objetivos declarativos e capacidade de comunicação. Pergundas? / Dúvidas?