Normas em SMA Baldoino Fonseca [email protected] Viviane Torres da Silva [email protected] Carlos José Pereira de Lucena [email protected] Normas • Definição • Operacionalização das normas – Descrição – Implementação • Adoção de normas • Conflitos entre normas • Deliberação de normas Definição I/VII • Normas restringem o comportamento dos agentes do sistema • Uma norma define uma permissão, obrigação ou proibição sobre o comportamento de um agente • A norma especifica o quê está sendo regulado, quando esta regulação ocorre e quem está sofrendo esta regulação. – O quê: uma ação ou um estado – Quando: intervalo de tempo onde a norma está ativa – Quem: papel do agente, agente, grupo, todos Definição II/VII • Norma x Lei x Códigos sociais – Uma norma pode ser violada – Um lei não pode ser violada – Os códigos sociais são aceitos como princípios gerais pelos membros da sociedade [4] • Estados de uma norma: – Ativa: ocorreu algum evento que ativou a norma. Esta norma deve ser cumprida antes que ela passe para o estado inativo – Inativa: ocorreu algum evento que desativou a norma. O agente já cumpriu com a norma ou já violou a norma – Cumprida: o agente cumpriu com a restrição descrita na norma – Violada: o agente não cumpriu com a restrição descrita na norma Definição III/VII • Normas podem estar associadas a ações ou a estados – Ex: Um professor não pode agredir a um aluno – Ex: Um aluno não pode repedir de ano • As ações podem ser de interação entre os agentes ou podem ser ações de execução – Ex: Agente X é obrigado a enviar a mensagem Y – Ex: Todos os agentes dentro do grupo G não podem executar ação W – Ex: Papel Z tem permissão para executar método M de objeto N Definição IV/VII • Quando uma norma pode ser definida? – Em tempo de design ou em tempo de execução • Conflitos entre normas • Por quem uma norma pode ser definida? – Design: Pelo design da aplicação – Runtime: Por um agente que tem poder para fazer isso em tempo de execução • Quem regula o comportamento dos agentes? – Outros agentes que tem poder para isso – Sistemas de governança Definição V/VII Tipos de normas: [3] • Normas MAS: usadas para regular o comportamento dos agentes • Reward norms: encorajam os agentes a cumprir com as normas • Legislation norms: descrevem os agentes que podem criar ou modificar normas Definição VI/VII Tipos de normas: [5] • Normas que definem o significado de termos abstratos: – Um pesquisador é uma pessoa que fez doutorado e se dedica a pesquisa • Normas que definem uma ação abstrata em termos de subações, procedimentos ou protocolos. – A matrícula de um aluno é realizada quando este é associado a um curso de um departamento • Normas que definem obrigações, permissões e proibições Definição VII/VII Papéis associados às normas: [3] • Legislador: aquele que cria ou modifica uma norma • Defensor: aquele responsável por aplicar a punição ou dar o prêmio • Destinatário: aquele responsável por cumprir com a norma • Beneficiário: aquele cujos objetivos se beneficiam da norma ter sido atingida Operacionalização das normas • Como que os agentes sabem qual é o conjunto de normas aplicadas a eles? – Normas que estão ativas e que precisam ser cumpridas – Responsabilidades (ex. Papel) • Como um agente sabe que outros agentes violaram normas? – Normas aplicadas a outros agentes mas que influenciam o seu comportamento • Operacionalização de normas: – Mecanismos de implementação ajudam os agentes do sistema a conhecer as normas, as violações e as normas que foram cumpridas – Descrição de normas Descrição de normas • Quais são os componentes de uma norma? • Como descrever uma norma? Componentes de uma Norma I/II • Conceito deôntico: obrigação, permissão ou proibição • Destinatário: quem tem que cumprir com a norma – Um agente, um papel, um agente desempenhando papel, um grupo de agentes, todos os agentes • Regulação: – Ação que está sendo regulada: de interação, interna ao agente e acesso a recurso – Estado que deve ser atingido • Evento de ativação: quando uma norma é ativada – Evento pode ser uma ação que foi executada, um estado que foi modificado, um deadline que foi alcançado • Evento de desativação: quando uma norma é desativada Componentes de uma Norma II/II • Condição – condição para execução da norma • Punição • Prêmio • Condição de violação: – Condição que caracteriza a violação – Ex: uma obrigação está ativa mas não cumpro. • Mecanismo de detecção: – Mecanismo utilizado para detectar a violação • Planos de reparação: – Utilizados para reparar o sistema em caso de violações Exemplo de BNF [8] I/III <norm> ::= <norm_name> <deontic_concept> <norm_description> <norm_description> ::= '{(' <action> ')' <sanction> '}' | '{(' <action> <temporal_situation> ')' <sanction> '}' | '{(' <action> 'IF' <if_condition> ')' <sanction> '}' | '{(' <action> <temporal_situation> 'IF' <if_condition> ')' <sanction> '}' <deontic_concept> ::= 'OBLIGED' | 'FORBIDDEN' | 'PERMISSION' <action> ::= <non_dialogical_action> | <dialogical_action> Exemplo de BNF [8] II/III <non_dialogical_action> ::= <entity> 'EXECUTE' <exec> | <agent>':'<role> 'EXECUTE' <exec> | :<role> 'EXECUTE' <exec> | 'ALL EXECUTE' <exec> <dialogical_action> ::= 'UTTER(' <scene> ';' <state> ';' <illocution> ')' |... <exec> ::= <objectORclass>'.'<method>'('<parameters>')''('<contract >')' | <plan>':'<action>'('<parameters>')''('<contract>')' |... ...... Exemplo de BNF [8] III/III • O juiz tem que verificar o equipamento dos jogadores antes do jogo começar Punição: O juiz é demitido pelo sindicato dos juízes Prêmio: A reputação do juiz é aumentada. checkEquipment OBLIGED {(referee EXECUTE managingGame:checkEquipment (players)(;;) BEFORE ( UTTER(game; si; INFORM(S:;SR: referee;R:_;RR:_ [...]))) ) (PUNISHMENT: refereeSyndicate PUNISHES refereeSyndicate EXECUTE managingReferees:FireReferee(game,referee)(;;) ) (REWARD: refereeSyndicate REWARDS ::referee.reputation = ::referee.reputation@PRE+1) } Adoção de Normas • É importante termos agentes capazes de adotar novas normas: – Mudanças nas atuais normas; – Membros da sociedade não são pré-determinados; – Relações entre membros são criadas e destruídas dinamicamente; – Possibilidade de agentes entrar e sair de sociedades sem modificar seu design interno; – Considerando que normas representam as responsabilidades do agente, e normas são diferentes em cada sociedade, agentes são capazes de adotar diferentes papéis e obrigações; – Possibilita que agentes adotem ou delegem goals. 04/11/2015 Nome do Autor © LES/PUC-Rio Adoção de Normas • Critérios para rejeição ou adoção de normas: – O agente é responsável pela norma; – A autoridade (poder) do agente criador da norma; – A adoção da norma é benéfica para o grupo; – A norma não é um interesse pessoal da autoridade criadora? – ... 04/11/2015 Nome do Autor © LES/PUC-Rio Conflitos entre normas • Duas normas regulam o comportamento do mesmo agente, falam sobre a mesma ação, no “mesmo” intervalo de tempo • Obrigação e proibição • Proibição e permissão • Obrigação e permissão • Existem várias estratégias para verificação de conflitos e resolução de conflitos Conflitos entre normas [9] • Tudo é permitido em qualquer momento até que exista uma norma que diga o contrário • Exemplo: (proibição x permissão) – O comprador não pode devolver o produto comprado – O comprador pode devolver o produto antes de ter utilizado Proibição Permissão comprar usar Com conflito Conflitos entre normas [9] • Exemplo: (obrigação x proibição) – O vendedor é obrigado a entregar o item ao comprador depois de receber o dinheiro da venda – O vendedor é proibido de entregar o item ao comprador antes de receber o dinheiro da venda Proibição Obrigação Sem conflito comprar • Exemplo: (obrigação x permissão) – O vendedor só pode remarcar preço antes da loja abrir – O vendedor tem que remarcar preço quando for anunciada promoção Obrigação Permissão Com conflito abrir promoção Conflitos entre normas [9] • Utilizando esta abordagem, alguns conflitos só podem ser verificados em tempo de execução • Ex: Obrigado executar A depois de X Permitido executar A depois de Y Permissão Obrigação Y Sem conflito X Permissão Obrigação X Y Com conflito Deliberação de Normas • Devo cumprir a norma? – Considerar os goals do agente. – Punições • Conjunto de goals que podem ser dificultados. – Recompensas • Conjunto de goals que podem ser beneficiados. 04/11/2015 Nome do Autor © LES/PUC-Rio Deliberação de Normas 04/11/2015 Nome do Autor © LES/PUC-Rio Cumprindo a Norma • A partir do momento que o agente decidi quais normas irá cumprir, temos: – Todos os normativos goals são adicionado na base; – Alguns goals são proibidos; – Alguns goals são beneficiados; – Normas rejeitadas, o agente recebe as punições. – ... 04/11/2015 Nome do Autor © LES/PUC-Rio Arquitetura de Controle 04/11/2015 Nome do Autor © LES/PUC-Rio Referencias 1. Kollingbaum M. (2005). Norm-Governed Practical reasoning Agents. PhD Thesis 2. Vazquez-Salceda, J., Aldewereld, H., F. Dignum. Implementing Norms in Multiagent Systems 3. Lopez-Lopez, F., Luck, M. A model of normative multi-agent systems and dynamic relationships 4. Lopez-Lopez, F. Social Powers and Norms: Impact on Agent Behaviour. PhD thesis. University of Southampton. UK. 2003. 5. J. Vázquez-Salceda, H. Aldewereld, F. Dignum. "Norms in Multiagent Systems: from Theory to Practice". International Journal of Computer Systems Science & Engineering, vol. 20 num. 4, pp. 225-236. CRL publishing, July 2005. 6. A. García-Camino, J. Rodríguez-Aguilar, C. Sierra and W. Vasconcelos, “Norm-Oriented Programming of Electronic Institutions.” In AAMAS06, ACM Press, 2006, pp. 670-672 Referencias 7. A. García-Camino, P. Noriega and J Rodríguez-Aguilar, “Implementing Norms in Electronic Institutions,” In AAMAS05, ACM Press, 2005, pp. 667-673. 8. Silva, V. “From the Specification to the Implementation of Norms: An Automatic Approach to Generate Rules from Norms to Govern the Behavior of Agents”, JAAMAS 2008. 9. Vasconcelos, W., Kollingbaum, M., Norman, T. 2007. Resolving Conflict and Inconsistency in Norm-Regulated Virtual Organizations. In Proc. AAMAS.