TrustNet: aprendizagem automática de modelos de confiança...

34
FACULDADE DE E NGENHARIA DA UNIVERSIDADE DO P ORTO TrustNet: aprendizagem automática de modelos de confiança em sistemas multi-agente Tiago Reis P REPARAÇÃO DA DISSERTAÇÃO Mestrado Integrado em Engenharia Eletrotécnica e de Computadores Orientador: Prof. Doutor Carlos Manuel Milheiro de Oliveira Pinto Soares Co-orientador: Prof. Doutora Ana Paula Cunha da Rocha 18 de Fevereiro de 2015

Transcript of TrustNet: aprendizagem automática de modelos de confiança...

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

TrustNet: aprendizagem automática demodelos de confiança em sistemas

multi-agente

Tiago Reis

PREPARAÇÃO DA DISSERTAÇÃO

Mestrado Integrado em Engenharia Eletrotécnica e de Computadores

Orientador: Prof. Doutor Carlos Manuel Milheiro de Oliveira Pinto Soares

Co-orientador: Prof. Doutora Ana Paula Cunha da Rocha

18 de Fevereiro de 2015

Resumo

O presente documento foi redigido no âmbito do relatório final da unidade curricular desig-nada por "Preparação da Dissertação"do 5o Ano do curso de Mestrado Integrado em EngenhariaEletrotécnica e de Computadores da Faculdade de Engenharia da Universidade do Porto. Temcomo objectivo a apresentação do tema de dissertação "TrustNet: aprendizagem automática demodelos de confiança em sistemas multi-agente"sobre orientação do Prof. Dr. Carlos ManuelMilheiro de Oliveira Pinto Soares e co-orientação da Prof. Dra. Ana Paula Cunha da Rocha. Estatese tem como objectivo principal uma aprendizagem automática, usando modelos de confiançapara negociação em sistemas multi-agente e o resultado dessas interacções sociais, ocorridas entreagentes, será apresentado numa plataforma on-line.

i

ii

Abstract

The present document is the final report of "Preparação de Dissertação"of the 5th grade of theMaster in Electrical and Computers Engineering in the Faculty of Engineering of the Universityof Porto. It has the objective of presenting the thesis "TrustNet: aprendizagem automática demodelos de confiança em sistemas multi-agente"oriented by Prof. Dr. Carlos Manuel Milheiro deOliveira Pinto Soares and co-oriented by Prof. Dr. Ana Paula Cunha da Rocha. This thesis hasas main objective a automatic learning capability, using reliable models for negotiation in multi-agent systems and the result of these interactions occuring between agents will be presented in anon-line platform.

iii

iv

Conteúdo

1 Introdução 11.1 Motivação e contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Apresentação do Problema e Requisitos . . . . . . . . . . . . . . . . . . . . . . 11.3 Objectivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Estado da Arte 32.1 Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2.1 Redes Neuronais Artificiais . . . . . . . . . . . . . . . . . . . . . . . . 52.2.2 Árvores de Decisão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.3 Support Vector Machines . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.4 Reinforcement Learning . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Sistemas Multi-Agente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.4 Plataforma ANTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Proposta de trabalho 153.1 Planeamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Referências 17

v

vi CONTEÚDO

Lista de Figuras

2.1 Representação esquemática dos tipos de abordagens (adaptado) . . . . . . . . . . 42.2 Estrutura típica da unidade de uma ANN . . . . . . . . . . . . . . . . . . . . . . 52.3 Árvore de decisão que representa o conceito JogarTenis. . . . . . . . . . . . . . 62.4 Visão global de um processo de SVM . . . . . . . . . . . . . . . . . . . . . . . 72.5 Vectores de suporte e margens . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.6 Interação de um agente num ambiente de RL . . . . . . . . . . . . . . . . . . . 82.7 Diagrama de blocos da aprendizagem de um agente . . . . . . . . . . . . . . . . 102.8 ANTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1 Diagrama de Gantt do projecto . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

vii

viii LISTA DE FIGURAS

Lista de Tabelas

ix

x LISTA DE TABELAS

Abreviaturas e Símbolos

ANN Artificial Neural Networks (Redes Neuronais Artifíciais)ANTE Agreement Negotiation in Normative and Trust-enable EnvironmentsB2B Business-to-BusinessMAS Multi-Agent Systems (Sistemas multi-agente)MASDIMA Multi-Agent System for DIsruption MAnagerML Machine Learning (Aprendizagem Automática)SVM Support Vector Machines (Máquinas de Suporte Vectorial)QL Q-Learning

xi

Capítulo 1

Introdução

O objectivo deste documento é a apresentação da preparação da dissertação "TrustNet: apren-

dizagem automática de modelos de confiança em sistemas multi-agente"sob orientação do Prof.

Doutor Carlos Manuel Milheiro de Oliveira Pinto Soares e co-orientação da Prof. Doutora Ana

Paula Cunha da Rocha. Este documento encontra-se dividido em três capítulos: Introdução, Es-

tado da Arte e Trabalho Futuro. Na introdução será apresentado o tema, a motivação e contexto, o

problema e os seus requisitos e ainda os objectivos. No estado da arte iremos retratar algumas das

ferramentas existentes em data mining, machine learning (aprendizagem automática), Sistemas

Multi-Agente e falarei também sobre a plataforma a usar nesta dissertação, ANTE. Por fim, no

capítulo 3, poderá ser visto o planeamento do trabalho para esta dissertação.

1.1 Motivação e contexto

Recentemente, as redes sociais têm sido usadas para uma variedade de propósitos. No entanto

é necessário que haja confiança entre os participantes, e isso constitui um dos fatores mais impor-

tantes nas tomadas de decisão. Nas redes sociais, um nó representa um participante e uma ligação

entre nós corresponde a uma interacção física ou online entre eles.

Dado que numa rede de agentes, a informação, para além de ser muita, é muitas vezes incom-

pleta, é necessário avaliar automaticamente o grau de confiança dos participantes e a qualidade da

informação disponível. Com vista a aumentar o grau de confiança e a qualidade da informação,

serão aplicados modelos de confiança utilizando técnicas de aprendizagem automática.

1.2 Apresentação do Problema e Requisitos

O conceito de confiança pode ser visto através de diferentes perspectivas no que diz respeito

redes sociais, em que as transações numa rede de agentes é um caso particular: a qualidade e

credibilidade das informações utilizadas para a transação depende da confiança entre os agentes;

1

2 Introdução

a facilidade com que a informação é disseminada na rede depende da confiança entre os agentes

envolvidos; a configuração e densidade da rede depende também dessa confiança. A implementa-

ção dos algoritmos será feito sobre negociações, reais ou ficticias, usando a plataforma ANTE. A

partir dos dados obtidos, será posteriormente aplicado um método de aprendizagem automática.

1.3 Objectivos

O principal objectivo desta dissertação é, utilizando aprendizagem automático com recurso

a modelos de confiança para negocição em sistemas multi-agente, apresentar numa plataforma

on-line, a visualização e navegação das redes de confiança.

O resultado será possível com base nos seguintes pontos:

• desenvolvimento de representação dinâmica de redes de agentes usando uma abordagem de

análise de redes sociais;

• desenvolvimento de uma abordagem de aprendizagem automática para modelar a confiança

entre agentes com base nos dados de negociações passadas e na representação da rede de

agentes;

• desenvolvimento de uma aplicação web para visualização de redes de confiança em sistemas

multi-agentes.

Capítulo 2

Estado da Arte

2.1 Data Mining

Data mining é uma área na Ciência da Computação que pode ser descrita, de uma forma

genérica e simplificada, como uma área que, conduz à tomada de decisões tendo por base a análise

de dados históricos. É um processo que explora grandes quantidades de dados à procura de padrões

consistentes, como regras de associação ou sequências temporais. Com os avanços nas tecnologias

de exploração de dados, tanto na capacidade de processamento como no armazenamento de dados,

em conjunto com algoritmos e técnicas estatísticas, reuniram-se as condições que deram origem

ao processo de obtenção de conhecimento de forma automática (DM).

Geralmente, as tarefas de DM podem ser classificadas em duas categorias, descriptive data

mining e predictive data mining. O primeiro descreve o conjunto de dados de uma maneira concisa

e resumida, enquanto o segundo constrói um ou mais conjuntos de modelos, realiza inferências

sobre o conjunto de dados disponíveis e tenta prever o comportamento de novos conjuntos de

dados.

Um processo de DM pode ser definido em seis tipos de tarefa: [1]

• Descrição: é a tarefa usada, normalmente, em conjunto com técnicas de análise exploratória

de dados, para se verificar os dados obtidos. Dá um resumo conciso e sucinto de um conjunto

de dados e a distingue-o de outros.

• Estimação: nesta tarefa é atribuída uma pontuação a cada registo, sendo assim possível

estimar o valor de uma determinada variável analisando o valor das restantes.

• Previsão: é uma tarefa que tenta prever o valor de um determinado atributo baseando-se no

valor do conjunto de dados semelhantes desse mesmo atributo.

• Classificação: é a tarefa que tem como objectivo prever qual a classe a que um determinado

registo pertence.

• Clustering: é a tarefa que procura idenficar e agrupar o registo de dados, observações ou

casos, em classes de objectos similares.

3

4 Estado da Arte

• Associação: é a tarefa que tenta encontrar relações de associação ou correlação entre valores

de diferentes variáveis. Por exemplo, prever a degradação numa rede de telecomunicações.

Das várias metodologias desenvolvidas, por vários autores, podem-se destacar as seguintes:

Cross Industry Standard Process for Data Mining (CRIPSP-DM); Sample, Explore, Modify, Mo-

del and Assess (SEMMA), criada pela SAS; A metodologia de Pechenizkiy que propõe um pro-

cesso baseado num modelo de Sistemas de informação e a metodologia proposta por González

que apresenta um modelo que assenta no processo de Rational Unified Process (RUP) [2, p. 7].

2.2 Machine Learning

Machine learning (ML) é uma forma de aprendizagem automática recorrendo a algoritmos e

técnicas que permitem ao computador aprender, isto é, permitem ao computador melhorar o seu

desempenho numa determinada tarefa. Esta capacidade de aprendizagem através dos dados obti-

dos, foca-se num contínuo auto-melhoramento. Ao utilizar ML os modelos matemáticos podem

prever como um sistema se vai comportar ou pensar numa determinada circunstância e, assim,

responder de acordo com o desejado. Os algoritmos de ML são ferramentas computacionais capa-

zes de optimizar o critério de um modelo de desempenho usando dados ou experiências anteriores

com uma saída ou acção desejada [3]. Entre os métodos de ML existentes, distinguem-se os que

realizam aprendizagem supervisionada ou não-supervisionada.

• Numa aprendizagem supervisionada, parte-se de um conjunto de exemplos de entrada-saída

(observações), recorrendo-se a métodos de inferência indutiva para se obter um modelo

funcional que, explique as relações causa/efeito observadas entre as entradas e saída.

• Numa aprendizagem não-supervisionada, recorre-se a métodos de inferência indutiva para

formar grupos de observações que estejam de alguma forma relacionadas. Caracteriza-se

como não-supervisionada por não ser dada nenhuma informação em relação aos fenómenos

causa/efeito que possam existir dentro do domínio em análise.

Figura 2.1: Representação esquemática dos tipos de abordagens (adaptado) [4]

2.2 Machine Learning 5

Nesta capítulo, os algoritmos que vamos rever são: redes neuronais, árvores de decisão, sup-

port vector machines, reinforcement learning.

2.2.1 Redes Neuronais Artificiais

As ANN são modelos computacionais inspirados pelo sistema nervoso, cuja aprendizagem e

conhecimento acontece através de modelos simplificados numa abordagem em interligação de uma

rede de neurónios. Consiste numa técnica estatística moderna que tem sido amplamente utilizada

como método de aprendizagem automática. As ANN são um modelo matemático que processa

informação a partir de vários neurónios, com cada neurónio a processar operações simples e que,

no seu conjunto contribuem para o processamento da informação na rede.

A figura 2.2 representa uma estrutura típica da unidade de uma ANN.

Figura 2.2: Estrutura típica da unidade de uma ANN

De forma a atingir o resultado esperado, cada neurónio recebe valores do sistema ou da saída

de outros neurónios, sendo cada sinal então multiplicado por um número ou peso referente à sua

influência. Posteriormente é feita a soma ponderada dos sinais e por último se o output alcançar

um determinado limite (threshold), o neurónio produz uma resposta à saída.

O grande interesse de se aplicar as ANN, é a sua capacidade de treino. Aplicando um algoritmo

de treino, as ANN conseguem melhorar o seu desempenho, através do ajuste aplicado aos pesos

de cada neurónio. O algoritmo de treino é um conjunto de regras estabelecidas para a solução de

um problema de aprendizagem. Como existem vários modelos de ANN, também existem diversos

algoritmos que diferem essêncialmente no modo como os pesos são alterados.

2.2.2 Árvores de Decisão

As árvores de decisão são um modelo preditivo que se divide em dois grandes tipos, depen-

dendo do tipo de output esperado. Se se usar um modelo de regressão, então designa-se por árvore

de regressão, enquanto que quando se usa um modelo de classificação, designa-se por árvore de

classificação. Utilizam uma estratégia de divisão e conquista, ou seja, a partir de um problema con-

siderado complexo, dividem-no em problemas mais simples e recursivamente aplicam a mesma

estratégia a sub-problemas.

As árvores de decisão apresentam uma estrutura hierárquica ordenando-as desde o primeiro

nó, ou nó da raíz, representado no topo da árvore, até um determinado nó-folha, o qual designa a

6 Estado da Arte

classificação da instância em causa. Existe uma sucessiva ligação de nós até que se atinja os nós

terminais, ou nós folhas, que não têm ligação de descendência. Apresentam os seus resultados num

estrutura recursiva onde é expresso o processo de classificação sequencial de um item/observação.

Este é caracterizado por um grupo de atributos e é classificado como pertencente a uma classe de

um grupo de classes disjuntas.

Um modelo de árvores de decisão é construído a partir de um data-set de treino. Como tal,

é considerado um método de aprendizagem supervisionada. São chamadas árvores de regressão

quando o output é um número real. Para o caso das árvores de classificação, o objectivo da precisão

é determinar a classe a que a observação pertence.

A figura 2.3 ilustra uma árvore de decisão típica; neste exemplo, classifica-se se o tempo se

adequa ou não à prática de ténis nas manhãs de Sábado.

Figura 2.3: Árvore de decisão que representar o conceito JogarTenis. Um exemplo é classificadoordenando-o ao longo da árvore até ao nó-folha apropriado, retornando em seguida a classificaçãoassociada a essa folha (neste caso, Sim ou Não) [5]

O exemplo presente na figura 2.3 pode ser representada pela seguinte expressão:

Se (Tempo = Sol∧Humidade = Normal)

∨(Tempo = Nublado)

∨(Tempo =Chuva∧Vento = Fraco)

Então pode-se jogar ténis.

Esta árvore também expressa as condições quando não é desejável a prática de ténis, nomea-

damente quando o dia é de sol e a humidade está alta, ou então, nos casos em que está a chover e

o vento é forte.

O processo de implementação de uma árvore pode ser constituido por três fases:

1. Construção e crescimento da árvore: a construção é feita de forma recursiva, os nós são

repetidamente divididos até se chegar aos nós terminais, onde é atribuído uma classe ao nó

em questão.

2. Paragem do processo de crescimento da árvore: o processo ocorre até não ser possível

criar mais subárvores, ou, alternativamente, até atingir uma condição de paragem previa-

mento definida.

2.2 Machine Learning 7

3. Pruning: o processo de pruning (poda), consiste na simplificação da árvore de decisão

gerada;

2.2.3 Support Vector Machines

As SVM são uma técnica estatística que pode ser usada em problemas de classificação e de re-

gressão, sendo que este método de aprendizagem foi introduzido por V. Vapnik. São um conjunto

de métodos supervisionados e procuram solucionar o problema da classificação e reconhecimento

encontrando hiperespaços de N dimensões que melhor separem os objectos nas suas classes/cate-

gorias distintas.

Figura 2.4: Visão global de um processo de SVM [6]

Na figura 2.4 podemos observar um processo de uma SVM. As SVM procuram a melhor fun-

ção de classificação que permita a distinção entre membros de duas classes num conjunto de treino.

Em cada conjunto de dados linearmente separados, uma função de classficiação linear corresponde

a um hiperplano que atravessa as duas classes, dividindo-as. Cada conjunto de dados de entrada

(attributes) são transformados por uma função kernel em características (features), formando um

vector. A separação dos hiperplanos pode ser feita de forma linear, por exemplo por programação

linear (Percepton), ou não linear, onde se pode utilizar, por exemplo, mapeamento polinomial.

O objectivo das SVMs passa por tentar maximizar as margens de separação em volta do hiper-

plano. A decisão é tomada de acordo com um conjunto de regras, os vectores de suporte (podem

ser observados na figura 2.5), isto é, pretende-se encontrar o hiperplano que melhor separa os

vectores de elemenots de classes diferentes e dê a maior margem possível.

2.2.4 Reinforcement Learning

Aprendizagem por reforço (RL) é um procedimento que ensina a fazer uma tarefa tendo por

base um sistema de recompensa/punição. Inicialmente começa-se por criar um algoritmo que

define os objectivos pretendidos e a partir da implementação desse algoritmo um agente pode

construir a sua estratégia de forma a maximizar a sua recompensa. No caso de a resposta estar

de acordo com os objectivos, é aplicada uma recompensa, aumentando assim a probabilidade de

tornar a ocorrer. No caso de a resposta não estar de acordo com os objectivos, é aplicada uma uma

8 Estado da Arte

Figura 2.5: Vectores de suporte e margens [6]

punição, diminuindo a probabilidade de voltar a ocorrer. Assim sendo, os métodos ML devem ser

capazes de aprender por experiências passadas, sejam elas boas ou más.

Figura 2.6: Interação de um agente num ambiente de RL [7]

Alguns dos algoritmos utilizados em RL são Q-Learning, Markov Decision Process, MDP

Application in RL e Direct Policy Search, entre outros. neste subcapitulo vamos apenas falar de

Q-Learning.

2.2.4.1 Q-Learning

Q-Learning (QL) é o algoritmo mais utilizado em RL. O objectivo deste algoritmo é estimar

em cada estado st em que o agente se encontra, o valor Qt(st ,at) para cada possível acção at , e

com isso obter a melhor acção.

QL é baseado na ideia de recompensar as acções que produzem bons resultados e punir as que

produzem maus resultados, representado pelo parâmetro r, na equação 2.1. Nessa mesma equação,

γ e α são parâmetros de aprendizagem, st representa o estado e at a acção, enquanto Qt(st ,at) é

o valor do estado - acção. O algoritmo na sua forma mais simples guarda os valores estimados

Qt(st ,at), de uma acção at num dado estado st , para todas os possíveis pares estado-acção.

Qt+1(st ,at) = Qt(st ,at)+αt [r(st)+ γ maxaQt(st ,at)−Qt(st ,at)]; (2.1)

O algoritmo QL produz uma actualização dos valores de Q da seguinte forma:

2.3 Sistemas Multi-Agente 9

• Qt+1(st ,at) é o valor (qualidade) da acção at no estado st .

• r(st) é o reforço imediato recebido no estado st .

• α é a taxa de aprendizagem (normalmente definida entre 0 e 1).

• γ é a taxa de desconto temporal.

• t é uma sequência discreta de passos no tempo, ou seja, T=0,1,2. . .

• maxaQt(st ,at) é o valor Q correspondente à acção com maior valor de utilidade no estado

futuro.

Quanto mais próximo de 1 for o valor de γ , maior importância é dada aos reforços mais dis-

tantes no tempo [7]. Normalmente o valor de α vai-se degradando durante o treino.

Uma das técnicas utilizadas para se alterar os valores de γ e α é a selecção de Boltzmann, que

envolve probabilidade e tem em consideração os valores do estado-acção.

Outros métodos são:

- ε-greedy, a acção é escolhida com maior ou menor peso probabilístico;

- ε-soft, muito semelhante ao ε-greedy mas a melhor acção é seleccionada com probabilidade

1- ε e as restantes vezes a acção é escolhida uniformemente;

- softmax, probabilidade da selecção da acção em função do seu valor estimado

2.3 Sistemas Multi-Agente

A noção de agente pode ser descrita como um sistema ou grupo de sistemas, que actua auto-

nomamente no seu ambiente baseado em informação (sensores, feedback) recolhida desse mesmo

ambiente. Adicionalmente, um sistema multi-agente envolve diversos agentes que interagem en-

tre si. No contexto desta dissertação, o termo agente refere-se a uma entidade num software que

tem a sua própria cadeia de execução e comunica com os outros agentes com um protocolo de

comunicação predefinido. Um agente tem de ter pelo menos três capacidades: [8]

• autonomia: os agentes conseguem trabalhar sem influência de elementos externos e têm

algum controlo sobre as suas acções

• capacidade de detecção: os agentes são capazes de detectar o seu ambiente

• capacidade de actuação: os agentes são capazes de actuar sobre no seu ambiente

Caracteristicas de um ambiente multi-agente:

1. Os ambientes multiagente providenciam protocolos de comunicação e interação que espe-

cificam a estrutura.

2. Os ambientes multiagente são tipicamente abertos e não tem um design centralizado.

10 Estado da Arte

3. Os ambientes multiagente contêm agentes que são autónomos e distribuídos, e podem agir

em interesse próprio ou cooperativamente.

Outras caracteristicas de ambientes multi-agente são: familiar, previsível, controlável, ter historial

e ser em tempo-real.

Figura 2.7: Diagrama de blocos da aprendizagem de um agente [8]

Um factor muito importante em MAS é a confiança. Desta forma, os agentes devem conseguir

recolher informação sobre a competência dos restantes, dado que uma decisão final ou acção está

muito dependente da qualidade da informação obtida anteriormente. Como tal, o problema está

em como é que se pode verificar a qualidade da informação sem se ter feedback por parte dos

restantes agentes.

O modelo de confiança nesta dissertação é baseado no conceito de que o MAS constitui uma

rede social, aumentando assim o grau de confiança e a autonomia desse sistema. Quando consi-

deramos um MAS, é necessário analisar as posições e relações entre os agentes dentro dessa rede,

sendo que existem essencialmente dois tipos de redes: redes em pequena escala ou redes em escala

mundial. Ambas calculam um coeficiente referente à probabilidade de dois nós estarem ligados

entre si, sabendo que ambos estão ligados a um nó comum.

Dada a natureza complexa de um MAS, é necessário existir um protocolo de comunicação.

Um protocolo é especificado pelos seguintes cinco campos: remetente, destinatário, linguagem no

protocolo, funções de codificação e descodificação e a acção a ser tomada pelos destinatários.

2.4 Plataforma ANTE

A plataforma ANTE é o resultado da ligação entre três conceitos tecnológicos, nomeadamente

negociação, ambientes normativos e confiança computacional. Aborda a questão multi-agente de

forma colectiva, abrangendo a negociação como mecanismo para encontrar acordos mutuamente

aceitáveis, e a promulgação de tais acordos. Inclui também a avaliação da fase prática, com o

objectivo de melhorar futuras negociações. Neste contexto, um acordo pode ser uma solução

obtida usando uma abordagem cooperativa distribuída de resolução. Um acordo vincula cada

participante da negociação à contribuição para a solução global. É, assim, útil para representar o

2.4 Plataforma ANTE 11

resultado de um processo de negociação bem sucedido de uma forma que permite a verificação da

contribuição de cada participante no acordo. [9]

• Negociação: é uma forma de tomada de decisão em que duas ou mais partes procuram

nas possíveis soluções, atingir o objectivo chegando a consenso. É, portanto, um processo

interactivo cujo objectivo é alcançar um acordo entre as partes interessadas.

É composto por duas características importantes:

- Avaliação multi-atributo, para selecionar as propostas mais favoráveis em cada ronda.

- Capacidade de Aprendizagem, de forma a permitir aos agentes conseguirem o melhor

acordo quando encontram informações incompletas e quando estão a operar em ambientes

dinâmicos.

O histórico da negociação (rondas passadas) é uma informação crucial a ser considerada

quando é necessário decidir o que fazer na ronda seguinte. O processo de negociação resulta

da selecção de um conjunto de agentes que se comprometem a discutir os problemas durante

a negociação, sendo que o acordo pode ser formalizado num contrato e sujeito à ficalização

por um ambiente normativo.

No ANTE foi desenvolvido um protocolo de negociação (Q-Negotiation) baseado no algo-

ritmo falado em 2.2.4.1. É adequado tanto para ambientes competitivos como cooperativos

conduzindo à melhor solução possível.

• Ambientes normativos: A dimensão normativa de um MAS pode, geralmente, englobar

duas perspectivas sobre as interações que as normas devem regular. Normas que regulam

as interacções pré-estabelecidas aplicadas aos agentes como um todo como, por exemplo,

especificando convenções apropriadas para a negociação. Por outro lado, as normas de

tempo de execução são aquelas que entram em vigor quando os agentes negoceiam ou adotm

as normas para governar as interações subsequentes (por exemplo, contratos negociados).

No ANTE há uma maior preocupação com o último caso, ou seja, com normas que são

acordados por meio um processo de negociação.

No ANTE, uma norma é uma regra que prescreve alguns comportamentos que os agentes

regulados por essa norma devem atender em cercas circunstâncias. [9]

• Confiança computacional: Investigadores das ciências da computação, especialmente na

área de MAS, têm proposto modelos computacionais de confiança que podem ser usados

para auxiliar a tomada de decisão dos agentes na negociação de acordos, em especial na fase

de alocação de recursos. A abordagem à confiança computacional na plataforma ANTE tem

como principal desiderato a capacidade de calcular estimativas adequadas ao grau de con-

fiança em vários ambientes diferentes, incluindo os de alto dinamismo, quando a avalição

do agente em questão, seja escassa ou mesmo inexistente. O modelo é composto por dois

componentes básicos: o primeiro é Sinalpha, que calcula os valores gerais de confiança, in-

vocando diferentes propriedades da dinâmica do grau confiança. Os modelos "Sinalpha"de

12 Estado da Arte

grau de confiança usam em função de α que apresenta uma forma sinusoidal (Equação 2.2).

Por definição δ = +0.5, valor do grau de confiança está entre [0,1].

Graudecon f iana = δ (sinα +1) (2.2)

O grau de confiança do agente será mínimo quando α = 3π/2 e máximo quando α = 5π/2.

Este valor é actualizado usando αi+1 = αi+λ ∗ω , onde λ reflete o resultado associado com

a prova que está a ser agregada (assume valor positivo para resultados de prova positivos e

negativo para resultados de prova negativos, onde | λ+ |<| λ− |), e o parametro ω é usado

para definir o tamanho ascendente/descendente do grau de confiança.

O segundo componente é o "Contextual Fitness", que actua de forma a afinar os valores

do grau de confiança, ou seja, degrada o seu nível de confiança. Isto acontece caso os

agentes em avaliação revelarem mau comportamento numa determinada situação. O seu

modo de funcionamento baseia-se na dinâmica de extracção de tendências de falha a partir

de experiências passadas do agente. [9]

2.4.0.2 Domínios ANTE

Na plataforma ANTE podemos destacar dois cenários. O MASDIMA, que está relacionado

com a gestão do controlo de operações de uma companhia aérea e o B2B E-contracting.

No cenário B2B electronic contracting, existe uma perspectiva de automação, sendo que o ce-

nário prevê a utilização de agentes de software que negociam em nome dos seus interesses, quer

sejam compradores ou fornecederes de uma rede B2B. Os contratos resultantes das negociações

bem-sucedidas são validados, registados, e assinados digitalmente antes de serem entregues ao

ambiente normativo para fins de monitorização e fiscalização. Finalmente, a forma como os agen-

tes decretam os seus contratos fornece informações importantes para a construção de confiança.

Um repositório de informação de confiança e reputação pode então completar o círculo, forne-

cendo entradas relevantes para futuras negociações. A integração de todas estas fases é mostrado

na figura 2.8 [9].

2.4 Plataforma ANTE 13

Figura 2.8: ANTE [9]

14 Estado da Arte

Capítulo 3

Proposta de trabalho

Neste capítulo são ilustradas as tarefas necessárias para a concretização deste projecto.

3.1 Planeamento

O plano de trabalhos na fase de desenvolvimento é composto pelas seguintes tarefas com

duração de 18 semanas:

• Desenvolvimento e implementação de uma representação de redes de agentes

• Geração de dados

• Modelação de confiança usando técnicas de aprendizagem automática (por ex. Redes neu-

ronais, árvores de decisão, support vector machines)

• Desenvolvimento de aplicação web para visualização e navegação das redes de confiança

• Escrita da dissertação

Na figura 3.1 pode ser observado o planeamento num diagrama de gantt, dividido por meses.

Figura 3.1: Diagrama de Gantt do projecto

15

16 Proposta de trabalho

Referências

[1] Daniel T. Larose. Discovering Knowledge in Data: An Introduction to Data Mining. Wiley-Interscience.

[2] Ana Sara Videira Morais. Data mining teams: Plataforma colaborativa para projetos de data.Tese de mestrado, Faculdade de Engenharia da Universidade do Porto, 2014.

[3] Francisco Antonio Fernandes Reinaldo. AFRANCI: A Multi-Layer Architecture for CognitiveAgents. Tese de doutoramento, University of Porto Faculty of Engineering, 2010.

[4] Dário Miguel Ribeiro Ferreira. Árvores de decisão aplicadas à deteção de formas costeirasatravés de imagens ikonos-2. Tese de mestrado, Faculdade de Ciências da Universidade doPorto, 2010.

[5] Pedro Miguel da Silva Ferreira. Aplicação de algoritmos de aprendizagem automática paraa previsão de cancro de mama. Tese de mestrado, Faculdade de Ciências da Universidade doPorto, 2010.

[6] Introduction to support vector machine (svm) models. URL: https://www.dtreg.com/solution/view/20.

[7] Ribeiro Carlos H. C. Omar Nizam Guelpeli, Marcus V. C. Utilização de aprendizagem porreforço para modelagem autônoma do aprendiz em um tutor inteligente.

[8] Badril Abu Bakar. Autonomous Multi-agent Reconfigurable Control Systems. Tese de dou-toramento, Faculty of Engineering and the Environment Aeronautics and Computational En-gineering, 2013.

[9] Ana Paula Rocha António J. M. Castro Eugénio Oliveira Henrique Lopes Cardoso, Joana Ur-bano. Chap. 32: ANTE: Agreement Negotiation in Normative and Trust-enabled Environ-ments.

[10] Behrouz Far Shimaa M. El-Sherif. Machine learning module to improve communicationbetween agents in multi-agent system. Journal of Chromatography A, 1217:295–300, 2010.doi:10.1109/ICMLA.2012.235.

[11] Richard S. Sutton e Andrew G. Barto. Reinforcemtn Learning. The MIT Press, Reading,Massachusetts, 2012.

[12] Filipe Emanuel Amaro Coelho. Sistema automático de reconhecimento do montante de umcheque, school =. Tese de mestrado.

[13] Pedro Domingos. A few useful things to know about machine learning.

17

18 REFERÊNCIAS

[14] Daniel T. Larose. Multiagente System - A Modern Approach to Distributed Modern Approachto Artificial Intelligence.

[15] Hartung Ronald Nguyen Ngoc Thanh Hakansson, Anne. Agent and Multi-agent Technologyfor internet and Enterprise Systems. Springer.

[16] Fukumoto Kenji Omo, Norihiko. Multi-agent reinforcement learning: a modular approach.

[17] Hideaki Taguchi Yoshiaki Imoto Akio Gofuku Kazuyuki, Ito. A study of reinforcementlearning with knowledge sharing.

[18] Mungo Louis Pay. Distributed learning for multi-agent control of a dynamic system. Tesede doutoramento, The University of York Department of Electronics, 2011.

[19] Oliveira Eugénio Nunes, Luís. Exchanging advice and learning to trust.

[20] Filipe Gabriel Andrade da Silva. Sistema de medida de confiança para selecção de empresasem sistemas b2b. Tese de mestrado, Faculdade de Engenharia da Universidade do Porto,2009.

[21] Wang Yan Orgun Mehmet A. Liu, Guanfeng. Trust transitivity in complex social networks.

Referências

[1] Daniel T. Larose. Discovering Knowledge in Data: An Introduction to Data Mining. Wiley-

Interscience.

[2] Ana Sara Videira Morais. Data mining teams: Plataforma colaborativa para projetos de data.

Tese de mestrado, Faculdade de Engenharia da Universidade do Porto, 2014.

[3] Francisco Antonio Fernandes Reinaldo. AFRANCI: A Multi-Layer Architecture for Cognitive

Agents. Tese de doutoramento, University of Porto Faculty of Engineering, 2010.

[4] Dário Miguel Ribeiro Ferreira. Árvores de decisão aplicadas à deteção de formas costeiras

através de imagens ikonos-2. Tese de mestrado, Faculdade de Ciências da Universidade do

Porto, 2010.

[5] Pedro Miguel da Silva Ferreira. Aplicação de algoritmos de aprendizagem automática para

a previsão de cancro de mama. Tese de mestrado, Faculdade de Ciências da Universidade do

Porto, 2010.

[6] Introduction to support vector machine (svm) models. URL: https://www.dtreg.com/

solution/view/20.

[7] Ribeiro Carlos H. C. Omar Nizam Guelpeli, Marcus V. C. Utilização de aprendizagem por

reforço para modelagem autônoma do aprendiz em um tutor inteligente.

[8] Badril Abu Bakar. Autonomous Multi-agent Reconfigurable Control Systems. Tese de dou-

toramento, Faculty of Engineering and the Environment Aeronautics and Computational En-

gineering, 2013.

[9] Ana Paula Rocha António J. M. Castro Eugénio Oliveira Henrique Lopes Cardoso, Joana Ur-

bano. Chap. 32: ANTE: Agreement Negotiation in Normative and Trust-enabled Environ-

ments.

[10] Behrouz Far Shimaa M. El-Sherif. Machine learning module to improve communication

between agents in multi-agent system. Journal of Chromatography A, 1217:295–300, 2010.

doi:10.1109/ICMLA.2012.235.

[11] Richard S. Sutton e Andrew G. Barto. Reinforcemtn Learning. The MIT Press, Reading,

Massachusetts, 2012.

19

20 REFERÊNCIAS

[12] Filipe Emanuel Amaro Coelho. Sistema automático de reconhecimento do montante de um

cheque, school =. Tese de mestrado.

[13] Pedro Domingos. A few useful things to know about machine learning.

[14] Daniel T. Larose. Multiagente System - A Modern Approach to Distributed Modern Approach

to Artificial Intelligence.

[15] Hartung Ronald Nguyen Ngoc Thanh Hakansson, Anne. Agent and Multi-agent Technology

for internet and Enterprise Systems. Springer.

[16] Fukumoto Kenji Omo, Norihiko. Multi-agent reinforcement learning: a modular approach.

[17] Hideaki Taguchi Yoshiaki Imoto Akio Gofuku Kazuyuki, Ito. A study of reinforcement

learning with knowledge sharing.

[18] Mungo Louis Pay. Distributed learning for multi-agent control of a dynamic system. Tese

de doutoramento, The University of York Department of Electronics, 2011.

[19] Oliveira Eugénio Nunes, Luís. Exchanging advice and learning to trust.

[20] Filipe Gabriel Andrade da Silva. Sistema de medida de confiança para selecção de empresas

em sistemas b2b. Tese de mestrado, Faculdade de Engenharia da Universidade do Porto,

2009.

[21] Wang Yan Orgun Mehmet A. Liu, Guanfeng. Trust transitivity in complex social networks.