6
40. SBAI- Simpósio Brasileiro de Automação Inteligente , São Paulo, SP, 08·10 de Setembro de 1999 PLANEJAMENTO DE AÇÕES COM TRATAMENTO DE EVENTOS EXTERNOS INTEGRADO AO CONTROLE DE EXECUÇÃO PARA AGENTES INTELIGENTES Prof. M.Sc. Marcelo Nicoletti Franchin • Prof. M.Sc. Humberto Ferasoli Filho .- Prof. Dr, Márcio Rillo --- • Depto de Engenharia Elétrica - Faculdade de Engenharia - UNESP Av. Luiz Edmundo Carrijo Coube, s/n CEP 17033-360 - Bauru - SP e-mail: [email protected] URL: http://www.dee.bauru.unesp.br/-marcelo •• Departamento de Computação - Faculdade de Ciências - UNESP Av. Luiz Edmundo Carrijo Coube, s/n CEP 17033-360 - Bauru - SP e-mai!: [email protected] ••• Departamento de Engenharia Eletrônica - Escola Politécnica da USP Av. Prof. Luciano Gualberto, 158, trav3 CEP 05508-900 - São Paulo - SP e-mail: [email protected] Resumo: Este trabalho apresenta um método de planejamento de atividades para agentes móveis autônomos, chamado ALWAYS TRX . que, diferentemente dos métodos de planejamento existentes, trata. eventos externos na fase de planejamento. O planejamento com eventos externos possibilita o raciocínio sobre as ações a serem executadas, considerando as eventuais alterações no estado do ·mundo que possam ocorrer durante uma missão. As alterações no estado do mundo são obtidas pelo planejador através do sistema sensorial do agente. O método ALWAYS TRX integra o planejamento ao sistema de controle do agente, utilizando uma representação única de conhecimento, onde o plano sendo gerado especifica as ações a serem executadas e os eventos externos a serem observados pelo agente. Entre as heurísticas utilizadas pelo método ALWAYS TRX para a expansão e busca na árvore de planejamento, está a associação de probabilidades às ocorrências dos possíveis eventos externos relevantes, que possam vir a acontecer em um determinado estado do mundo. Com estas características, o método ALWAYS TRX contribui para que sistemas de planejamento de atividades possam ser utilizados em aplicações do mundo real, tipicamente complexas, dinâmicas e com restrições de tempo-real. Este método foi implementado em linguagem C e uma adaptação do algoritmo RETE para comparação de objetos e padrões foi feita para a melhora de desempenho do planejador. 233 Palavras Chaves: 1AIPlanejamento de Atividades, Planejamento de Ações, Raciocínio Automático, Planejamento com Reatividade, Automação Inteligente, Inteligência Artificial aplicada à Automação. Abstract: This work presents an AIIplanning method for autonomous mobile agents, named ALWAYS TRX , that handles externai events in the planning fase, different from the existing planning methods. Planning with externai events makes possible reasoning about what action to execute, dealing with eventual world state changes that may occur during a mission. World state changes are obtained by the planner through the sensory system. The ALWAYSrRX method integrates planning with the control system, using an unique knowledge representation, where the plan being generated specify the actions to be taken and the externaI events to be observed. Among the heuristics used by the ALWAYS TRX method to expand and search in the planning tree, are the probabilities assigned to the occurrence of the possible externai events that may happen in a given world state. With these characteristics, the ALWAYS TRX method is an effort to use planning systems in real world applications, typically complex, dynarnic and with real-time restrictions. This method was implemented using C language and an adaptation of RETE match algorithm was designed to increase the planner performance.

PLANEJAMENTO DE COM TRATAMENTO DE EVENTOS … · YS TRX . que , de trata . de planejamento. eventos ext s racioc ínio ações a ex as , do ·que est ado sistema AYS X o agente, uma

Embed Size (px)

Citation preview

40. SBAI- Simpósio Brasileiro de Automação Inteligente , São Paulo, SP, 08·10 de Setembro de 1999

PLANEJAMENTO DE AÇÕES COM TRATAMENTO DE EVENTOS EXTERNOSINTEGRADO AO CONTROLE DE EXECUÇÃO PARA AGENTES

INTELIGENTES

Prof. M.Sc. Marcelo Nicoletti Franchin •

Prof. M.Sc. Humberto Ferasoli Filho .-

Prof. Dr, Márcio Rillo ---

•Depto de Engenharia Elétrica - Faculdade de Engenharia - UNESPAv. Luiz Edmundo Carrijo Coube, s/n

CEP 17033-360 - Bauru - SPe-mail: [email protected]

URL: http://www.dee.bauru.unesp.br/-marcelo••Departamento de Computação - Faculdade de Ciências - UNESP

Av. Luiz Edmundo Carrijo Coube, s/nCEP 17033-360 - Bauru - SPe-mai!: [email protected]

•••Departamento de Engenharia Eletrônica - Escola Politécnica da USPAv. Prof. Luciano Gualberto, 158, trav3CEP 05508-900 - São Paulo - SP

e-mail: [email protected]

Resumo: Este trabalho apresenta um método de planejamentode atividades para agentes móveis autônomos, chamadoALWAYSTRX .que, diferentemente dos métodos deplanejamento existentes, trata. eventos externos na fase deplanejamento. O planejamento com eventos externospossibilita o raciocínio sobre as ações a serem executadas,considerando as eventuais alterações no estado do ·mundo quepossam ocorrer durante uma missão. As alterações no estadodo mundo são obtidas pelo planejador através do sistemasensorial do agente. O método ALWAYSTRX integra oplanejamento ao sistema de controle do agente, utilizando umarepresentação única de conhecimento, onde o plano sendogerado especifica as ações a serem executadas e os eventosexternos a serem observados pelo agente. Entre as heurísticasutilizadas pelo método ALWAYSTRX para a expansão e buscana árvore de planejamento, está a associação de probabilidadesàs ocorrências dos possíveis eventos externos relevantes, quepossam vir a acontecer em um determinado estado do mundo.Com estas características, o método ALWAYSTRX contribuipara que sistemas de planejamento de atividades possam serutilizados em aplicações do mundo real, tipicamentecomplexas, dinâmicas e com restrições de tempo-real. Estemétodo foi implementado em linguagem C e uma adaptação doalgoritmo RETE para comparação de objetos e padrões foi feitapara a melhora de desempenho do planejador.

233

Palavras Chaves: 1AIPlanejamento de Atividades,Planejamento de Ações, Raciocínio Automático, Planejamentocom Reatividade, Automação Inteligente, InteligênciaArtificial aplicada à Automação.

Abstract: This work presents an AIIplanning method forautonomous mobile agents, named ALWAYSTRX, that handlesexternai events in the planning fase, different from the existingplanning methods. Planning with externai events makespossible reasoning about what action to execute, dealing witheventual world state changes that may occur during a mission.World state changes are obtained by the planner through thesensory system. The ALWAYSrRX method integrates planningwith the control system, using an unique knowledgerepresentation, where the plan being generated specify theactions to be taken and the externaI events to be observed.Among the heuristics used by the ALWAYSTRX method toexpand and search in the planning tree, are the probabilitiesassigned to the occurrence of the possible externai events thatmay happen in a given world state. With these characteristics,the ALWAYSTRX method is an effort to use planning systemsin real world applications, typically complex, dynarnic andwith real-time restrictions. This method was implementedusing C language and an adaptation of RETE match algorithmwas designed to increase the planner performance.

40. SBAI- Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999

Keyw:ords: Reasoning, Situated deste problema foi analisada e enquadra-se como problemasPlanning , Reactive Planning, Intelligent Automation NP-Completo e NP-Hard [Noreils95][EroI95].

1 INTRODUÇÃOA Automação Integrada e Inteligente tornou-se uma dasprincipais áreas de estudo do campo de Automação em geral(manufatura, agrícola, transportes, hospitalar, domótica,militar, espacial , administrativa etc.) por ter como uma desuas metas realizar o processo projeto-produto com alto graude integração e automação durante todo o seu ciclo de vida.

As técnicas de raciocínio automatizado podem aumentar aprodutividade e a flexibilidade de operação do processoprojeto-produto . Um grande problema na área de raciocínioautomatizado é projetar sistemas que possam determinarautomaticamente um conjunto de ações (ou um plano) quepermita a um agente alterar o ambiente a sua volta (chamadode mundo) a partir de um estado inicial para um estado finaldesejado (estado objetivo). Este · plano poderia então serpassado, por exemplo, para um robô, para um sistema demanufatura ou alguma outra forma de atuador, que ao seguir oplano, executando as ações, possa fazer com que o mundochegue ao estado objetivo desejado. Na terminologia deInteligência Artificial (IA), o executor do plano é chamadogenericamente de agente.

Portanto um robô, um sistema de automação ou alguma outraforma de atuador que possua em sua estrutura de controle, alémda habilidade de executar um plano de ações, formas de coletarinformações sobre o ambiente em que está inserido e técnicasde raciocínio automatizado sobre a percepção e sobre qual açãoa ser tomada, pode ser chamado de agente inteligente[Maes91][Russe1l95].

O planejamento automático de ações com o objetivo de realizardeterminadas tarefas é uma das áreas de IA, chamada dePlanejamento de Atividades ou Planejamento de Ações(também conhecida como AI Planning), que vem sendointensamente pesquisada nos últimos anos.

Na seção 2 será apresentada a complexidade do problema deplanejamento relacionado a aplicações do mundo real e algunssistemas já desenvolvidos solucionando parcialmente oproblema. Na seção 3, o método ALWAYSTRX é descrito comdetalhes, incluindo definições, os módulos de planejamento ede execução com seus algoritmos e a implementação com aadaptação do algoritmo RETE. Finalmente na seção .4 sãofeitas as considerações finais e na seção 5 as referênciasbibliográficas.

2 COMPLEXIDADE DO PROBLEMA ETRABALHOS CORRELATOS

Os sistemas de planejamento de atividades começaram aaparecer na década de 60 e naquela época várias suposiçõesforam criadas para simplificar as técnicas utilizadas. Uma dassuposições foi a consideraração de que o agente é o únicoalterador do estado do mundo. Uma outra foi a consideraçãode que as alterações feitas no mundo pelo agente sãototalmente determinísticas.

o problema de planejamento consisua em criar técnicas eheurísticas para percorrer uma árvore de busca dos possíveisplanos para se atingir um estado objetivo. A complexidade

234

Estas suposições, conjugadas com algumas outras, permitiramo desenvolvimento de sistemas de planejamento que geram umplano de ações que, ao serem executadas por um agente, alterao estado do mundo inicial para um estado objetivo.

Entretanto, devido às suposições citadas, estes sistemas não sãoadequados às aplicações em ambientes complexos devidosobretudo às incertezas e à dinâmica.inerentes ao mundo real.Em muitos domínios, como robôs móveis, agentes de software,inspeção, manutenção, vigilância, etc., o estado do mundo éalterado por diversos agentes e se o planejador supor quesomente ele altera o estado do mundo, inviabilizará a execuçãodo plano resultante por estar incompatível com os estados demundo internamente gerados por ele na fase de planejamento.O agente não é o único alterador do estado do mundo e deveutilizar plenamente os seus recursos de percepção para adequarseus planos às eventuais contingências durante a execução.

Além da dinâmica e imprevisibilidade do ambiente , o agentepossui sensores e atuadores que não funcionam de forma ideale o tempo disponível para decisões é limitado. A base deconhecimento . do agente é incompleta e sistemas deplanejamento devem considerar estes aspectos para tornarpossível a interação de agentes em ambientes desestruturados.

Trabalhos anteriores em integração de planejamento eexecução como STRIPSIPLANEX [Fikes71a][Fikes71b],Planos Universais [Schoppers87], IPEM [AlIen90], BUMP[Olawsky90], xn [Golden94], SIPE-2IPRS-CL [Wilkins88[Georgeff88] e SAGE [Knoblock95], bem como trabalhosanteriores em planejamento com informações incompletascomo UCPOP [Penberthy92], BURIDAN e C-BURlDAN[Kushmeric95], entre outros, têm colaborado para odesenvolvimento de sistemas de planejamento mas resolvemparcialmente o problema de planejar em ambientes dinâmicos edesestruturados, por não tratar, de forma conjunta, dosaspectos citados anteriormente. Pesquisas em sistemas deplanejamento com a abordagem de tratamento de eventosexternos têm sido desenvolvidas pelo nosso grupo de Planningdesde o final da década de 80. Foram desenvolvidos ossistemas PETRUS [Rlll088], EXTEPS [Rill092], PBE[Lopes98] e na sequência, o ALWAYSTRX' ainda no seuestágio inicial de pesquisa . O ALWAYSTRX é um esforço paraa criação de sistemas que possam efetivamente planejar emambientes do mundo real, complexos, dinâmicos edesestruturados.

3 MÉTODO ALWAYSTRXO método ALWAYSTRX (ALWAYS Thinking, Reacting andeXecuting) foi concebido de forma a integrar a tarefa deplanejamento e de execução do agente, incluindo também otratamento de eventos externos na fase de planejamento paradotar o agente com características de reatividade à dinâmica dealteração do mundo em que está inserido .

A abordagem de integração requer que as decisões deplanejamento e de execução sejam baseadas em umarepresentação de conhecimento comum.

No ALWAYSTRX a integração do sistema de planejamento como sistema de execução do plano, determina queo planejamentoseja feito concorrentemente com 'a execução do plano (tambémdito como "o plano é feito on the fly"). O plano sendo

40. SBAI-Simpósio Brasileiro de Automação Inteligente, São Paulo. SP, 08-10 de Setembro de 1999

A figura 1 apresenta como o método está inserido no contextover, pensar, agir e a estrutura criada para o seu funcionamento,que considera dois m6dulos sendo executados de formaconcorrente: o ·módulo de planejamento e o módulo deexecução do plano. Os dois m6dulos trocam informaçõesconstantemente através de uma base de conhecimento comum .

USUÁRIO

sintetizado pelo planejador é representado por uma árvore e osn6s representam atividades e eventos. Cada caminho nestaárvore representa uma sequência de atividades e de eventos queeventualmente poderá ser executado pelo módulo de execução.Enquanto o planejador vai criando os novos caminhos, om6dulo de execução vai executando um destes caminhos, deacordo com os eventos externos que forem acontecendo e comas atividades escolhidas.

. Fig.!- (a) Método ALWAYSTRX no contexto ver, pensar,agir; (b) Estrutura internado método ALWAYSmx.

Omódulo de planejamento, conforme vai gerando o plano, vaiarmazenando na base de conhecimento os caminhos que estão .sendo desenvolvidos, para que o m6dulo de execução leia nestabase e siga o plano a ser seguido. O módulo de execução enviapara li base de conhecimento a informação de qual atividade eleestá executando e quais eventos externos estão ocorrendo, para

A instanciação dos parâmetros deste operador leva a umaatividade específica. Por exemplo, o operador move (objeto ,l ugar-origem , l uga r-des tino) representa uma ativ idadegenérica na qual um agente movimenta um obj eto qualquer deum luga r - origem para um lugar-destino . Os parâmetrosobieto , l ugar-origem e lugar-destino são variáveis nãoinstanciadas. Quando as variáveis forem instanciadas com, porexemplo, caixa-verde, po s i ção12 e p osição27 ,respectivamente, o operador torna-se uma atividade dada por .move (caixa-verde, posição12, posição27) .

Uma atividade pode ser composta por nenhuma, uma ou maisações, ampliando a abrangência do operador STRIPS queconsidera um operador instanciado como sendo uma únicaação. Existem casos em que o agente não deve executarnenhuma ação e ficar em repouso aguardando um evento. Estapossibilidade está prevista no operador ALWAYSTRX'

As ações a serem executadas pelo sistema ALWAYSTRX sãopor definição de dois tipos : ações impulsivas e ações contínuas.As ações impulsivas são executadas instantaneamente peloagente e terminam. Por exemplo incremente(variavelN}. Asações contínuas representam tarefas de ciclo repetitivo ou ciclocontínuo, como por exemplo, siga (corredor2) . OALWAYSTRX considera e trata estes dois tipos de ações. Nocaso das ações impulsivas, o estado do mundo conterá fatosque indicam as consequências do término delas. No caso dasações contínuas, o estado do mundo conterá declarações de quea(s) ação(ões) está(ão) em execução.

Os operadores do ALWAYSTRX são definidos pela quádrupla:

3.1 Conceitos e DefiniçõesA definição dos operadores, eventos e estado do mundo seguea linha dos planejadores clássicos (S'fRIPS), acrescentando-seas estruturas de representação de conhecimento citadasanteriormente e os elementos necessários para tomar possível otratamento de eventos externos bem como a integração dosistema de planejamento com o sistema de controle deexecução. A seguir, algumas definições utilizadas pele métodoAI.WAYS·fRX são apresentadas.

Um operador é definido como :

Uma atividade genérica paramefrlzada (não InstancladaJ, querepresenta uma classe de attvfdades a serem desenvotvldas peloagente.

que o m6dulo de planejamento possa continuar a sintetizar oscaminhos do plano com informações atualizadas do mundo.

-nome do operador e seus parâmetros;-lista de pré-condições; . .-lista de remoção;-Ilstade adição;

A lista de pré-condições contém fatos e atividades que devemestar satisfeitas no estado ·do mundo para que o operador possaser aplicado. A lista de remoção contém fatos que não serãomais verdadeiros após o início da execução desta atividade e asatividades que serão terminadas e portanto retiradas do estadodo mundo. A lista de adição contém os fatos que passarão a serverdade após o início da execução desta atividade e as açõesque devem ser iniciadas simultâneamente se for o caso, a seremacrescentados no estado do mundo.

ES

ATUADORES

USUÁRIO

(b)

(a)

MÉTODO

ALWAYSTRX

SENSORES

MÓDULODE BASEDE

PLANEJAMENTO CONHECIMENTO

operadoreseventoscaminhos

estado inicialestado objetivon:dede petri

MÓDULO

ENSORES DEEXECUÇÃO ATUADOR

o sistema de planejamento utiliza as informações de quais doseventos externos ocorreram, obtidos do ambiente através dom6dulo de execução, para adequar os caminhos ao estadoatual do mundo. À medida que o sistema de execução realizaum passo do plano, os ramos da árvore de busca não associadosao caminho que contém este passo são excluídos. Um passo doplano significa observar a ocorrência de um evento externo einiciar a execução da atividade correspondente. Quando ocorreum evento, o planejador continua expandindo caminhos abaixodeste evento na árvore de busca e os caminhos que não passampor este evento são excluídos pelo planejador.

O método ALWAYSTRX é independente de domínio e pode serusado em diversas aplicações de engenharia e automação.

235

Em seguida, o planejador observa a lista dos eventos relevantesda atividade selecionada. Na árvore de planejamento, abaixo daatividade selecionada, são colocadas m transicõescorrespondentes aos m eventos da lista de eventos (figura 3). Oestado inicial do mundo alterado pela atividade Aj é denotadopor Estado Aj .

A próxima operação do planejador é calcular, em cada evento ,com a lista de adição e a lista de remoção respectiva, os novosestados do mundo assoc iados. Cada transição correspondente aum evento possui uma descrição do mundo correspondente àaplicação da lista de remoção e lista de adição fatos (figura 4).

Neste ponto do planejamento, cada evento está associado a umestado do mundo. O planejador então realiza o seguinteprocedimento com cada um dos eventos: verifica a lista de pré-condições de todas as atividades (instanciando os operadores) eseleciona aquelas nas quais a lista de pré-condições é satisfeitapelo estado do mundo . Desta forma, na árvore deplanejamento, abaixo de cada transição, serão colocados os rarcos correspondentes às r atív ídades selecionadas pela lista depré-condições (figura 5). .

m eventos nos quais suas listas de pré-condições são satisfeitas

Fig. 3 - Expansão da árvore de busca com os eventosrelevantes para o estado Aj , consequência da atividade Ajselecionada pela heurística de avaliação.

Ec a a a

IEst>do E. I IEst>do E,.IFig. 4 - Novos estados do mundo gerados pela ocorrênciados m eventos (E., Eb, Ec> ..., E,J.

IN/CIO

A mesma heurística de avaliação citada anteriormente éutilizada de repetida para cada ramo de transição,escolhendo uma das r atividades como sendo a que melhortransforma o estado do mundo em direção ao estado objetivo.O algoritmo do planejador começa a repetir os procedimentos.citados anteriormente com os novos dados gerados.

-nome do evento;-/istode pré-condições;-lista de remoção;-usta de adição;-ctasse:

40. SBAI- Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999

Os eventos do ALWAYSTRX são definidos pela quíntupla: novo estado do mundo é calculado através da retirada dos fatosque estão na lista de remoção desta atividade escolhida, e daadição de fatos que estão na lista de adição desta atividadeescolhida.

A lista de pré-condições, de remoção e de adição são idênticasaos operadores ALWAYSTRX ' A classe do evento é relacionadacom a probabilidade de ocorrência do evento e será utilizadapelo planejador para montar a rede de probabilidades e associarprobabilidades de ocorrência de caminhos.

O estado do mundo ria ALWAYSTRX é definido por umconjunto de fatos, que podem ser predicados (por exemploHobô2 (posiçãol) ) e/ou atividades em execução (por exemplomove (caixa-verde, posição?, pos í.cãodS) ). Além dos fatos,está associado à cada estado do mundo uma probabilidade,calculada a partir da rede de probabilidades, daquele estadotornar-se verdadeiro baseado nas informações do plano geradoaté aquele ponto.

IN/CIO

3.2 Algoritmo de planejamentoUm exemplo de funcionamento do método propostoinicialmente sem as probabilidades de ocorrência dos eventosexternos será apresentado a seguir. O sistema apresenta-seinicialmente em repouso tanto na parte de planejamento comona parte de controle de execução. O usuário define osoperadores e os eventos com todos os seus atributos bem comoo estado inicial do mundo e o estado objetivo do mundo e, emseguida , dá o comando de início de funcionamento do sistema.O módulo de execução ainda não pôde fazer nada porque omódulo de planejamento ainda não planejou nenhum caminho.O módulo de planejamento inicia o seu trabalho . Arepresentação gráfica da geração dos planos segue a mesmalinha do PBE [Lopes98] .corn rede de Petri e será chamada aquide árvore de -planejamento: os lugares da rede representam umadescrição dos fatos válidos ea atividade em execução. Aatividade em execução pode significar nenhuma, uma ou váriasações em execução. As transições representam os eventosinternos e externos relevantes que podem alterar o mundo,durante a execução da atividade. A figura 2 apresenta a faseinicial do plano sendo gerado. A partir da descrição do estadoinicial do mundo, são selecionadas as atividades (operadoresinstanciados) nas quais a lista de pré-condição é satisfeita. Doestado inicial partirão n arcos correspondentes às natividadesselecionadas (A;., Aj , . .. , An na figura 2)..-----,

aaa O}\j }\nFig. 2 - Seleção de n possíveis atividades (AI, Aj , ..., AJ apartir do estado inicial, cujas pré-condições são satisfeitasno estado inicial do mundo.

Através de uma heurística de avaliação, uma das n atividades éescolhida como primeira atividade do caminho. A heurística deavaliação escolhe a atividade que altera o mundo da melhormaneira possível em direção ao estado objetivo. Em .seguida o

236

40. SBAI- SimpósioBrasileirode·Automação Inteligente. SãoPaulo.SP, 08-10 de Setembrode 1999

Fig. 5 - Expansão da árvore de busca com asrelevantes para cada evento analisado.

Abaixo de cada uma das m transições existirá então umaatividade que foi escolhida como a provável segunda atividadedo caminho. É importante notar que agora existem m caminhoscom duas atividades, onde a primeira delas é a mesma paratodos os caminhos pois foi o ramo pai que gerou as mtransições. A figura 6 mostra as atividades selecionadas e oscaminhos gerados.

Para cada uma das m atividades selecionadas como sequênciade cada uma das m transições, o estado do mundo é calculadocom as listas de remoção e de adição e, em seguida, a lista depré-condições dos eventos são verificadas para a seleção doseventos relevantes para cada atividade.

IEsl3doinicial do IMundo ,

m caminhos: L Aj -> E, -> AI22. . AJ -> Et. -> A,p,3. Aj -> E" -> Amm. AI -> Em -> As)

.Fig. 6 • Seleção das atividades pela heurística e m caminhos. gerados,

3.3 Algoritmo de execuçãoContinuando a sequência explicada na seção 3.2, o módulo deexecução já possui caminhos criados pelo módulo deplanejamento e pode iniciar suas atividades concorrentementecom o módulo de planejamento. O módulo de execução nãotrabaiha com toda a árvore de planejamento e utiliza somenteos caminhos determinados pelo módulo de planejamento, queneste exemplo. resulta na rede de Petri da figura 7. A transiçãode início do sistema leva para o estado Aj • consequência daexecução da atividade Aj . Em seguida o módulo de execuçãoregistra que iniciou a execução da atividade Aj na base deconhecimento fazendo a marcação e aguarda um dos m eventosprevistos após a atividade Aj , conforme descrito na rede dePetri da figura 7. Com a execução de Aj , as outras atividades

237

Ai. .... Ao deixam de ser possíveis pontos de backtracking e aparte da árvore que vem abaixo delas não será maisconsiderada.

Suponha que o evento E, ocorra. O módulo de execuçãoobservando a ocorrência do evento Eb, informa a base deconhecimento e verifica na rede de Petri a próxima atividade aser executada e coloca-a em execução. registrando tal fato nabase de conhecimento.

Cada passo do módulo de execução é informado à base deconhecimento para que o módulo de planejamento possa. aofazer a consulta nesta base. simplificar a árvore de busca,eliminando os ramos dos caminhos que não passam peloseventos e atividades já executadas pelo módulo de execução, etambém. como será visto adiante. possa atualizar asprobabilidades de ocorrência dos planos.

Fig. 7 • Rede de Petri vista pelo módulo de execução. Marcana atividade AJ para indicar em execução no estado AJ•

O módulo de planejamento. atuando concorrentemente com omódulo de execução. trabalha com uma árvore de busca bemmenor comparativamente a uma árvore tratada por umplanejador clássico. O algoritmo de expansão repete a iteraçãosobre esta árvore de busca. que altera-se a cada novainformação vinda do m6dulo de execução até que o estadoobjetivo seja alcançado.

3.4 Probabilidades de ocorrência dos .eventos externos

O módulo de planejamento do método ALWAYSn x fazassociação de probabilidades às ocorrências dos possíveiseventos externos relevantes. que possam vir a acontecer em umdeterminado estado do mundo. utilizando raciocínioprobabilístico com redes Bayesianas [pearI88][Abranson90].Considerando as probabilidades de vários eventos encadeadoscom as ações, são obtidas probabilidades de se alcançar umdeterminado estado do mundo. Com as informações destasprobabilidades, o algoritmo de planejamento faz urna expansãomais profunda na árvore de busca nos caminhos de maiorprobabilidade e uma expansão superficial em caminhos demenor probabilidade. Isto também diminui o esforçocomputacional porque os caminhos não são todos expandidoscompletamente.

3.5 · Implementaçãoo método ALWAYSTRX foi implementado em linguagem Cpara plataformas Windows e ·UNIX com uma interface com ousuário com o objetivo de fazer a coleta de informações sobre

40. SBAI- Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999

os operadores 'eventos estado inicial do mundo e estado [Ero195) EROL, K ; NAU, D.; SUBRAHMANIAN, V.S. Complexity,. . '-' d - d decidability and undecidability results for domain independentobjetivo. Informaçoes urante a execuçao po em ser I . A tifi 'aI I t lIi 76 75-88 1995

consultadas na base de conhecimento. p anrnng. r CI n e gence, n. , p. , .

Como citado anteriormente, a complexidade de um sistema deplanejamento com tratamento de .eventos externos integrado àexecução exige técnicas de otimização na implementação paranão inviabilizar sua utilização em ambientes reais.

Uma técnica fundamental utilizada na implementação dométodo ALWAYSnuc foi a adaptação do algoritmo RETE[Forgy82][RusseI95] para resolver o problema de instanciaçãode variáveis nas declarações de pré-condição dos operadores edos eventos . Uma rede RETE é criada antes do início defuncionamento do sistema para ser utilizada pelo módulo de.planejamento.

Desta forma, as informações dadas pelo usuário passam por umprocesso de verificação de consistência e compilação da redeRETE. Ao comando do usuário o sistema inicia ofuncionamento estabelecendo a base de conhecimento e.os doisprocessos concorrentes correspondentes ao - módulo deplanejamento e ao módulo de execução.

4 CONSIDERAÇÕES FINAISUm novo método para planejamento com eventos externosintegrado ao controle de execução para agentes inteligentes ,chamado ALWAYSTRX , foi apresentado.

o módulo de planejamento trabalha de forma concorrente como módulo de execução de forma a fornecer ao agentehabilidades reativas e de planejamento considerando eventos.externos. O módulo de planejamento considera a incerteza naocorrência dos eventos externos associando probabilidadespara determinar qual estado do mundo tem maior probabilidadede acontecer. O método ALWAYSTRX trabalha com asprobabilidades de ocorrência de eventos para atualizar umarede probabilística que contém as probabilidades de se chegar aum determinado estado. Maiores estudos devem ser realizadospara encontrar formas de atribuir probabilidades aos eventosexternos, bem como técnicas para observar o comportamentoda ocorrência dos eventos e formas de influenciar nos valoresde probabilidades assumidos inicialmente.

Os caminhos sendo gerados um pouco a frente do módulo deexecução, são representados por uma rede de Petri, onde omódulo de execução lê a rede de Petri e executa o planocorrespondente. .

.Atualmente a rede de Petri gerada possui para todas asmarcações possíveis apenas uma marca e portanto a rede dePetri neste caso particular passa a ser um Diagrama de Estado.Maiores 'estudos devem ser realizados para utilizar a rede dePetri com múltiplas marcas , explicitando o paralelismo deexecução e o conceito de estado parcial.

[Fikes7la] FIKES, R.E.; NILSSON, N.J. Strips: A new approach to lheapplication of t1ieorem proving to problem solving. ArtificialIntellígence, e.z. p.l89-208. 1971.

[Fikes71b] FIKES. R.E. Monitored Execulion of robot plans produced byStrips. Conf. lFlP, Ljubljana, Yu, aug. 1971. Proccedings.

[Flkes93] FIKES, R.E.; NILSSON. N.J. Strips: a retrospective. ArtificialIntelligence, n.59, p.227-232, 1993.

[Forgy82] FORGY, C.L. RElE: A fast algorithm for lhe many patternlmanyobject pattem match problem. Artificial Intelligence. v.19, n.I , p.l7-37.1982.

[Georgeff88] GEORGEFF, M.P.et ai. Reasoning about plans and aclions.Exploring Artiftclal Intellígenee, Morgan Kaufrnann, AAAL cap.5,p.l73-l96.1988.

[Golden94] GOLDEN, K; ETZIONI, W.; WELD. D. Omnipotence withoutomniscience: Efficient sensor management for Planning. In: NationalConference on Artificial Intelllgence. 12., AAAI Press, 1994.Proceedings. p.l 048-1054.

[Knoblock95] KNOBLOCK, C. Planning, executing, sensing and replanningfor information gathering. In: IJCAI, 14.. Montreal. 1995.Proceedings. p.1686-1693.

[Kushmeric95]KUSHMERIC.N.; HANKS, S.; WüLD. D. Ao algorithm forprobabilistic planning. Artificial Intelligence, v.I-2. n.76. p.239-286.

.

[Lopes98] LOPES. C. Planejamento Baseado em Expectativas. São paulo,1998, Tese de Doutorado. Departamento de Engenharia deEletricidade, EPUSP. 1998.

[Maes91] MAES. P. Designing Autonomous Agents . Mit/Elsevier, 1991.

[McDermott94]MCDERMOTT, D. The current state of AI Planning research.In:Intemational Conference on Industrial and EngineeringApplicationsof AI and Expert Systems, 1994. Proccedings.

[Noreils95]NOREILS.F.R.; CHATILA,R.G. Plan Execution Monitoring andControl Architecture for Mobile Robots, IEEE Transactions onRobotlcs and Automation, v.l l , n2. apr. 1995.

[Olawsky90] OLAWSKY. D.; GINLM. Deferred planning and sensor use. In:Workshop on Innovative Approaches to Planning, Scheduling andControl, San Diego, CA. DARPA, 1990. Proceedings. p.l66-174 .

[Pear188] PEARL, J. ProbabiIistic Reasonlng in Intelligcnt Systcms:Networks of P1auslble Inference. San Mateo, Califomia, MorganKauffmann, 1988.

[Pemberthy92] PEMBERlHY. J.; WEID, D. UCPOP: A sound, complete,partia! order planner for ADL. In: lntema tíonal Conference onPrincipies -of Knowledge Representation and Reasoning, 3., 1992.Proccedings. p.103-114.

[Rill088] RILLO, M. Aplicações de Redes de Petri em Sistemas .deManufatura. São Paulo, 1988.Tese de Doutorado. Departamento deEngenharia de Eleltrícídade, EPUSP. 1988.

[Rill092] RILLO, M. Expectation-Based Temporal Projection System. In:Annual Conference on AL Simulation and Planning in HighAutonomy Systems, 3., Perth, Austrália, july 1992. Proceedings.p.276-281.

[Abramson90] ABRAMSON, B.; NG, K Uncertainty Management in ExpertSystems. IEEE Expert, p.2948. apr, 1990.

[Allen901 ALLEN, r.. HENDLER, l .; TAlE, A. Readings In PLANNING.San Mateo, Califomia, Morgan Kaufrnann.I990.

5 REFERÊNCIAS BIBLIOGRÁFICAS [Russel95) RUSSEL, S.; NORVIG, P. Artificial Intelligence: a modernapproach. PrenticeHall, 1995.

[Schoppers87] SCHOPPERS, MJ. Universal Plans for reactive robots in.- umpredietable environments. In: UCAL 10.. Milan,

Proceedings . p.l039-1046.

[WiJ.kins88] WILKINS.D.E. Practlcal Planning: extending lhe classlcal AIplannlng paradigm. Morgan Kauffmann,1988.

238