A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Multi-Agentes Andrew D. Costa Carlos Lucena

Apresentações semelhantes


Apresentação em tema: "Sistemas Multi-Agentes Andrew D. Costa Carlos Lucena"— Transcrição da apresentação:

1 Sistemas Multi-Agentes Andrew D. Costa Carlos Lucena

2 2 © LES/PUC-Rio Paradigmas de Engenharia de Software Um software possui um conjunto de partes, ou componentes, que executam e geram interações. Um paradigma deve oferecer modelos e técnicas que facilitam o tratamento da complexidade. São exemplos de paradigmas contemporâneos: Orientação a Objetos, Orientação a Aspectos, Orientação a Componentes, etc.

3 3 © LES/PUC-Rio Complexidade Um sistema de software complexo é composto de subsistemas inter-relacionados. Interação é a característica mais importante em sistemas complexos. Complexidade em sistemas de software é normalmente estrutural: a adição de novos componentes vai gradualmente degradando a estrutura do sistema 1 1. R.D. Banker, S. Datar & D. Zweig. Software Complexity and Maintainability. Proceedings of the Tenth International Conference on Information Systems, 1989, pp

4 4 © LES/PUC-Rio Complexidade Os sistemas desenvolvidos atualmente tendem a ser –abertos –distribuídos e –compostos por diversos componentes que interagem uns com os outros e que sofrem alterações dinamicamente com a entrada de novos componentes e a saída de componentes já existentes Esses componentes podem possuir objetivos diferentes e, portanto conflitantes. Esses fatos aumentam ainda mais a complexidade dos sistemas atuais.

5 5 © LES/PUC-Rio Complexidade Algumas das técnicas utilizadas para tratar a complexidade de sistemas distribuídos são: –Decomposição –Abstração –Organização Decomposição: Sistemas complexos devem ser compostos por um conjunto de sub-sistemas organizados de forma hierárquica. Os subsistemas devem trabalhar em conjunto para atingir os objetivos do sistema. Abstração: Definição de modelos simplificados do sistema que enfatize alguns detalhes e propriedades, limitando a área de interesse (escopo) do desenvolvedor em um determinado momento.

6 6 © LES/PUC-Rio Complexidade Organização: Sistemas complexos exigem relações organizacionais. As organizações permitem agrupar componentes de acordo com algum critério (i.e. família de problemas a serem resolvidos) e tratá-los como se fossem uma única entidade, Permite estabelecer relações de alto nível entre essas entidades (i.e. relações entre os problemas a serem resolvidos).

7 7 © LES/PUC-Rio Tendências O conceito de programa tem dado lugar ao conceito de organizações e, com isso, a conceitos derivados como colaboração e bases de conhecimento. Além disso, as características dos sistemas devem levar em consideração as necessidades dos tempos atuais: –Sistemas distribuídos –Arquitetura aberta –Sistemas extensíveis –Crescimento da Internet –Utilização de ontologias (Web Semântica)

8 8 © LES/PUC-Rio Evolução de Paradigmas Tempo Linguagens Assembly Abstração Funcional Programação Estruturada Orientação a Objetos Componentes Design Patterns... Agentes de Software Abstrações com bases conceituais determinadas pela arquitetura da máquina Abstrações com bases conceituais determinadas pelo domínio do problema

9 9 © LES/PUC-Rio Agentes de Software Um agente de software é uma entidade que faz parte de um sistema (sociedade de agentes) e que pode perceber aspectos limitados de seu ambiente de execução 1. Agente é um elemento cuja execução e interação (com outros agentes e com o ambiente) levam ao alcance dos objetivos do sistema 2. Agente é uma unidade de software autônoma situada em um ambiente e capaz de executar ações para atingir seus objetivos. 1. G.F. Luger & W.A. Stubblefield. Artificial intelligence: structures and strategies for complex problem solving. 3.ed. Massachusetts: Addison-Wesley Longman, p. 2. M.N. Huhns & L.M. Stephens. Multiagent systems and societies of agents. In: G. Weiss (ed.) Multiagent systems. Massachussests: MIT Press, 2000, pp

10 10 © LES/PUC-Rio Características de Agentes Os agentes são considerados entidades solucionadoras de problemas e devem ser: Autônomo: Agentes devem agir sem a necessidade de intervenção humana direta e devem ter controle sobre suas ações e seus estados internos. Reativo: Agentes devem perceber o ambiente onde estão situados e responder a mudanças ocorridas neste ambiente. Pró-ativo: Agentes devem possuir um comportamento oportunista, orientado a objetivos, executando suas ações sempre que oportuno.

11 11 © LES/PUC-Rio Características de Agentes Social: Agentes devem interagir com outros agentes, quando apropriado, com o intuito de atingir seus objetivos ou de ajudar outros agentes. Intencional: Agentes devem ter a intenção de realizar uma tarefa. Para agentes agirem de forma intencional, eles devem possuir crenças (conhecimento sobre o ambiente) e objetivos a serem atingidos. Essas características são apropriadas para que as técnicas que tratam complexidade, citadas anteriormente (decomposição, abstração e organização), sejam utilizadas.

12 12 © LES/PUC-Rio Agentes de Software Agentes autônomos podem ser considerados componentes de software que possuem as características apresentadas. Agentes podem ser utilizados como uma técnica de decomposição e modularização, com controle descentralizado, além de representarem abstrações para problemas existentes. Reatividade e próatividade tratam aspectos dinâmicos e imprevisíveis de um sistema complexo e aberto. Por fim, habilidades sociais estão fortemente relacionadas com questões organizacionais, já que é através delas que será possível tratar as dependências e interações entre os componentes (organizações) de um sistema complexo.

13 13 © LES/PUC-Rio Características Adicionais Adaptação –São capazes de modificar, em algum grau, o seu comportamento devido à mudanças do ambiente e de outros agentes (autonomic computing: self*) Aprendizado –São capazes de modificar o seu comportamento baseados em sua experiência Racionalidade –São capazes de selecionar suas ações baseados em seus objetivos Mobilidade –São capazes de se mover de um ambiente para outro

14 14 © LES/PUC-Rio Sistemas Multi-Agentes Um agente em geral não é encontrado completamente sozinho em uma aplicação, mas formando em conjunto com outros agentes: Sistemas Multi-Agentes (SMA). O paradigma de Engenharia de Software para SMA oferece: –uma abstração para o desenvolvimento de software baseada no domínio do problema; –um método de decomposição; –um modo apropriado para a modelagem de sistemas como um conjunto de organizações que se relacionam; –uma descentralização que reduz a quantidade de interação entre unidades.

15 15 © LES/PUC-Rio Situações para Aplicar Agentes 50 Facts about Agent-Based Computing (Professor Michael Luck)

16 16 © LES/PUC-Rio

17 17 © LES/PUC-Rio

18 18 © LES/PUC-Rio

19 19 © LES/PUC-Rio

20 20 © LES/PUC-Rio

21 21 © LES/PUC-Rio

22 22 © LES/PUC-Rio

23 23 © LES/PUC-Rio

24 24 © LES/PUC-Rio Estado da Arte Engenharia de SMA em exploração. Principais estudos em nível de experimentação, através de estudos de caso. Desenvolvimento de uma ES para o paradigma: análise de requisitos, linguagem de modelagem, processo, arquitetura de desenvolvimento, ferramentas, etc.

25 25 © LES/PUC-Rio Exemplos de Aplicações de SMA Mercado Financeiro Reputação (Comércio Eletrônico) Autonomic Computing (self*) Linha de Produto de Software Competições do AAMAS (ART-Testbed, TACs, etc)

26 26 © LES/PUC-Rio Bibliografia Jennings, N. R. An agent-based approach for building complex software systems. Communications of the ACM, Volume 44, Issue 4, April Pages: Jennings, N. R; Wooldridge, M. Agent-Oriented Software Engineering. In: Proceedings 12th Int. Conf. on Industrial and Engineering Applications of AI, Cairo, Egypt, (Invited paper) (1999) Jennings, N., R.; Wooldridge, M. Applications of Intelligent Agents. Agent Technology: Foundations, Applications, and Markets. Jennings, N.R. and Wooldridge, M.J (Eds.), Springer, pp (1998). Agent Link Home Page,

27 Perguntas?


Carregar ppt "Sistemas Multi-Agentes Andrew D. Costa Carlos Lucena"

Apresentações semelhantes


Anúncios Google