Sie sind auf Seite 1von 9

Motivao e Cooperao.

Aldo Pires 1402225;


Jorge Costa 1402247;
Samuel Lima 1402607.
Trabalho para a unidade curricular Sistemas Multi-Agentes.
Resumo da Parte III do Livro:
Wooldrige, M. - An Introduction to MultiAgents Systems, 2nd Edition, Wiley, 2009
Mestrado em Tecnologias e Sistemas Informticos Web Universidade Aberta
24/04/2015
Capitulo 6 - Entendendo uns aos outros
A ontologia define um vocabulrio para interpretao do conhecimento, para que agentes possam
entender uns aos outros, executando um papel importante na troca de informaes oferecendo uma
estrutura semntica s fontes de dados. Uma ontologia tem trs componentes bsicos: classes - que
representa um conjunto de entidades partilhando determinadas propriedades em comum, geralmente
organizados em uma taxonomia hierrquico um; instancias so exemplos concretos de classes,
com propriedades intrnsecas e extrnsecas; axiomas definem restries de classes, modelando
sentenas com verdades inquestionveis. O tipo de ontologia definido pelo nvel de formalidade do
seu vocabulrio e os tipos de informao que vinculam, sua aplicao e estrutura.
Existe uma grande variedade de linguagens para construo de ontologias, onde em termos de
popularidade se destacam o XML, o OWL e o KIF. O XML no uma linguagem de ontologia, mas
pode ser usado para definir ontologias simples de uma maneira informal, como a web semntica,
uma metalinguagem baseada no SGML que permite a definio de novos marcadores. O OWL um
conjunto de vrios frameworks de ontologias baseados no XML, com trs variedades: OWL Lite,
OWL DL e OWL Full, sendo cada uma dessas variedades uma sub-linguagem da sua antecessora,
utiliza representao em XML, com uma sintaxe abstrata para humanos e excuta as seguintes tarefas
de raciocnio: verificao de consistncia, satisfao de conceito, classificao de conceitos, calcula
hierarquia de subsuno, subsuno de classes, pelo menos um subsumisor em comum e classificao
de instncias. O KIF fortemente baseado na logica de primeira ordem, com uma notao LISP-like,
onde possvel os agentes expressar: propriedades das coisas em um domnio, relao entre coisas
em um domnio e propriedades gerais de um domnio.
RDF no uma linguagem de ontologia, mas est estreitamente ligada com a ontologia em geral e
com a web semntica, em particular, desenvolvida essencialmente com o objetivo de standarizar a
representao do conhecimento de frameworks web. As expresses so representadas como triplas,
que consiste de um sujeito, predicado e objeto. Para construir uma ontologia segundo Noy e
McGuinness necessrio seguir as seguintes etapa: determinar o domnio e o escopo da ontologia,
1

considerar reutilizao, enumerar todos os termos relevantes, definir classes e hierarquia de classes,
definir propriedades, definir propriedades de propriedades, criar instancias.
Capitulo 7 Atos de Fala
Comunicao um tema de importncia central na cincia da computao, foram desenvolvidos
muitos formalismos para representar as propriedades de sistemas comunicao concorrentes [Hoare,
1978; Milner, 1989]. O sincronismo de mltiplos processos e o maior problema em sistemas
concorrentes [Ben-Ari, 1990]. Num cenrio orientado a agentes, os agentes tem controle tanto sobre
seu estado quanto sobre seu comportamento.
(Speech Acts: coisas que o ato de diz-las representam uma ao e podem mudar o estado do mundo
Estamos em guerra. Comea com John Austin 1962. A teoria de speech act trata comunicao
como ao. John Searle em 1969, identificou propriedades que a manter para que uma performativa
entre ouvinte e um locutor tenha sucesso: Condies de I/O normais, Condies preparatrias,
Condies de sinceridade tambm classificou em 5 tipos os speech acts: Representativas - (Caso
de paradigma: informao); Diretivas - (Caso de paradigma: requisio); Comissionado - (Caso de
paradigma: promising); Expressiva - (Caso de paradigma: agradecimento) e Declaraes - (Caso de
paradigma: declarao de guerra).No inicio dos anos 70 Cohen e Perrault (1979) deram conta da
semntica dos speech acts usando tcnicas desenvolvidas em pesquisas de planeamento de IA onde
o objetivo foi desenvolver a teoria dos speech acts modelando elas em um sistema de planeamento
como operadores definidos...em termos das crenas e objetivos dos locutores e ouvintes.
Posteriormente os speech acts foram modeladas como aes realizadas por agentes racionais no apoio
de suas intenes por Cohen e Levesque - Speech acts as rational action.
Surge algumas linguagens de comunicao de agentes como a Knowledge Query and Manipulation
Language (KQML), linguagem externa para comunicao entre agentes. Define um formato de
envelope para mensagens, no qual uma gente pode explicitamente tratar a ilocucionria fora
desejada para a mensagem. KQML se preocupou com a parte de contedo das mensagens. Temos o
Knowledge Interchange Format (KIF) uma linguagem explicitamente com o objetivo de permitir
representaes do conhecimento sobre algum domnio particular. Ela foi planejada para formar as
partes de contedo de mensagens KQML. Em 1995 a Foundation for Intelligente Physical Agentes,
FIPA, iniciou o desenvolvimento de padres para sistemas de agentes, definindo a FIPA ACL,
superficialmente similar KQML, com 20 performativas para definio de interpretao desejada de
mensagens, e no obriga qualquer linguagem especfica para o contedo das mensagens. Temos a
Linguagens de Coordenao onde um dos mais importantes precursores do desenvolvimento de
sistemas multi-agentes foi o modelo blackboard. Que prope que a resoluo de problemas em grupo
progride por um grupo de 'origens de conhecimento' (agentes) observando uma estrutura de dados
compartilhada como um quadro negro: resoluo de problemas progride como estas origens de
conhecimento contribuem com solues parciais para o problema.
2

Capitulo 8 - Trabalhando Juntos


Os sistemas distribudos e concorrentes cooperam uns com os outros a fim de realizarem as tarefas
atribudas, os sistemas multiagentes a semelhana desses podem ser concebidas de modo a que os
agentes possam trabalhar em conjunto para eficazmente atingirem um determinado objetivo estes so
designados de agentes benevolentes, estes trabalham juntos a fim de resolverem problemas que
ultrapassam a capacidade individual dai o processo Cooperative Distributed Problem Solving (
CDPS), mas porem estes podem no compartilhar objetivos comuns, agindo de forma estratgicas
para alcanarem um determinado objetivo, tambm estes distinguem dos sistemas distribudos em
ralao a autonomia, enquanto o agente toma decises em tempo de execuo, capazes de coordenar
as suas aes dinamicamente e cooperarem com os outros, os sistemas distribudos normalmente tem
um comportamento pr definido.
Para que um grupo de agentes resolver um determinado problema sugerido pelo processo CDPS, a
diviso em trs fazes de atividade, a decomposio do problema, soluo de sub-problema e sntese
de resposta, na decomposio de problemas, os problemas a serem resolvidas so decompostas em
sub-problemas estes so decompostas e sub-problemas menores, assim por diante at serem
adequados a ser resolvido por um agente individual, a etapa de soluo de sub-problema concretiza
a resoluo individual dos sub-problemas identificadas durante a etapa anterior, nesta etapa
normalmente os agentes colaboram passando informaes que so uteis para outros agentes, na faze
de sntese de resposta as solues dos sub-problemas individuais so integradas numa soluo global,
para este modelo existe duas atividades que so suscetveis de estar presente, a partilha de tarefas e
a partilha de resultados, o primeiro feito pelos agentes faz a decomposio, no segundo os
resultados parciais so distribudos. Para conseguir uma partilha eficaz das tarefas em rede utiliza-se
o protocolo de redes contratos contract-Net (CNET),
A coordenao da cooperatividade dos agentes trabalhando juntos um dos problemas que se
enfrentam nos sistemas multiagentes, a interdependncia entre as atividades devem ser geridas para
que a realizao de uma atividade que depende do outro no seja executada simultaneamente por
dois agentes, mas sim que seja executada primeiramente a que no dependente, para resolver esse
problema preciso o planeamento e sincronizao das atividades num sistema multiagente, podendo
ter trs tipos: planeamento centralizado para os planos distribudos nesse caso o processo de
planeamento faz a diviso e a ordenao de tarefas que so distribudas a um grupo de agentes pelo
agente mestre, planeamento distribudo ou planeamento distribudo para os planos distribudos.
Capitulo 9 Metodologias
Com a adoo de sistemas multiagentes pela comunidade da cincia de computao, expectvel o
crescimento de metodologias de apoio a desenvolvimento de sistemas multiagentes.
Antes de optar pela abordagem baseada em agentes tem que analisar e verificar a existncia das
seguintes condies: Ambiente aberto, ou pelo menos tem algum grau de dinmica, incerto ou
3

complexo. Quando os agentes so a metfora apropriada. Dados, controlo ou especialidade esto


distribudos. Sistemas legados.
ANLISE E DESENHO DE SISTEMAS ORIENTADOS A AGENTES
Metodologias de anlise e desenho de sistemas levam a especificar e descrever as necessidades e
especificaes do sistema de uma viso abstrata at concreta. Essas metodologias podem ser
divididas em dois grupos: Extenses ou adaptaes das metodologias orientados a objetos;
Adaptaes da engenharia do conhecimento ou outras tcnicas.
Metodologia AAII - O Australian AI Institute (AAII), desenvolveu essa metodologia fruto da
experiencia adquirida no desenvolvimento das suas aplicaes, inspirando em metodologias OO e
aprimoradas com conceitos baseados em agentes. Metodologia essa, que elaborando um determinado
nmero de modelos (internos e externos), obteria como resultados as especificaes do sistema. Os
modelos externos mostram uma viso geral do sistema, com o foco nos agentes e como se relacionam
entre si, decomposto em modelos de agentes que modelam as classes e instncias dos agentes e
modelos de interao. Os modelos internos, com desenhos da parte interna dos agentes apresentando
as suas crenas, desejos e intenes.
Com um processo de anlise iterativa como a maioria de anlises tradicionais, a metodologia AAII
composto das seguintes etapas:
1. Identificar as principais funes no domnio apresentando uma hierarquia de classe de
agentes.
2. Identificar as responsabilidades de cada funo, os servios fornecidos e requeridos por este
e definir os objetivos associado a cada servio.
3. Definir planos de aes para cada objetivo, e contexto apropriado para aplicao de cada
plano.
4. Determinar a estrutura de crenas do sistema - informaes necessrias para cada plano e
objetivo.
Gaia - A metodologia GAIA baseia nas terminologias e anotaes de anlise orientadas a objetos,
mas oferecendo um conjunto de conceitos de agentes para o desenvolvimento de um sistema
complexo. Incentiva a para a construo de desenho de sistemas baseado em agentes semelhante
de o desenho de uma organizao.
Os principais conceitos de GAIA podem ser divididos em duas categorias: abstratas (papeis,
permisses, responsabilidades, protocolos, atividades, propriedades de ao, propriedades de
segurana) e concretos (tipos de agentes, servios, conhecimentos).
A fase de anlise tem como objetivo desenvolver o entendimento do sistema e sua organizao e
estrutura, sem quaisquer detalhes de implementao, entendimento esse que deve ser capturado da

organizao do sistema, decompondo-o em sociedade organizada de agentes que podem utilizar um


ou mais papis.
Um papel definido por quatro atributos: Responsabilidade que o atributo chave ou a regra que
descrever as funcionalidades do papel. Permisses definem os meios disponveis que um papel
consegue utilizar ou gerir. Atividades definem uma computao que o papel pode realizar sem
interagir com outros agentes. Protocolos descrevem as capacidades e regras de como comunicar com
os outros papis.
Tropos A metodologia de tropos tem uma viso orientada a agentes ao longo do ciclo de
desenvolvimento de software baseando nos seguintes conceitos: Ator uma entidade que tem
objetivos e estratgias que representa um agente, um papel ou uma posio. Objetivo representa a
condio que o ator quer obter. Plano o percurso para alcanar o objetivo. Recurso entidade
fsica ou de informao. Dependncia o que um ator precisa do outro para executar um plano ou
partilhar um recurso. Capacidade a habilidade do ator tomar decises. Crena conhecimento sobre
o ambiente.
Na primeira fase so definidos os stakeholders do sistema, modelando-os como atores sociais, com
dependncias baseadas em objetivos, planos e troca de recursos.
Prometheus - Consiste em trs fases: Especificao do sistema definio dos objetivos,
funcionalidades bsicas e sua relao com o ambiente. Desenho da arquitetura identificao dos
tipos de agentes, a estrutura do sistema e como interagem. Desenho detalhado detalhamento das
capacidades dos agentes. Possui vrios modelos e orientaes para cada fase. Tambm tem
ferramenta de suporte.
Agentes UML Sendo UML um padro para modelao de sistemas orientados a objetos, muitos
pesquisadores iniciaram os seus estudos a partir deste. Onde foram apresentadas as seguintes
modificaes: Suporte para threads concorrentes de interaes e extenso da noo de papis.
Suporte da FIPA e OMG para criar notaes sustentadas em UML para modelar agentes.
Agentes em Z Definida por uma hierarquia de nveis de entidades: Entidades como objetos
inanimados, depois objetos como objetos com capacidades, em seguida agentes como objetos ativos
e com objetivos e por ltimo agentes autnomos como agentes com motivaes.
Segundo Wooldridge, as extenses e adaptaes das metodologias OO para sistemas baseados em
agente, trazem algum inconveniente em relao as outras, por haver diferenas entre agentes e
objetos.
Problemas de Desenvolvimento Orientado a Agentes
No entender onde os agentes podem ser aplicados - os desenvolvedores subestimam o potencial
do agente e esquecem que e, apenas software, com limitaes fundamentais que os tradicionais
5

solues de software .Parcialidade na escolha dos agentes os agentes tm sido utilizados em uma
vasta gama de aplicaes, mas no como soluo universal. Para muitas aplicaes, software convencional
(por ex., OO) so as mais adequadas. No saber porque voc quer agentes - Muitos gerentes adquirem sem
ter nenhum modelo de negcio para os agentes como tambm no sabem como os agentes podem ser
utilizados para aprimorar seus produtos existentes. Querer construir solues genricas para
problemas especficos - Normalmente, ela se manifesta na elaborao de uma arquitetura que
supostamente permite que seja construdo toda uma gama de possveis tipos de sistema, onde o que
e necessrio projeto de design para resolver um nico problema, uma soluo personalizada ser
mais fcil desenvolver para satisfazer os requisitos da aplicao. Acredita que o agente serve para
tudo - apenas uma questo de tempo para algum reivindicar os agentes como o santo graal da
engenharia de software, o que seria perigosamente ingnuo, pelo motivo que os argumentos
apresentados ainda no foram testados na prtica. Esquecer que e o desenvolvimento de um
Software -.No momento da escrita de um sistema de agentes essencialmente um processo de
experimentao. No existe uma metodologia confivel disponvel. Infelizmente, porque o processo
experimental: o projeto fica confuso, no por causa problemas especficos do agente, mas porque
foi ignorado as boas prticas da engenharia de software. Esquecer que e o desenvolvimento de um
software multithreads- Na construo de um sistema multi-agente, essencial no ignorar as lies
aprendidas a partir dos Sistemas concorrente (multithread) e sistemas distribudos - os problemas
inerentes a sistemas multithread no desaparecem, s porque foi adotado uma abordagem baseada
em agentes. O seu projeto no explora concorrncias Uma das caractersticas mais evidentes de
um pobre design multiagente que a quantidade de soluo de problemas concorrente
comparativamente pequeno ou mesmo em casos extremos inexistente. Se houver apenas uma
necessidade para um nico segmento de controlo no sistema, o uso de agente deve ser questionado.
Decidir a sua prpria arquitetura para agentes , grande a tentao de imaginar que existe
nenhuma arquitetura para seu problema, necessrio criar um a partir de primeiros princpios devese procurar e estudar se existe um que ajusto ao pretendido. Seus agentes usam demasiadamente a
IA.- Quando se constri um aplicativo do agente, h uma tentao de se concentrar exclusivamente
no agente especfico de 'inteligncia' os aspectos das aplicaes. O resultado muitas vezes um
agente que est muito sobrecarregado.

Agente Moveis tem despertado muito interesse, em especial na programao de linguagem e objetoorientado. Com o objetivo de substituir a chamada remota de procedimentos, Eles so capazes de
transmitir o cdigo o estado e atributo atravs de uma rede de computadores, e serem execuo em
um local remoto. O uso de Agentes Moveis ficou conhecido , principalmente atravs do trabalho
pioneiro da General Magic, Inc., Telescript na sua linguagem de programao. Na escolha de
Agente Moveis temos que considerar alguns problemas tcnicos como: A serializao do agente (ou
seja codificado em um formato adequado para ser enviado atravs da rede), e, em especial, quais os
aspetos do agente so serializados - o programa, os dados, ou o programa e seus dados? Para resolver
6

esse ponto tanto o agente e o seu estado so transmitidos, e o estado inclui contador do programa, ou
seja, o agente "se lembra", onde estava antes ela ser transmitida atravs da rede, e quando regressa
do seu destino, ele recomea a execuo da instruo seguinte ao programa que o levou a ser
transmitido. Outra soluo O agente a ser transmitida basicamente um script, sem qualquer estado
associado. Hospedagem e execuo remota quando o agente chega ao seu destino, como
executado, se o hospedeiro original do agente emprega um sistema operacional ou processador
diferente do host de destino? Segurana quando h um potencial grande de o agente causar estragos
no host onde ele vai ser executado. Ele pode obter informaes sensveis atravs da leitura do disco
ou diretamente da RAM. Ele pode negar servio a outros processos ocupando a maior percentagem
de memria ou do Processador ou causando mau funcionamento da mquina (por exemplo,
escrevendo na memria RAM). Linguagens como o Java abordam essas questes. Por exemplo, ao
contrrio das linguagens C ou C++, a linguagem Java no possui ponteiros, assim, difcil (embora
no impossvel) para um processo Java aceder a memria da mquina em que est a trabalhar.
Mquinas virtuais Java tambm tm um builtin SecurityManager, que define a medida em que os
processos em execuo na mquina virtual podem acessar diversos recursos.
Os agentes Moveis podem ser devidos em trs tipos: Autonomous, on-demand, active mail type.
Debruando sobre o tipo Autonomous temos a Telescript desenvolvida pelo General Magic, Inc
incio da dcada de 1990, onde existe dois conceitos chave nessa tecnologia: lugares e
agentes. Lugares so locais virtuais que so ocupados pelos agentes - um lugar pode corresponder a
uma nica mquina, ou um grupo de mquinas. Os agentes so os provedores e consumidores de
bens no mercado de aplicaes eletrnico que Telescript foi desenvolvido para suportar. Os agentes
de programas Telescript so interpretados semelhante forma como o Java bytecodes pela mquina
virtual Java. Telescript os agentes so capazes de se mover de um lugar para outro. Um agente usa
um bilhete , que especifica os parmetros da sua viagem. Mais tarde a tecnologia Telescript foi
ultrapassada pela Java que na dcada de 1990 j tinha grande nmero de telemoveis a funcionarem
com sua tecnologia. Outra Linguagem que aparece a Tcl - Tool Control Language em conjunto
com Tk (framework) Tcl fornece os meios para implementar facilmente a sua prpria linguagem de
comando. Tk um X-Window-baseada em ferramentas widget. Ele oferece comodidades para fazer
funcionalidades GUI tais como botes, janelas grficas etc ... Tk tambm fornece grande facilidade
para a comunicao entre processos, por meio do intercmbio de scripts em Tcl. Tcl/Tk combinadas
tornam atraente e simples de usar as ferramentas de desenvolvimento GUI; no entanto, possuem
caractersticas que os tornam muito mais interessante: Tcl uma linguagem interpretada, Tcl
extensvel ele fornece um conjunto bsico de primitivos, implementado em C/C++ e permite que o
usurio construa sobre as mesmas se houver necessidade, Tcl programas so chamados scripts. Esses
scripts, muitas das propriedades que scripts shell Unix: A ideia de agente vem em formato mvel
porque fcil de criar aplicativos onde scripts em Tcl so trocados atravs de uma rede, e executado

em mquinas remotas. A linguagem TCL SEGURA contem mecanismo para limitar o acesso a um
script.
Em resumo, Tcl e Tk proporcionam um ambiente rico para a construo de aplicaes baseadas na
linguagem, especialmente baseado em interface grfica. Mas eles no esto/no foram destinados
como ambiente programao de agente. - o cdigo-fonte livre, estvel, bem concebido, e facilmente
modificados. [Gray, 1996; Kotz pode et al., 1997].

Capitulo 10 - Aplicaes
Os sistemas baseados em agentes esto sendo aplicadas em diversas reas, estes so indicados para
os domnios em que necessria ao autnoma, que se divide em dois grupos: sistemas distribudos
em que os agentes se funcionam com nos de processamento e assistente de software pessoal em que
os agentes tm de ser proactivos no auxlio dos utilizadores a trabalhar com um software, os agentes
tem sido utilizados na gesto de empresas auxiliando no processo de gesto de negcio, no controlo
de trfego areo, na gesto de sistemas de energia, na detestao no trafego em sistemas distribudos,
no controlo de processos de fabrico, nos leitores de noticias, nos leitores de correio eletrnico, nos
navegadores web e varias outras tipo de aplicaes.
Um exemplo atual de sistema baseado em agentes de gesto de processos de negcios segundo
[Jennings et al., 1996b apud. Wooldridge 2009] o sistema ADEPT, que transformou o processo de
fornecimento de um oramento para a instalao de uma rede para fornecer um determinado tipo de
servio de telecomunicaes ao cliente num sistema multiagente, esta atividade envolveu os vrios
departamentos da empresa British Telecom e as vrias empresas que oferecem o servio terceirizado
aos clientes transformando cada departamento e cada indivduo dentro de um departamento em um
agente, para atingir os seus objetivos individuais, estes agentes cooperam uns com os outros,
transformando todas as interaes em forma de negociao sobre quais servios um agente fornece
para o outro e em que termos e condies. Na inteno de utilizao de sistemas multiagentes para
gerenciar redes de sensores distribudos espacialmente utiliza-se os agentes de sensoriamento
distribudo, um exemplo de ilustra este tipo de sistema multiagente o distributed vehicle
monitoring testbed, DVMT [Lesser and Erman, 1980, apud. Wooldridge 2009]. Hoje em dia existe
uma quantidade enorme de informao na web e ainda muito para ser recuperado, que precisa ser
bem gerida e de fcil acesso, os agentes tm sido proposto como uma soluo para estes problemas,
tem-se desenvolvido um esforo no desenvolvimento de Agentes de Recuperao e gesto de
Informao, tem sido utilizado sistemas multiagentes distribudos para recuperao de informao
semiestruturada atravs da indexao, mas tambm na gesto da informao para que facilite o
utilizador a chegar na informao pretendida disponibilizando sugestes de pesquisas, tpico dos
motores de busca. A compra e vendas de produtos na web ganhou uma grande dimenso, hoje em
dia existe Agentes de Comrcio Eletrnico que nos auxilia tanto no processo de compra como de
venda na web, o tipo mais bsico Agentes de comparao de compras, este auxilia na compra de
um determinado produto por exemplo comparando os atributos de um produtos para diferentes lojas.
8

Alem dos tipos identificados acima tambm existe Agentes de Interfaces Homem-Computador tpico
dos assistentes de software referido acima, Agentes para Ambientes Virtuais estes tem grandes
potenciais para utilizao em cinema, jogos de computador e realidade virtuais, so normalmente
agentes emocionais, Agentes de simulao social e agentes para X.