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 ?