Essays.club - TCC, Modelos de monografias, Trabalhos de universidades, Ensaios, Bibliografias
Pesquisar

PROGRAMAÇÃO ORIENTADA A AGENTES

Por:   •  16/12/2018  •  1.760 Palavras (8 Páginas)  •  264 Visualizações

Página 1 de 8

...

[pic 5]

Figura 4 - a estrutura de um agente baseado na utilidade

- DIFERENÇA ENTRE AGENTE E OBJETOS

As noções de agente e objetos são frequentemente confundidas, nomeadamente pelos programadores habituados à programação orientada aos objetos. Se bem que existem semelhanças, existem também importantes diferenças que podemos distinguir.

Segundo Wooldridge [Erro! Fonte de referência não encontrada.], programação orientada aos objetos assenta na característica do princípio da encapsulação, na qual se supõem que os objetos têm controlo sobre o seu estado interno. As variáveis instanciadas são declaradas como privadas, ou seja, estas apenas são acessíveis no próprio objeto. Deste ponto de vista, um objeto é autónomo no seu estado e tem o controlo do mesmo. No entanto, este não possui controlo sobre o seu comportamento, isto é, a invocação de métodos públicos necessários para a interação com o objeto permite que qualquer outro objeto invoque um método quando o quiser. Tendo o objeto um método público, implica que este perca o controlo sobre esse método e quando este é executado. Normalmente num sistema onde interagem vários objetos, é assumido que todos tem um objetivo comum e, por isso, partilham recursos e/ou informação para um dado objetivo.

Em muitos sistemas Multi-Agente não podemos assumir que a partilha de recursos e informação se destina a um objetivo comum. Não se pode supor que um dado agente execute uma ação (método do objeto), simplesmente porque outro agente a invocou. Num sistema Multi-Agente um agente solicita a outro agente a execução de uma determinada ação, a qual será executada se e só se este último agente considerar que esta deve ser executada.

Na programação orientada aos objetos a decisão de execução de um método pertence ao objeto que invoca o método. Num sistema Multi-Agente, a decisão de execução da ação pertence ao agente que foi requisitado para a execução da ação.

Outra diferença importante entre objetos e agentes diz respeito à noção de flexibilidade do comportamento autónomo destes últimos. Caracteriza-se flexibilidade do comportamento como o agente que exibe comportamento reativo, proativo e/ou social. Sendo possível integrar estes comportamentos na programação orientada aos objetos, tal facto, em nada tem a haver com o conceito normalizado de programação por objetos.

Uma última diferença entre a programação orientada aos objetos e os agentes inteligentes tem em conta que os agentes possuem o seu próprio processo de controlo, enquanto que num sistema de objetos existe um único processo de controlo para o sistema.

- 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 investigação científica e a implementação prática de Sistemas Multi-Agente está focalizada na construção de standards, princípios e modelos que permitam a criação de pequenas e grandes sociedades de agentes semiautónomos, capazes de interagir convenientemente de forma a atingirem os seus objetivos [Lesser, 1999].

Um dos pontos essenciais para permitir a construção de sociedades de agentes, consistem conseguir gerir as interações e as dependências das atividades dos diferentes agentes no contexto do Sistema Multi-Agente, i.e., coordenar esses agentes. Desta forma, a coordenação desempenha um papel essencial nos SMA porque estes sistemas são inerentemente distribuídos. Aliás, o tema designado genericamente por coordenação constitui um dos maiores domínios científicos da informática e ciências da computação. Trabalhos científicos abrangidos por este domínio frequentemente incluem aspectos conceptuais e metodológicos, mas também implementacionais, de forma a conseguirem expressar e implementar aplicações informáticas distribuídas.

- ARQUITETURA BDI

As arquiteturas BDI (Belief-Desire-Intention) “(RAO E GEORGE, 1995)” baseiam-se na teoria de que os seres humanos são regidos pôr três estados mentais funda mentais: crenças, desejos e intenções. O estado do agente é representado pôr três estruturas: suas crenças (beliefs), seus desejos (desires) e suas intenções (intentions).

As crenças de um agente são 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 representação que tende a produzir, modificar ou selecionar ações à luz das crenças. As intenções de um agente são as ações que têm decidido realizar. Além destes componentes, algumas arquiteturas BDI usam o conceito de planos, que seriam o "passo-a-passo" a ser seguido, quando gerada uma intenção, para a realização de uma ação sobre o ambiente.

- LINGUAGEM AGENTSPEAK(L)

A linguagem AgentSpeak(L) foi projetada para a programação de agentes BDI na forma de sistemas de planejamento reativos (reactive planning systems). Ela foi primeiramente apresentada em (ANAND, 1996) e é uma extensão natural de programação em logica para arquitetura de agentes BDI, que representa um modelo abstrato para a programação de agentes e tem sido a abordagem predominante na implementação de agentes inteligentes (WOOLDRIGDE, 1999). Um agente AgentSpeak(L) corresponde à especificação de um conjunto de crenças que formarão a base de crenças inicial e um conjunto de planos (BORDINI; et al., 2004).

AgenteSpeak(L) distingue dois tipos de objetivos: objetivos de realização (achievement goals) e objetivos de teste (test goals). Objetivos de teste são predicados, tais como crenças e expressam que o agente quer alcançar um estado no ambiente onde o predicado associado ao objetivo é verdadeiro. Um objetivo de teste retorna à unificação do predicado de teste com uma cresça do agente, ou falha caso não seja possível a unificação com nenhuma crença do agente.

- CONCLUSÃO

Com isso conclui que a programação orientada a objetos veio como nova forma de expressar a ideia e abstrair o mundo real e a programação orientada a agentes traz uma nova abordagem para o desenvolvimento de sistemas com características especificas: software autônomo e sistema distribuído, podendo ser pensado como uma evolução da programação orientada a objetos [J. Odell,

...

Baixar como  txt (12 Kb)   pdf (58.5 Kb)   docx (16.9 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no Essays.club