• Nenhum resultado encontrado

1.6 Estrutura da Tese

2.1.1 Agentes Inteligentes

Antes de apresentar o conceito de agentes inteligentes é interessante introduzir o con- ceito de agentes. Agente é aquele que age, é qualquer entidade que é origem de um fenômeno ou de um processo. Um agente é capaz de perceber o ambiente no qual está inserido e agir sobre ele [Wooldridge 2002][Russell & Norvig 2009].

O termo agente é aplicado em várias áreas do conhecimento. Em computação, esse termo pode ser usado para designar um agente de software ou um agente inteligente. Agentes de software são entidades que executam um conjunto de operações que lhes fo- ram incumbidas por um usuário ou outro programa [Wooldridge 2002].

Agentes inteligentes, por sua vez, são entidades reais ou virtuais, que possuem objeti- vos e, para atingi-los, devem ser capazes de comunicar-se com outros agentes inteligentes e de interagir com o ambiente no qual estão inseridos. O agente deve possuir capacida- des e oferecer serviços, e tende a atingir seus objetivos utilizando suas competências e os recursos oferecidos pelo sistema, incluindo os demais agentes inteligentes. Na subseção seguinte são apresentadas as principais características de um agente inteligente [Bordini et al. 2007] [Fabio Bellifemine & Greenwood 2007] [Padgham & Winikoff 2004]. 2.1.1.1 Características dos Agentes Inteligentes

Um agente inteligente deve possuir algumas características básicas. Essas caracterís- ticas são descritas a seguir [Wooldridge 2002] [Knapik & Johnson 1998]:

• Reatividade: Capacidade de reagir às mudanças do ambiente a partir de um contexto conhecido;

• Proatividade: Capacidade de tomar iniciativas para atingir seus objeti- vos;

• Habilidade Social: Capacidade de interagir com outros agentes.

• Autonomia: Capacidade de tomar decisões e operar no ambiente sem intervenção de outro agente (geralmente humanos);

• Adaptabilidade: Capacidade do agente de adaptar seu processo de deci- são frente a situações desconhecidas.

Pode-se verificar pela lista acima, que as características de um agente são um conjunto de capacidades que se pode esperar dele. Essas capacidades auxiliarão o agente a atingir seus objetivos.

2.1.1.2 Uma Taxonomia para Agentes Inteligentes

A forma de classificação mais enfatizada na literatura é a representação interna do agente, que determina o agente como sendo cognitivo ou reativo [Wooldridge 2002] [Franklin & Graesser 1997]. O agente pode ser classificado também como híbrido, quando une características cognitivas e reativas.

O agente cognitivo contém um modelo de representação interna do ambiente e dos outros agentes baseado em estados mentais. Pode manter um histórico das interações e ações passadas e, devido a essa memória, são capazes de planejar suas ações futuras. Existem algumas formas de se modelar um agente cognitivo, as duas mais usadas na literatura são: Modelagem de agentes cognitivos baseados em lógica e Modelagem de agentes cognitivos com crenças, desejos e intenções.

No primeiro tipo citado, os estados internos do agente são determinados através de fórmulas lógicas. Seu comportamento baseia-se em regras de dedução e histórico de ações passadas. Os agentes baseados nesse modelo possuem uma base de conhecimento formada por:

• Sentenças que representam as percepções do agente sobre o ambiente e os outros agentes;

• Sentenças válidas implicadas a partir das sentenças das percepções; • Regras de inferência utilizadas para implicar novas sentenças a partir

das sentenças existentes.

Esse modelo de agente pode ser exemplificado pela Figura 2.1, que ilustra um agente robô aspirador de pó. Esse agente pode executar as ações: ir para frente, virar e aspirar. O agente decide por uma ação, a partir de regras de dedução baseadas nos predicados: Em(x,y), Sujeira(x,y) e Faça(a), onde x e y indicam o posicionamento do robô no ambiente e a indica a ação a ser tomada. Um exemplo de regra de dedução que pode ser aplicada a este exemplo é:

Figura 2.1: Robô Aspirador [Wooldridge 2002].

Já o segundo tipo de agente cognitivo, agentes BDI (Beliefs, Desires and Intentions), é baseado na teoria do raciocínio prático humano, desenvolvida, pelo filósofo Michael Bratman [Bratman 1965] [Bordini et al. 2007][Georgeff et al. 1998] e consiste de três atitudes mentais básicas:

• Crenças (Beliefs): representam o que se sabe sobre o estado do ambiente e dos outros agentes do sistema;

• Desejos (Desires): ações que devem ser executadas pelos agentes para alcançar seus objetivos;

• Intenções (Intention): objetivos, algo que o agente quer alcançar.

O processo deliberativo do agente BDI consiste em formar novos desejos (subobje- tivos) com base nas crenças, desejos e intenções atuais, como passo para obtenção do objetivo final do agente. Normalmente, esse processo é formado por duas etapas: geração de opções e filtragem. A primeira etapa consiste na escolha de um conjunto de opções (desejos) levando em conta as crenças e intenções atuais, enquanto a filtragem tem como objetivo escolher a melhor alternativa gerada pela etapa anterior.

Os agentes reativos, por sua vez, são baseados em modelos de organização biológica ou etológica (formigas, cupins, abelhas, etc.). O modelo de funcionamento de um agente reativo é formado por um par estímulo-resposta (ação-reação). Nesse modelo não há representação explícita do conhecimento e não há histórico das ações passadas. A forma de organização de um sistema reativo é semelhante à observada por animais que vivem em grandes comunidades e baseia-se na hipótese de que o comportamento inteligente é resultado da interação do agente com o ambiente [Alexander S. Klyubin 2004].

Um modelo de agente reativo pode ser definido usando a arquitetura subsumption [Brooks 1986], apresentada na Figura 2.2. Essa arquitetura determina uma hierarquia de comportamentos direcionada à realização de tarefas. Cada comportamento possui uma estrutura simples baseada em regras (Se “situação” então “ação”).

A hierarquia define as prioridades dos comportamentos, onde as camadas mais baixas representam comportamentos mais instintivos e tem prioridade de ação maior.

Alguns autores [Garcia & Sichman 2003] [Knapik & Johnson 1998] argumentam que uma arquitetura que combine as soluções reativas e cognitivas é mais adequada para a construção de agentes inteligentes. Nesse caso, o agente híbrido deve possuir um módulo cognitivo, um módulo reativo e uma função mediadora que decida qual módulo deve ter

Figura 2.2: Agentes reativos: Arquitetura Subsumption [Brooks 1986].

o controle do agente em dado momento. Uma arquitetura geral dos agentes inteligen- tes, que pode ser aplicada tanto aos agentes cognitivos quanto aos reativos e híbridos, é apresentada na próxima subseção.

2.1.1.3 Uma Arquitetura Geral para Agentes Inteligentes

A Figura 2.3, baseada em [Garcia & Sichman 2003], apresenta uma arquitetura geral de um agente inteligente. Como ilustrado, um agente deve possuir algum mecanismo de decisão que permita escolher como atuar. Esse mecanismo de decisão (Módulo Decisor) pode utilizar-se de modelos de negociação; planejamento; decisão; padrões de reação e preferências definidas pelo usuário, além dos dados percebidos do ambiente e da comuni- cação com outros agentes.

O agente pode possuir interfaces de interação com o usuário, por onde serão passados os parâmetros de configuração e resultados; com outros agentes (troca de mensagens) e com o ambiente (sensores e atuadores).

Essa arquitetura propõe ainda um módulo configurador, que recebe os parâmetros de configuração definidos pelo usuário e um módulo controlador, que gerenciará os outros módulos passando as informações pertinentes.

Esse modelo de arquitetura deixa em aberto o modus operandi do agente, ou seja, esse agente pode ser puramente reativo, isto é, ser baseado em circunstância e ação, ou pode ser mais elaborado requerendo um modelo de decisão e planejamento.