Desenvolvimento de Sistemas
Baseados em Conhecimento
Metodologias Orientado a Agentes
Conceitos Iniciais
• Metodologia
– Conjunto de métodos empregados por alguma área do
conhecimento
• Método
– Procedimento para se obter algum resultado
• Flexibilidade x Formalidade
– A utilização de diversos métodos não constitui uma metodologia
– Conhecimento e experiência não podem ser transferidas para
outros projetos
Conceitos Iniciais
• Abordagens podem ser classificadas em três categorias
– “Situational Method Engineering for Information system Project
approaches” (Harmsen et al., 1994)
Flexibilidade
- Desenvolvimento ad hoc
- Sem terminologia uniforme
- Pouco guideline
- Difícil gerenciamento e
medição do projeto
Flexibilidade Controlada
- Blocos de construção
uniformes
-Guidelines para cada bloco
-Terminologia uniforme
-Gerenciamento e medições
controladas
Controlada
- Metodologia padrão
- Guidelines rígidos
- Terminologia uniforme
- Todos os projetos utilizam a
mesma abordagem de
medição
Conceitos Iniciais
• Uma metodologia tem o objetivo de descrever todos os
elementos necessários para o desenvolvimento de um
sistema
• Geralmente são criadas na academia
– Algumas são aceitas pela indústria
– Existe uma estimativa da existência de quase mil abordagens
» “Understanding and evaluating methodologies, NISAD: A systematic
framework” (Jayaratna, 1994)
– Ao todo elas podem ser agrupadas em 6 abordagens
» “Beyond methodologies: Keeping up with information systems
development approaches through dynamic classification” (Iivari, 1999)
Conceitos Iniciais
• A proposta do curso é apresentar as principais
metodologias AO
– Com certeza não todas (mais usadas e testadas)
• Discussão e análise das principais características
– Modelagem de um problema usando cada método
– Artigo final com visão crítica/comparação
» Foco na usabilidade para dado problema
– Procura por meios de unificação e consolidação
» Proposta para repositório de fragmentos de métodos OA
Relembrando a Idéia de Agentes
• Segundo AIMA
– “Um agente é qualquer coisa que tem a capacidade de perceber o seu
ambiente através de sensores e agir sobre esta ambiente através de
efetuadores”
• Segundo Hayes-Roth
– “Agentes são entidades que continuamente realizam três funções:
perceber condições dinâmicas do ambiente, agir para afetar as condições
no ambiente e raciocinar para interpretar as percepções, resolver
problemas, desencadear inferências e determinar ações”
• Segundo Maes
– "Agentes autônomos são sistemas computacionais que habitam algum
ambiente dinâmico complexo, percebe e age de forma autônoma neste
ambiente, e faz isso por realizar um conjunto de metas ou tarefas
planejadas por eles"
• .
Relembrando a Idéia de Agentes
• Segundo a Apple
– “Entidade de software persistente dedicado a propósitos
específicos. Persistência distingue agentes das sub-rotinas;
agentes tem suas próprias idéias sobre como realizar tarefas e
suas próprias agendas.”
• Segundo IBM
– “Agentes inteligentes são entidades de software que realizam
algum conjunto de operações em favor de um usuário ou outro
programa com algum grau de indenpencência ou autonomia...”
• Segundo Coen
– "Agentes são programas que se engajam em interações,
negociam e coordenam transferência de informações".
Características dos Agentes
• Características chaves dos agentes
Propriedade
Autonomia
Proatividade
Dirigido a metas
Situado
Reatividade
Temporalmente continuo
Comunicativo
Aprendiz/adaptativo
Flexível
Credível
Móvel
Outro nome
Possui controle sobre suas próprias ações
Decidir quando agir sem a necessidade de comandos externos
Não apenas age em resposta ao ambiente. Agentes possuem metas
bem definidas e seus comportamentos são direcionados a resolução
de tais metas
Agentes estão totalmente contidos dentro de um ambiente específico
Respostas rápidas às modificações no ambiente
È um processo que roda continuamente
Interage com outros agentes e possivelmente com usuários humanos
Mudanças no comportamento de acordo com experiências prévias
Ações não são pré-definidas (sem script)
Estados como emoções, personalidade e atitudes
Capazes de se transportar de uma máquina para outra
Características dos Agentes
• Problemas de comportamentos emergentes
• Agentes cognitivos X Agentes Reativos
– Necessidade de balanceamento na maioria dos domínios
Conceitos Iniciais
• Agentes devem agir dentro de um ciclo de “perceberdecidir-agir”
• Para tal, uma série de características de baixo nível
devem ser consideradas:
– Papel, estado mental, habilidades, capacidades,
responsabilidades, atitudes, ...
• Considerando o conceito de interação com outros agentes
e ambiente
– Comunicação, protocolos, esquemas de negociação, competição
versus cooperação, etc.
Sistemas Multiagentes
• Sistema composto por múltiplos agentes inteligentes que
interagem entre si. Este sistema é usado para resolver
problemas que são difíceis ou impossíveis para um
agente individual ou sistema monolítico.
– Cooperativos (meta conjunta)
– Competitivos
• Exemplos:
– Comércio eletrônico
– Sistemas de busca e salvamento
– Modelagens sociais
Sistemas Multiagentes
• .
Interação
Organização
Recurso
Agentes
Esfera de
Influência
Ambiente
Sistemas Multiagentes
• Final conjunto de agentes geralmente não é definido em
tempo de projeto
– Definição em tempo de execução
– Baseados em arquiteturas abertas
» Novos agentes podem dinamicamente entrar no sistema
» Agentes atuais podem dinamicamente sair do sistema
• Abordagens OO também permitem quem objetos entrem
e saiam do sistema dinamicamente
– Agentes fazem isso de forma autônoma
– Mostram comportamento proativo
– Comportamento imprevisível
Sistemas Multiagentes
• Comportamento emergente
– Comportamento que não pode ser predeterminado pela inspeção
das partes individuais
– Emerge da interação entre as partes
• Algumas definições clássicas
– “O todo é maior que a soma das partes”
– “A estrutura (padrão, propriedade, função), não explicitamente
representada ao nível de componentes individuais (baixo nível), e
que aparece no nível de sistema (alto nível)
Sistemas Multiagentes
• Muitas metodologias OA utilizam a metáfora da
organização humana
–
–
–
–
Subdivisões
Regras organizacionais
Dependências sociais
...
• Importantes tarefas da metodologia AO
– Definição das interações
– Modelos de cooperação
– Captura das dependências
Metodologia OA
• Uma metodologia tem dois importantes componentes:
– Elementos do processo
– Produtos e documentos (UML)
• Qualquer metodologia AO deve conter abstrações
suficientes para completamente modelar agentes/MAS
– Extensões OO não funcionam
» Altamente restritas devido ao foco em classes/objetos
– Foco deve ser em:
» Papeis
» Sociedade
» Protocolos de interação
Genealogia das Metodologias
• Metodologias são baseadas em conceitos de IA e OO
• Nemo
• MASSIVE
• Cassiopeia
• CAMLE
Principais Conceitos
Teorias de Base
• BDI e modelos similares oferecem descrições da estrutura interna de
um agente
– Rao, M. P. Georgeff. (1995). "BDI-agents: From Theory to Practice".
Proceedings of the First International Conference on Multiagent Systems
(ICMAS'95).
• Teorias organizacionais suportam os modelos para MAS
– Social Commitments
» Cavedon, L. & Sonenberg, L. (1998). On social commitment, roles and
preferred goals. In Proceedings of the Third International Conference on MultiAgent Systems (ICMAS), July 3-7, Paris (pp. 80-87). IEEE Computer Society.
– Social Norms
» Castelfranchi, C., Dignum, F., Jonker, C., & Treur, J. (2000). Deliberate
normative agents: Principles and architectures. In N. Jennings & Y. Lespérance
(Eds.), Intelligent agents VI (p. 364-378). Berlin: Springer-Verlag.
Teorias de Base
• Agentes precisam tanto competir quanto cooperar (como
os humanos)
“Although essentially selfish in their autonomy, agents act like humans:
sometimes aiming to fulfill their own goals at the expense of all other
agents/humans but mostly in a more social structure in which it is recognized
that collaboration and sharing of work is mutually beneficial as well as
individualistically profitable”
• Exemplo
Teorias de Base
• Teamwork Theories
– Joint Intentions, …
Teorias de Base
• Agentes estão operando em um ambiente comum
– Comunicação é bem mais urgente do que entre objetos
» Objetos reagem a eventos e mensagens de entrada
» Agentes tem autonomia e proatividade para coordenar e cooperar com outros
através da troca de mensagens
• A principal diferente entre agentes e objetos
– Agentes podem receber mensagens que não são pedidos para execução
– Mensagens podem consistir de informações ou pedidos por informação
– Mensagens são descritas em termos de um protocolo de comunicação e
interação utilizando uma linguagem formal
» KQML
» FIPA
Teorias de Base
• Exemplo KQML
Teorias de Base
• Exemplo KQML
Elementos do Processo
• Definem o uso de vários termos como:
– Ciclo de vida: número de fases e ordenação das mesmas
– Análise: entendimento de alguma coisa já existente
» Fase da descoberta
– Projeto: parte do espaço das soluções na qual várias possíveis
respostas são consideradas
» Fase da invenção
Metodologias
•
Tropos
–
•
MAS-CommonKADS
–
•
Agent Oriented Software Engineering with INGENIAS
RAP
–
•
ADELFE: a Methodology for Adaptive Multi-Agent Systems Engineering
INGENIAS
–
•
Developing Multiagent Systems: The GAIA Methodology
ADELFE
–
•
Prometheus: A Methodology for Developing Intelligent Agents
Gaia
–
•
Agile PASSI: An Agile Process for Designing Agents
Prometheus
–
•
Analysis and design of multiagent systems using MAS-CommonKADS
PASSI
–
•
Tropos: An Agent-Oriented Software Development Methodology
Towards radical agent-oriented software engineering processes based on AOR modelling
MaSE
–
An Overview of the Multiagent Systems Engineering Methodology
Robocup Rescue
• Ferramenta para desenvolvimento:
– JADE (http://jade.tilab.com/)
• Outros recursos
– http://www.agentlink.org
Seminário (s)
• Escolher uma das metodologias e explicar sua utilização
• Aplicar a modelagem no domínio do Robocup Rescue
Download

Agentes Inteligentes