resolução de conflitos - dei.isep.ipp.ptasilva/resources/sibag/documentos/1020541... · sistemas...
TRANSCRIPT
Mestrado em Engenharia Informática
Tecnologias do Conhecimento e Decisão
Sistemas Baseados em Agentes
Resolução de Conflitos
Abril de 2008
Realizado por:
1020541 – Ivo Pereira
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 1
Índice
Índice................................................................................. 1
1. Introdução ................................................................... 2
2. Conflitos em Ambientes Cooperativos .................................. 3
2.1. Resolução de Conflitos em Ambientes Cooperativos ............ 3
2.2. Classificação de situações de conflito e cooperação............ 4
2.3. Funcionalidades para negociação .................................. 7
2.4. Funcionalidades para resolução de conflitos ..................... 8
3. Resolução de Conflitos..................................................... 9
3.1. Tipos de interacção entre agentes ................................. 9
3.2. Resolução de Conflitos .............................................. 12
3.3. Cooperação na Resolução de Conflitos ........................... 13
4. Métodos Quantitativos para a Resolução de Conflitos............... 14
4.1. Programação Linear ................................................. 15
4.2. Teoria de Jogos....................................................... 18
4.3. Abordagem de Rede ................................................. 21
5. Conclusão ................................................................... 24
6. Bibliografia ................................................................. 25
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 2
1. Introdução
Este trabalho surge no âmbito da disciplina de Sistemas Baseados em
Agentes do curso de Mestrado em Engenharia Informática, ramo de
Tecnologias do Conhecimento e Decisão, do Instituto Superior de Engenharia.
Devido ao facto de que, em sistemas inteligentes multi-agente, os
conflitos entre agentes são sempre possíveis de acontecer, o objectivo deste
trabalho é identificar os motivos inerentes à sua existência assim como
processos de resolução e possíveis metodologias para essa mesma resolução.
O documento encontra-se dividido em três secções principais, na secção
2 é abordada a resolução de conflitos em ambientes cooperativos, sendo
apresentada uma classificação de situações de conflito e cooperação. Na
secção 3 são identificados os vários tipos de interacção entre agentes e é feita
uma abordagem de resolução de conflitos nessas diferentes situações. Na
secção 4 são descritos alguns métodos quantitativos para a resolução de
conflitos.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 3
2. Conflitos em Ambientes Cooperativos
2.1. Resolução de Conflitos em Ambientes Cooperativos
O aparecimento de conflitos em comunidades cooperativas de agentes é
sempre possível, devido ao facto destes possuírem conhecimento e métodos
de resolução distintos. Os conflitos podem surgir durante operações de
partilha de tarefas ou operações de partilha de resultados, podendo ser
identificados como positivos ou negativos [1]. Os diferentes tipos de conflitos
podem então ser classificados como:
! Conflitos positivos na partilha de tarefas ocorrem sempre que
existam vários agentes capazes de executar a mesma tarefa pedida
por um agente organizador. Esta situação competitiva tem de ser
tratada através de mecanismos de negociação. A selecção do agente
ao qual atribuir a responsabilidade de execução da tarefa deve ser
realizada pelo agente organizador.
! Conflitos negativos na partilha de tarefas ocorrem quando não
existe nenhum agente que deseje ou possa executar uma tarefa
pedida pelo agente organizador. Esta situação requer que o
organizador crie um novo plano viável para que a tarefa se torne
exequível.
! Conflitos positivos na partilha de resultados ocorrem sempre que
vários agentes, que tentam executar a mesma tarefa, possuam
resultados diferentes mas complementares, ou resultados
semelhantes mas com graus de credibilidade diferentes.
! Conflitos negativos na partilha de resultados ocorrem sempre que
vários agentes, que executem a mesma tarefa, produzam resultados
antagónicos ou inconsistentes. A resolução deste tipo de situações
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 4
implica a capacidade de determinação da qualidade (quantitativa ou
qualitativa) da informação e conhecimento específico do domínio. É
necessário a existência de um perito para a resolução destes
conflitos, que pode ser representado como uma entidade inteligente
isolada, ou distribuído por todos ou alguns agentes da comunidade.
2.2. Classificação de situações de conflito e cooperação
A existência de vários tipos de situações em que agentes necessitam de
cooperar para resolverem conflitos entre eles deu origem a uma classificação
alargada de Casos de Cooperação e Conflitos (CCCs) [1]. Com esta
classificação pode-se sugerir políticas apropriadas para lidar com cada
situação. Algumas situações requerem níveis de negociação diferentes
enquanto que noutras é necessário a aplicação de técnicas de resolução de
conflitos. A cooperação é necessária quando existem várias formas dos
agentes partilharem quer tarefas quer resultados.
Em seguida, usa-se a notação N!M para representar a relação “número
de organizadores” ! “número de agentes que respondem a pedidos”.
CCC1 – Um agente pede ajuda a outro agente que se encontra
desocupado. Este é um tipo de cooperação de partilha de tarefas onde pode
ser usado o protocolo cliente/servidor e constitui uma relação de 1!1.
CCC2 – Um agente pede ajuda a outro agente que já tem algumas tarefas
agendadas. Deve ser estabelecida uma negociação entre ambos, tendo em
atenção as prioridades das tarefas. Esta situação de partilha de tarefas é
igualmente uma relação de 1!1.
CCC3 – Um agente solicita um serviço a vários agentes. Nesta situação
temos vários agentes potenciais a responder ao agente organizador (relação
1!M) e deverá ser usada uma negociação através de uma rede de contratos.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 5
CCC4 – Vários agentes com papel de organizadores tentam negociar a
execução de tarefas com um único agente. Esta situação cooperativa de
partilha de tarefas é do tipo N!1. No entanto, ainda podem ser
descriminadas algumas possibilidades diferentes de interacção:
! O agente que responde a pedidos está simultaneamente a ser
solicitado para a execução de várias tarefas diferentes;
! O agente que responde a pedidos está a ser solicitado por vários
agentes organizadores para desempenhar a mesma tarefa;
! Em ambos os casos anteriores, pode acontecer que apenas um
agente que responde a pedidos esteja a ser solicitado por todos os
organizadores. Isto pode ser visto como uma relação N x (1!1);
! Pode também acontecer que todas as interacções entre os agentes
organizadores e esse agente específico que responde a pedidos
sejam apenas parte de uma negociação global levada a cabo
simultaneamente. Isto significa que os agentes organizadores
podem também estar a tentar negociar com outros agentes.
Então, trata-se de uma relação do tipo N!M já que do ponto de
vista do agente que responde a pedidos é uma relação N!1 e do
ponto de vista do organizador é uma relação 1!M;
CCC5 – Um agente recebe várias respostas coincidentes provenientes de
agentes diferentes. Isto leva a uma situação de cooperação do tipo de partilha
de resultados:
! Se estes resultados estiverem disponíveis ao mesmo tempo para
serem tomados em consideração, o factor da credibilidade da
informação é aumentado;
! Se os resultados chegam em instantes diferentes e caso o primeiro
já esteja a ser utilizado, os restantes podem ser simplesmente
ignorados ou então guardados com a etiqueta de tempo
actualizada.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 6
CCC6 – Vários resultados (respostas a pedidos anteriores ou informação
enviada voluntariamente) provenientes de vários agentes são diferentes. Mais
uma vez estamos perante uma situação de partilha de resultados, podendo
ainda ser decomposta em:
! Os resultados encontram-se em conflito e são completamente
antagónicos. A escolha de uma alternativa requer o uso de uma
heurística;
! Os resultados estão em conflito porque contêm alguma
inconsistência. Deve ser executada uma negociação entre os
agentes para troca de restrições e re-execução de sub-tarefas por,
pelo menos, um deles;
! Resultados bastante diferentes podem ser vistos como
complementares e, como tal, deve, ser integrados num único
resultado.
CCC7 – Um agente não recebeu uma entrada esperada (proveniente de
outro agente em resposta a um pedido anterior) em tempo útil. Neste caso, o
agente organizador tem de ultrapassar esta situação, por exemplo,
escolhendo outro plano.
CCC8 – Um agente já não se encontra interessado em informação
solicitada anteriormente a outros agentes. Nesta situação, o agente deve
comunicar o sucedido aos outros agentes.
CCC9 – Um agente deduz que não conseguirá realizar uma tarefa
solicitada em tempo útil. Este deve então enviar ao agente organizador essa
informação para que este possa encontrar uma solução alternativa para o
problema.
CCC10 – Detecção de um tipo de deadlock, devido talvez à decomposição
incorrecta de tarefas.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 7
CCC11 – A cooperação existe como consequência de informação
submetida voluntariamente por outros agentes. Estas mensagens, sempre que
recebidas, podem despoletar uma nova tarefa ou aperfeiçoar a informação
disponível, através da partilha de resultados. Pode também implicar que os
agentes que respondem a pedidos re-executem uma tarefa já executada.
2.3. Funcionalidades para negociação
Na recepção de um pedido de negociação, a camada de cooperação de
um agente produz uma mensagem de licitação expressando o tempo
necessário para ter a tarefa concluída.
A prioridade da tarefa deve ser calculada e em seguida deve-se
considerar a sua inclusão na posição correcta da agenda, sendo verificado o
seu tempo de execução esperado bem como o tempo de execução de outras
tarefas com menor prioridade, com o tempo limite em que as tarefas devem
estar concluídas. Uma mensagem de licitação deve ser retornada com a
informação sobre a possibilidade de aceitação da tarefa, o tempo esperado
para a execução da tarefa e a qualidade esperada dos resultados.
O agente que recebe mensagens de licitação (possivelmente de vários
executores) avalia-as de acordo com a fonte de conhecimento
correspondente:
! Para todas as licitações cujo tempo esperado de execução seja
menor que o prazo limite, deve ser escolhido o agente que produz
maior qualidade de resultados.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 8
2.4. Funcionalidades para resolução de conflitos
Para cada tarefa que pode ser executada por mais que um agente, deve
existir pelo menos um agente Agrc capaz de analisar todos os resultados
(respostas) disponíveis para essa tarefa. Este agente, perito na resolução de
conflitos específicos da tarefa, está encarregue de enviar o resultado final
para o organizador (o agente que fez o pedido).
Um agente é capaz de se aperceber (através da consulta dinâmica de
parte do seu modelo de conhecimento) que outro agente está também a
responder ao mesmo pedido (devido a ambos terem sido contratados ou
terem-se disposto voluntariamente para ajudar). Quanto isto acontece, os
resultados têm de ser enviados para o agente Agrc. Este agente vai consultar,
no seu modelo, o procedimento apropriado para lidar com esse tipo de
conflito, o que pode ser baseado em conhecimento dependente do domínio.
O agente Agrc é responsável pela emissão de um resultado, no prazo
limite de tempo, calculado a partir do tempo restante recebido.
Outro tipo de conflito ocorre sempre que o agente organizador recebe
entradas diferentes para a tarefa que pretende executar, e estas diferentes
entradas (todas necessárias) são de alguma maneira inconsistentes. Esta
inconsistência pode ser causada pelo facto de entradas relacionadas não
pertencerem ao mesmo contexto, o que pode ser detectado. Em situações
mais complexas, a detecção de conflitos deve ser da responsabilidade do
sistema inteligente [1].
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 9
3. Resolução de Conflitos
Os agentes podem interagir através de situações de cooperação,
compromisso ou conflito [2]. Caso exista um estado do mundo que satisfaça os
objectivos de todos os agentes, estes podem negociar um plano conjunto que
altere o estado do mundo, através do estabelecimento de acordos. Para
ultrapassar o problema de operações indivisíveis, os agentes têm de negociar
planos conjuntos combinados.
Existem dois tipos de acordos possíveis:
! Um acordo puro é um plano conjunto " #BA PP , que altera o mundo
do estado inicial s para um estado BA GG $ ;
! Um acordo é um plano conjunto combinado " # %&'' 10;:, ppPP BA
sendo " #BA PP , um acordo puro.
Num acordo entre dois agentes, estes vão desempenhar um plano
conjunto " #BA PP , , em que um agente vai realizar a parte do plano AP e o
outro a parte BP , com probabilidade p ou então realizam o plano " #AB PP ,
com probabilidade p(1 .
3.1. Tipos de interacção entre agentes
Os tipos de interacção entre agentes podem ser de cooperação,
compromisso ou conflito, sendo que:
! Uma situação de cooperação é aquela em que existe um acordo
num conjunto de negociação que é preferido por um agente para
atingir sozinho o seu objectivo. Neste caso, o agente aprecia a
existência de outros agentes para em conjunto atingirem um
objectivo comum, sendo que esses agentes realizam várias tarefas
complementares ou partilham recursos entre eles;
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 10
! Uma situação de compromisso é aquela em que existem acordos
individuais racionais para cada agente. No entanto, um agente
pode preferir estar sozinho no mundo e atingir o seu objectivo
sozinho. Mas a partir do momento em que é obrigado a lidar com
outros agentes, este agente irá fazer acordos. Para ele, qualquer
um dos acordos do conjunto de negociação é melhor do que
abandonar o mundo no seu estado inicial;
! Uma situação de conflito implica uma contradição entre os
objectivos dos agentes ou então o custo para que todos os agentes
alcancem os seus objectivos é demasiado alto. O conjunto de
negociação encontra-se vazio não existindo assim a possibilidade
de se realizar um acordo racional.
Agentes diferentes podem ter visões diferentes sobre a mesma
interacção. Por exemplo, uma interacção pode ser cooperativa para um
agente e de compromisso para outro. Contudo, uma situação de conflito é
sempre simétrica.
Figura 1 – Situação Cooperativa Figura 2 – Situação de Compromisso
Figura 3 – Situação de Conflito
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 11
Quando o conjunto de negociação não é vazio consegue-se distinguir
entre situações de compromisso e cooperação de um determinado agente i utilizando o seguinte algoritmo:
1. Se " #ii GsCustoC )' , então estamos perante uma situação
cooperativa;
2. Se " #ii GsCustoC )* , então o agente pode encontrar-se tanto numa
situação de cooperação como de compromisso. A forma de se distinguir
entre ambas é descrita de seguida:
a. Defina-se " #ii GsCustoC )+* , deixando os custos dos outros
agentes intactos;
b. Caso o conjunto de negociação resultante seja vazio, então o
agente i encontra-se numa situação de compromisso;
c. Caso contrário o agente i encontra-se numa situação de
cooperação.
Cada uma destas situações pode ser representada utilizando diagramas.
A situação cooperativa é descrita na Figura 1 e a situação de compromisso na
Figura 2. Um ponto no plano representa um estado do mundo, cada oval
representa o conjunto de estados do mundo que satisfazem o objectivo de um
agente, e s é o estado inicial do mundo. As linhas triplas provenientes de s
representam o plano conjunto que muda o mundo para o estado final. Cada
agente participa na realização do plano conjunto. A intersecção entre ovais
representa os estados finais que satisfazem os objectivos dos dois agentes. A
distância entre s e cada uma das ovais representa o custo associado ao
esforço de um agente transformar o mundo para o estado que satisfaz o seu
objectivo.
Como se pode verificar na Figura 2, a distância de s a qualquer uma das
ovais dos agentes é menor que a distância de s à intersecção das duas ovais.
Nesta situação seria melhor que cada cliente simplesmente satisfizesse o seu
próprio objectivo, estando assim sozinho no mundo. Por outro lado, na Figura
1, cada agente beneficia da existência do outro, pelo que unirão esforços para
realizar um plano conjunto.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 12
3.2. Resolução de Conflitos
Tanto em situações de cooperação como em situações de compromisso
existem acordos que são racionais para todos os agentes, sendo que estes
negoceiam sobre quais desses acordos vão ser alcançados, no caso de existir
mais do que um. Surge então a questão do que fazer quando existem agentes
em situação de conflito e não existe um único acordo que seja racional para
cada um deles. Neste caso, os agentes têm um conflito real que necessita de
ser resolvido e não meramente a situação de escolher um acordo que seja
aceitável para todos.
Para ultrapassar este impasse é necessário existir um mecanismo no qual
os agentes possam “comprar a sua liberdade” prometendo aos seus
concorrentes acções futuras proveitosas para eles. Uma possibilidade é a
negociação baseada em probabilidades.
Considere-se o exemplo do lançamento de uma moeda ao ar em que cada
face da moeda tem probabilidades diferentes ( iq e jq ) de ganhar.
Inicialmente os agentes negoceiam entre si o peso de cada face da moeda. Se
os agentes não concordarem com esta forma de negociação o estado do
mundo não é alterado. A utilidade do agente i é normalmente a diferença
entre o custo máximo a que está disposto a despender para atingir o seu
objectivo e o custo que gastará na realidade para atingir o estado final do
mundo. Caso o agente i ganhe o lançamento da moeda este pode alcançar o
seu objectivo, sendo a sua utilidade igual a " #" #iii GsCustoCq )(, . Caso
perca, o agente oponente é que irá satisfazer o seu objectivo, sendo a
utilidade do agente j igual a " #" #jjj GsCustoCq )(, e o custo despendido
pelo agente i igual a 0.
Se os agentes concordarem no lançamento da moeda com uma
probabilidade q , então a utilidade para o agente i é de
" #" #iii GsCustoWq )(, , onde qqqq BBA (++ 1; . Este acordo pode ser
visto graficamente na Figura 3 onde uma linha representa o plano de um
agente.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 13
3.3. Cooperação na Resolução de Conflitos
Os agentes podem achar que, numa situação de conflito, em vez de
simplesmente lançarem uma moeda ao ar, seria melhor para eles unir esforços
e cooperativamente alcançarem um novo estado do mundo (não satisfazendo
nenhum dos seus objectivos) e então lançar a moeda ao ar para decidirem que
agente fica com o objectivo realmente satisfeito.
Um acordo semi-cooperativo é um tuplo " #qJt ,, em que t é um estado do
mundo, J é o plano conjunto combinado que move o mundo do estado inicial
s para o estado final t , e %&'' 10 q é o peso de cada face da moeda, ou
seja a probabilidade de um agente atingir o seu objectivo.
A ideia deste acordo é que os dois agentes realizem conjuntamente o
plano combinado J e alterem o estado do mundo para o estado t . Uma vez
alcançado o estado t , os agentes lançam a moeda ao ar com o peso q de
forma a decidirem quem continua com o seu plano de forma a atingir o seu
objectivo.
Define-se a utilidade para a cooperação na resolução de conflitos da
seguinte forma:
" #qJtUtilidadei ,, " # " #" # " # " #JCustoqGtCustoJCustoCq iiiiii (()((+ 1
" #" # " #JCustoGtCustoCq iiiii ()(+
O acordo semi-cooperativo está representado na Figura 4. De novo, a
linha tripla representa um plano conjunto enquanto que uma única linha
representa o plano de um único agente.
Figura 4 – Acordo semi-cooperativo
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 14
4. Métodos Quantitativos para a Resolução de Conflitos
Num ambiente de conflito cada agente representa um perito. De um
ponto de vista de alto nível existem potenciais conflitos sempre que as
competências de agentes com domínios específicos diferentes entram em
sobreposição. Estes conflitos devem ser resolvidos de forma a assegurar que
os agentes cooperam para obter a solução global.
Os conflitos podem ser representados através de várias abordagens:
! Sempre que um conflito é detectado, a informação relevante é
armazenada num objecto de representação do conflito e é enviada
ao agente responsável pela resolução de conflitos. Neste caso não
é necessária interacção entre os agentes em conflito, reduzindo
assim a troca de mensagens;
! Sempre que um conflito é detectado, o agente reporta o conflito
ao agente responsável pela resolução de conflitos. Este último
adquire a informação relevante sempre que necessário. Esta
abordagem é realizada questionando o agente através de consultas
o que complica esta etapa. A vantagem é que não será extraída
informação redundante.
Diferentes tipos de conflitos requerem diferentes estratégias de
resolução de conflitos. De seguida, com base na análise de Lo e Wu [3], são
descritos alguns métodos quantitativos para resolver o problema da existência
de conflitos.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 15
4.1. Programação Linear
Neste método são feitas duas suposições:
1. Os agentes A e B são independentes um do outro. Se não fossem,
os seus processos de tomada de decisão iriam afectar cada um
deles;
2. O papel dos agentes A e B é fornecer valores de variáveis de
decisão. Cada agente fornece, pelo menos, um conjunto de
valores de variáveis de decisão. Se faltar um conjunto de
variáveis de decisão então o seu valor será zero.
Com base nestas duas suposições, o agente C tem uma função objectivo
que é uma função linear que contém as variáveis de decisão. Estas variáveis
de decisão são fornecidas pelos agentes A e B na seguinte forma:
" # nn xcxcxcxf ---+ ...2211
em que nxxx ,...,2,1 são variáveis de decisão e nccc ,...,2,1 são os seus
coeficientes.
Um exemplo deste método é uma fábrica de produção. O objectivo da
empresa é maximizar o seu lucro total. Neste caso, nxxx ,...,2,1 podem
representar quantidades dos diferentes produtos a serem produzidos e
nccc ,...,2,1 podem ser unidades de lucro que cada produto proporciona à
empresa.
Cada agente pode ser visto como um departamento (Vendas,
Contabilidade, Produção, etc.), e neste exemplo considera-se que o agente A
corresponde ao Departamento de Vendas. O seu objectivo é maximizar os
lucros e produzir 1x unidades do produto 1, 2x unidades do produto 2, 3x
unidades do produto 3. No entanto, o objectivo do agente B, que corresponde
ao Departamento de Contabilidade, é maximizar os lucros e produzir 1y
unidades do produto 1, 2y unidades do produto 2, 3y unidades do produto 3.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 16
Como 1c , 2c e 3c são valores fixos, o lucro máximo é dependente das
variáveis de decisão fornecidas " #32,1 , xxx e " #32,1 , yyy .
Existem então dois conjuntos diferentes de valores para o objectivo,
um é " # 332211 xcxcxcxf AAAA --+ e o outro " # 332211 ycycycyf BBBB --+ , o
que dá origem a uma situação de conflito em relação à quantidade de cada
produto. Por este motivo, outro agente, denominado por C, é necessário para
realizar a resolução do conflito. O papel do agente C é comparar os valores de
" #xf A e de " #yfB e escolher o maior. Se por exemplo, " # " #yfxf BA * então a
fábrica irá ter de lucro 332211 xcxcxc AAA -- .
Esta estratégia de resolução de conflitos é aplicável quando as
equações apresentam lucro. No caso de representarem custo, o valor
escolhido deve ser o menor.
Vantagens e Desvantagens
Existem cinco vantagens que devem ser referidas:
1. Simplicidade – A programação linear é baseada na teoria das
equações e usa apenas polinómios com expoente um.
Basicamente, o conceito de equação é bastante simples, logo a
representação de Programação Linear torna-se fácil.
2. Clareza – A função objectivo exprime as variáveis de decisão e a
relação entre elas sendo fácil saber essa relação através da
equação.
3. Expansibilidade – Os agentes podem extender-se a N agentes em
largura. Isto é, o agente C pode não só resolver os conflitos entre
os agentes A e B, mas também conflitos entre outros agentes ao
mesmo tempo tal como ilustra a figura seguinte.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 17
Figura 5 - Diagrama de Expansibilidade
4. Hierarquia – É similar à expansibilidade. Os agentes podem ter N
níveis de profundidade. Todos os agentes em cada nível têm um
sub-objectivo que pode ser também descrito usando
Programação Linear. Cada agente pode ser visto como um agente
de resolução de conflitos cuja função é simular à do agente C.
Na figura seguinte está representada esta ideia.
Agente C
Agente A Agente B
Agente de Resolução de Conflitos
Agente N
Potencial Agente de Resolução de Conflitos
Potencial Agente de Resolução de Conflitos
Potencial Agente de Resolução de Conflitos
Figura 6 – Diagrama de Hierarquia
5. Solidez – É baseada em teoria quantitativa sólida. Já que esta é
muito clara e determinística, se um modelo for descrito através
dela, então pode ser provado.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 18
As desvantagens da Programação Linear incluem os seguintes dois pontos:
1. As equações de restrição são difíceis de encontrar, já que na
prática as variáveis de decisão podem não ser independentes;
2. A Programação Linear não resolve problemas com incerteza. Por
exemplo, se um agente passar um valor de uma variável de
decisão ao agente C, e a probabilidade do valor ser 8 é de 90%,
não é possível representar a probabilidade de 90% através da
função objectivo da programação linear.
4.2. Teoria de Jogos
No domínio da teoria de jogos, os agentes A e B competem um com o
outro, por exemplo, fornecem soluções de variáveis de decisão ao agente C e
deixam que o agente C escolha a melhor solução.
Quando os agentes A e B calculam os valores das suas soluções, podem
optar por um método cooperativo para trocarem o seu conhecimento ou
podem calcular os valores das soluções individualmente. O papel do agente C
é resolver o conflito os agentes A e B de acordo com as regras de decisão. Por
esta razão, o agente C tem de construir uma tabela (Tabela 1) de acordo com
as regras da teoria de jogos e encontrar qual é a melhor solução.
Por exemplo, uma organização pretende realizar o máximo lucro, e
existem dois agentes A e B na organização. O agente A fornece duas
alternativas ao agente C denominadas por A1 e A2, cada uma contendo um
grupo de variáveis de decisão. O agente B, tal como o agente A, fornece da
mesma forma ao agente C duas alternativas, B1 e B2. Tanto o agente A como o
agente B tentam maximizar os lucros tanto para a organização como para si
próprios existindo por isso uma situação de conflito. Assim, o agente C tem de
resolver este conflito, isto é, escolher o ponto de equilíbrio e assim escolher a
melhor alternativa. Considere-se que os valores na seguinte tabela
representam os resultados das alternativas dos agentes A e B.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 19
B
B1 B2
A1 3 2 A
A2 -1 0
Tabela 1 – Tabela de Decisão
Do ponto de vista do agente A pode-se concluir o seguinte:
1. Quando o agente A oferece a primeira alternativa ao agente C, o
agente A espera que o agente B escolha a segunda alternativa,
pois esta é a alternativa que minimiza a perda (2) para o agente
B;
2. Quando o agente A oferece a segunda alternativa, espera que o
agente B escolha a primeira, já que a perda do agente B será -1,
ou seja, este ganha 1, sendo esta a alternativa que minimiza a
perda;
3. Entre as duas alternativas, o agente A vai raciocinar que ao
oferecer a primeira alternativa ao agente C, irá ganhar pelo
menos 2 ao agente B. Esta abordagem é conhecida como
estratégia Maximin.
Do ponto de vista do agente B pode-se concluir o seguinte:
1. Quando o agente B oferece a primeira alternativa ao agente C, o
agente B espera que o agente A escolha a primeira alternativa,
pois esta é a alternativa que maximiza o ganho (3) do agente A;
2. Quando o agente B oferece a segunda alternativa ao agente C,
espera que o agente A escolha a primeira alternativa, já que é a
que maximiza o seu ganho (2);
3. Comparando os ganhos máximos que o agente A vai obter com as
suas escolhas, o agente B vai oferecer a segunda alternativa ao
agente C. Desta forma o agente A ganhará no máximo 2, o que é
o melhor valor entre as duas alternativas. Para o agente B
estamos na presença de uma estratégia Minimax.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 20
No exemplo anterior, o agente A vai oferecer a primeira alternativa ao
agente C e o agente B vai oferecer a segunda. Quando a estratégia Maximin
do agente A coincide com a estratégia Minimax do agente B estamos perante
um ponto de equilíbrio.
Vantagens e Desvantagens
Existem duas vantagens no uso da teoria de jogos:
1. A própria teoria dos jogos é baseada no pressuposto que quem
toma as decisões irá tomar uma decisão racional. Este
pressuposto deve existir em qualquer teoria da tomada de
decisão;
2. A teoria dos jogos é um modelo de decisão que considera
factores parcialmente humanos como linha orientação. A teoria
contém factores não controláveis que podem afectar a tomada
de decisão.
As desvantagens da teoria de jogos são:
1. Os factores não controláveis e incertos que a teoria dos jogos
considera normalmente, não permite uma descrição razoável e
exacta, portanto, este modelo não pode ser provado
matematicamente;
2. A solução obtida é uma solução razoável mas não
necessariamente a melhor.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 21
4.3. Abordagem de Rede
A rede é outra abordagem para representar relações entre agentes. Cada
nó pode ser visto como um agente na rede. O nó raiz corresponde ao agente
que resolve conflitos enquanto que os outros nós podem ser vistos como
potenciais agentes que resolvem sub-conflitos. Os nós são ligados por arcos
em que cada arco tem associada uma etiqueta que pode ser vista como um
valor da variável de decisão do agente.
Agente Cx, y, z
Agente Ax Agente B
Agente Raiz de Resolução de Conflitos
Arco Arco
Agente Dy
Agente Ez
Arco Arco
Agente Potencial de Resolução de Conflitos
Agente F Agente G
Arco Arco
Figura 7 – Exemplo de Diagrama de Rede
Na figura anterior existem sete nós, denominados por A, B, C, D, E, F e
G, que representam sete agentes da organização. O agente C é o agente da
resolução de conflitos e possuiu um objectivo a cumprir. O objectivo pode ser
determinar um custo mínimo ou o lucro máximo para a organização. Os
agentes A, B, D, E, F e G são potenciais agentes de resolução de conflitos. Os
agentes A e B encontram-se no primeiro nível em relação ao agente C
enquanto que os agentes D, E, F e G se encontram no segundo nível em
relação ao agente C.
Assuma-se que o agente A vai enviar três variáveis de decisão " #zyx ,, ao
agente C, sendo o valor de x desconhecido, mas dependente das outras
variáveis de decisão y e z que podem ser obtidas através dos agentes D e E.
Isto é, o agente D e o agente E enviam as variáveis y e z para o agente A e
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 22
em seguida, dependendo dos valores de y e z , este decide o valor de x e
devolve os três valores obtidos ao agente C.
O papel do agente A é receber as variáveis de decisão dos agentes D e E
para obter o valor da outra variável de decisão e passar os três valores ao
agente C. É por este motivo que se diz que o agente A é um potencial agente
de resolução de conflitos. O mesmo pode ser dito no que toca aos restantes
agentes.
Neste caso o comprimento de cada arco representa o valor da variável de
decisão. Existem dois métodos que podem ser usados para escolher os arcos.
O primeiro é a árvore geradora mínima e o outro é a árvore geradora máxima.
Cada método é escolhido dependendo do objectivo que se pretende atingir.
Caso o gestor pretenda minimizar os custos para a organização, o método
escolhido será o método da árvore geradora mínima. Se o objectivo for
maximizar os lucros, o método utilizado é o método da árvore geradora
máxima.
O método da árvore geradora mínima é usado para minimizar o
comprimento total dos arcos que ligam todos os nós da rede. A solução forma
uma árvore geradora mínima que liga todos os nós da rede. Este algoritmo é
guloso. Qualquer nó é ligado ao nó mais próximo. Em seguida o nó
desconectado com menor distância a um nó conectado é ligado à árvore. Após
1(n iterações (em que n é o número de nós), todos os nós estarão ligados
numa árvore.
O objectivo do método de árvore geradora máxima é maximizar fluxo a
partir de um nó origem até um nó destino num dado período de tempo. O seu
algoritmo é baseado em encontrar repetidamente caminhos entre um nó
origem e um nó destino e mover o máximo de fluxo nesses caminhos.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 23
Vantagens e Desvantagens
O modelo gráfico de abordagem de rede é representado normalmente
através de setas para as actividades e de nós para os eventos. A sua aplicação
é vasta, por exemplo, na ligação telefónica entre cidades, ligação entre
terminais de computadores, televisão por cabo, etc. A sua aplicação no que
toca à resolução de conflitos considera que cada nó representa o agente que
contribuiu para a tomada da decisão final.
As vantagens da abordagem de rede são:
1. É bastante fácil descrever as relações entre os vários agentes.
Por mais complicada que seja uma relação entre agentes, esta
pode ser descrita através de um arco;
2. A própria abordagem em rede é baseada em teoria de grafos e
tem uma base matemática, portanto as teorias árvore geradora
máxima e árvore geradora mínima podem ser provadas
matematicamente.
No entanto, a abordagem de rede tem também algumas desvantagens:
1. É difícil descrever dados subjectivos e quantitativos;
2. A abordagem de rede é um método de representação gráfica de
um problema de decisão e não um método de decisão. Esta
fornece apenas o resultado da análise dos dados ao decisor,
sendo ainda assim necessário que o decisor tome a decisão.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 24
5. Conclusão
Com a realização deste trabalho consegui adquirir conhecimento sobre a
temática da resolução de conflitos em sistemas inteligentes multi-agente.
Durante o processo de pesquisa foi possível compreender conceitos sobre
tipos de conflitos em ambientes cooperativos, algumas funcionalidades para
negociação e resolução de conflitos, tipos de interacção entre agentes,
cooperação e competição na resolução de conflitos.
Foi possível também obter algumas noções acerca de vários métodos
quantitativos para a resolução de conflitos, nomeadamente sobre a utilização
de programação linear, teoria de jogos e a abordagem em rede aplicada à
resolução de conflitos.
Sistemas Baseados em Agentes - Resolução de Conflitos
ISEP, Abril de 2008 25
6. Bibliografia
[1] Oliveira E., Mouta F. e Rocha A. (1993), Negotiation and Conflict
Resolution within a Community of Cooperative Agents, in Proceedings
of the International Symposium on Autonomous Decentralized Agents
(ISADS’93), Kawasaki, Japan.
[2] Zlotkin, G. e Rosenschein, J. S. (1991), Cooperation and Conflict
Resolution via Negotiation Among Autonomous Agents in
Noncooperative Domains, IEEE Transactions on Systems, Man, and
Cybernetics. Volume 21 pp. 1317-1324.
[3] Lo, C. e Wu, C. (2005), The Survey and Expansion on Quantitative
Methods to Conflict Resolution, in Proceedings of the Third
international Conference on information Technology and Applications
(Icita'05) Vol. 2.
[4] Wagner T., Shapiro J., Xuan, P. e Lesser, V. (1999), Multi-Level Conflict
in Multi-Agent Systems, in Proceedings of the AAAI-99 Workshop on
Negotiation in MAS, pp-50-55.