João Araujo
Dr. en Informatique, Université de Versailles, França.

View page as slide show

Introdução a Multiagentes

Sistemas Multiagentes Baseado em “An Introduction to MultiAgent Systems” por Michael Wooldridge, John Wiley & Sons, 2002.

Por João Araujo.

Visão Geral

Cinco tendências têm marcado a história da Computação:

  1. Ubiquidade
  2. Interconexão
  3. Inteligência
  4. Delegação e
  5. Orientação ao humano

Ubiquidade

  • A redução contínua do custo da capacidade computacional tornou possível introduzir poder em lugares e equipamentos nos quais isto já foi um dia anti-econômico.
  • Enquanto o processamento era difundido, a sofisticação ( e de algum modo a inteligência) se tronou ubíqua.
  • Qual poderia ser o benefício de ter um processador embutido nisso…?

Interconexão

  • Sistemas computacionais hoje em dia não estão ,mais isolados, mas estão interligados dentro de grandes sistemas distribuídos.
  • A Internet é o exemplo óbvio, mas a rede está espalhando seus tentácuylos ainda em crescimento…
  • Uma vez que sistemas distribuídos e concorrentes se tornaram a norma, alguns pesquisadores estão desenvolvendo modelos teóricos que retratam a computação como um processo primariamente interativo.

Inteligência

  • A complexidade das tarefas que somos capazes de automatizar e delegar aos computadores tem crescido constantemente
  • Se você não se sente confortável com esta definição de “inteligência”, provavelmente é poraue você é humano.

Delegação

  • Computadores estão fazendo mais por nós – Sem nossa intervenção.
  • Nós estamos dando controle aos computadores, mesmo em tarefas críticas de segurança.
  • Um exemplo: Sistema fly-by-wire de controle de voo, no qual o julgamento da máquina pode ser mais confiável que um piloto experiente.
  • Próximo passo: Carros fly-by-wire com sistemas de freio inteligentes e controle de cruzeiro que mantém a distância do carro à frente…

Orientação ao humano

  • Um movimento de afastamento da visão da programação orientada à máquina na direção de conceitos e metáforas que refletem mais próximo do modo que nós entendemos o mundo
  • Programadores (e usuários!) têm um relacionamento diferen te com a máquina
  • Programadores conceitualizam e implementam o software em termos de abstrações de alto nível (mais próximas ao humano)

Progressão da Programação

A programação tem progredido por:

  • Código de máquina e linguagem assembly;
  • linguagens dependentes da máquina;
  • sub-rotinas;
  • procedimentos e funções;
  • Tipos abstratos de dados
  • objetos;

e agentes!

Computação Global

  • Qual técnica pode ser usada para lidar com um sistemas composto por 1010 processadores?
  • Não fique desencorajado por isto parecer “Ficção Científica”
  • Centenas de milhões de pessoas conectadas por email já foi “Ficção Científica”…
  • Vamos assumir que os modelos de software atuais não podem lidar isto…

Onde isto nos leva?

  • Delegação e Inteligência implicam na necessidade de construir sistemas computacionais que podem efetivamente atuar em nosso interesse
  • Isto implica na habilidade do sistemas computacional:
    • atuar independentemente
    • atuar de modo a representar nossos melhores interesses enquanto interagindo com outros humanos ou sistemas.

Interconexão and Distribuição

  • Interconexão and Distribuição se tornaram pontos centrais na Ciência da Computação
  • Mas Interconexão and Distribuição, juntamente com a necessidade dos sistemas representarem nossos melhores interesses, implica em sistemas que podem cooperar e atingir acordos (ou mesmo competir) com outros sistemas que têm diferentes interesses (tal qual fazemos com outras pessoas)

Então a Ciência da Computação cresce...

  • Esses assuntos não foram estudados pela Ciência da Computação até recentemente
  • Todas estas tendencias levou ao surgimento de um novo campo na Ciência da Computação: Sistemas Multiagentes.

Agentes: Uma definição

Um agente é um sistema computacional que é capaz de agir de forma independente no interesse de seu usuário ou proprietário (percebendo o que precisa ser feito para satisfazer objetivos, em vez de constantemente ser instruído como)

Sistemas Multiagentes: Uma definição

  • Um Sistemas Multiagentes é um que consiste de um número de agentes que interagem entre si.
  • No caso mais geral, agentes atuarão no interesse de seus usuários com diferentes metas e motivação
  • Para ter sucesso, eles precisam da habilidade de cooperar, coordenar e negociar com entre si, tal qual as pessoas fazem.

Projeto de agentes, projeto de sociedades

Dois problemas-chave:

  • Como construir agentes capazes de ação independente e autônoma, de tal modo que eles possam levar a cavbo tarefas que nós delegamos a eles?
  • Como construir agentes capazes de interagir (cooperando, coordenando, negociando) com outros agentes para ter sucesso nauqlas tarefas delegadas, especialmente quando outros agentes podem naõ compartilhar os mesmo interesses?
  • O Primeiro problema é de projeto de agentes, o segundo, de projeto de sociedade (micro/macro)

Sistemas Multiagentes

Em Sistemas Multiagentes focamos problemas tais como:

  • Como a cooperação emerge em sociedades de agentes egoístas?
  • Que tipo de linguagem os agentes podem usar para se comunicar?
  • Podem os agentes egoístas reconhecerem um conflito, e como eles podem (apesar disso) atingir um acordo?
  • Como agentes autônomos podem coordenar suas atividades para de forma cooperativa atingir suas metas?

Visão do futuro

  • É mais fácil entender o campo de sistemas multiagentes se você entende a visão do futuro pelos pesquisadores
  • Felizmente, diferentes pesquisadores têm diferentes visões
  • O amálgama dessas visões (e direções de pesquisa, e metodologias, e interesses, e…) define o campo
  • Mas o campo dos pesquisadores têm claramanet algo em comum para que considerem o trabalho de outrem relevante para seu próprio

Controle no Espaço

  • Quando uma sonda espacial faz sua viagem da terra para outro planeta, uma equipe é necessária para acompanhar continuamente seu progresso e decidir como lidar com eventos inesperados. Isto é caro e, se decisões são necessárias rapidamente, isto simplesmente não é praticável. Por estas razões, a NASA einvestiga seriamente a possiblidade de criar sondas mais autônomas - dando a elas capacidade e responsavbilidade de tomar decisões.
  • Isto não é ficção: Sondas da NASA já fazem isso!

Deep Space 1

  • “Deep Space 1” foi lançada do Cabo Canaveral e 24 de outubro de 1998. Durante sua missão ela testou 12 tecnologias avançadas e perigosas no espaço. Na sua missão final, ela encontrou o cometa Borrely e retornou com as melhores imagens e dados científicos jamais obtidas de um cometa. A sonda deixou de operar em dezembro de 2001.

Agentes autônomos para tarefas especializadas

  • O exemplo da DS1 é de uma classe genérica
  • Agentes (e sua instanciação física em robôs) têm um papel importante em situações de alto risco, indesejável ou impossível aos humanos
  • O graunde autonomia vai diferir de acordo com a situação (Controle remoto por humanos pode ser uma alternativa, mas nem sempre)

Controle de Tráfego Aéreo

  • “Um controle-chave de tráfego aéreo falha, deixando os voos na vizinhança do aeroporto sem suporte de controle de tráfego aéreo. Felizmente, sistemas de controle de tráfego aéreo autônomos próximos ao aeroporto reconhecem a falha do par e cooperam para acompanhar e lidar com todos os voos afetados.”
  • Sistemas tomando a iniciativa quando necessário.
  • Agentes cooperando para resolver problemas além da capacidade de qualquer agente individual.

Agentes na Internet

Procura na Internet para encontrar uma resposta a uma pergunta pode ser um processo longo e tedioso. Então, por que não permitir que um programa de computador - um agente - faça buscas para nós? Tipicamente seria dado ao agente uma “query” que iria necessitar de pedaços de informação de diferentes fontes da Internet. A falha poderia ocorrer quando um recurso em particular for indisponível, (talvez devido a uma falha na rede), ou quando os resultados não possam ser obtidos.

E se os agentes pudessem ficar melhores?

  • Agentes de Internet não precisam simplesmente buscar.
  • Eles podem palnejar, comprar, negociar - executar arranjos de toda soret que poderiam normalmente ser feitos por humanos
  • Quanto mais pode ser feito eletronicamente, teoricamente mais os agentes de software têm acesso a sistemas que podem afetar o mundo real.
  • Porém, novos problemas para a pesquisa emergem tão rapidamente quanto…

Assuntos de Pesquisa

  • Como podemos dizer nossas preferencias para o agente?
  • Como seu agente pode comparar diferentes negócios de diferentes vendedores ? O que fazer se há diferentes parâmetros?
  • Quais algortmos um agente pode usar para negociar com outros agentes (para ter certeza de fazer um bom negócio)?
  • Estes assuntos não são frívolos - aprovisionamento automatizado poderia ser usado massivamente por agências governamentais.
  • A Competição de Agentes de Comércio…

Sistemas Multiagentes são interdisciplinares

O campo de multiagentes é influenciado e inspirado por muitos outros campos:

  • Economia
  • Filosofia
  • Teoria de Jogos
  • Lógica
  • Ecologia
  • Ciências Sociais
  • Isto pode ser sua força (injetando metodologias bem fudamentadas no campo) e sua fraqueza ( Existem muitas visões diferentes sobre o que o campo é)
  • Isto tem analogias com a própria inteligência artificial

Algumas Visões do Campo

Agentes como paradigma de engenharia de software:

  • Engenheiros de Software desenvolveram progressivamente um melhor entendimento das características da complexidade em um software. Atualmente é largamente reconhecido que a interação é a mais importante características única de um software complexo
  • Nas últimas duas décadas, o principal tópico da Ciência da Computação tem sido o desenvolvimento de ferramentas e técnicas para modelar, entender e implementar sistemas nos quais a interação é a norma.

Algumas Visões do Campo

Agentes como uma ferramenta para entender sociedades humanas:

  • Sistemas multiagentes fornecem um novo modo de simular sociedades, que pode ajudar a lançar alguma luz sobre vários tipos de processos sociais.
  • Isto leva a analçogias com o o interesse em “teorias da mente” exploradas por alguns pesquisadores em inteligência artificial

Algumas Visões do Campo

Sistemas multiagentes são primariamente uma busca de fundações teóricas apropriadas:

  • Nós podemos construir sistemas de agentes que interagem e são autônomos, mas nós não sabemos ainda com o que estes sistemas poderiam se parecer.
  • Você pode adotar um enfoque “limpo” ou “sujo” do problema, vendo-o como um problema de teoria ou um problema de engenharia.
  • Isto, também, tem analogias com IA.

Objeções a SMA

  • isto não seria apenas Sistemas Distribuídos/Concorrentes? Temos muoto a aprender com esta comunidade, mas:
  • Assumimos que os agentes são autônomos, capazes de tomar decisões independentes - então eles precisam de mecanismos para sincronizar e coordenar suas atividades em tempo de execução.
  • Agentes são (podem ser) egoístas, então, suas interações são encontros “econômicos”

Objeções a SMA

Não é simplesmente IA?

  • Nós não precisamos resolver todos os problemas da IA (i.e. todos os componentes da inteligência) parta construir agentes realmente úteis
  • A IA clássica ignora aspectos sociais. Estes aspectos são importantes para atividade inteligente em parâmetros do mundo real.

Objeções a SMA

Não é simplesmente Teoria dos Jogos/Econômica?

  • Estes campos têm muito a ensinar aos multiagentes, mas:
  • Apesar da Teoria dos jogos descrever conceitos, ela nem sempre nos diz como computar soluções; nós somos ligados a agentes computacionais, com recursos limitados.
  • Algumas suposições da teoria dos jogos/econômica (como um agente racional) podem não ser válidas ou úteis na construção de agentes artificiais.

Objeções a SMA

Não é simplesmente Ciência Social?

  • Nós podemos tirar percepções do estudo da sociedade humamna, mas não existe nenhuma razão particular para acreditar que sociedades artificiais serão construídas da mesma forma.
  • Novamente, nós temos inspiração e troca de idéias, mas dificilmente submissão.
capitulo_1.txt · Última modificação: 03/12/2009 03:44:44 (edição externa)
geomatica Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0