• Nenhum resultado encontrado

Sistemas Multi-Agente no Apoio à Decisão

N/A
N/A
Protected

Academic year: 2020

Share "Sistemas Multi-Agente no Apoio à Decisão"

Copied!
16
0
0

Texto

(1)

Sistemas Multi-Agente no Apoio à Decisão

Rui Lourenço

Universidade de Coimbra, Faculdade de Economia, Coimbra, Portugal INESC - Instituto de Engenharia de Sistemas e Computadores

ruiloure@sonata.fe.uc.pt João Paulo Costa

Universidade de Coimbra, Faculdade de Economia, Coimbra, Portugal INESC - Instituto de Engenharia de Sistemas e Computadores

jpaulo@sonata.fe.uc.pt

Resumo

Este artigo pretende analisar a utilização de sistemas multi-agente no apoio à decisão, mais especificamente no sistema de apoio à decisão LinearTri. Começa por apresentar alguns conceitos relacionados com os sistemas multi-agente, nomeadamente a definição do que é um agente de software, distinguindo entre características essenciais (que determinam a sua identidade como agentes) e características qualitativas (que descrevem capacidades particulares). São também apresentadas algumas estruturas organizacionais e mecanismos de coordenação utilizados em sistemas multi-agente. Finalmente, o sistema LinearTri é analisado e é proposta uma nova arquitectura multi-agente inspirada em exemplos (encontrados na literatura) de funções particulares associadas ao apoio à decisão e desempenhadas por agentes de software.

Palavras chave: Sistemas Multi-Agente, Sistemas de Apoio à Decisão.

1 Introdução

O aumento contínuo da complexidade e dimensão dos problemas com que os decisores são hoje em dia confrontados faz com que se torne cada vez mais necessário dispor de ferramentas que apoiem esses decisores. Assistiu-se assim a uma evolução significativa tanto no processo de decisão como nos sistemas informáticos que lhe estão associados. A divisão inicial de um processo de decisão em três fases proposta por [Simon, 1977], passando pelo estabelecimento de quatro problemáticas de apoio à decisão de [Roy, 1985], e pelas nove fases de um processo de decisão em grupo propostas por [Schwartz, 1994], constituem alguns marcos importantes desse desenvolvimento no capítulo metodológico. Paralelamente, também os sistemas de apoio à decisão registaram uma evolução significativa começando pela arquitectura de três componentes proposta por [Sprague e Carlson, 1982], progressivamente enriquecida por autores como [Turban, 1988] (sistemas periciais) ou [DeSanctis e Gallupe, 1987] que alargaram o seu âmbito a processos de decisão em grupo. Uma parte importante desse desenvolvimento foi dedicada à relação sistema-utilizador (componente Interface segundo [Sprague e Carlson, 1982]) e à autonomização dos sistemas, incorporando cada vez mais tarefas que inicialmente eram da responsabilidade dos decisores/utilizadores. Neste contexto, a abordagem multi-agente constitui uma forma adequada de conceptualizar e/ou implementar sistemas de apoio à decisão, considerando duas das características de domínio frequentemente citadas como a rationale para adoptar a tecnologia de agentes [Jennings, 1995] (cf. [Bond e Gasser, 1988]):

(2)

• Distribuição de dados, controlo, perícia ou recursos – quando o domínio envolve um número de entidades distintas “resolutoras” de problemas, distribuídas física ou logicamente, e que necessitam de interagir de forma a resolver os seus problemas;

• Metáfora natural – a noção de “agente autónomo” pode ser a forma mais fácil de conceptualizar ou apresentar uma determinada funcionalidade de software.

A perspectiva adoptada neste artigo corresponde à fase de análise da engenharia de software orientada a agentes: identificação das responsabilidades/tarefas de cada agente no sistema e do tipo de organização adequado ([Zambonelli et al., 2001]). Procurou-se portanto identificar na literatura agentes com diferentes tarefas associadas ao apoio à decisão, servindo de inspiração para a proposta de uma arquitectura multi-agente para o sistema LinearTri.

O sistema de apoio à decisão LinearTri ([Lourenço e Costa, 2001b; Lourenço e Costa, 2001a]) foi desenvolvido para apoiar um decisor face a um problema que se encontra à partida estruturado (formulado através de programação linear inteira multi-objectivo) e onde se pretende afectar cada alternativa a uma das categorias ordenadas (boas, más, muito más, ...) definidas pelo decisor. Trata-se de um sistema interactivo que segue uma abordagem de agregação/desagregação de preferências, isto é, utiliza exemplos de classificação fornecidos pelo decisor (avaliações agregadas) para inferir parâmetros preferenciais associados aos diferentes critérios (desagregação). Uma vez obtidos esses parâmetros é possível ao sistema passar a aconselhar o decisor acerca da classificação (agregada) que deve atribuir a futuras alternativas. O facto de se tratar de um sistema baseado fundamentalmente na interacção com o utilizador, onde são utilizados vários modelos (correspondentes a diferentes “perícias”) que é necessário coordenar e onde se pretende um elevado grau de autonomia, pareceu indicar como adequada a utilização de agentes de software.

Muito importante para começar é encontrar uma definição que pela sua coerência facilite depois as tarefas de modelação e construção da arquitectura multi-agente. A definição escolhida é a proposta por [Hess et al., 2000] que inclui o “ponto de referência” do agente e distingue entre características essenciais e características qualificadoras. Assumindo que vários agentes coexistirão no mesmo sistema, é necessário definir a forma como eles se organizam e os mecanismos de coordenação que utilizam.

Foi possível encontrar na literatura alguns tipos de agente particularmente adaptados a sistemas de apoio à decisão: agentes de apoio à convergência (organização de ideias), de recolha e monitorização de dados, de adaptação ao decisor, de modelação e de crítica e argumentação. Esta enumeração, necessariamente não exaustiva, serviu no entanto de inspiração para a proposta de uma arquitectura multi-agente para o sistema LinearTri. Assim, e de acordo com uma análise aprofundada do sistema, são propostos três agentes de modelação (tantos quantos os modelos utilizados) e um agente de adaptação ao decisor encarregue da condução do processo. Quanto ao mecanismo de coordenação, numa organização não-hierárquica dos agentes, o mais apropriado parece ser o quadro comum (blackboard) por permitir uma participação oportunista de cada agente no momento que considerar mais adequado. O decisor fica assim liberto do processo de decisão eminentemente sequencial adoptado no LinearTri original. A modelação através de agentes permite ainda uma melhor coordenação dos diferentes modelos, permitindo a participação oportuna de cada um deles na interacção do decisor com o sistema e beneficiando do funcionamento dos outros modelos.

Este artigo está organizado da seguinte forma. A secção 2 começa por apresentar a definição escolhida para o termo “agente de software”, apresentando aquilo que são as características que o define e as características que distinguem os agentes entre si. Na secção 3 são tecidas algumas considerações acerca dos aspectos particulares a ter em conta no desenvolvimento de uma arquitectura envolvendo diferentes agentes, nomeadamente no que diz respeito à organização e à coordenação desses agentes. A secção 4 é dedicada às funções que um agente, pelas suas características, pode desempenhar no contexto de um sistema de apoio à decisão. As secções

(3)

anteriores constituem o ponto de partida para um dos objectivos principais deste artigo: analisar o sistema de apoio à decisão LinearTri e propor uma nova arquitectura baseada em agentes de software (na secção 5). Finalmente, na secção 6, serão tecidas algumas considerações finais sobre o trabalho apresentado.

2 Definição de agente

É possível encontrar na literatura muitas definições sobre o que são agentes de software (ver por exemplo [Wooldridge e Jennings, 1995; Franklin e Graesser, 1997]). Para [Hess et al., 2000] uma questão prévia fundamental é a definição, para cada agente, do seu “ponto de referência”: “quem” é que o agente representa (qual o seu empregador), que tarefa deve executar e dentro de que domínio. É necessário ainda distinguir entre características essenciais (que determinam a identidade dos agentes) e características que qualificam os agentes (conferindo-lhes mais poderes ou capacidades). Assim, consideram que:

“Um agente autónomo é a implementação por software de uma tarefa num domínio específico em representação de um indivíduo ou de outro agente. A implementação conterá objectivo(s) homeostático(s), persistência e reactividade, no sentido em que persistirá o tempo necessário e reagirá de forma adequada dentro do seu domínio para alcançar os seus objectivos”.

[Hess et al., 2000] consideram homeostáticos aqueles objectivos que se procura não só atingir mas também manter. Para isso é necessário que o agente possua a persistência que lhe permita continuar a exercer a sua função muito para além do momento em que os seus objectivos foram atingidos, procurando mantê-los. Essencial é também que o agente reconheça alterações no seu ambiente e responda a essas alterações num período de tempo aceitável.

Para além destas características, consideradas essenciais, os agentes podem ainda exibir outras características que os tornam mais úteis e poderosos. As mais comuns são a mobilidade, a inteligência e a interactividade. A mobilidade permite que um agente utilize recursos (de computação, por exemplo) distribuídos, contribuindo assim para um melhor desempenho do sistema na sua globalidade. Já a inteligência, embora não seja considerada essencial, permite que um agente consiga prosseguir os seus objectivos com maior autonomia (face ao seu “representado” humano) e competência (forma pericial). A capacidade de poder comunicar (com utilizadores ou outros agentes) pode ser de grande utilidade, permitindo que um agente não se limite apenas a reportar os resultados das suas acções mas que seja verdadeiramente interactivo (recebendo e processando as reacções aos resultados, respondendo-lhes se necessário, isto é, “dialogando”).

Tal como foi mencionado no início, muitas são as definições propostas para “agente de software”. A definição apresentada tem, quanto a nós, a vantagem de clarificar entre o que é essencial na definição de um agente e o que, sendo importante, constitui apenas um aumento das suas capacidades.

3 Sistemas multi-agente

Um processo de decisão, segundo [Simon, 1977], pode ser dividido em três fases: Inteligência, Projecto ou Concepção e Escolha. Na fase de Inteligência (de acordo com o significado anglo-saxónico do termo Intelligence) a realidade é examinada e os problemas são identificados e definidos. É ainda nesta fase que se procede à recolha dos dados relevantes do problema. Segue-se a faSegue-se de construção do modelo que repreSegue-senta e simplifica a realidade, a faSegue-se de Projecto ou Concepção. Uma vez validado o modelo é necessário explorá-lo de forma a identificar acções possíveis bem como critérios de avaliação dessas acções. Da fase de Escolha resulta a proposta de uma solução baseada no modelo desenvolvido, tendo em conta as acções possíveis a a sua respectiva avaliação. A complexidade de todo o processo pode aumentar consideravelmente se

(4)

nele estiverem envolvidos vários decisores com diferentes pontos de vista e diferentes competências. De acordo com [Sycara et al., 1998], os sistemas multi-agente constituem um mapeamento natural de diferentes tipos de peritos conjugados num processo de decisão, o que justifica a sua utilização em sistemas de apoio à decisão.

Da mesma forma, a condução do próprio processo de decisão compreende a execução de diversas tarefas de coordenação e apoio que normalmente recaem sobre um elemento particular do grupo, o Coordenador ou “Facilitador”. Algumas dessas tarefas podem ser delegadas em agentes de software. No entanto, considerando a sua diversidade, estas tarefas não devem ser executadas por um único agente. Em vez disso elas podem ser asseguradas através de um esforço coordenado de vários agentes com diferentes capacidades.

Assim, no mesmo sistema podem coexistir três tipos genéricos de agentes:

• agentes cooperantes, isto é, agentes aos quais está atribuído um subproblema/subtarefa que procuram resolver/executar de forma assíncrona e independente, contribuindo depois com a sua solução parcial para a solução global do problema;

• agentes auto-motivados, isto é, agentes que procuram maximizar os seus próprios benefícios na tentativa de resolução do problema global;

• agentes que funcionam apenas como elementos computacionais básicos, sem qualquer inteligência.

Independentemente do tipo de agentes utilizados, [Shaw e Fox, 1993] consideram que a forma como esses agentes estão organizados, e os mecanismos de coordenação que utilizam, são a componente crítica de qualquer sistema multi-agente.

3.1 Organização de sistemas multi-agente

Num sistema multi-agente o termo “organização” refere-se à estrutura geral de comunicação e controlo de um grupo de agentes de software. A estrutura organizacional determina o tipo e a quantidade de informação processada por cada agente e o nível de coordenação requerido para que o conjunto de agentes opere de forma eficiente.

As estruturas organizacionais utilizadas em sistemas multi-agente inspiram-se muitas vezes nas diferentes estruturas de organização social ([Rasmussen, 1991]). Assim, um tipo de organização comum em sistemas multi-agente é a organização hierárquica. Este tipo de organização resulta da forma tradicional de lidar com a complexidade: decompor um problema (tarefa) em subproblemas (subtarefas). Cada subproblema (ou subtarefa) é depois atribuído a um agente com as características mais adequadas à sua resolução. Esse agente pode, por sua vez, recorrer a outros agentes hierarquicamente inferiores e, quando termina a resolução do seu subproblema, apresenta os resultados ao agente hierarquicamente superior.

Recorrer a uma forma de organização não-hierárquica, com a possibilidade de formar coligações (ou equipas) de agentes, é outra opção. Dois exemplos de organizações não-hierárquicas são as Contract Nets ([Smith e Davies, 1981]) e a Scientific Community Metaphor ([Kornfeld e Hewitt, 1981]).

As Contract Nets (ver [Ottaway e Burns, 1997] para um exemplo) são inspiradas na organização de uma economia de mercado, onde agentes inteligentes actuam como Gestores (Managers) e Empreiteiros (Contractors). Os agentes Gestores difundem a existência de uma tarefa ou problema que pretendem ver resolvida e para a qual pretendem estabelecer um “contrato de prestação de serviços”. Cada agente Empreiteiro apresenta a sua licitação, depois de avaliar a sua adequação ao tipo de serviço pedido e tendo em consideração a disponibilidade dos seus recursos (computacionais ou outros). O agente Gestor avalia as diferentes licitações e atribui a tarefa ao agente Empreiteiro mais apropriado que fica assim “contratado”. Em [Davies e Smith,

(5)

1983] é proposto um mecanismo de coordenação adequado a este tipo de organização de sistemas multi-agente baseado na passagem de mensagens: o Contract Net Protocol.

A Scientific Community Metaphor é inspirada na organização adoptada pela comunidade científica e na constatação do seu sucesso na geração e escolha de explicações alternativas para fenómenos observados. Os elementos fundamentais deste tipo de organização são os “Proponentes” (correspondentes aos cientistas que apresentam/propõem uma nova explicação/teoria), os “Opositores” (correspondentes aos cientistas que argumentam contra uma nova explicação/teoria apresentada) e os “Apoiantes”. Em conjunto os cientistas apresentam as seguinte características:

• podem trabalhar de forma concorrencial na resolução de um mesmo problema sem que daí ocorra qualquer desvantagem;

• publicam os resultados obtidos disponibilizando-os a todos os interessados;

• quando um cientista se interessa por uma determinada questão ou problema tenta saber se já existem respostas para essa questão ou problema, sem prejuízo de continuar a sua investigação na tentativa de as confirmar, refutar ou encontrar novas soluções/respostas;

• não existe um árbitro central e universal que decida o que é “verdade” nos resultados da investigação. É a própria comunidade que se auto-organiza de forma a validar os resultados obtidos pelos membros individuais.

Se em alguns casos os mecanismos de coordenação utilizados entre agentes estão implícitos no tipo de organização adoptada, em geral é possível conceber sistemas multi-agente onde são utilizados diferentes mecanismos de coordenação. Na secção seguinte são apresentados alguns dos mecanismos de coordenação mais comuns.

3.2 Mecanismos de coordenação

Num sistema multi-agente são necessários mecanismos de coordenação que permitam resolver conflitos, atribuir recursos limitados, reconciliar preferências diferentes, e procurar soluções no espaço global com base em informação local. [Shaw e Fox, 1993] consideram que os mecanismos de coordenação podem ser baseados numa grande variedade de informação trocada entre agentes, tal como dados, novos factos, soluções/planos parciais, preferências e restrições. Assim apresentam como principais mecanismos de coordenação:

• Coordenação através da revisão de acções

Determinados sistemas possuem o requisito essencial de não permitir a ocorrência de conflitos entre as acções/soluções propostas por cada agente. Neste contexto, o mecanismo de coordenação tem de garantir que cada agente informa os restantes acerca das acções que pretende executar, para que estes possam rever as suas próprias acções evitando assim conflitos.

• Coordenação por sincronização

A sincronização pode constituir um aspecto importante na coordenação, nomeadamente em sistemas onde cada tarefa é dividida em subtarefas que são depois atribuídas a diferentes agentes. Nessas circunstâncias é fundamental regular as interacções entre agentes e controlar a sequência e oportunidade dessas interacções.

• Coordenação por negociação

A negociação é muito utilizada para partilhar tarefas/recursos entre os agentes (ver as Contract Nets da secção anterior). Ainda neste contexto, a Teoria de Jogos propõe estratégias de negociação e de formação de coligações que podem contribuir para a obtenção de melhores resultados em sistemas envolvendo agentes com diferentes objectivos e preferências.

(6)

Também os processos de estruturação de grupos de indivíduos, tais como o Nominal Group Technique e o Delphi Method, podem ser transpostos para a coordenação das actividades de agentes inteligentes.

• Coordenação por satisfação oportunista dos objectivos

O modelo de comunicação/coordenação através de um quadro comum (blackboard) tem sido muito utilizado em sistemas multi-agente. Neste modelo cada agente inteligente (“solucionador de problemas”) contribui oportunisticamente para o processo de resolução do grupo apresentando os seus “pontos de vista” próprios e comentando/criticando os “pontos de vista” dos outros agentes.

• Coordenação por troca de preferências

A troca (total ou parcial) das estruturas de preferências entre agentes pode ser utilizada para permitir que um grupo de agentes inteligentes e auto-motivados interajam entre si de forma a atingir soluções globalmente satisfatórias. É mesmo possível utilizar um esquema de coordenação que não envolva comunicação, necessitando os agentes de conhecer apenas as acções possíveis e a função utilidade uns dos outros.

• Coordenação por discussão de restrições (constraint reasoning)

Em algumas situações particulares de resolução de problemas em grupo, o principal objectivo da coordenação é encontrar (e manter) uma “região admissível” comum, considerando o conjunto de restrições individuais dos agentes. Uma vez que as restrições individuais de um agente podem afectar a decisão de outros agentes, é necessário que essas restrições sejam partilhadas e discutidas para que seja possível atingir uma solução satisfatória para todos. Outros mecanismos podem ser utilizados na coordenação de sistemas multi-agente. [Kraus, 1997], por exemplo, sugere a utilização de técnicas inspiradas nos modelos físicos da Mecânica Clássica, a utilização de métodos de Investigação Operacional (Set Partitioning Problem, Set Covering Problem e Queueing Networks) na formação de coligações e na distribuição dinâmica de tarefas por conjuntos de agentes, e a utilização de modelos informais das Ciências Comportamentais e Sociais para utilizar como heurísticas de cooperação e coordenação de agentes. [Pinson et al., 1997] propõem um mecanismo de coordenação que permite a resolução de conflitos entre agentes sem envolver negociação. Os agentes são providos de mapas cognitivos e são definidos “coeficientes de força” que representam a possibilidade de cada acção proposta por um agente contribuir para atingir cada objectivo do problema. Esta abordagem é baseada na Teoria do Conflito de [March e Simon, 1958] e no conceito de “compromisso” de [Simon, 1975].

4 Agentes no Apoio à Decisão

[Hess et al., 2000] afirmam claramente que a integração de agentes de software em sistemas de apoio à decisão permite automatizar um maior conjunto de tarefas anteriormente da responsabilidade dos utilizadores do sistema (Decisores, Coordenador, ...), bem como tornar pró-activas as componentes tradicionais dos sistemas de apoio à decisão. Essa integração permite uma gestão ainda mais indirecta do processo de decisão, isto é, diminui a necessidade de uma manipulação directa do sistema de apoio à decisão.

4.1 Apoio à convergência (organização das ideias)

A elaboração de um plano estratégico é um tipo de processo que normalmente é atribuído a um grupo de decisores e que, dada a sua complexidade, beneficia largamente da utilização de um sistema de apoio. [Orwig et al., 1996] consideram que neste tipo de processo é possível distinguir três fases distintas:

(7)

• A fase de geração de ideias onde os membros do grupo fornecem comentários ou ideias sobre diversos tópicos. Trata-se de uma fase “divergente”;

• A fase de organização das ideias, onde o objectivo é a síntese do texto “livre” gerado na fase anterior conduzindo à elaboração de uma lista de tópicos associados ao plano a elaborar que constitui um “modelo partilhado” acerca dos assuntos em questão. Trata-se portanto de uma fase “convergente”;

• A fase da verificação do nível de concordância existente no grupo acerca dos tópicos identificados na fase de organização das ideias.

É o coordenador do processo que tem a responsabilidade de, no final da primeira fase, proceder à organização das ideias e comentários apresentados pelos elementos do grupo. Essa função poderia ser delegada num agente de software (“Categorizador de Conceitos”) que estaria atento ao desenrolar da discussão e, simultaneamente, contribuiria para o processo convergente.

4.2 Recolha e monitorização de dados

Num sistema de apoio à decisão a qualidade da informação disponível é um factor crucial para a qualidade do apoio prestado. Se em alguns casos o maior volume de informação provém directamente dos decisores envolvidos (ver Secção 4.1), noutros casos essa informação é recolhida a partir de bases de dados disponíveis localmente ou disseminadas, por exemplo, na Internet.

No contexto particular da Internet, [Hess et al., 2000] propõem a utilização de “Agentes de Recolha de Dados” para assim detectar continuamente novas fontes de informação relevante. Complementarmente, sugerem um outro tipo de agentes, “Agentes de Monitorização de Dados”, que, uma vez confirmado o interesse de uma determinada fonte de informação, se encarregam de monitorizar determinados itens de informação e reportar alterações significativas neles ocorridas.

A principal vantagem da utilização destes agentes decorre da automatização da recolha de informação e do aumento da qualidade dessa informação (qualquer alteração significativa dos dados é considerada imediatamente pelo sistema).

4.3 Adaptação ao decisor

[Fazlollahi et al., 1997] propõem uma evolução do modelo tradicional de sistema de apoio à decisão apresentado em [Sprague e Carlson, 1982] que consiste na introdução de uma nova componente (para além dos dados, modelos e interface): a componente Adaptação. Esta componente deverá permitir a adequação do sistema às alterações das capacidades, necessidades e preferências dos decisores verificadas ao longo do processo de decisão.

Neste contexto [Hess et al., 2000] propõem, por exemplo, um tipo de agentes, “Agentes de Aprendizagem de Preferências”, que monitoriza as acções (respostas) de cada utilizador face às propostas do sistema de apoio à decisão. Estes agentes aumentam o apoio proporcionado pelo sistema ao verificar se as acções/opções do utilizador correspondem aos parâmetros preferenciais especificados inicialmente e, caso seja necessário, alterando-os. Esta característica é especialmente importante no caso de apoio à decisão em grupo uma vez que permite adaptar o apoio a cada decisor individual. É ainda proposto um outro tipo de agentes, “Agentes de Contacto”, responsáveis pela comunicação directa com o utilizador, que o notificam quando ocorrem alterações específicas no ambiente do sistema e que o guiam para uma utilização eficiente do apoio proporcionado. Estes agentes teriam também como função “filtrar” e “formatar” a informação apresentada ao decisor, considerando o nível de detalhe desejado, o modo de apresentação (gráfico, textual, tabular, ...), a relevância, etc.

(8)

4.4 Modelação

A componente “Modelos” da arquitectura genérica de um sistema de apoio à decisão proposta por [Sprague e Carlson, 1982] é, entre outras coisas, responsável pela geração e avaliação de alternativas. [Hess et al., 2000] propõem que essa componente seja pró-activa, sugerindo por isso a sua implementação através de “Agentes de Modelação”. Cada “Agente de Modelação” será responsável por um determinado modelo e estará continuamente atento a alterações nos dados (Secção 4.2) e parâmetros preferenciais relevantes para esse modelo (4.3). Sempre que alguma alteração significativa for identificada o modelo é “recalculado” automaticamente e os novos resultados disponibilizados.

Considerando que num determinado sistema de apoio à decisão podem ser utilizados vários modelos alternativos, poderá ser necessário “conciliar” os resultados desses diferentes modelos. Poderá então surgir um tipo de “Agente Meta-modelos”, continuamente atento a alterações nos diferentes modelos (por exemplo interagindo com os “Agentes de Modelação”) e responsáveis por lidar com as discrepâncias que daí possam advir. Essas diferenças podem ser apresentadas aos decisores, deixando-lhes a responsabilidade de as resolver ou o próprio agente pode tentar mediar um processo de negociação entre os diferente agentes responsáveis pelos modelos.

4.5 Crítica e argumentação

[Vahidov e Elrod, 1999] consideram que a crítica e a argumentação são essenciais na fase final do processo de decisão, nomeadamente na escolha da solução/alternativa final. Propõem por isso uma arquitectura de sistema de apoio à decisão que incorpora agentes responsáveis pela crítica (positiva e negativa) das diferentes alternativas, sustentando essas críticas com a respectiva argumentação. Esses agentes estariam não só atentos às diferentes alternativas (propostas pelos “Agentes de Modelação” ou pelos decisores) mas também à argumentação produzida pelos outros “Agentes Críticos”. Esta arquitectura inspira-se na Scientific Community Metaphor apresentada na secção 3.1, embora seja dada especial atenção ao papel dos “Opositores” e dos “Apoiantes”.

5 Agentes no Sistema de Apoio à Decisão LinearTri

Da análise da secção anterior pode confirmar-se a ideia de que a abordagem multi-agente é adequada para a conceptualização e/ou implementação de sistemas de apoio à decisão. Nomeadamente quando estes são compostos por diversas entidades autónomas peritas em determinados subdomínios e que, “resolvendo” subproblemas individualmente, contribuem para a resolução do problema global. Um aspecto relevante deste tipo de sistemas é a forma como decorre a interacção com os utilizadores (decisores). A ideia de um “Assistente Pessoal”, que conhece as preferências de cada utilizador, orientando-o na utilização do sistema e na exploração do problema, é adequada à conceptualização através de agentes. Parecem portanto reunidas as condições para uma reflexão acerca das vantagens de uma abordagem multi-agente ao sistema de apoio à decisão LinearTri. Este sistema será descrito, na sua forma actual, na subsecção seguinte. Na subsecção 5.2. será proposto um conjunto de agentes, e respectiva estrutura organizacional, a incorporar no novo sistema LinearTri como resultado de um processo de análise das funcionalidades pretendidas.

5.1 O Sistema LinearTri

O sistema LinearTri ([Lourenço e Costa, 2001b; Lourenço e Costa, 2001a]) foi desenvolvido para apoiar um decisor face a um problema que se encontra à partida estruturado (formulado através de programação linear inteira multi-objectivo) e onde se pretende classificar as

(9)

alternativas possíveis. A classificação consiste na afectação de cada alternativa a uma das categorias ordenadas (boas, más, muito más, ...) definidas pelo decisor, sendo para isso utilizado o método ELECTRE TRI ([Roy e Bouyssou, 1993]). Este método exige a definição de um conjunto de parâmetros preferenciais que o decisor nem sempre está preparado para fornecer directamente. O sistema LinearTri adoptou uma abordagem de agregação/desagregação utilizando exemplos de classificação fornecidos pelo decisor para inferir/determinar alguns desses parâmetros, exigindo assim um menor esforço cognitivo por parte do decisor. São inferidos os coeficientes de importância dos critérios e determinados os perfis de referência das categorias: os restantes parâmetros têm de ser fornecidos à partida pelo decisor.

Como o conjunto de alternativas (representadas por soluções não-dominadas1 do programa

linear) é definido implicitamente através de restrições lineares, é necessário começar por determinar e apresentar gradualmente cada alternativa ao decisor. Perante cada uma destas alternativas é solicitada ao decisor uma classificação (provisória) baseada numa avaliação holística, isto é, uma classificação “global” que não resulta explicitamente de um processo de agregação dos diferentes critérios. Desta forma vai sendo construído progressivamente um conjunto de exemplos de classificação que reflecte as preferências globais do decisor. A partir de um determinado momento a estrutura estabelecida até então é utilizada para sugerir ao decisor a classificação a atribuir a cada nova alternativa, isto é, a classificação que a nova alternativa obteria de acordo com as preferências expressas nos exemplos anteriores. No final, para além de conhecer as alternativas e a sua classificação, o decisor fica também a conhecer explicitamente a sua estrutura de preferências.

A Figura 1 ilustra as fases do processo de decisão apoiado pelo sistema LinearTri. As principais fases serão detalhadas de seguida.

1 Considere-se uma solução admissível do problema. Essa solução é não-dominada sse não existir uma solução melhor ou igual em todos os critérios e estritamente melhor num dos critérios.

(10)

É possível inferir novos parâmetros ?

Não Classificação holística da alternativa

Sim

Estrutura de preferências final e respectivas alternativas classificadas Formulação do problema e definição

de alguns parâmetros preferênciais

Sugestão de classificação de acordo com estrutura de preferências actual

Selecção de uma alternativa

Alteração da estrutura de preferências: - Novos parâmetros - Nova alternativa Há mais alternativas ? Sim Não A estrutura mantém-se Decisor LinearTri Cálculo de algumas alternativas

“características”

Figura 1 – Fases do processo de decisão apoiado pelo sistema LinearTri.

Cálculo de algumas alternativas “características”

O sistema LinearTri começa por apresentar as chamadas alternativas "extremas": alternativas resultantes da optimização individual de cada um dos critérios (representados através de funções objectivo). É ainda apresentada uma alternativa "central" que resulta de uma "ponderação" igual para todos os critérios. No conjunto estas alternativas são consideradas “características” (ou caracterizadoras) do problema.

Para identificar as restantes alternativas do problema, e assim prosseguir na construção do conjunto de exemplos, é necessário dividir sucessivamente o problema em subproblemas. O mecanismo de partição exige que o decisor escolha uma destas alternativas “características” e tem em consideração os seguintes aspectos:

• a alternativa escolhida;

• a granularidade2 pretendida pelo decisor;

• o critério que o decisor pretende ver melhorado relativamente à alternativa escolhida.

O novo subproblema é definido pela formulação do problema original à qual é acrescida uma restrição adicional. Essa restrição estabelece como limite inferior para o critério a melhorar o valor da alternativa escolhida nesse critério acrescido da granularidade pretendida. Ou seja, desse subproblema só poderão resultar alternativas que melhorem o critério pretendido em pelo menos o valor definido para a granularidade.

(11)

Inferência/determinação dos parâmetros preferenciais

De cada vez que o decisor escolhe uma alternativa “característica” tem de a classificar. Esse novo exemplo das suas preferências é depois utilizado pelo sistema LinearTri para inferir/determinar alguns parâmetros da estrutura ELECTRE TRI. Este processo pode ser efectuado de duas formas:

• automaticamente, utilizando uma heurística para a determinação dos perfis de referência e através da resolução de um problema de programação linear para os coeficientes de importância dos critérios;

• forma interactiva, mais flexível e que permite encontrar conjuntos de parâmetros impossíveis de determinar pela forma automática.

A Figura 2 apresenta as etapas seguidas na forma interactiva que serão depois explicadas (para um maior detalhe ver [Lourenço e Costa, 2002]).

Sim Não Estrutura de preferências válida? Estabelecimento dos perfis de referência iniciais

Tentativa de inferir os coeficientes de importância

Análise das discrepâncias de classificação Ajustamento dos perfis de referência FIM Sim Discrepâncias permanecem? FIM Não Decisor LinearTri

Figura 2 – Determinação dos parâmetros preferenciais.

O principal obstáculo à determinação conjunta destes parâmetros reside no facto de os efeitos de um tipo de parâmetro influenciar os efeitos do outro. A abordagem interactiva utilizada é um processo por “tentativa-e-erro”. Em traços gerais o procedimento proposto é o seguinte:

• Estabelecer um conjunto inicial de perfis de referência para as categorias.

O ideal seria que cada perfil (de cada categoria) fosse composto por valores inferiores em todos os critérios aos valores de todas as alternativas classificadas nessa categoria. No entanto, uma vez que as alternativas são representadas por soluções não-dominadas e os valores de cada perfil têm de ser todos superiores aos valores dos perfis das categorias inferiores, isso é impossível. Tenta-se portanto que os perfis iniciais sejam muito próximos desses valores ideais.

• Tentar inferir o conjunto de coeficientes de importância dos critérios.

Uma vez encontrado um conjunto inicial de perfis de referência das categorias, procede-se à tentativa de inferir um conjunto de coeficientes de importância dos critérios através de um programa linear.

(12)

O conjunto de perfis de referência e de coeficientes de importância determinados anteriormente por este processo não garante que a estrutura de preferências por eles definida conduza a uma classificação das alternativas de acordo com os exemplos de classificação fornecidos pelo decisor. Se a coincidência for total, então o processo está concluído e os parâmetros estão encontrados. Senão é necessário analisar as discrepâncias.

• Analisar as discrepâncias, ajustar os perfis de referência e tentar inferir um novo conjunto de coeficientes de importância.

Comparando as classificações obtidas com a estrutura de preferências inferida e as classificações fornecidas pelo decisor é possível determinar até que ponto a estrutura reflecte as suas preferências. É necessário começar por verificar onde estão as discrepâncias (alternativas classificadas em diferentes categorias) e qual a sua dimensão. Face a esta análise o decisor pode reconsiderar algumas classificações. Se isso não for suficiente, para eliminar as restantes classificações discrepantes tentar-se-á ajustar os perfis de referência (analisando os critérios que estão na origem da discrepância) e recomeçar o processo de inferência dos coeficientes de importância.

Tratando-se de um procedimento por “tentativa-e-erro” não estão definidas à partida todas as condições de paragem. Uma condição de paragem natural acontece quando a estrutura de preferências inferidas reflectir cabalmente todos os exemplos de classificação fornecidos inicialmente pelo decisor. O mesmo se passa quando, havendo discrepância de classificação, o decisor reconsidera algumas classificações e aceita as sugeridas pela estrutura inferida (analisando a dimensão real dessas discrepâncias). Pode ainda concluir-se, ao fim de algumas iterações e face aos resultados, que não é possível contemplar algumas alternativas e respectivas classificações na estrutura de preferências inferida.

5.2 Agentes a incorporar no sistema LinearTri

Tal como está projectado neste momento, o sistema LinearTri exige do decisor/utilizador um esforço considerável para conduzir o processo de decisão. Na fase “Selecção de uma alternativa” (ver Figura 1) o decisor tem de optar sucessivamente por uma das alternativas que lhe são apresentadas, determinando assim o percurso de análise do problema. Se por um lado a liberdade de escolha do percurso constitui uma vantagem, por outro lado o decisor pode ter dificuldade em “percorrer” o problema de uma forma coerente e organizada. Seria útil portanto que o sistema o aconselhasse sobre a próxima opção a tomar de forma a garantir alguma coerência ao percurso final. Uma segunda dificuldade para o decisor prende-se com a fase “Determinação dos parâmetros preferenciais” (ver Figura 2) visto tratar-se de um processo por “tentativa-e-erro”. Mais uma vez seria vantajoso que o sistema ajudasse o decisor facilitando a convergência do processo. Em ambas as situações, trata-se de apreender e analisar as preferências do decisor (expressas através de opções anteriores) para aconselhar acções futuras facilitando a interacção com o sistema. Finalmente, o facto de coexistirem no sistema LinearTri vários modelos preferenciais obriga o decisor a ter de lidar não só com os detalhes de cada modelo mas também com a complexidade resultante da sua integração. Efectivamente, no sistema LinearTri coexistem três modelos:

• o modelo do problema sobre o qual o decisor pretende classificar as alternativas; • o modelo de classificação de alternativas, baseado no método ELECTRE TRI; • o modelo de inferência/determinação dos parâmetros preferenciais.

Embora isso possa não transparecer da exposição da secção anterior, o apoio ao decisor seria mais eficaz se existisse um maior grau de integração entre os diferentes modelos. Cada modelo “aproveitaria” a interacção do decisor com os outros modelos para, por sua vez, diminuir o grau de exigência de informação proveniente desse mesmo decisor. Seria desejável portanto que cada

(13)

modelo se autonomizasse e estivesse atento ao que se passa entre o decisor e os outros modelos. Por seu lado o decisor também beneficiaria em transferir para o sistema algumas das suas funções (coordenação do processo, análise de resultados intermédios, escolha de valores, etc.) e, simultaneamente, diminuir a quantidade de informação que tem de fornecer (repetidamente) ao sistema. Estão portanto reunidas as condições para que uma nova arquitectura, baseada em agentes de software, melhore consideravelmente o apoio prestado ao decisor.

Considerando o que foi exposto na secção 4 é possível começar por definir três “Agentes de Modelação”, um por cada modelo.

“Agente do Problema”

O “Agente do Problema” tem por missão, após a definição de um problema através de programação linear inteira multi-objectivo, encontrar alternativas (soluções não-dominadas) para apresentar ao decisor. Deve estar atento à classificação proposta pelo “Agente ELECTRE TRI”, à classificação holística atribuída pelo decisor e ao processo interactivo de inferência/determinação dos parâmetros preferenciais. A partir dessa observação deverá ser capaz de prosseguir de forma mais eficaz o seu processo de determinação de alternativas, considerando os objectivos que o decisor pretende melhorar, que tipo de alternativas pretende ver a seguir, com que granularidade e qual o processo de cálculo mais adequado.

“Agente ELECTRE TRI”

O “Agente ELECTRE TRI” é responsável por manter actualizada a estrutura de preferências do decisor (alternativas, classificações, parâmetros preferenciais) e aconselhar, sempre que necessário, sobre a classificação que cada nova alternativa deve obter. Para além disso pode ainda funcionar como agente crítico no momento em que o decisor decidir alterar alguma classificação previamente atribuída, particularmente durante o processo interactivo de inferência/determinação dos parâmetros.

“Agente de Inferência”

Por fim o “Agente de Inferência” tem por função verificar, para cada nova alternativa/classificação, se é possível alterar os parâmetros preferenciais de forma a incluí-la na estrutura de preferências. O decisor poderá optar entre uma inferência/determinação automática mas menos flexível ou então por um processo interactivo e iterativo. Neste caso é crucial que receba o maior apoio possível tanto na condução do processo como nas opções que terá de tomar. Neste último aspecto o “Agente de Inferência” deverá considerar as opções tomadas em processos de inferência/determinação anteriores bem como a informação trocada pelo decisor com os restantes agentes.

Um dos aspectos mais importantes a desenvolver no sistema é a forma de condução do processo de decisão, pelo que é necessário definir um quarto agente.

“Agente de Adaptação ao Decisor”

A sua principal função é a coordenação de todo o processo, com particular atenção para a garantia de convergência e coerência do caminho percorrido pelo decisor. Essa coerência não deve ser forçada, isto é, uma das vantagens do sistema é a sua flexibilidade. O decisor pode voltar atrás e voltar a uma alternativa já analisada. A partir dessa alternativa pode escolher um novo caminho de análise, ou seja, escolher um critério a melhorar diferente do escolhido anteriormente. No final, se todos os caminhos possíveis tiverem sido explorados pelo decisor o conjunto de caminhos percorridos formará uma árvore cujos nós são conjuntos de alternativas “caracterizadoras” (em representação dos respectivos subproblemas). Este agente tem portanto como principal missão analisar a interacção do decisor com os outros agentes de forma a aconselhar um caminho de análise. É também responsável por manter e apresentar ao decisor a

(14)

informação relevante sobre o seu percurso no processo, tendo em conta o melhor formato para a sua representação.

Um aspecto importante a definir é o da estrutura organizacional escolhida para o sistema multi-agente e os respectivos mecanismos de coordenação. Da descrição feita anteriormente dos diferentes modelos pode verificar-se que não existe uma relação hierárquica entre eles. Consequentemente, parece natural que seja adoptada uma forma de organização não-hierárquica para os agentes correspondentes do sistema. Quanto à coordenação, é importante considerar que cada agente deve poder acompanhar a interacção dos outros agentes entre si bem como de cada agente com o decisor. Este também beneficiaria da existência de um interface único com o sistema, independentemente do agente com o qual estivesse a interagir. O mecanismo natural para uma situação deste género será o de um quadro comum (blackboard). Cada agente estará atento às intervenções do decisor e dos outros agentes, intervindo da forma e no momento que considere mais oportuno. Uma observação atenta do decorrer dessa “conversação” deverá permitir a cada agente realizar as suas tarefas de forma mais eficaz e com maior autonomia. Num desenvolvimento posterior poder-se-á conceber um sistema enriquecido com outros tipos de agentes. Nomeadamente agentes que utilizem outros modelos de classificação de alternativas, sendo nesse caso necessário algum tipo de coordenação que permita a resolução de eventuais conflitos entre eles. Também seria desejável alargar o apoio a vários decisores simultaneamente o que teria como consequência a necessidade de coordenar vários “Agentes de Adaptação ao Decisor”.

6 Conclusões

Para que seja prestado um apoio eficaz a um decisor isolado ou em grupo é importante que o sistema que presta esse apoio seja o mais autónomo possível, libertando o decisor de tarefas inerentes à condução do processo ou que exijam um esforço cognitivo desnecessário. As características dos agentes de software (e correspondentes sistemas multi-agente) enunciadas ao longo do artigo parecem evidenciar que estes poderão dar um contributo importante para o desenvolvimento de melhores sistemas de apoio à decisão. Isso mesmo pôde ser comprovado pelos exemplos recolhidos na literatura bem como pela proposta, feita neste artigo, de uma nova arquitectura para o sistema LinearTri. Este sistema foi já aplicado a diferentes problemas modelados através de programação linear inteira multi-objectivo. Uma das principais dificuldades identificadas prende-se com a condução do próprio processo, que não garante uma certa convergência e coerência no percurso efectuado pelo decisor ao longo do processo de decisão. Este aspecto, particularmente relevante visto tratar-se de um sistema interactivo e muito flexível, foi contemplado com a inclusão de um agente atento às opções do decisor avisando-o de eventuais desvios, retrocessos ou incongruências. Outra dificuldade resulta da utilização de diferentes modelos que, ao funcionarem sequencial e separadamente, obrigam o decisor a um esforço cognitivo acrescido para fornecer informação (porventura redundante) acerca das suas preferências. Pelo menos ao nível da modelação, a utilização de agentes poderá melhorar significativamente o apoio prestado pelo sistema LinearTri. A adopção de uma arquitectura multi-agente permitirá, no futuro, incorporar de forma mais eficaz novos modelos multi-critério de classificação de alternativas, possibilitando o confronto/negociação de resultados provenientes de diferentes “escolas de pensamento”. Também a possibilidade de utilização do sistema por diferentes utilizadores em simultâneo poderá ser facilitada pelo facto de existir um “Agente de Adaptação ao Decisor” atribuído a cada decisor.

Agradecimento: Este trabalho foi parcialmente apoiado pela FCT e pelo FEDER, projecto POCTI/32405/GES/2000.

(15)

6 Referências

Bond, A. H. e L. Gasser, Eds. (1988). Readings in Distributed Artificial Intelligence, Morgan Kaufmann.

Davies, R. e R. G. Smith (1983). "Negotiation as a metaphor for distributed problem solving." Artificial Intelligence 20(1): 63-109.

DeSanctis, G. e R. B. Gallupe (1987). "A foundation for the study of group decision support systems." Management Science 33(5): 589-609.

Fazlollahi, B., M. Parikh e S. Verma (1997). "Adaptive decision support systems." Decision Support Systems 20(4): 295-317.

Franklin, S. e A. Graesser (1997). Is it an agent, or just a program? Intelligent Agents III: Agent Theories, Architectures, and Languages. J. P. Muller, M. J. Wooldridge and N. R. Jennings. Berlin, Springer-Verlag: 21-36.

Hess, T. J., L. P. Rees e T. R. Rakes (2000). "Using autonomous software agents to create next generation of decision support systems." Decision Sciences 31(1): 1-31.

Jennings, N. R. (1995). Agent Software. UNICOM Seminar on Agent Software, London, UK: 12-27.

Kornfeld, W. A. e C. Hewitt (1981). "The scientific community metaphor." IEEE Transactions on Systems, Man and Cybernetics SMC 11(1): 24-33.

Kraus, S. (1997). "Negotiation and cooperation in multi-agent environments." Artificial Intelligence 95: 79-97.

Lourenço, R. e J. P. Costa (2001a). Classification of Nondominated Solutions in Multiple Objective Linear Integer Programming Problems. 15th International Conference on Multiple Criteria Decision Making, Middle East Technical University, Ankara, Turkey, Springer: 132-141.

Lourenço, R. e J. P. Costa (2001b). O sistema LinearTri: apoio à classificação de alternativas. 2ª Conferência da Associação Portuguesa de Sistemas de Informação, Évora.

Lourenço, R. e J. P. Costa (2002). Using ELECTRE TRI outranking method to classify MOMILP nondominated solutions. 12th Mini EURO Conference, Brussels - VUB. March, J. G. e H. A. Simon (1958). Organizations, Wiley.

Orwig, R., H. Chen, D. Vogel e J. F. Nunamaker (1996). "A multi-agent view of strategic planning using group support systems and artificial intelligence." Group Decision and Negotiation 5: 37-59.

Ottaway, T. A. e J. R. Burns (1997). "Adaptive, agile approaches to organizational architecture utilizing agent technology." Decision Sciences 28(3): 483-511.

Pinson, S., J. A. Louçã e P. Moraitis (1997). "A distributed decision support system for strategic planning." Decision Support Systems 20(1): 315-328.

Rasmussen, J. (1991). Modeling Distributed Decision Making. Distributed Decision Making: Cognitive Models for Cooperative Work. J. Rasmussen, B. Brehmer and J. Leplat. New York, Wiley: 111-142.

Roy, B. (1985). Méthodologie multicritère d'aide à la décision. Paris, Economica. Roy, B. e D. Bouyssou (1993). Aide Multicritère à la Décision: Méthodes et Cas. Paris,

(16)

Schwartz, A. (1994). "Group decision making." The CPA Journal: 60-63.

Shaw, M. e M. Fox (1993). "Distributed artificial intelligence for group decision support. Integration of problem solving, coordination and learning." Decision Support Systems 9(4): 349-367.

Simon, H. A. (1975). Administrative Behaviour, MacMillan.

Simon, H. A. (1977). The New Science of Management Decisions, Prentice-Hall.

Smith, R. G. e R. Davies (1981). "Frameworks for cooperation in distributed problem solving." IEEE Transactions on Systems, Man and Cybernetics SMC 11(1): 61-69.

Sprague, R. H. e E. D. Carlson (1982). Building effective decision support systems. Englewood Cliffs, HJ, Prentice Hall.

Sycara, K. P., D. Zeng e K. Decker (1998). Intelligent agents in portfolio management. Agent technology: Foundations, Applications, and Markets. N. R. Jennings and M. J. Wooldridge. Berlin, Springer.

Turban, E. (1988). Decision Support Systems and Expert Systems. New York, Macmillan. Vahidov, R. e R. Elrod (1999). "Incorporating critique and argumentation in DSS." Decision

Support Systems 26(3): 249-258.

Wooldridge, M. J. e N. R. Jennings (1995). "Intelligent agents: theory and practice." Knowledge Engineering Review 10(2): 115-152.

Zambonelli, F., N. R. Jennings, A. Omicini e M. Wooldridge (2001). Agent-oriented software engineering for the Internet. Coordination of Internet Agents. A. Omicini, F.

Imagem

Figura 1 – Fases do processo de decisão apoiado pelo sistema LinearTri.
Figura 2 – Determinação dos parâmetros preferenciais.

Referências

Documentos relacionados

socioeconômicos que expressam desigualdade no acesso aos bens e serviços, desvantagens, fragilidades nas relações de pertença social, relacional, como consequência da crise de

Foi possível durante a condução da pesquisa obter melhoria no sistema de drenagem e tratamento de Ácido Sulfúrico Fumegante, trazendo benefícios para o

Os principais componentes de uma SAS (sistema de aquecimento solar) são indicados na Figura 2.8, são: Módulo ou caixa: geralmente de alumínio suporta e protege todos os

Ainda, neste trabalho, houve alguns aspectos em que significantemente não ocorreram alterações, como a presença de sub-harmônicos em M1XM2XM3, a presença de

Para essa implementação deve-se observar que muitos sistemas têm sido construídos baseados exclusivamente em requisitos técnicos, deixando a arquitetura implícita

a) A ocupação dos lugares de venda sem a respetiva licença de ocupação constitui contraordenação punível com coima graduada de um quarto até ao máximo de um salário

7.5 A documentação do candidato aprovado (exceto curriculum vitae, no formato da Plataforma Lattes/CNPq), acompanhado de Comunicação Interna (de acordo com o modelo

Num centro de saúde existem dois médicos de clínica geral para atender os doentes. A chegada destes ao posto segue uma distribuição Poisson de média 10 por hora. Um dos