H. Van Dyre Parunak “GO TO THE ANT”: ENGINEERING PRINCIPLES FROM NATURAL MULTI-AGENT SYSTEMS Sumário Introdução Contexto teórico Sistemas Naturais de Agentes Princípios de Engenharia Avaliação Resumo Introdução Programa Monolítico Programação estruturada Programação orientada a objetos Programação orientada a agentes Como a unidade se comporta? (Código) Externo Local Local Local O que a unidade faz quando é executada? (Estado) Externo Externo Local Local Quando a unidade executa? Externo Externo (chamado) Externo (mensagem) Local (objetivos) Introdução Atrativo do uso de agentes depende de: Auto-organizáveis Adaptáveis dinamicamente a mudanças de circunstâncias Possibilidade de agentes complexos Sistemas muito complexos Foco em sistemas simples de agentes População de insetos e outros animais Contexto Teórico SMA = <Agentes, Ambiente, Ligação> Agentes = {Agente1, ... Agenten} Agentei = <Estadoi, Entradai, Saídai, Processoi> Ambiente = <Estadoe, Processoe> Contexto Teórico Modelo Sistemas Dinâmicos com Eventos Discretos Sistemas Dinâmicos Baseados em Tempo Estado Discreto (símbolos) Contínuo (números reais) Processamento Manipulação de símbolos Equações diferenciais parciais ou equações de diferenças Progresso Discreto, baseado em eventos Discreto ou continuo Tempo e Estado Independente (velocidade do clock da CPU) Acoplado (leis da física) Comunidades Ciência da Computação, IA Física, Matemática Ecológica Contexto Teórico Ligação {Eventos, Tempo} X {Agente, Ambiente} Sistemas Hemodinâmicos Sistemas Heterodinâmicos Sistemas Naturais de Agentes Formigas: Planejamento de trajetórias Formigas: Ordenação Cupins: Construção de ninhos Vespas: Diferenciação de tarefas Pássaros e Peixes: Flocking Lobos: Cercando a presa Princípios de Engenharia Holland, Hidden Order Propriedades de um sistema adaptativo complexo Agregação Comportamento não-linear Fluxos de várias substancias através da rede de agentes Diversidade de agentes Mecanismos Tagging (capacidade de reconhecer e diferenciar de outros) Estrutura interna capaz de antecipar mudanças no ambiente Modelo interno feito de pequenos módulos reutilizáveis Princípios de Engenharia Resnick, Turtles, Termites, and Traffic Jams Objetivo pedagógico Como pessoas pensam sobre sistemas descentralizados Cinco princípios para guiar pessoas a entenderem esses sistemas Kevin Kelly, Out of Control “Governando a incubação de algo do nada” Princípios prescritivos Enfoque na filosofia Princípios de Engenharia Mantenha os agentes pequenos Em massa (tamanho) Fácil de entender, modelar e implementar Favorece agentes especializados Em tempo Capacidade de esquecer Morte de indivíduos Em escopo Capacidade de sentir apenas a vizinhança Princípios de Engenharia Descentralize o sistema de controle Não utilize de um agente central Ponto de falha Gargalo Suporte a diversidade de agentes Uso de processos aleatórios e campos de repulsão Controle do risco Redundância Garantir que o sistema funcione mesmo com a perda de um agente Princípios de Engenharia Permitir agentes compartilhar informações Por espécies Reprodução – Programação genética ou evolucionária Por indivíduo Jovens aprendem com os mais velhos Por sociedade Formigas usam feromônios para fazerem as trajetórias Princípios de Engenharia Planejar e executar simultaneamente Sistemas naturais não planejam com antecedência Respondem dinamicamente as mudanças do ambiente Avaliação Em ambientes estáveis Abordagem centralizadas podem ser otimizadas Em ambientes imprevisíveis Sistemas adaptáveis tem vantagem sobre sistemas estáticos Agentes permite a criação de sistemas adaptáveis de maneira mais fácil que sistemas centralizados Resumo 1: Agentes devem corresponder a coisas no domínio do problema ao invés de funções abstratas 2: Agentes devem ser pequenos em massa (pequena fração do sistema), tempo (capaz de esquecer), e escopo (evitando conhecimento global) Resumo 3: A comunidade de agentes deve ser descentralizada, sem um único pondo de controle ou falha 4: Agentes devem ser diversos. Aleatoriedade e repulsão são importantes ferramentas para permitir essa diversidade. Resumo 5: Agentes devem ter maneiras de dividir o que aprendem sobre o ambiente 6: Agentes devem planejar e executar simultaneamente em vez de seqüencialmente Fim Dúvidas ? Comentários ?