JSAN: Um Framework para Simulação de Agentes Normativos Marx Leles Viana [email protected] Introdução • Motivação – Agentes • Comportamentos autônomos – Sistemas Multiagentes • Diversidade de interesses – Simulações utilizando agentes – Normas – Agentes podem adotar diferentes comportamentos • Social, Rebelde, Egoísta ... • Objetivo – Fornecer uma infraestrutura • Projetar • Analisar 05/11/2015 © LES/PUC-Rio 2 Aplicações • Prevenção de Crimes – Simular o deslocamento dos crimes – Predizer a dinâmica do deslocamento de crimes – Normas: Regular os agentes guardas • Evacuação de civis em áreas de risco – Simular missões de resgate – Verificar qual a melhor forma de resgate dado as informações de uma determinada área – Normas: Regular os agentes bombeiros 05/11/2015 Carlos J. P. Lucena © LES/PUC-Rio 3 JSAN – Diagrama de Classes 05/11/2015 © LES/PUC-Rio 4 JSAN - GenerateNormsStrategy 05/11/2015 © LES/PUC-Rio 5 JSAN - Aplicações • Prevenção de Crimes – Norma: “não colocar a vida de civis em risco” – Conceito deôntico: obrigação – Recompensa: maior velocidade / alto poder de efetuar prisões – Punição: redução da sua velocidade / baixo poder de efetuar prisões – Ativação: caso tenha algum civil sendo assaltado – Desativação: localidade está segura para civis – Elemento Regulado: ação de prender criminosos 05/11/2015 © LES/PUC-Rio 6 JSAN - Aplicações • Evacuação de civis em áreas de risco – Norma: “proteger a vida de civis em áreas de risco” – Conceito deôntico: obrigação – Recompensas: (i) agente obter apoio aéreo ou (ii) apoio terrestre – Punição: não receberá apoio terrestre para o resgate – Ativação: caso tenha alguma pessoa em risco – Desativação: civis estão a salvo – Elemento Regulado: ação de usar veículos aéreos 05/11/2015 © LES/PUC-Rio 7 JSAN - GenerateGoalStrategy 05/11/2015 © LES/PUC-Rio 8 JSAN - Aplicações • Prevenção de Crimes – aumentar a velocidade de movimento para prender criminosos – não colocar a vida de civis em risco – ganhar medalha de serviços prestados a sociedade • Evacuação de civis em áreas de risco – salvar civis em áreas de risco – não colocar a vida de civis em risco – receber apoio de veículos aéreos 05/11/2015 © LES/PUC-Rio 9 JSAN - MovementStrategy 05/11/2015 © LES/PUC-Rio 10 JSAN - Aplicações • Prevenção de crimes – Reactive: locomover para a localidade depois dos assaltos terem acontecido – Antecipatory: Predizer que um dado evento possa ocorrer e procurar se locomover antes que ele aconteça – Hybrid: associação das estratégias Reactive e Antecipatory • Evacuação de civis em áreas de risco – MovementFireMan: locomover para uma área de risco quando existirem civis em perigo 05/11/2015 © LES/PUC-Rio 11 JSAN - Monitor 05/11/2015 © LES/PUC-Rio 12 JSAN - Aplicações • Prevenção de crimes e Evacuação de civis em áreas de risco – MessageAgents: Coletar mensagens enviadas pelo agente gerenciador – EnviromentInformation: Coletar informações do ambiente de simulação 05/11/2015 © LES/PUC-Rio 13 JSAN - NormStrategy 05/11/2015 © LES/PUC-Rio 14 JSAN - Aplicações • Prevenção de crimes e Evacuação de civis em áreas de risco – estratégia Selfish, na qual o agente analisa a situação aonde o cumprimento de normas irá contribuir com a realização de pelo menos um de seus objetivos individuais 05/11/2015 © LES/PUC-Rio 15 JSAN - ReportyStrategy 05/11/2015 © LES/PUC-Rio 16 JSAN - Aplicações • Prevenção de Crimes 05/11/2015 © LES/PUC-Rio 17 JSAN - Aplicações • Evacuação de civis em áreas de risco 05/11/2015 © LES/PUC-Rio 18 Trabalhos Relacionados • Boella et al (BOELLA e TORRE, 2004) apresenta um modelo para construção de sistemas multiagentes normativos para games • Em (VERHAGEN, 2000) é descrito como os diferentes níveis de restrição da autonomia dos agentes pode influenciar no alcance de uma ordem social desejável onde os agentes da sociedade podem trabalham em função de atingir objetivos comuns ou diferentes • López et al (LÓPEZ, LUCK e D'INVERNO, 2002) apresenta um conjunto de estratégias que podem ser adotadas por agentes ao lidar com normas • Dignum et al (DIGNUM, VÁZQUEZ-SALCEDA e DIGNUM, 2004) propõe um modelo para criação de agentes regulados por normas com o objetivo de alcançar uma ordem social desejável 05/11/2015 © LES/PUC-Rio 19 Trabalhos Relacionados • Já (TISUE e WILENSKY, 2004) propõe o framework NetLogo que possibilita simular fenômenos naturais e sociais utilizando sistemas multiagentes • Gatti et al (GATTI e LUCENA, 2008) apresenta um framework para simulação de sistemas multiagentes aplicados a sistemas biológicos • Brito (BRITO, 2008) propõe um simulador multiagente para auxiliar decisões de logísticas de alocação de petróleo em portos 05/11/2015 © LES/PUC-Rio 20 Conclusão e Trabalhos Futuros • Contribuições – Framework JSAN • construção de simulações com agentes normativos – Dois cenários de uso utilizando o JSAN • O primeiro no contexto de prevenções de crimes • O segundo está relacionado a missões de resgate de civis que estão em áreas de risco 05/11/2015 © LES/PUC-Rio 21 Conclusão e Trabalhos Futuros • Limitações da Abordagem Proposta – Estratégias para lidar com normas: • utiliza estratégias de outro trabalho (LÓPEZ, LUCK e D'INVERNO, 2002). É necessário definir ou utilizar estratégias para lidar com normas mais elaboradas como as apresentadas em (SANTOS NETO, SILVA e LUCENA, 2011) – Visualização dos resultados das simulações: • No mecanismo de visualizar os resultados das simulações é interessante criar uma interface gráfica genérica mais elaborada (TISUE e WILENSKY, 2004), capaz de representar as simulações construídas através da utilização do framework JSAN • Trabalhos Futuros – Melhorar os mecanismos capazes de lidar com normas, a fim de mostrar como a alternância dos níveis de restrição e coletividade pode influenciar na satisfação de uma aplicação (VERHAGEN, 2000) 05/11/2015 © LES/PUC-Rio 22 Perguntas ? 05/11/2015 © LES/PUC-Rio 23