Vous êtes sur la page 1sur 9

MINISTRIO DA EDUCAO

UNIVERSIDADE FEDERAL DO PIAU


CENTRO DE EDUCAO ABERTA E A DISTNCIA
CURSO DE LICENCIATURAEMCOMPUTAO
LINGUAGENS DE PROGRAMAO

FBIO DA NOBREGA SANTANA

PROGRAMAO ORIENTADA A AGENTES

SO JOO DO PIAU

2017
1 - INTRODUO

Este pequeno artigo apresenta uma introduo ao paradigma programao


orientada a agentes. Programao essa que teve seu incio marcado pelo
importante artigo de Yoav Shoham, intitulado Agente-Oriented Programming,
que foi publicado em 1993. A proposta deste novo paradigma de programao
foi inspirada na viso social de computao, discutida em profundidade pela
comunidade de inteligncia artificial distribuda, e sistemas multiagente. Contm
ainda conceitos de agentes e descreve os tipos de agentes e diferenas entre
agente e objetos. Fala sobre sistemas multiagentes, arquitetura DBI e linguagem
AgentSpeak(L)

2 - O QUE UM AGENTE

A engenharia de software baseada em agentes uma rea emergente cujo o


objetivo oferecer suporte ao desenvolvimento de sistemas multiagentes. Os
agentes interagem atravs de um ambiente compartilhado por outros agentes de
uma sociedade, e atuam sobre esse ambiente, alterando seu estado.

Como cada agente possui um conjunto limitado de capacidade especificas e


objetivos prprios em relao aos estados do ambiente que quer atingir,
mecanismos para interao e coordenao dessas entidades so necessrios,
pois, em geral, os agentes no conseguem atingir todos seus objetivos
isoladamente. Por exemplo, atingir um acordo, para que dois ou mais agentes
cooperem na resoluo de um problema comum entre eles, uma forma de
coordenar as atividades para atingir o objetivo comum da forma mais eficaz
possvel. Dessa forma, possvel para os projetistas de sistemas
computacionais a criao de sistemas complexos de forma naturalmente
distribuda e bottom-up. Com isso, criar mecanismos genricos para a
coordenao desses agentes para que o sistema como um todo funcione de
forma adequada e eficiente um dos grandes desafios da rea.
3 - TIPOS DE AGENTES

Existem diferentes propostas de classificao dos tipos de agentes. Como a


classificao proposta por RUSSEL E NORVING (1995), que segundo eles
existem quatro tipos diferentes de agentes, possuindo cada um, aspectos
diferenciados na busca de soluo de problemas, que so eles:

- Agentes reflexivos

- Agentes reflexivos que mantem registro do ambiente

- Agentes baseados em metas

- E agentes baseados na utilidade

Nos agentes reflexivos, cada percepo dispara alguma ao pr-estabelecida


no programa, sendo esta relao uma simples regra do tipo <condio, ao>
onde a condio dada pela percepo do agente. Este agente quem faz a
simulao dos reflexos dos humanos. Como mostra a figura abaixo.

Figura 1 - a estrutura de uma agente reflexivo simples "Russel e Norving, 1995"

Nos agentes reflexivos que onde mantem registro do ambiente, o estado


interno do agente utilizado, ou seja, ocorre um registro da sequncia percentual
e das aes executadas pelo agente.

A estrutura desse tipo de agente mostra como a percepo corrente combinada


com o estado interno antigo gera a atualizao do estado corrente. Que a parte
mais interessante a funo atualizar-estado, sendo ela responsvel pela criao
de um novo estado interno, como mostra a figura.
Figura 2 - a estrutura de um agente reflexivo com estado "(Russel e Norving, 1195)"

Agentes baseados em metas, alm de manterem um registro do estado do


ambiente, possuem uma meta que descreve um estado desejvel a ser atingido.
Ento o agente pode fazer uma combinao do desejvel com os resultados de
possveis aes, para tomar decises na busca da meta.

Figura 3 - a estrutura de um agente baseado em meta

O ltimo tipo de agente o baseado na utilidade. Que apesar da importncia das


metas, elas sozinhas no representam o bastante para se ter um comportamento
de qualidade "(RUSSEL E NORVIG, 1995)". No agente baseado em metas s
h uma preocupao entre os estados feliz e o infeliz, enquanto uma medida
de utilidade mais geral deve permitir uma comparao entre vrios diferentes
estados, de acordo com o quo feliz se busca ser.
Figura 4 - a estrutura de um agente baseado na utilidade

4 - DIFERENA ENTRE AGENTE E OBJETOS

As noes de agente e objetos so frequentemente confundidas,


nomeadamente pelos programadores habituados programao orientada aos
objetos. Se bem que existem semelhanas, existem tambm importantes
diferenas que podemos distinguir.

Segundo Wooldridge [Erro! Fonte de referncia no encontrada.],


programao orientada aos objetos assenta na caracterstica do princpio da
encapsulao, na qual se supem que os objetos tm controlo sobre o seu
estado interno. As variveis instanciadas so declaradas como privadas, ou seja,
estas apenas so acessveis no prprio objeto. Deste ponto de vista, um objeto
autnomo no seu estado e tem o controlo do mesmo. No entanto, este no
possui controlo sobre o seu comportamento, isto , a invocao de mtodos
pblicos necessrios para a interao com o objeto permite que qualquer outro
objeto invoque um mtodo quando o quiser. Tendo o objeto um mtodo pblico,
implica que este perca o controlo sobre esse mtodo e quando este executado.
Normalmente num sistema onde interagem vrios objetos, assumido que todos
tem um objetivo comum e, por isso, partilham recursos e/ou informao para um
dado objetivo.

Em muitos sistemas Multi-Agente no podemos assumir que a partilha de


recursos e informao se destina a um objetivo comum. No se pode supor que
um dado agente execute uma ao (mtodo do objeto), simplesmente porque
outro agente a invocou. Num sistema Multi-Agente um agente solicita a outro
agente a execuo de uma determinada ao, a qual ser executada se e s se
este ltimo agente considerar que esta deve ser executada.

Na programao orientada aos objetos a deciso de execuo de um mtodo


pertence ao objeto que invoca o mtodo. Num sistema Multi-Agente, a deciso
de execuo da ao pertence ao agente que foi requisitado para a execuo da
ao.

Outra diferena importante entre objetos e agentes diz respeito noo de


flexibilidade do comportamento autnomo destes ltimos. Caracteriza-se
flexibilidade do comportamento como o agente que exibe comportamento
reativo, proativo e/ou social. Sendo possvel integrar estes comportamentos na
programao orientada aos objetos, tal facto, em nada tem a haver com o
conceito normalizado de programao por objetos.

Uma ltima diferena entre a programao orientada aos objetos e os agentes


inteligentes tem em conta que os agentes possuem o seu prprio processo de
controlo, enquanto que num sistema de objetos existe um nico processo de
controlo para o sistema.

5 - SISTEMAS MULTIAGENTES

Um Sistema Multi-Agente um sistema computacional em que dois ou mais


agentes interagem ou trabalham em conjunto de forma a desempenhar
determinadas tarefas ou satisfazer um conjunto de objetivos. A investigao
cientfica e a implementao prtica de Sistemas Multi-Agente est focalizada
na construo de standards, princpios e modelos que permitam a criao de
pequenas e grandes sociedades de agentes semiautnomos, capazes de
interagir convenientemente de forma a atingirem os seus objetivos [Lesser,
1999].

Um dos pontos essenciais para permitir a construo de sociedades de agentes,


consistem conseguir gerir as interaes e as dependncias das atividades dos
diferentes agentes no contexto do Sistema Multi-Agente, i.e., coordenar esses
agentes. Desta forma, a coordenao desempenha um papel essencial nos SMA
porque estes sistemas so inerentemente distribudos. Alis, o tema designado
genericamente por coordenao constitui um dos maiores domnios cientficos
da informtica e cincias da computao. Trabalhos cientficos abrangidos por
este domnio frequentemente incluem aspectos conceptuais e metodolgicos,
mas tambm implementacionais, de forma a conseguirem expressar e
implementar aplicaes informticas distribudas.

6 - ARQUITETURA BDI

As arquiteturas BDI (Belief-Desire-Intention) (RAO E GEORGE, 1995)


baseiam-se na teoria de que os seres humanos so regidos pr trs estados
mentais funda mentais: crenas, desejos e intenes. O estado do agente
representado pr trs estruturas: suas crenas (beliefs), seus desejos (desires)
e suas intenes (intentions).

As crenas de um agente so o conhecimento que o agente possui sobre o


ambiente em que ele se encontra. Os desejos de um agente representam o
estado motivacional do sistema. Um estado mental motivador se um
mecanismo ou representao que tende a produzir, modificar ou selecionar
aes luz das crenas. As intenes de um agente so as aes que tm
decidido realizar. Alm destes componentes, algumas arquiteturas BDI usam o
conceito de planos, que seriam o "passo-a-passo" a ser seguido, quando gerada
uma inteno, para a realizao de uma ao sobre o ambiente.

7 - LINGUAGEM AGENTSPEAK(L)

A linguagem AgentSpeak(L) foi projetada para a programao de agentes BDI


na forma de sistemas de planejamento reativos (reactive planning systems). Ela
foi primeiramente apresentada em (ANAND, 1996) e uma extenso natural de
programao em logica para arquitetura de agentes BDI, que representa um
modelo abstrato para a programao de agentes e tem sido a abordagem
predominante na implementao de agentes inteligentes (WOOLDRIGDE,
1999). Um agente AgentSpeak(L) corresponde especificao de um conjunto
de crenas que formaro a base de crenas inicial e um conjunto de planos
(BORDINI; et al., 2004).

AgenteSpeak(L) distingue dois tipos de objetivos: objetivos de realizao


(achievement goals) e objetivos de teste (test goals). Objetivos de teste so
predicados, tais como crenas e expressam que o agente quer alcanar um
estado no ambiente onde o predicado associado ao objetivo verdadeiro. Um
objetivo de teste retorna unificao do predicado de teste com uma cresa do
agente, ou falha caso no seja possvel a unificao com nenhuma crena do
agente.

8 - CONCLUSO

Com isso conclui que a programao orientada a objetos veio como nova forma
de expressar a ideia e abstrair o mundo real e a programao orientada a
agentes traz uma nova abordagem para o desenvolvimento de sistemas com
caractersticas especificas: software autnomo e sistema distribudo, podendo
ser pensado como uma evoluo da programao orientada a objetos [J. Odell,
2000]. Porm tecnologia de agentes fornece suporte efetivo para resolver
problemas em certas reas de aplicao, onde outras tecnologias podem ser
deficientes ou enfadonhas.
REFERNCIAS

GIRARDI, R. Engenharia de Software Baseada em Agentes. IV Congresso


Brasileiro de Computao, n. 4, p. 25, 2004.
PARAISO, E. C. Concepo e Implementao de um Sistema Multiagente para
Monitorao e Controle de Processos Industriais. Dissertao-Paran: CEFET -
PR, 1997.
RUSSEL, S. and NORVIG, P. Artificial Intelligence: A Modern Approach,
Prentice-Hall, 1995.
WOOLDRIDGE, M. Intelligent Agents,In: Multi-Agent Systems - A Modern
Approach to Distributed Artificial Intelligence, G. Weiss (ed.), The MIT Press,
1999.
RAO, A. S., and GEORGE, M. P. BDI Agents: From Theory to Practice,In
Proccedings of the First International Conference on Multi-Agent Systems
(ICMAS 1995), So Francisco, MIT Press, pp. 312-319, 1995.

Lesser, Victor R. (1999). Cooperative multiagent systems: A personal view of the


state of the art. IEEE Transactions on Knowledge and Data Engineering, v. 11,
n.1, cap 3, p. 4982.
Anand S. R., AgentSpeak(l): BDI agents speak out in a logical computable
language, 1996.

Bordini, R. H., Vieira, R, Linguagens de programao Orientadas a Agentes:


uma introduo baseada em AgenteSpeak(L), 2004

J. Odell, Objects and agents: how do they differ?, Journal of Object-Oriented


Programming, October 2000.

Vous aimerez peut-être aussi