• Nenhum resultado encontrado

5.5 Subsistema Deliberativo

5.5.2 Componentes do Motor BDI

Uma cren¸ca assume a forma de predicado e ´e armazenada na base de cren¸cas. Todas as cren¸cas s˜ao acompanhadas de uma etiqueta que pode ser utilizada para identificar a origem e o tipo de cren¸ca.

Um desejo ´e caracterizado por um nome, valor de utilidade, indicador de manuten¸c˜ao e estado. O nome do desejo corresponde ao facto do mundo que o agente pretende ver concretizado. A utilidade ´e um valor num´erico real que determina uma ordem de escolha entre desejos. O indicador de manuten¸c˜ao ´e um valor booleano o qual identifica os desejos que, ap´os a sua conclus˜ao, s˜ao mantidos, ou descartados. O estado indica em que situa¸c˜ao se encontra o desejo.

Consoante a representa¸c˜ao do modelo interno e o ciclo de execu¸c˜ao da arquitetura, um desejo poder´a encontrar-se em diferentes estados:

• Avalia¸c˜ao: o desejo encontra-se a aguardar o enquadramento com as capacidades e a base de cren¸cas;

• Pendente: de acordo com a base de cren¸cas, existe pelo menos um plano que consegue concretizar o desejo;

• Espera: de acordo com a base de cren¸cas, n˜ao existe nenhum plano que consegue concretizar o desejo;

64 Cap´ıtulo 5. Arquitetura de Agente Proposta

• Aguardar Realiza¸c˜ao Externa: o agente n˜ao possui nenhum plano que concretize o desejo e o desejo foi delegado;

• Execu¸c˜ao: o agente encontra-se a executar um plano que ir´a concre- tizar o desejo.

O modelo da dinˆamica de um desejo ´e representado na figura 5.7.

Figura 5.7: Modelo da dinˆamica de um desejo.

A existˆencia do estado “Avalia¸c˜ao” justifica-se pela necessidade de dis- tinguir desejos que nunca foram avaliados de acordo com a base de cren¸cas, dos que j´a o foram. Estes ´ultimos j´a n˜ao precisam de ser avaliados por todas as cren¸cas, mas apenas pelas altera¸c˜oes `as cren¸cas.

Designa-se por capacidade uma a¸c˜ao ou um plano que o agente ´e capaz de realizar.

As a¸c˜oes s˜ao descri¸c˜oes do resultado da a¸c˜ao dos atuadores do agente no mundo e s˜ao caracterizadas por um nome, pr´e-condi¸c˜oes, p´os-condi¸c˜oes e um estado. O nome corresponde a uma descri¸c˜ao da a¸c˜ao (interna ao motor BDI). As pr´e-condi¸c˜oes s˜ao o conjunto de cren¸cas que tˆem de ser verdadeiras para que as a¸c˜oes possam ser realizadas. As p´os-condi¸c˜oes s˜ao as altera¸c˜oes ao estado do mundo que a a¸c˜ao produz. O estado indica o n´ıvel de operacionalidade da a¸c˜ao e ´e definido pela m´aquina de estados representada

5.5. Subsistema Deliberativo 65

pela figura 5.8:

Figura 5.8: Modelo de dinˆamica de uma a¸c˜ao.

Uma a¸c˜ao pode assumir um dos seguintes estados:

• N˜ao Operacional: n˜ao se encontram reunidas as condi¸c˜oes, segundo a base de cren¸cas, para a afeta¸c˜ao da a¸c˜ao;

• Livre: a a¸c˜ao encontra-se dispon´ıvel para ser afetada a uma inten¸c˜ao; • Em Uso: a a¸c˜ao encontra-se atribu´ıda a uma inten¸c˜ao.

Um plano ´e caracterizado por um objetivo, utilidade, pr´e-condi¸c˜oes, contexto, corpo e estado. O desejo que o plano concretiza ´e identificado pelo objetivo. A utilidade determina uma ordem de escolha entre planos que concretizam o mesmo desejo. Ao grupo de factos sobre o mundo, que tˆem de ser verdadeiros para que o plano seja exequ´ıvel, d´a-se o nome pr´e- condi¸c˜oes. O contexto representa o conjunto de factos sobre o mundo que tˆem de ser verdadeiros para que o plano se possa manter v´alido durante a sua execu¸c˜ao. O corpo do plano ´e constitu´ıdo pelas a¸c˜oes e/ou objetivos a serem executados/concretizados. O corpo do plano permite a defini¸c˜ao de execu¸c˜ao/concretiza¸c˜ao de m´ultiplas a¸c˜oes/desejos em simultˆaneo com a seguinte sintaxe:

• <nome da a¸c˜ao>: a¸c˜ao a ser realizada;

• achieve(<nome do desejo>, <valor de utilidade>): desejo a ser con- cretizado e respetivo valor de utilidade;

• forall(<cren¸ca>): colocado no in´ıcio do corpo do plano. O plano ´e instanciado tantas vezes quantas as unifica¸c˜oes poss´ıveis de <cren¸ca>;

66 Cap´ıtulo 5. Arquitetura de Agente Proposta

• forany(<cren¸ca>): colocado no in´ıcio do corpo do plano. O plano ´e instanciado com a primeira unifica¸c˜ao de <cren¸ca>;

• [<a¸c˜ao1/desejo1>, ..., <a¸c˜aoN/desejoN>] : realiza¸c˜ao em simultˆaneo das a¸c˜oes/desejos.

Um plano ´e caracterizado por trˆes dinˆamicas que correspondem `a dinˆamica das pr´e-condi¸c˜oes, contexto e a¸c˜oes. Cada uma das dinˆamicas ´e definida pelo diagrama de transi¸c˜ao de estados representado na figura 5.9.

Figura 5.9: Modelo de dinˆamica de um plano.

A caracteriza¸c˜ao destas trˆes dinˆamicas permite identificar qual o estado do plano relativamente a cada um dos seus componentes (pr´e-condi¸c˜oes, con- texto e a¸c˜oes). Por exemplo, um plano que se encontre no estado (Operacio- nal, N˜ao Operacional, Operacional) tem todas as suas pr´e-condi¸c˜oes verifica- das como verdadeiras na base de cren¸cas e as a¸c˜oes do seu corpo encontram-se todas dispon´ıveis para serem utilizadas.

A persistˆencia de estado dos desejos, a¸c˜oes e planos permite a defini¸c˜ao de processos internos mais modulares e coesos e tamb´em possibilita a valida¸c˜ao dos componentes do motor BDI atrav´es das altera¸c˜oes `as cren¸cas.

Uma inten¸c˜ao ´e caracterizada por um objetivo e um ou mais planos com o respetivo estado de execu¸c˜ao. O objetivo identifica o estado do mundo que a inten¸c˜ao se prop˜oe concretizar. Cada plano identifica o conjunto de tarefas que tˆem de ser executadas para o objetivo ser concretizado.

5.5. Subsistema Deliberativo 67