Você está na página 1de 104

CENTRO FEDERAL DE EDUCAO TECNOLGICA DO PARAN

Programa de Ps-Graduao em Engenharia Eltrica e Informtica Industrial

DISSERTAO
apresentada ao CEFET-PR
para obteno do ttulo de

MESTRE EM CINCIAS
por

MALGARETE RODRIGUES DA COSTA

UMA CONTRIBUIO AO ESTUDO DO PLANEJAMENTO


TEMPORAL EM INTELIGNCIA ARTIFICIAL

Banca Examinadora:

Presidente e Orientador:
Prof. LUIS ALLAN KNZLE

CEFET-PR

Examinadores:
Prof. MARCOS CASTILHO

UFPR

Prof. ALEXANDRE IBRAHIM DIRENE

UFPR

Prof. FABIANO SILVA

UFPR

Curitiba, 07 maro de 2005

MALGARETE RODRIGUES DA COSTA

UMA CONTRIBUIO AO ESTUDO DO PLANEJAMENTO


TEMPORAL EM INTELIGNCIA ARTIFICIAL

Dissertao

apresentada

Ps-Graduao

em

ao

programa

Engenharia

de

Eltrica

Informtica Industrial do Centro Federal de


Educao Tecnolgica do Paran, como requisito parcial para obteno do ttulo de Mestre
em Cincias.
rea de Concentrao: Informtica Industrial.
Orientador: Prof. Dr. Luis Allan Knzle

Curitiba
2005

AGRADECIMENTOS

Para algumas pessoas, a nalizao deste trabalho representa apenas mais uma dissertao de Mestrado concluda, porm para aqueles que acompanharam este processo, h
a certeza, de uma etapa de grandes mudanas e diculdades, transformando-o numa
grande conquista.
Dentre as diculdades encontradas veio a certeza de que difcil dizer s pessoas o
quanto so importantes e quanto vale a presena delas. Alcanar com exatido o que se
deveria expressar a cada pessoa aqui mencionada ser impossvel, porm ca o registro
um pequeno agradecimento.
Sem dvidas, as primeiras pessoas mencionadas, so aquelas a quem devo minha
vida. So pessoas que nunca puderam me oferecer dinheiro e conforto, porm me ensinaram a imensa fortuna que a honestidade e a perseverana representam ao ser humano
e o imenso conforto espiritual que a integridade nos proporciona. Uma homenagem especial a ti, mezinha Julieta, que, embora o perodo que estiveste conosco tenha sido
curto, deixaste a marca do que ser uma verdadeira guerreira. Pai e Me minha
gratido a vocs ser eterna.
Nesse perodo, tive a sorte de conviver com uma segunda famlia, a famlia LSIP.
Sim, pois considero nosso relacionamento no apenas prossional, mas uma ddiva de
Deus. Marcos, Jean, Andrey e Erik, meu muito obrigado. Valter e Evan um obrigado
especial pelo ombro amigo nas horas em que a dureza da rapadura era maior que a
doura, obrigada pelo caf, pelas gargalhadas e, claro, pelo apoio nas horas em que a
vida virou um grande mutex.
Aqui deixo meu agradecimento especial ao Fabiano. Obrigada pela pacincia, pelo
incentivo e porque no pelas palavras duras, pois elas foram responsveis pelo meu
despertar e zeram com que eu "continuasse nadando".

Agradeo aqui a uma pessoa que ainda no compreende o quanto ela foi importante
nesse perodo, Maria Eduarda, devo a ti a dose extra de nimo que tantas vezes precisei
para a concluso deste trabalho.
E especialmente ao meu Orientador, Luis Allan, pela compreenso, diante dos meus
problemas e pelo apoio tanto prossional quanto pessoal.
Obrigada CAPES, pelo apoio nanceiro durante o desenvolvimento desse trabalho.
Agradeo tambm a todos aqueles que de alguma maneira contriburam na concluso
dessa dissertao.

Malgarete R. da Costa

ii

Contedo
1 Introduo

2 Linguagens de Descrio e Planejamento em IA

2.1

Conceitos Fundamentais . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1.1

Planejador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1.2

Plano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1.3

Domnio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2

Representao STRIPS . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3

ADL - Action Description Language . . . . . . . . . . . . . . . . . . . .

10

2.4

PDDL - Planning Domain Denition Language

. . . . . . . . . . . . .

11

2.5

Estratgias de busca em planejamento . . . . . . . . . . . . . . . . . .

12

2.5.1

Planejamento Heurstico . . . . . . . . . . . . . . . . . . . . . .

13

2.5.2

Planejamento com Satisfatibilidade . . . . . . . . . . . . . . . .

15

Planejadores Graphplan e Petriplan

18

3.1

Graphplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.2

Grafo de Planos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.3

Expanso do Grafo . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

3.4

Extrao da Soluo Atravs de Um Grafo de Planos . . . . . . . . . .

25

3.5

Petriplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

3.6

O Algoritmo Petriplan . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

Contedo
3.7

. . . . . . . . . . . . . . . . . . . . . . . .

27

3.7.1

Ns Ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

3.7.2

Ns Proposio . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

3.7.3

Arestas Pr-Condio . . . . . . . . . . . . . . . . . . . . . . . .

28

3.7.4

Aresta Efeito . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

3.7.5

Excluso Mtua . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

Exemplo de Aplicao . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

3.8.1

Descrio do Problema . . . . . . . . . . . . . . . . . . . . . . .

31

3.8.2

Descrio do Problema Inicial em PDDL . . . . . . . . . . . . .

32

Soluo do Problema de Logstica usando Petriplan . . . . . . . . . . .

36

3.10 Vantagens do Petriplan . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

3.8

3.9

A Traduo para uma RdP

4 Planejamento Temporal

40

4.1

PDDL+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

4.2

Planejadores Temporais . . . . . . . . . . . . . . . . . . . . . . . . . .

41

4.2.1

Planejador TGP

. . . . . . . . . . . . . . . . . . . . . . . . . .

43

4.2.2

Planejador LPGP . . . . . . . . . . . . . . . . . . . . . . . . . .

44

4.2.3

Planejador Sapa . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

4.2.4

Planejador TP4 . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

4.2.5

Planejador TPSYS . . . . . . . . . . . . . . . . . . . . . . . . .

48

5 Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais
5.1

5.2

50

Uma Nova Proposta para a Insero de Tempo no Grafo de Planos

. .

51

5.1.1

Grafo de Planos Temporal . . . . . . . . . . . . . . . . . . . . .

51

5.1.2

Expanso do Grafo Temporal . . . . . . . . . . . . . . . . . . .

54

5.1.3

Extrao da soluo do Grafo de Planos Temporal . . . . . . . .

56

Petriplan Temporal . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

58

ii

Contedo
5.3
5.4

Rede de Planos Temporal . . . . . . . . . . . . . . . . . . . . . . . . .

60

5.3.1

Representao do Tempo na Rede Obtida . . . . . . . . . . . .

63

Comparao entre os Mtodos Propostos . . . . . . . . . . . . . . . . .

65

6 Concluso

68

A PDDL2.1 E A DESCRIO TEMPORAL

76

B REDES DE PETRI

82

iii

Lista de Figuras
1.1

Grafo de evoluo e derivaes de alguns planejadores. . . . . . . . . .

3.1

Exemplo de expano do grafo. . . . . . . . . . . . . . . . . . . . . . .

21

3.2

Representao Grca de Inconsistncia . . . . . . . . . . . . . . . . .

23

3.3

Representao Grca de Interferncia . . . . . . . . . . . . . . . . . .

23

3.4

Representao Grca de Competio por Necessidade . . . . . . . . .

24

3.5

Representao Grca de Proposies Mutuamente Exclusivas . . . . .

24

3.6

Traduo de um n ao em uma transio na RdP. . . . . . . . . . . .

28

3.7

Traduo das arestas pr-condio em um lugar com dois arcos na RdP.

29

3.8

Traduo das arestas efeito na RdP. . . . . . . . . . . . . . . . . . . . .

29

3.9

Traduo das relaes de excluso mtua na RdP. . . . . . . . . . . . .

30

3.10 Grafo gerado pelo Graphplan at camada 5 . . . . . . . . . . . . . . . .

35

3.11 Rede de Petri gerada pelo Petriplan at camada 5 . . . . . . . . . . . .

36

3.12 Rede de Petri soluo para o Problema de Logstica . . . . . . . . . . .

38

4.1

Modelo Estrutural de um Planejador Temporal

42

5.1

Grafo de Planos atemporal para o domnio do jantar, com uma das pos-

. . . . . . . . . . . . .

sveis solues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2

52

Grafo de Planos temporal para o domnio do jantar com uma das possveis solues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

iv

55

Lista de Figuras
5.3

Possvel Soluo do Grafo de Planos a Eventos para o Domnio do Jantar. 57

5.4

Rede de Petri gerada pelo Petriplan em sua primeira verso para o problema do jantar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.5

58

Marcao Final da Rede de Petri gerada pelo Petriplan em sua primeira


verso para o problema do jantar. . . . . . . . . . . . . . . . . . . . . .

59

5.6

Estado inicial para o problema do jantar, gerado pela Rede de Planos. .

60

5.7

Rede de planos aps incluso da segunda camada para o problema do


jantar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

5.8

Sub-Rede obtida pela Rede de Planos para o problema do jantar. . . .

62

5.9

Rede de Petri sobre o resultado da Rede de Planos. . . . . . . . . . . .

64

5.10 Sub-Rede temporizada obtida pela Rede de Planos para o problema do


jantar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65

5.11 Possvel Soluo do Grafo de Planos a Eventos para o Domnio do Jantar


com os Novos Tempos. . . . . . . . . . . . . . . . . . . . . . . . . . . .

66

A.1 Elementos de uma ao durativa do nvel 3 do PDDL2.1 . . . . . . . .

80

B.1 Rede de Petri convencional . . . . . . . . . . . . . . . . . . . . . . . . .

84

B.2 Rede de Petri Temporal . . . . . . . . . . . . . . . . . . . . . . . . . .

89

B.3 Rede de Petri Temporal . . . . . . . . . . . . . . . . . . . . . . . . . .

91

B.4 Grafo de Classes

91

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Resumo
Neste trabalho se estuda os principais mtodos de planejamento temporal. Prope
solues baseadas no grafo de planos, bem como solues baseadas na traduo deste
em Redes de Petri Temporais.
Objetivando a contextualizao do cenrio em que o presente trabalho se insere,
apresentada uma reviso dos algoritmos que fazem o tratamento de problemas de planejamento clssico e o planejamento temporal. Prope-se um novo mtodo de tratamento
temporal sobre o grafo de planos e sua traduo para uma Rede de Petri Temporal.

Palavras chave: Inteligncia Articial, Planejamento Temporal, Redes de Petri


Temporais.

vi

Abstract
In this work it is studied the main methods of temporal planning. It is proposed
solutions based on graph of plans as well as solutions based on the translation of graph
of plans into time Petri nets.
A review is presented about the algorithms for the treatment of classical planning
and temporal planning. This review aims at to present the context of this work. Subsequently, it is proposed a new method of temporal treatment for the graph of plans
and its translation into a time Petri net.

Keywords: Articial Intelligence, Temporal Planning, Temporal Petri Nets.

Captulo 1
Introduo
A revoluo tecnolgica do ltimo sculo tem entre seus trs principais temas o computador. Avalia-se que a capacidade dos computadores tem duplicado a cada dezoito
meses. Porm existem habilidades humanas que os computadores, aliados aos mais
ecientes cdigos, ainda no so capazes de reproduzir de forma to perfeita e natural
que a do ser humano. Entre estas habilidades est a capacidade de planejar.
Buscando encontrar um conjunto de aes que seja soluo para algum problema prdenido, o Planejamento passou a ser um dos objetos de estudo na rea de Inteligncia

Articial. Tomando o comportamento humano como base de contextualizao, pode-se


dizer que um planejador um sistema que, a partir de uma informao inicial, busca
uma combinao correta de aes, levando o agente do estado inicialmente denido ao
objetivo nal.
Ao traar uma linha do tempo, observa-se que a rea de pesquisa sobre planejamento tem suas razes na dcada de 60, quando o planejamento automtico era feito
como prova de teoremas em lgica de Primeira Ordem [38]. J nos anos 70, a rea de
pesquisa sobre planejamento apresentou notveis progressos, tornando-se seu principal
marco passagem da demonstrao de teoremas para as tcnicas de busca clssica em
Inteligncia Articial.
1

Captulo 1. Introduo
Nos anos 90, o avano se deu em termos de ecincia e aperfeioamento de algoritmos, com seu potencial de aplicao focado nos problemas de nosso cotidiano, j que
at ento os planejadores eram baseados em tcnicas de busca, cuja inecincia no
permitia tratar problemas simples que apresentavam amplos espaos de busca.
Note-se que desde a retomada das pesquisas em Planejamento na dcada de 90,
inmeras so os trabalhos que direcionam o tratamento de problemas para planejamento, transformando-o numa rea multidisciplinar e dinmica. Com essa multidisciplinaridade criaram-se competies, diversicaram-se os domnios e conseqentemente
ampliou-se a complexidade dos sistemas e surgiram novos mtodos, entre eles os baseados em Funes Heursticas [10], Redes de Petri [50, 15, 51], Satisfao de Restries
[31, 32, 33], Algoritmos Genticos [35], entre outros.
Atualmente a rea de planejamento est subdividida em dois segmentos: o plane-

jamento clssico e o planejamento no clssico. No primeiro, a preocupao est principalmente na gerao de planos que atinjam um conjunto de objetivos previamente
denidos em uma situao. Resumidamente, pode-se armar que o planejamento clssico distingue-se por:

Apresentar resultante determinstica;


Fazer uso de estados estticos para representao do mundo;
Mudanas do mundo ocorrerem apenas como resultado do efeito de uma ao.
No planejamento no clssico, o agente depara-se com situaes imprevisveis, cujo
grau de certeza da ao nem sempre absoluto. Isso pode decorrer de variveis externas,
ou seja, fatores externos que podem interferir no resultado. Entre estes fatores esto
fatores climticos, variaes de energia, alteraes de ambientes, entre outros.
No contexto do planejamento clssico, em 1971, Fikes e Nilson [16] apresentaram a
linguagem STRIPS, uma linguagem simplicada que propunha a integrao de um sistema formal a um algoritmo correspondente, ou seja, fazia uso de diferentes estratgias
2

Captulo 1. Introduo
e explorava diferentes espaos de busca. A partir de STRIPS ocorreu o desenvolvimento de uma ampla variedade de algoritmos para Planejamento, alguns deles sero
apresentados ao longo deste trabalho.
Em STRIPS, os autores propunham a soluo de um determinado problema utilizandose de busca tradicional, ou seja, uma busca em uma rvore de estados do mundo, que
pode alcanar um tamanho exponencial. Apesar de tratar uma classe restrita de problemas, o trabalho de Fikes e Nilson foi de extrema importncia por apresentar um sistema
formal que permitiu representar aes e estados de fcil compreenso, dando ao sistema
uma independncia entre o algoritmo e a linguagem que vai solucionar o problema.
Durante a dcada de 80, a pesquisa em planejamento se restringiu basicamente a
duas abordagens: a busca em STRIPS e a por prova de teorema. Nestas duas abordagens recaa-se em busca exaustiva com a exploso combinatria de estados, o que
tornava ambas inecientes do ponto de vista da praticidade. Em 1992, Kautz e Selman
propuseram a traduo da representao STRIPS para o clculo proporcional, surgindo
assim o Satplan [31, 21].
Logo em seguida, Blum e Furst apresentaram o Graphplan [9] que, assim como
os demais planejadores, apresentava um modelo de planejamento baseado em grafos,
porm inovando ao mostrar que, a partir de uma descrio STRIPS, era possvel a
construo de um grafo cujo espao de busca do problema era sensivelmente reduzido.
Das inovaes propostas no Satplan e no Graphplan ocorre uma retomada dessa
rea de pesquisa, motivando o resgate das antigas tcnicas de busca. Surgiram ento
planejadores modernos e expressivos, que buscavam agregar condies de anlise mais
precisa atravs de funes heursticas para guiar a busca.
Surgiu tambm os planejadores hbridos, conbinando elementos do planejamento
com heurstica, com as abordagens baseadas em grafo de planos e satisfabilidade. Dentre
os inmeros planejadores que surgiram nos ltimos anos podemos citar o IPP [7, 28],
Blackbox [34], UCPOP [45], ZENO [29] [6, 56], STAN [36], TGP [52], HSP [10], FF

Captulo 1. Introduo
[25], TP4 [23], SAPA [14], LPG [20], entre outros.
Na gura 1.1, baseada em [53], os planejadores foram agrupados de acordo com a
principal tcnica de busca.
Planejadores baseados em Heuristica
VHPOP

Planejadores Hibridos

FF
LPG
TP4
BlackBox

HSP
SAPA

IPP

TPSYS

STAN

Graphplan

LPGP

ZENO

TGP

SGP

Planejadores baseados em grafos de


Planos

SatPlan
LPSAT

UCPOP

Planejadores com Satisfabilidade

Planejadores com Ordem Parcial

Figura 1.1: Grafo de evoluo e derivaes de alguns planejadores.

Desde o trabalho de Kautz e Selman, muitos outros algoritmos baseados em grafo


de planos foram relacionados com outras reas de pesquisa, entre elas a Programao
Inteira (PI), [54] e Redes de Petri [50]. Observa-se que passados dez anos desde que
ocorreu o relacionamento entre as reas e aperfeioamento dos algoritmos, surgiram
planejadores com capacidade de administrar situaes muito mais prticas do que os
iniciais problemas de quebra-cabea.
Em 1998, o fator impulsionador retomada ao desenvolvimento dos planejadores foi
a competio bienal de planejadores automticos, que teve sua primeira edio nesse
ano. A primeira tarefa dos organizadores da competio foi apresentar uma linguagem
de representao que seria comum todos os competidores, derivada da juno das
linguagesn STRIPS e ADL. Esta linguagem foi chamada de PDDL [40], e passou a ser
a linguagem de descrio de problemas mais utilizada pela comunidade de planejamento.
4

Captulo 1. Introduo
Na competio de 1998 foi apresentado o planejador HSP [10] baseado em busca
heurstica, capaz de produzir planos com extrema ecincia e rapidez. Na competio
de 2000, o grande destaque foi para o sistema FF (Fast-Forward Planning System)[24].
O sistema FF utiliza-se da j conhecida heurstica do HSP [10], e obteve um grande
destaque, mostrando ser um sistema robusto e rpido. Nas duas competies que se
seguiram, 2000 e 2002, foi apresentada uma gama muito grande de novos planejadores
que enfatizavam a resoluo de problemas prticos. Particularmente, em 2002, deu-se
maior destaque a problemas que incluam o raciocnio numrico e temporal.
O planejamento temporal o foco principal desta dissertao de mestrado. O objetivo principal do trabalho consistiu em estudar as especicaes temporais presentes nas
linguagens de descrio de problemas e propor solues para sua insero nos mtodos
desenvolvidos pela equipe de pesquisa, de forma a obter planos que atendam s restries temporais. Desta forma, o captulo dois desta dissertao se rev os principais
conceitos de Planejamento em Inteligncia Articial, das linguagens de descrio de
problemas e das estratgias de busca mais importantes. Como so inmeros os planejadores que se utilizam do Grafo de Planos, inclusive o Petriplan, desenvolvido pela
equipe na qual este trabalho est inserido, o captulo trs apresenta de forma detalhada
estes mtodos. No captulo quatro a linguagem PDDL+, que inclui a durao das aes
como parte da descrio temporal, estudada, assim como so descritos os principais
planejadores que se propem a tratar quantitativamente as restries temporais.
Finalmente, no captulo 5 so apresentadas duas abordagens de gerao de planos
temporais. A primeira baseada sobre o Grafo de Planos e a segunda baseada sobre o
Petriplan. Um exemplo federador permite ilustrar, para diferentes mtodos, as possibilidades de anlise de planos cuja dimenso temporal tratada de forma explcita.
Uma comparao dos resultados e das diferentes caractersticas dos mtodos propostos
conclui o captulo.

Captulo 2
Linguagens de Descrio e
Planejamento em IA
Neste captulo sero apresentados conceitos fundamentais para a rea de planejamento,
linguagens de descrio, bem como alguns planejadores que representam a rea de
planejamento clssico.
O objetivo desse captulo apresentar ao leitor caractersticas gerais das linguagens
de descrio, caractersticas e limitaes de alguns planejadores tidos como eixo central
no planejamento clssico e formalizar alguns conceitos que representam a descrio de
um planejador automtico.

2.1 Conceitos Fundamentais


Sempre que projeta-se o desenvolvimento de um resolvedor automtico de problemas,
ou seja, um planejador, alguns conceitos esto presentes. Tais conceitos objetivam
encontrar uma classe de modelos matemticos que faro a denio do problema e apresentaro as possveis formas de soluo. Entre estes esto os conceitos de planejador,

plano e domnio.
6

Captulo 2. Linguagens de Descrio e Planejamento em IA

2.1.1 Planejador
De maneira informal um planejador um algoritmo que necessita de uma entrada
inicial, um objetivo e uma descrio do comportamento das aes em uma linguagem
formal, ou seja, um problema de planejamento uma tupla P = < O, I, G >, sendo O a
descrio do conjunto de aes, I a descrio do estado inicial do problema e G o estado
meta. Um plano soluo para P uma seqncia de aes de O que transformam I
em G .
Para melhor compreender o conceito acima, imagine uma empresa de logstica que
precisa transportar um pacote (pk2 ) que est na localidade 1 (loc1 ) para a localidade
2 (loc2 ) e outro pacote (pk1 ) que est na localidade 2 (loc2 ) para a localidade 1 (loc1 ).
Para fazer esse transporte dispe-se de um nico caminho (t1 ). Logo pode-se armar
que um problema particular para o domnio envolvido pode ser denido pela dupla I
e G . Sendo o estado inicial I representado pela situao descrita acima, ou seja, a
localidade onde o pacote encontra-se inicialmente. Tem-se tambm que G onde a
empresa deve entregar os pacotes, estado objetivo e

O so todas as possveis aes a

serem executadas para que os pacotes estejam nas localidades estipuladas.

2.1.2 Plano
Para o planejamento, o problema obter uma seqncia de aes chamada Plano ; e
esta seqncia, se aplicada a algum mundo, satisfaz as descries iniciais e alcance o
objetivo. De modo informal, um planejador um algoritmo que apresenta a capacidade
de resoluo de um problema de planejamento e possui as trs entradas que sero
codicadas em alguma linguagem formal, ou seja, a codicao gera a partir da entrada
inicial um plano como sada.

Captulo 2. Linguagens de Descrio e Planejamento em IA

2.1.3 Domnio
Conforme descrito nas subsees 2.1.1 e 2.1.2, um problema de planejamento um
algoritmo que faz a formalizao deste problema, e atrves de um conjunto de premissas,
busca encontrar de forma automtica uma soluo para o problema, quando esta existir,
a esse conjunto de premissas d-se o nome domnio.
A denio de um domnio descrita bsicamente pelas aes, ou seja, o conjunto

O, que apresenta o problema de planejamento P = < O, I, G . Sendo que I e G so


responsveis pela denio de um problema em particular para o domnio em estudo,
ou seja, podem haver inmeros problemas para um mesmo domnio, variando conforme
as combinaes feitas sobre os estados iniciais e nais.
Logo, o Domnio de um problema pode ser interpretado como o cenrio utilizado
por um prottipo para representar os elementos que compem o problema.
A representao do Domnio de um problema pode ser feita de vrias maneiras, ou
seja, pode-se representar as informaes de um problema de planejamento utilizando-se
de alguma das linguagens de descrio que sero discutidas e apresentadas na seo a
seguir.

2.2 Representao STRIPS


STRIPS (Stanford Research Institute Problem Solver) [16] o precursor dos atuais
sistemas de planejamento. Este foi o primeiro sistema a introduzir a noo de estado
de mundo como um conjunto de predicados. Sua primeira verso foi apresentada em
1971 e foi destinada soluo de algumas aplicaes, entre elas possibilitar que o robo
Shakey contrusse planos para manusear blocos.
O ponto marcante de STRIPS a incorporao de uma linguagem de descrio cujo
modelo de representao compacto e ter uma representao simples para domnios
de planejamento. Baseada em clculo proposicional, ela permite descrever mecanismos
8

Captulo 2. Linguagens de Descrio e Planejamento em IA


e aes, e especicar estados do mundo. Estes so representados por conjunes de
literais instanciados. O estado inicial ou nal obtido pela aplicao de predicados
sobre constantes, tambm chamados proposies.
Em STRIPS, a denio de domnio e do conjunto de operadores relacionados ao
problema de planejamento dado por Pp = < L, U, Si , Sf >.
Onde:

L a representao da linguagem de primeira ordem.


U o conjunto de operadores.
Si , Sf , so respectivamente a denio inicial do problema e o estado objetivo.
Tomando STRIPS para formalizar um problema de planejamento Pp , podemos
descrev-lo como um conjunto de aes, cada qual constituda de trs partes:

Primeiramente devemos ter a descrio da ao, com sua identicao e a denio


de seus parmetros;

Posteriormente devemos descrever as pr-condies, sendo que estas devem ser


necessariamente verdadeiras para que a ao proposta possa ser aplicada;

Por ltimo, tem-se os efeitos que a ao executada ir gerar descritos por uma
conjuno que pode incluir literais positivos ou negativos. Tais literais descrevem
as alteraes que devem ser realizadas sobre o mundo objetivando obter um outro
aps a execuo da ao.
Em termos de limitao, os sistemas de planejamento baseados em STRIPS possuem
restries quanto capacidade de representao da linguagem, pois supem que todos
os sub-objetivos so independentes uns dos outros, ou seja, considera a linearidade.
Entretanto, existem interaes de sub-objetivos que podem forar que eles tenham que
9

Captulo 2. Linguagens de Descrio e Planejamento em IA


ser obtidos em uma certa ordem; ou ainda sub-objetivos que precisam ser satisfeitos
juntos como, por exemplo a Anomalia de Sussman [26].
STRIPS tambm apresenta o problema de utilizar mtodos de busca exaustiva, o
que acarreta exploso combinatria do nmero de estados na soluo dos problemas,
inviabilizando a sua aplicao em planos que envolvam problemas do mundo real. Por
outro lado, STRIPS apresenta como grande vantagem a simplicidade de representao,
que pode ser combinada com estratgias de busca otimizadas.

2.3 ADL - Action Description Language


Devido s limitaes de STRIPS, surgiram inmeras derivaes que se originaram com
base em sua estrutura, entre elas a linguagem ADL (Action Description Language) [44],
uma das mais citadas na literatura.
ADL tem como base um modelo algbrico para caracterizar os estados do mundo
e supe um replanejamento do clculo de situaes mediante a denio de uma ao

(a) como uma tupla P re, Add, Del, U pdate(s, t) onde:

Pre so as pr-condies de a, Add e Del representam conjuntos de formlas com


conjuntos de tuplas a acrescentar e excluir respectivamente, ao executar a ao

a;

Update(s, t), faz a descrio do conjunto dos pares de estados s, t de forma que
ao executar a ao a no estado s obtem-se o estado t.
Em termos de ampliaes, quando comparada linguagem STRIPS, podemos observar que em ADL ocorre:
1. Incluso de efeitos condicionais;
2. Incluso de efeitos quantitativos; e
10

Captulo 2. Linguagens de Descrio e Planejamento em IA


3. Incluso de novas caractersticas nas pr-condies, tais como disjuntores, frmulas quantitativas, alm de outros operadores lgicos.
As amplicaes acima descritas permitem a reduo do nmero de aes instanciadas, aumentando assim a ecincia do planejador, conforme pode-se observar detalhadamente em [27].

2.4 PDDL - Planning Domain Denition Language


A linguagem PDDL (The Planning Domain Denition Language)[40] foi especialmente
desenvolvida para a Competio de Planejadores realizada em 1998, a mesma foi desenvolvida com o objetivo de ser uma especicao neutra dos problemas de planejamento,
ou seja, no favorecer nenhum planejador especco. A PDDL originou-se da combinao de alguns formalismos existentes em planejamento [2, 16, 17, 44, 58], revelou-se
uma linguagem com alta capacidade de representao, com capacidade de representar universos dinmicos, axiomas de domnio, efeitos condicionais, quanticadores universais, gerenciamento de mltiplos problemas em domnios mltiplos, composio ou
destruio dos objetivos e aes hierrquicas compostas por sub-aes e submetas.
Com essa nova representao, a comunidade cientca objetivava comparar o desempenho dos planejadores da poca, para que problemas e domnios pudessem ser
descritos de maneira universal e aplicados a qualquer planejador capaz de interpretar a
linguagem. Para tanto era necessrio padronizar a descrio de domnios e problemas.
Com sua capacidade de representao, a PDDL garantiu a integrao de forma simples
entre diferentes planejadores, bem como, uma representao equivalente ao conjunto
destes formalismos.
Conforme j apresentado na subseo 2.1.1, um problema de planejamento representado por uma tupla P = < O, I, G >. Baseando-se no modelo formal de planejamento, PDDL descreve o domnio, tendo como base a descrio das aes. Se rela11

Captulo 2. Linguagens de Descrio e Planejamento em IA


cionado ao domnio, pode-se armar que O faz referncia ao problema de planejamento,
enquanto I e G fazem a denio para o domnio em anlise.
Um domnio em PDDL representado por uma declarao que contm: o nome,
o conjunto de predicados presentes, o conjunto de caractersticas necessrias para sua
denio e as aes que podero ser por ele executadas.
Da mesma maneira que existem parmetros para a descrio do domnio, a representao de problemas em PDDL tambm exige algumas declaraes em sua descrio,
tais como: nome do problema, pertinncia de domnio, conjunto de objetos que estaro
presentes no domnio, estado inicial e estado nal.
Ao longo dos ltimos anos, a PDDL mostrou-se uma linguagem simples, porm a
mesma formada por um nmero de itens elevado, possibilitando a representao das
funcionalidades por ela proposta. Sua sintaxe claramente dinida no manual, porm
semanticamente informal, sendo necessrio um acompanhamento dos manuais ao longo
da evoluo das linguagens e sistemas que a PDDL substitui.

2.5 Estratgias de busca em planejamento


Vrias geraes de pesquisadores j dedicaram seus esforos no complexo desao que
tornou-se o planejamento automtico em IA. Atualmente existem inmeros planejadores
apresentados pela comunidade cientca, bem como inmeras tcnicas sob as quais
os planejadores so implementados com o intuito de obter resultados cada vez mais
satisfatrios. A seguir sero abordados o planejamento heurstico e o planejamento
por satisfatibilidade, pois ambos so estratgias de busca contempladas em inmeros
planejadores classicados dentro do planejamento clssico.

12

Captulo 2. Linguagens de Descrio e Planejamento em IA

2.5.1 Planejamento Heurstico


A busca de uma possvel soluo para um problema de planejamento baseada em processos exaustivos detm-se em situaes de exploso combinatria quando aplicada a
problemas do mundo real.
Uma alternativa a utilizao de procedimentos de busca no completa, baseados
em funes heursticas. Tal soluo no exaustiva, porm gera um planejador sem
garantia de soluo genrica.
A funo heurstica tem como objetivo central o direcionamento de um procedimento
de busca, que seja capaz de prever, de forma eciente, o custo de sair de um determinado
estado para chegar ao estado meta.
Em planejamento, uma funo com as caractersticas acima mencionadas tem que
ser capaz de medir o custo entre qualquer estado do mundo e o estado nal de forma
otimizada.
O sistema HSP (Heuristic Search Planner) [11], bem como toda a famlia de planejadores baseados em busca heurstica, utilizam-se de heursticas calculadas resolvendo
uma simplicao do problema. Isto permite estimar com maior preciso os custos
que iro orientar a tomada de deciso. Algumas dessas simplicaes podem nos levar
a cotas inferiores se comparadas quelas que permitem fazer um planejamento timo.
Utilizando-se algoritmos gerais de busca geralmente chega-se a solues sub-timas.
O sistema HSP tem como principal caracterstica a utilizao de um mtodo heurstico, em que a funo de estimao calculada automaticamente com base nas informaes extradas de uma estrutura similar ao grafo de planos[53].
Para guiar o procedimento de busca, o HSP faz uso da tcnica subida de encosta.
O procedimento de busca adotado pela tcnica subida de encosta genrico para todas
as buscas heursticas. um procedimento relativamente simples, pois calcula, a cada
passo, o custo dos lhos do n atual da rvore de busca, selecionando o de menor custo
e que ser utilizado para realizar a expanso no prximo passo. Sucessivamente, o
13

Captulo 2. Linguagens de Descrio e Planejamento em IA


processo executado at que o estado meta seja alcanado. Para se obter melhores
resultados o procedimento de busca incrementado com alguns recursos, tais como a
memorizao de ns j visitados, a m de evitar o reprocessamento, e uma estratgia
para que a busca se reinicialize em um outro estado quando um mnimo local alcanado
[11].
Embora a utilizao da tcnica de subida de encosta no fornea um procedimento
completo na resoluo de problemas envolvendo planejamento, o HSP permite obter
timos resultados em alguns domnios, conforme os resultados obtidos na competio
de 1998 [39].
Dentre os planejadores que utilizam-se de tcnicas de busca heurstica, um dos que
merece destaque por sua ecincia o FF (Fast Forward Planning System) [25]. O FF
faz uso de funes heursticas para guiar o processo. Desenvolvido na Universidade de
Freiburg e apresentado por Jorg Homann no AIPS/2000, o sistema FF utiliza-se do
grafo de planos como base para sua funo heurstica.
No processo de busca, o FF se utiliza de uma funo heurstica, fazendo uma estimativa desde o estado em que se encontra at o estado objetivo. De maneira geral,
pode-se dizer que o sistema FF desenvolveu uma heurstica com base no grafo de planos

relaxado, gerado pelo Graphplan, que muito similar heurstica utilizada pelo sistema
HSP, o que permite estimar a distncia em nmeros de aes desde o estado atual at
o estado objetivo.
Apesar do FF basear-se na heurstica do sistema HSP, ele apresenta uma funo de
estimativa diferenciada de HSP, pois s faz uso das interaes com valor positivo na
construo dos objetivos. Alm de utilizar um plano relaxado tomando um grafo de
planejamento sem a presena de efeitos negativos.
Dessa maneira, o sistema FF gera um plano, entretanto ao invs de determinar as
relaes de mutex entre aes, usa o grafo para obter a heurstica que ir conduzir o
processo de busca para a soluo.

14

Captulo 2. Linguagens de Descrio e Planejamento em IA


Outro diferencial marcante entre HSP e FF, o fato que o FF no contempla aes
que ocorrem em paralelo. FF tambm no contempla aes cuja durao e qualidade
de planos cam muito distante do que foi denido como timo para o problema.
Como j mencionado, seus princpios bsicos so os mesmos do HSP apresentado
por Bonet (Bonet, Loerincs & Gener, 1997), ou seja, o FF pode ser visto como um
sucessor avanado do HSP que se difere por apresentar:

Um mtodo mais sosticado para a avaliao da heurstica, levando em conta


interaes positivas entre fatos;

Uma estratgia de busca local, utilizando-se de uma sistemtica para no cair em


plats ou mnimos locais;

Um mtodo de identicao para os sucessores de um n de busca que parece ser


til adquirindo a meta.
Desde o seu desenvolvimento, o FF tem se destacado por seus resultados na resoluo
de problemas de planejamento clssico. Seu sucesso deu origem ao Metric-FF [24], cuja
extenso preocupa-se com caractersticas numricas.
Embora o sistema FF tenha obtido os melhores resultados na competio de 2000,
ele no obteve os mesmos efeitos na competio de 2002, por no agregar uma mtrica
capaz de manipular problemas com restries temporais. Conseqentemente outros
sistemas que apresentavam capacidade de manipular tais restries, solucionaram mais
problemas no decorrer da competio, obtendo assim os melhores resultados.

2.5.2 Planejamento com Satisfatibilidade


O planejamento baseado em Satisfatibilidade (SAT) [31], juntamente com o planejamento baseado em grafo de planos, pode ser apontado como uma das aproximaes
relevantes para o planejamento clssico.
15

Captulo 2. Linguagens de Descrio e Planejamento em IA


Uma instncia SAT pode ser denida como um conjunto de restries ou literais que
assumem um valor verdadeiro ou falso. O planejamento baseado em satisfatibilidade
pode ser denido como a transformao de um problema em um conjunto de axiomas,
cuja propriedade principal o fato de que qualquer valorao que faa com que este
conjunto seja satisfatvel, corresponder a um plano vlido.
Planejadores que utilizavam esta estratgia de busca caram abandondos por um
longo perodo devido o baixo desempenho destas tcnicas. Somente com o desenvolvimento de mtodos de maior ecincia [31, 32] para a prova baseada em satisfabilidade
eles passaram a ser utilizados para a resoluo de problemas de planejamento.
Diversos experimentos mostraram que a traduo de problemas de planejamento
para instncias SAT pode gerar planejadores com desempenho muito prximo aos de
melhor desempenho da competio de 98 [33].
O principal problema da busca de uma soluo de um problema de planejamento
utilizando satisfabilidade a ordem das aes, uma vez que em planejamento temos
uma componente temporal inerente, ou seja, no plano temos uma seqncia de aes
ordenadas cronologicamente, enquanto que em satisfabilidade, o problema apresenta-se
de modo esttico com tempo xo e discreto das instncias.
Uma da vantagens na utilizao do SAT a facilidade que se encontra para especicar condies e restries em qualquer dos estados intermedirios do mundo, gerando
modelos com maior preciso sobre os planos.
Na literatura sobre planejamento que utiliza-se de algoritmos para satisfatibilidade,
pode-se apontar o SATPLAN [31]. Pode-se resumir SATPLAN como um planejador
que, partindo de um problema de planejamento descrito em PDDL, faz a traduo para
um problema de satisfatibilidade resolvendo o mesmo por meio de algum mtodo j
conhecido.
Outro planejador que faz uso da estratgia de satisfatibilidade o BLACKBOX [30].
Proposto por Kautz e Selmam, o BLACKBOX obtm a instncia SAT a partir do grafo

16

Captulo 2. Linguagens de Descrio e Planejamento em IA


de planos.
Entre os planejadores que fazem uso dos algoritmos para satisfatibilidade tambm
encontra-se o LPSAT [1]. LPSAT utiliza-se de uma extenso do PDDL, que corresponde
ao nvel dois PDDL 2.1 combinando instncia SAT com desigualdades lineares.

17

Captulo 3
Planejadores Graphplan e Petriplan
Por diversas dcadas, muitos sistemas de planejamento foram desenvolvidos com o
intuito de automatizar solues para diversos problemas. Porm, na dcada de 90,
que obtiveram-se sistemas de planejamento com resultados satisfatrios. Os novos
planejadores apresentados estabeleceram um novo paradigma na rea, como pioneiro
podemos citar o sistema Graphplan [8, 9].
Dentre os diversos planejadores concretizados a partir do Graphplan est o Petri-

plan, cuja primeira verso foi apresentada em [50], onde se faz a traduo do grafo de
planos gerado pelo Graphplan para uma Rede de Petri. Os conceitos sobre Redes de
Petri so encontradas no Anexo B, deste trabalho.
O objetivo desse captulo apresentar de forma mais detalhada os planejadores
Graphplan e o Petriplan, bem como um exemplo de aplicao. A partir dos resultados
obtidos pretendemos avaliar suas vantagens e desvantagens quando usados na resoluo
de problemas com caractersticas de situaes reais.

18

Captulo 3.

Planejadores Graphplan e Petriplan

3.1 Graphplan
Se analisada a literatura sobre a evoluo da rea de planejamento nota-se que at
meados de 1994, todos os algoritmos para planejadores tinham seus alicerces derivados
de trs classes:

Os que derivavam de STRIPS;


Os que usavam procedimentos heursticos;
E os que usavam procedimentos baseados em prova SAT.
Em 1995, surge uma nova abordagem para os planejadores automticos cuja base
estava alicerada sobre um grafo de planos, o Graphplan [8, 9]. O Graphplan apresentou
resultados bem mais ecientes que qualquer outro planejador da poca, podendo ser
considerado um ponto de inexo no modelo de planejamento clssico. Para obter tal
agilidade, Blum e Fust utilizaram-se de uma idia simples que consistia em dividir o
processo de construo em duas etapas:

Expanso do grafo;
Extrao da soluo.
Para isso, o algoritmo executa repetidamente estas duas fases at que uma soluo
seja obtida.

3.2 Grafo de Planos


A composio de um grafo de planos formado por camadas, onde cada camada
denida pelos ns que a compem. Esses ns so clssicados como ns proposio ou

ao.

19

Captulo 3.

Planejadores Graphplan e Petriplan

Os ns proposio esto sempre localizados nas camadas pares do grafo (incluindo


a camada zero), representando as proposies possveis do problema em questo. J
os ns aes localizam-se nas camadas mpares, sendo estas as instncias cujas prcondies devem ser satisfeitas pelas proposies da camada a ela antecedente. Na
camada de nmero zero esto armazenados todos os literais positivos do estado inicial
do problema em questo. J nas camadas mpares encontram-se as instncias de aes,
cujas pr-condies so satisfeitas pelas proposies contidas na camada n - 1 ( sendo
n a camada atual), ou seja, a camada par. Gracamente os ns que incluem uma
proposio no grafo so representados por um crculo, enquanto os ns que fazem a
insero de uma ao so representados por um retngulo.
As arestas de um grafo tm a nalidade de conectar os ns proposio aos ns ao
da camada seguinte. So classicadas de quatro maneiras:
1. Arestas proposio-ao: conectam os ns proposio aos ns ao da camada
seguinte, ligando as pr-condies das aes s proposies a ela correspondente;
2. Arestas ao-proposio: conectam os ns dos efeitos das aes aos ns proposio
da camada posterior, ligando os efeitos das aes de uma camada s proposies
correspontes a ela na camada seguinte;
3. Arestas de manuteno: conectam dois ns proposio, ou seja, para cada proposio
presente na camada n aplicada a referida ao de manuteno, resultando na
existncia dessas proposies na camada n + 2. As arestas de manuteno so
includas no grafo para que se tenha a garantia de que uma ao que foi executada
na camada n seja vlida na prxima camada;
4. Arestas de excluso mtua: representam as relaes de excluso existente entre
aes ou proposies.
Podemos observar o grafo de planos representado na gura 3.1, onde os crculos que
20

Captulo 3.

Planejadores Graphplan e Petriplan

representam os ns proposio os quadrados representam os ns ao e as arestas que


fazem as conexes entre as camadas.

c
Q

Figura 3.1: Exemplo de expano do grafo.

A espessura das arestas que ligam os ns ao aos ns proposio, representa o


tipo de conexo existente entre os ns, por exemplo, as arestas slidas representam a
conexo entre diferentes tipos de ns (ao-proposio, proposio-ao), as arestas de
maior espessura representam as relaes de excluso mtua (mutex ), entre aes ou
proposies que podem ocorrer em virtude de situaes contraditrias, conforme ser
descrito no decorrer deste captulo, enquanto as arestas pontilhadas representam as
arestas de manuteno, cujo objetivo manter numa camada n as proposies existentes
na camada n - 2.
As camadas proposio do grafo contm os estados do mundo. Dessa forma, a
construo do grafo tem incio ao atribuirmos a primeira camada de proposies que
iro representar o estado inicial do problema. Para a primeira expanso ser efetuada,
verica-se quais so as aes que tm suas pr-condies satisfeitas pelo estado inicial do
problema e estas so inseridas no grafo. As expanses seguintes ocorreram adicionandose uma nova camada de proposio contendo os efeitos das aes que foram includas
na camada anterior. A opo por parar a expanso do grafo feita quando obtm-se
o estado meta, ou quando a camada de proposio alcanada idntica a camada de
21

Captulo 3.

Planejadores Graphplan e Petriplan

proposies n 2.

3.3 Expanso do Grafo


A expanso do grafo consiste em adicionarmos uma nova camada de ns com instncias
de aes, que tm suas pr-condies satisfeitas na camada anterior (n 1). Todas
as proposies da camada atual so mantidas na nova camada atravs das aes de

manuteno.
Dessa forma quando iniciamos um grafo temos apenas uma camada de proposies
que ir representar o estado inicial do problema. Todas as aes cujas pr-condies
esto presentes na camada atual iro compor uma nova camada de aes. A prxima
camada a ser adicionada ser a camada de proposies composta pelos literais originados
dos efeitos das aes da camada anterior.
No decorrer de uma expanso do grafo podemos nos deparar com inconsistncias e
conitos. Isso acontece em decorrncia de inconsistncias existentes entre proposies
e aes, gerando restries nas camadas do grafo. Um exemplo muito comum de inconsistncia em um grafo, termos em uma mesma camada o efeito de uma ao que a
negao do efeito da outra, conforme podemos observar na gura 3.2.
Visando o controle de tais ocorrncias dene-se a relao como uma excluso mtua

(mutex) e sua representao feita por uma aresta que liga aes contidas na mesma
camada. As situaes de relaes mutuamente exclusivas podem apresentar-se de quatro
maneiras diferentes.
Por denio duas aes so mutuamente exclusivas em uma camada n se:

Inconsistncia: O efeito de uma ao a negao do efeito da outra.


Na gura 3.2 podemos observar que a ao b tem como efeito a proposio T
sendo que esta a negao de um efeito da ao a, logo as aes a e b so mutuamente
exclusivas na camada.

22

Captulo 3.

Planejadores Graphplan e Petriplan

Figura 3.2: Representao Grca de Inconsistncia

Interferncia: O efeito de uma ao a negao de uma pr-condio de outra.


P

T
a

U
b

Figura 3.3: Representao Grca de Interferncia

Na gura 3.3 a ao a gera como efeito proposio R, sendo esta a negao de


uma pr-condio de b, fazendo das mesmas aes mutuamente exclusivas.

Competio por necessidades: as aes tm pr-condio que so mutuamente


exclusivas na camada n - 1.
Na gura 3.4 as aes a e b exigem pr-condies que so mutuamente exclusivas
na camada anterior (Q e Q), fazendo delas aes mutuamente exclusivas.
Da mesma forma que entre aes, as relaes de excluso tambm so denidas para
as proposies. Uma relao de excluso entre proposies signica que as mesmas no
23

Captulo 3.

Planejadores Graphplan e Petriplan

T
a

U
b
V

Figura 3.4: Representao Grca de Competio por Necessidade

podero ser obtidas simultaneamente na mesma camada. Por denio temos que duas
proposies so mutuamente exclusivas em uma camada n se qualquer das condies
a seguir for vericada:

Uma proposio a negao da outra, conforme podemos observar na gura 3.4.


As formas de obteno das proposies so mutuamente exclusivas entre si, ou
seja, as aes da camada n - 1 que apresentam como efeito tais proposies so
duas a duas mutuamente exclusivas.

c
Q

Figura 3.5: Representao Grca de Proposies Mutuamente Exclusivas

24

Captulo 3.

Planejadores Graphplan e Petriplan

Nesse caso temos as proposies P e Q, que so mutuamente exclusivas em decorrncia da excluso existente entre as aes que do origem a P (a e b) e as aes que
do origem a Q (c e a ao de manuteno)

3.4 Extrao da Soluo Atravs de Um Grafo de


Planos
A extrao de uma soluo do grafo s possvel quando, aps uma expanso, encontramos na ltima camada todos os literais que havamos denido inicialmente como
meta do problema.
A presena destes literais nos indica a possibilidade de existncia de uma soluo
para o problema em anlise. Se o grafo de planos at a expanso atual no contiver uma
soluo, expandimos mais uma camada do grafo com o objetivo de, com essa expanso
e suas novas aes, gerar uma soluo. Para tal vericao usa-se uma estratgia de

busca regressiva, que consiste em analisar cada sub-meta da camada n e encontrar uma
ao, na camada n - 1, que a contenha como efeito.
Considerando a uma ao e sendo ela consistente, ou seja, no relao de excluso com as demais aes escolhidas anteriormente, passamos ento para a anlise da
prxima sub-meta, porm se detectarmos qualquer caso de excluso das enumeradas na
seo 3.3, retornamos e escolhemos outra ao. A partir do momento que encontramos
um conjunto de aes consistentes para a camada n - 1, de forma recursiva vamos
para a camada n - 2, agora considerando como sub-metas as pr-condies das aes
escolhidas na camada n - 1, usamos esse processo recursivo at alcanarmos a camada
zero. Se o procedimento nos permitir alcanar um conjunto de aes consistentes nas
camadas anteriores, temos ento uma soluo para o problema. Caso o retrocesso falhe
aps tentar todas as possibilidades, faz-se necessria uma nova expanso do grafo.
Se aps uma nova expanso do grafo observarmos que as duas ltimas camadas
25

Captulo 3.

Planejadores Graphplan e Petriplan

mpares no sofreram nenhuma alterao, ou seja, nenhum mutex foi eliminado, assim
podemos concluir que nenhum plano poder ser encontrado para o problema em questo.
Para melhor compreender os conceitos acima abordados ser apresentado na subseo 3.8.1 um exemplo de aplicao.

3.5 Petriplan
Conforme mencionamos no incio desse captulo, a partir do Graphplan originaram-se
vrios planejadores entre eles o Petriplan.
O algoritmo Petriplan utiliza-se de uma estrutura semelhante do Graphplan, porm
faz a traduo do grafo de planos para uma Rede de Petri, objetivando a reduo do
espao de busca.

3.6 O Algoritmo Petriplan


Em [50] apresentado o algoritmo Petriplan, cuja estrutura muito se assemelha ao

Graphplan, porm a denio do algoritmo feita em trs etapas.


Na primeira fase o Petriplan faz a construo do grafo de planos utilizando-se das
mesmas regras do Graphplan. A passagem por esta fase de pr-processamento tem como
objetivo a simplicao do problema para as fases seguintes.
J na segunda fase de extrao da soluo do problema, o grafo de planos transformado em uma RdP em que o problema original de Planejamento passa a ser analisado
como um problema de busca de uma seqncia de disparos da transio que garanta a
alcanabilidade de sub-marcao.
Finalmente na terceira fase do algoritmo o problema de alcanabilidade denido na
fase anterior convertido para um problema de Programao Inteira (P.I.), que ento
resolvido por sistemas especcos de otimizao.

26

Captulo 3.

Planejadores Graphplan e Petriplan

Aps execuo da terceira etapa, se nenhuma soluo for encontrada para o problema de P.I., o algoritmo ir retornar para a primeira fase e uma nova expanso do
grafo ser realizada. Este lao ir permanecer de forma a encontrar uma soluo ou at
que uma condio de falha seja apresentada na primeira etapa.

3.7 A Traduo para uma RdP


Conforme apresentada na seo 3.2 um grafo de planos obtido alternando-se camadas
de proposies e aes, a seguir ser apresentada a transformao do grafo de planos
em uma RdP. Ser visto que obter um plano vlido de um grafo de planos torna-se
equivalente a resoluo de um problema de alcanabilidade.
Vale resaltar que um problema de alcanabilidade em RdP, denido pela obteno
de uma seqncia de transies que sejam disparveis para se obter a marcao denida
como objetivo partindo da marcao inicial. J o problema de alcanabilidade de submarcao, denido pela obteno de uma seqncia de transies que possam ser
disparadas para a obteno de um subconjunto de lugares marcados que compem a
marcao objetivo.
Observando um grafo de planos nota-se que o mesmo pode ser fragmentado em cinco
estruturas bsicas, no algoritmo apresentado em [50], o autor traduz essas estruturas,
para estruturas equivalentes em RdP. As cinco estruturas que compem o grafo so:

ns ao;
ns proposio;
arestas de ns proposio;
arestas de ns ao para ns proposio; e
relaes de excluso mtua.
A traduo para um RdP segundo [50] se d da seguinte maneira:
27

Captulo 3.

Planejadores Graphplan e Petriplan

3.7.1 Ns Ao
A traduo de um n ao do grafo se faz atravs de uma nica transio na RdP,
conforme a representao mostrada na gura 3.6.

Figura 3.6: Traduo de um n ao em uma transio na RdP.

Aps a traduo, a transio s estar habilitada se, e somente se, todas as prcondies forem validadas, ou seja, se existirem marcas em todos os lugares que representam as arestas pr-condies ligadas ao representada pela transio.

3.7.2 Ns Proposio
Um n proposio traduzido em um lugar e uma transio com um arco do lugar para
a transio, conforme a representao abaixo.

Um n proposio, traduzido por um lugar ligado a uma transio. A transio se


faz necessria para que todos os lugares que representam arestas pr-condio recebam
marcas aps o disparo.

3.7.3 Arestas Pr-Condio


A traduo da aresta pr-condio se faz atravs de um lugar com dois arcos, um
vindo da transio que representa o n proposio e outro que vai para a transio que
28

Captulo 3.

Planejadores Graphplan e Petriplan

representa o n ao, conforme representao grca em 3.7:

Figura 3.7: Traduo das arestas pr-condio em um lugar com dois arcos na RdP.

As arestas pr-condio so representadas por um lugar devido ao fato de um n


proposio do grafo poder ser pr-condio de mais de uma ao, assim cada transio
que representa aes tem um conjunto de arestas pr-condio independente. Caso
esta estrutura no fosse utilizada, o disparo de uma transio ao desabilitaria outra
transio ao que tivesse uma pr-condio em comum, pois o disparo da primeira
removeria as marcas de todos os lugares representando sua pr-condio.

3.7.4 Aresta Efeito


Uma aresta efeito traduzida em um arco, que vai da transio que est representando
o n ao, para o lugar representando n proposio conforme representao grca em
3.8.
A

Figura 3.8: Traduo das arestas efeito na RdP.

3.7.5 Excluso Mtua


A relao binria de excluso mtua entre duas aes se faz atravs de um lugar marcado
que pr-condio dessas aes.
29

Captulo 3.

Planejadores Graphplan e Petriplan

Figura 3.9: Traduo das relaes de excluso mtua na RdP.

Como podemos observar na gura 3.9, o lugar que representa a excluso mtua
possui uma nica marca. O disparo de qualquer uma das transies que representa as
aes desabilita a outra transio.
Inicialmente temos a rede marcada com peso inicial um. A existncia de uma marca
em determinado lugar na rede, indica uma proposio vlida, ou ainda, um mutex entre
duas aes.
Se algum lugar da rede receber mais de uma marca, podemos concluir que h mais
de um caminho que torna vlida a proposio representada por esse lugar.
Finalmente, o estado inicial do problema traduzido pelo incluso de uma marca em
cada um dos lugares que representam as proposies iniciais alm das marcas presentes
nos mutex.

3.8 Exemplo de Aplicao


O exemplo a seguir tem como objetivo ilustrar os conceitos acima abordados, bem
como avaliar a questo de desempenho dos dois planejadores quando analisados sob os
aspectos de planejamento clssico em IA.

30

Captulo 3.

Planejadores Graphplan e Petriplan

3.8.1 Descrio do Problema


O exemplo proposto consiste em um problema de logstica. Este exemplo um dos
problemas clssicos da rea de planejamento, podendo ser encontrado na ntegra no
artigo da PDDL2.1 proposto por Fox e Derek [19]. Utilizaremos entretanto uma verso simplicada deste problema, restringindo os recursos

disponveis evitando uma

exploso combinatria de estados na busca da soluo.


O problema aqui proposto consiste em transportar pacotes entre localidades. Para
efetuarmos tal transporte estaremos considerando apenas os elementos: truck (tn ),

locality (locn ), package (pkn ). Com estes elementos trs aes so passveis de serem
executadas:

Load, ao de carregar um pacote em um caminho;


Unload, ao de descarregar um pacote de um caminho; e
Drive, ao de dirigir um caminho.
As aes acima mencionadas sero executadas se, e somente se, suas pr-condies
forem atendidas. Dessa forma temos que:

A ao Load ser executada se existir uma localidade (loc), um caminho (t) nesta
localidade e se nesta localidade existir um pacote (pk) disponvel para carregar.

A ao Unload ser executada se existir um pacote (pk) dentro de um caminho


(t) e este caminho estiver em uma localidade (loc).

A ao Drive ser executada se existir um caminho (t), uma localidade de origem


e uma localidade destino.
Para o problema proposto temos a seguinte descrio inicial:
1 Recursos

so todos os elementos necessrios para a execuo das aes exigidas pelo problemas

em questo.

31

Captulo 3.

Planejadores Graphplan e Petriplan

Existe um caminho na localidade 1.


O pacote 1 est na localidade 2.
O pacote 2 est na localidade 1.
O problema proposto objetiva obtermos:

O pacote 1 na localidade 1.
O pacote 2 na localidade 2.
A seguir estaremos buscando a soluo para o problema a partir dos planejadores
propostos inicialmente nesse captulo.
O problema proposto ser descrito em PDDL que consistir de trs partes: descrio
do domnio, descrio do problema, estado inicial e estado meta.

3.8.2 Descrio do Problema Inicial em PDDL


Conforme descrito em [8, 9] Graphplan necessita de um estado Inicial, cuja descrio
feita atrves da linguagem PDDL. A descrio do problema acima apresentado em
PDDL ser encontrada, na literatura, na seguinte forma:

(define (problem logistic)


(:domain logistic)
(:objects pk1 pk2 loc1 loc2 t1)
(:init (obj pk1)
(obj pk2)
(truck t1)
(location loc1)
(location loc2)
(at t1

loc1)
32

Captulo 3.

Planejadores Graphplan e Petriplan

(at pk1 loc2)


(at pk2 loc1))
Assim como temos a descrio do problema inicial tambm temos a descrio do
nosso estado Objetivo. Cuja descrio em PDDL a seguinte:

(:goal (and

(at pk1 loc1)


(at pk2 loc2))))

Conforme descrito em [8, 9] para que seja possvel sairmos do estado Inicial e alcanarmos nosso estado Objetivo, faz-se necessrio o cumprimento de algumas prcondies, na descrio em PDDL, o exemplo acima proposto ca com a seguinte estrutura:

(define (domain logistic)


(: predicates (OBJ ?obj)
(TRUCK ?truck)
(LOCATION ?loc))
(:action LOAD-TRUCK
:parameters
(?obj
?truck
?loc)
:precondition
(and (OBJ ?obj) (TRUCK ?truck) (LOCATION ?loc)
(at ?truck ?loc) (at ?obj ?loc))
:effect
(and (not (at ?obj ?loc)) (in ?obj ?truck)))
(:action UNLOAD-TRUCK
33

Captulo 3.

Planejadores Graphplan e Petriplan

:parameters
(?obj
?truck
?loc)
:precondition
(and (OBJ ?obj) (TRUCK ?truck) (LOCATION ?loc)
(at ?truck ?loc) (in ?obj ?truck))
:effect
(and (not (in ?obj ?truck)) (at ?obj ?loc)))
(:action DRIVE-TRUCK
:parameters
(?truck
?loc-from
?loc-to)
:precondition
(and (TRUCK ?truck) (LOCATION ?loc-from) (LOCATION ?loc-to)
(at ?truck ?loc-from))
:effect
(and (not (at ?truck ?loc-from)) (at ?truck ?loc-to)))
)
O exemplo citado, aps passar pelas fases descritas no captulo anterior, ir nos
gerar um grafo, podendo este ser ou no soluo do problema. Do exemplo abordado,
as camadas iniciais so representadas na gura 3.10 :

Neste exemplo, o estado objetivo alcanado na dcima primeira camada, ou seja,


ao alcanarmos a dcima primeira camada, nos utilizando do processo de backtraking,
34

Captulo 3.

Planejadores Graphplan e Petriplan


4

at(t1, loc1)
2
1
0

at(t1, loc1)

~at(t1, loc1)

at(t1, loc1)

3
~at(t1, loc1)
drive(t1, loc1, loc2)

drive(t1, loc2, loc1)


at(t1, loc2)

drive(t1, loc1, loc2)

at(t1, loc2)
load(t1, loc1, pk2)

at(pk1, loc2)
~at(t1, loc2)

~at(pk2, loc1)
load(t1, loc1, pk2)
at(pk2, loc1)

load(t1, loc2, pk1)


in(pk2, t1)
~at(pk2, loc1)
at(pk1, loc2)

at(pk2, loc1)

unload(t1, loc1, pk2)

unload(t1, loc2, pk2)

in(pk2, t1)

~at(pk1, loc2)

in(pk1, t1)

~in(pk2, t1)

at(pk2, loc1)

at(pk1, loc2)

at(pk2, loc2)

Figura 3.10: Grafo gerado pelo Graphplan at camada 5


podemos retornar camada inicial sem nos depararmos com situaes de inconsistncia
(mutex ).

35

Captulo 3.

Planejadores Graphplan e Petriplan

3.9 Soluo do Problema de Logstica usando Petriplan


Para que possamos encontrar a soluo do problema abordado primeiramente ser
necessria a traduo do mesmo para uma RdP.
Nos utilizando dos conceitos da seo 3.7, podemos traduzir o Graphplan em uma
Rede de Petri.
O estado inicial do problema de planejamento representado ao inserirmos uma
marca nos lugares que esto representando a camada zero do grafo, conforme mostra a
camada P 0 na gura 3.11.
A traduo gera uma RdP marcada que est apresentada na 3.11.

m_11_25
pk2_loc1_7

noop_at_pk2_loc1_0

noop_at_pk2_loc1_11
at_pk2_loc1_27

at_pk2_loc1_16
m_21_25
load_pk2_t1_loc1_25

m_0_9

m_17_21
noop_in_pk2_t1_17

m_7_9
load_pk2_t1_loc1_9

in_pk2_t1_17

m_20_21

t1_loc1_6

noop_at_t1_loc1_8

in_pk2_t1_28

m_20_25

m_20_23

at_t1_loc1_14

unload_pk2_t1_loc1_21

noop_at_t1_loc1_23
at_t1_loc1_25

m_13_20
drive_t1_loc1_loc2_20

m_7_8

drive_t1_loc1_loc2_7

at_t1_loc2_15

noop_at1_loc2_24
m_13_24

pk1_loc2_5

noop_at_pk1_loc2_6

at_t1_loc2_26

noop_at_pk1_loc2_19

at_pk1_loc2_13

at_pk1_loc2_23

drive_t1_loc2_loc1_13
m_10_13
in_pk1_t1_24
load_pk1_t1_loc2_10

P0

A0

P1

A1

Figura 3.11: Rede de Petri gerada pelo Petriplan at camada 5

36

P2

Captulo 3.

Planejadores Graphplan e Petriplan

Nas camadas iniciais geradas pelo Petriplan conforme podemos observar na gura
3.11 possvel notar que a transio t1 , que representa a ao load, est habilitada, uma
vez que os lugares que so pr-condies para seu disparo contm marcas. O mesmo
podemos observar com a transio t2 (drive).
A segunda camada da rede gerada pelo Petriplan composta pelas transies que
podem ser disparadas a partir dos lugares marcados da primeira camada. A terceira camada ser composta pelos lugares gerados pelo disparo dessas transies e pelos lugares
denominados manuteno que consistem basicamente na repetio das pr-condies
existentes na primeira camada. Esse processo de expanso executado at serem encontrados todos os literais denidos inicialmente como estado objetivo. Neste momento
busca-se resolver o problema de alcanabilidade da marcao correspondente ao estado
objetivo, a partir da marcao inicial. Se o estado objetivo no alcanvel, novas expanses devem ser executadas. Em caso de sucesso, necessrio identicar a seqncia
de disparo de transies capaz de levar a rede do estado inicial ao estado objetivo. Essa
seqncia corresponder ao plano que resolve o problema de planejamento.
Para o problema aqui apresentado, o estado objetivo alcanado na dcima primera
camada do grafo. No grafo obtido aplicamos todas as simplicaes propostas em [15],
e obtemos a seqncia t1 , t2 , t3 , t4 , t5 e t6 .

3.10 Vantagens do Petriplan


Mediante as anlises dos resultados obtidos, podemos observar que a soluo obtida para
o problema de Logstica, quando nos utilizamos do algoritmo Graphplan, nos fornece
uma soluo, cuja representao grca parcial nos gera a gura 3.10.
Nos baseando na soluo gerada pelo Graphplan e aplicando sobre este mesmo
exemplo o sistema Petriplan, podemos concluir que:

Petriplan permite obter aps as simplicaes, uma representao mais compacta


37

Captulo 3.

Planejadores Graphplan e Petriplan

do problema;

A representao em RdP que resolve o problema de alcanabilidade do estado


objetivo a partir do estado inicial se constitui em um modelo formal da soluo;

Trabalhando sobre este modelo possvel obter no somente as aes que permitem inferir relaes de causalidade e de concorrncia entre aes;

Sobre este modelo podem ser agregadas informaes adicionais relativas ao planejamento no-clssico, tais como dados temporais, incerteza, dados probabilsticos
entre outras. O modelo com estas informaes adicionais, passa a ser uma RdP
de alto nvel, sobre a qual, a melhor soluo pode ser buscada.
t3

t1

at(pk2, loc1)

in(pk2, t1)
load(pk2, t1, loc1)

at((pk2, loc2)
unload(pk2, t1, loc2)

t4

at(t1, loc1)

at(t1, loc1)

t6

at(t1, loc2)
t2

drive(t1, loc2, loc1)


unload(pk1, t1, loc1)

at(t1, loc2)

at(t1, loc1)

at(pk1, loc1)

drive(t1, loc1, loc2)


at(t1, loc2)

t5
in(pk1, t1)

at(pk1, loc2)

load(pk1, t1, loc2)

Figura 3.12: Rede de Petri soluo para o Problema de Logstica

Objetivando agregar as informaes acima concludas, foi proposto uma ordenao


das aes na gura 3.11 para que a mesma seja executada de maneira sincronizada
obedecendo uma ordenao. Aplicarmos essa relao de ordem signica dizermos que a
transio t2 s estar habilitada aps o disparo de t1 , ou seja, a ao at(t1 , loc1 ) nunca
poder habilitar t2 antes de ter habilitado t1 . Outra ordenao que podemos realizar

38

Captulo 3.

Planejadores Graphplan e Petriplan

no exemplo proposto na ao at(t1 , loc2 ), na qual as primeiras transies a serem


habilitadas devem ser t3 e t5 , para ento, t4 ser habilitada.
Tomando a gura 3.11 e aplicando a relao de ordem, ou seja, aplicando um sincronismo na execuo da aes, teremos como resultado a RdP abaixo representada.

39

Captulo 4
Planejamento Temporal
Neste captulo ser abordado o desenvolvimento do planejamento temporal. Ser mostrado
que o planejamento temporal um modelo extendido, que tem suas razes no planejamento clssico, agregando nos domnios, alm da necessidade da enumerao das aes,
a ordenao das mesmas. Sero apresentados resumidamente alguns planejadores temporais citados na literatura e a linguagem de descrio PDDL+.

4.1 PDDL+
Ao ser traada a linha do tempo em termos de evoluo dos planejadores automticos,
nota-se a evoluo da expressividade dos mesmos.
Em paralelo evoluo dos planejadores ocorre a evoluo das linguagens de representao de problemas de planejamento, como, por exemplo, a linguagem PDDL.
Mediante a necessidade de avaliao dos Planejadores na soluo de problemas reais
durante o IPC de 2002 foi proposta uma extenso da PDDL [19] denominada PDDL+.
A PDDL+ foi subdividida em 5 nveis, sendo que os nveis compreendidos 1 e
4 so chamados coletivamente de PDDL2.1. A deciso por dividir o PDDL+ para
tratar de caractersticas especcas, incorporadas aos domnios, ao longo da evoluo

40

Captulo 4. Planejamento Temporal


das pesquisas nesta rea. Resumidamente, pode-se apresentar os 5 nveis da seguinte
maneira:

Nvel 1 Trata-se do PDDL em sua verso original;


Nvel 2 Adicionam-se ao PDDL original variveis numricas e a capacidade
de realizar atualizaes sobre os valores;

Nvel 3 Adio do tratamento sobre aes com durao. As aes e efeitos


passam a acontecer em um tempo t, pr-determinado pelo agente. Nesse nvel
so tratadas aes cujo tempo de execuo dado no modo discreto;

Nvel 4 Adio do tratamento de aes com durao contnua. Por exemplo,


ao executarmos a ao de dirigir um caminho, precisamos ter como recurso
o combustvel, o efeito de consumi-lo gera um efeito contnuo no decorrer da
execuo, ou seja, a cada instante o nvel do combustvel ter um valor associado.
A literatura comumente apresenta de forma unicada os nveis 3 e 4;

Nvel 5 Capacidade de representao de eventos exgenos 1 , cujos domnios apresentem variveis temporais discretas e contnuas. Este nvel tambm denido
como "real-time", sendo o mesmo uma proposta alternativa para o modelo temporal, porm no usado nas competies.
Ao longo desse trabalho se opera com variveis temporais cujas caractersticas so
melhor comportadas pelo nvel 3. Um detalhamento desse nvel pode ser observado no
anexo A deste trabalho.

4.2 Planejadores Temporais


Com a retomada das pesquisas na rea de Planejamento em Inteligncia Articial, a
comunidade cientca focou-se no desenvolvimento de planejadores capazes de encon1 Um

evento exgeno um acontecimento externo ao sistema, que afeta seu comportamento.

41

Captulo 4. Planejamento Temporal


trar bons resultado quando aplicados a problemas reais. Para que isso fosse possvel,
iniciaram-se pesquisas sobre a insero de diferentes tipos de informao nos problemas
de planejamento. Entre estas informaes a anlise temporal inerente ao problema.
O principal diferencial entre Planejamento Clssico e Temporal o fato de ser
necessrio um conjunto com maior completude no que se refere s restries ao operarmos aes que envolvem caractersticas temporais. No Planejamento Temporal o
aumento do grau de complexidade [13] acontece em virtude de ser preciso no apenas
escolher uma seqncia de aes, mas a seqncia que resolve o problema respeitando
os critrios temporais a ela inerentes. Dessa forma, a busca no se limita a encontrar
uma seqncia que seja a soluo para o problema, mas em geral, aquela que possa ser
executada no menor intervalo de tempo.
Sob a tica de planejamento, pode-se dizer que entre os objetivos do Planejamento
Temporal no est somente minimizar o nmero de passos ou aes do mesmo, mas a
possibilidade encontrar uma seqncia de aes cujo tempo de durao seja mnimo,
podendo esta ser obtida ou no.
Segundo Garrido em [53], estruturalmente a seqncia de procedimentos no Planejamento Temporal representada na gura 4.1.

Figura 4.1: Modelo Estrutural de um Planejador Temporal

Analisando a gura 4.1, observa-se que a partir do momento que se tem denido o
domnio do problema, aplica-se uma linguagem de modelagem, de acordo com a mtrica
42

Captulo 4. Planejamento Temporal


adotada pelo planejador e que ser usado na seqncia da soluo do problema. Feita
esta modelagem, efetua-se uma anlise das restries inerentes ao problema. Aps
denidas as restries do problema, executa-se o domnio em um planejador que contemple o tratamento de argumentos temporais. Nessa etapa, alguns planejadores fazem
uso de funes heursticas para selecionar as aes que iro gerar o plano temporal.
A seguir sero abordados alguns planejadores e suas principais caractersticas.

4.2.1 Planejador TGP


Na literatura sobre planejadores temporais observa-se que vasto o nmero de planejadores que foram propostos buscando tratar esta extenso do planejamento clssico.
Um dos primeiros planejadores que buscou efetuar o tratamento de caractersticas temporais foi o TGP (Temporal Graphplan [52]).
TGP foi desenvolvido na Universidade de Washington, sendo um dos primeiros
planejadores a propor com xito a insero de tempo nas aes em um planejador
derivado do Graphplan. TGP tem como base a construo simplicada de um grafo de
planejamento e um clculo rigoroso das relaes de excluso (mutex) existentes entre
aes com durao distinta. Das caractersticas relevantes de TGP, podemos destacar:

Generalizao do grafo de planos substituindo as camadas por intervalos temporais.

Incremento dos argumentos de excluso mtua em um grafo de plano temporal.


Quanto aos passos que TGP executa, primeiramente ele ir generalizar a representao do grafo de planos, para ento trabalhar o tempo, ou seja, o critrio para
encontrar o melhor plano a durao das aes.
No novo grafo as aes e proposies aparecem uma nica vez porm indicando a
data em que ocorrem. O mesmo ocorre com os mutex, porm a data registrada aquela

43

Captulo 4. Planejamento Temporal


em que o mutex desaparece. Devido ao fato de no armazenar "noop".

O plano

gerado por TGP registra um espao de busca reduzido, resultado da monotonicidade


apresentada.
Como conseqncia incluso de variveis temporais tm-se novas relaes de excluso. As novas relaes de excluso so classicadas em mutex eternos (emutex) e

mutex condicional (cmutex), representando as relaes de excluso que uma vez inclusas no grafo se faro presentes at que a expanso seja nalizada ou ainda relaes
de excluso que ao longo da expanso so eliminadas respectivamente.
Na segunda etapa, TGP faz o tratamento de aes com durao distinta, desfazendo
assim a simetria existente no grafo de planos do Graphplan e exigindo um clculo de
mutex mais minucioso.
Por fazer um tratamento completo e otimizado das aes envolvidas no problema e
por utilizar-se de um modelo conservativo TGP agrega maior preciso quando aplicado
a problemas reais.

4.2.2 Planejador LPGP


Dentre os planejadores que contemplam o tratamento de aes temporais h o planejador LPGP (Linear Programing Graphplan [22, 18]) surgido de uma das extenses da
linguagem PDDL, mais precisamente da PDDL2.1.
Comparado a outros planejadores temporais, por exemplo ao TGP (Temporal Graphplan), sua representao do tempo faz-se unicamente atravs das camadas de proposies.
Tal representao obtida atravs da diviso das aes instantneas e seu tempo de
durao, uma com condies e efeitos do incio da ao original e a outra com condies
e efeitos do m da ao.
2 No

Operation - Ao de manuteno que tem como objetivo manter em uma camada x as

proposies de uma camada x - 2. Como exemplo podemos imaginar uma ao cujo efeito a prpria
pr-condio.

44

Captulo 4. Planejamento Temporal


Buscando garantir as condies invariantes de uma ao, faz-se a incluso de um
novo tipo de ao. Esta nova ao ir agregar condies para que as mesmas se mantenham xas durante a execuo da ao inicial. A esse tipo de ao d-se o nome de

ao invariante.
As aes invariantes devero estar presentes entre os nveis de ao em que se executam, respectivamente:

Aes instantneas de incio;


Fim da ao original com durao.
Da mesma forma que TGP, o LPGP usa um grafo de planejamento compacto. No
entanto, LPGP faz uso das aes de noop para prolongar a presena das proposies, exceto para proposies que atuam como condies invariantes conduzidas explicitamente
por aes invariantes.
Em relao ao grafo, a nica mudana que ocorre no LPGP quando comparado ao
grafo gerado pelo TGP se d pela propagao das aes invariantes, uma vez que estas
aes no requerem tempo, no necessitando de clculo de mutex. Dessa forma se faz
a busca da seguinte maneira:

Toda vez que uma ao instantnea de m acontece, a ao que a originou nda;


Quando uma ao instantnea de incio acontece, a ao original tambm deve
acontecer.
Em LPGP faz-se necessrio a incluso de restries que estabeleam a distncia
temporal entre as camadas das aes de incio e de m, representando a durao de
ocorrncia dessa ao. Para fazer essa incluso de restrio o LPGP faz uso do mtodo
Simplex.

45

Captulo 4. Planejamento Temporal


Se analisado sob a tica de desvantagens, em relao ao TGP, o LPGP no garante
um plano de durao timo, pois minimiza o nmero de mudanas de estados do problema, o que pode no ser coincidente com o plano de durao mnima.
Por exemplo, se na soluo de um mesmo problema, uma das solues tiver muitas
aes curtas e outra tiver uma nica ao, porm, com durao longa, LPGP ir apresentar um plano com uma nica ao. Isto , LPGP ir apresentar como soluo um
plano que contenha a menor durao no universo do conjunto de planos que apresente
o menor nmero de passos.
Outro fator que acarreta desvantagens ao LPGP o fato de promover um aumento
do nmero de aes, uma vez que uma ao gera sempre duas aes instantneas e uma
terceira se esta contar com condicionais invariantes.

4.2.3 Planejador Sapa


Outro planejador que faz o tratamento de caractersticas temporais o SAPA (A
domain-independent Heuristic Metric Temporal Planner) [14]. SAPA baseado em
heurstica e foi proposto para suprir as limitaes temporais que no eram tratadas
pelo HSP.
SAPA faz uma extenso considervel do modelo de aes STRIPS. Tal extenso est
na possibilidade de medir a durao das aes, o consumo de recursos, assim como as
pr-condies e efeitos das aes poderam ocorrer em qualquer momento da execuo
das aes.
Outra caracterstica do SAPA que, a partir do momento em que os objetivos do
problema estiverem denidos, tem-se um prazo para que sejam encontrados (deadline

goals).
SAPA tambm rigoroso quanto ordem de execuo das aes, no permitindo
que duas aes que se utilizem do mesmo recurso sejam executadas simultaneamente.
Assim como TGP, SAPA faz a construo de um grafo de planos relaxado. Dessa
46

Captulo 4. Planejamento Temporal


forma, no se faz o clculo dos mutex, reduzindo ao mnimo o custo de construo do
grafo. Posteriormente, este grafo utilizado para construir um plano temporal relaxado
que atenda aos objetivos denidos [53].
Sabe-se que a utilizao de um plano relaxado atua como embazamento heurstico,
pois permite calcular as distncias dos objetivos e estados de busca.
O SAPA tambm fornece informaes referentes a mtricas relacionadas ao tempo
de durao de um plano, ao custo e ao tempo disponvel para o cumprimento do prazo
estipulado no objetivo. Tais informaes permitiro denir heursticas aceitveis e no
aceitveis.
Em termos de contribuio pode-se observar que o SAPA oferece alguns ganhos,
quando comparado ao TGP, pois o mesmo capaz de resolver problemas cuja complexidade maior e em menor tempo, bem como permite denir recursos mtricos. Porm,
TGP garante a otimalidade

de todos os planos encontrados, enquanto que o SAPA s

pode fazer isso quando a heurstica for aceitvel, ou seja, quando ocorre uma reduo
considervel em seus resultados.

4.2.4 Planejador TP4


Dentre os planejadores temporais que se utilizam de heurstica para encontrar solues
em problemas nos quais se faz necessria a anlise temporal est o TP4 (Heuristc
Planning With Time and Resources) [23].
TP4 foi desenvolvido na Universidade Simn Bolivar e faz uso do mesmo modelo
conservativo de aes do TGP, porm com recursos consumveis e renovveis. Sua
principal caracterstica a capacidade de administrar recursos, otimizando a durao
global do plano.
Outra caracterstica de TP4 o fato de modelar aes de manuteno, ou seja, um
recurso pode ser utilizado por um longo tempo, apenas informando que as aes de
3 Otimalidade:

palavra adaptada para a lngua portuguesa que expressa a condio de timo.

47

Captulo 4. Planejamento Temporal


manuteno (noop ) consomem recursos.
Em TP4 difcil encontrar um plano timo para problemas complexos, pois sua
aplicao se restringe a aes no conservativas4 , o que o torna um planejador limitado.
Ao analizar o TP4 pode-se observar que o mesmo apresenta um rendimento ligeiramente superior ao TGP e sua ecincia inferior ao SAPA, pois seus planos apresentam
qualidade inferior.

4.2.5 Planejador TPSYS


Outro planejador temporal que merece destaque na literatura sobre planejamento temporal o TPSYS (Temporal Planning System) [53, 3, 4].
TPSYS foi desenvolvido pela Universidade Politcnica de Valncia e surgiu da combinao das idias de Graphplan e TGP, ou seja, seu modelo vem do planejamento
clssico, porm, faz a incluso e administrao do tempo.
TPSYS, em sua primeira verso [3, 4], foi proposto prevendo soluo de problemas
para Modelos Conservativos, enquanto em sua segunda verso TPSYSv2 [53], prope-se
a solucionar problemas para Modelos no Conservativos.
De uma forma simplicada, pode-se dizer que planejadores de Modelos Conservativos
so aqueles que ao constatar um conito entre duas aes sucessivas, a segunda ao
dever esperar a primeira nalizar para que ento seja inicializada a sua execuo.
J em planejadores de Modelos no Conservativos, quando um conito entre aes
sucessivas detectado, faz-se necessrio o clculo do ponto onde ocorre o incio da
execuo da segunda ao. Se o conito vericado for do tipo pr-condio e efeito de
uma ao, pode-se efetuar o clculo do momento exato em que so necessrios e que so
produzidos. Com isso pode-se efetuar o clculo mais eciente em termos de conito,
isso faz com que se possa adiantar o momento inicial da execuo da segunda ao,
4 Diz-se

que um modelo no conservativo quando dada uma ao x com durao dur(x) R+ as

condies SCond(x), Inv(x) e ECond(x) so condies de incio, meio e m de x respectivamente.

48

Captulo 4. Planejamento Temporal


quando sua execuo no afetar o resultado da primeira.
TPSYS em suas duas verses utiliza-se para especicar um problema de planejamento de uma tupla Si , A, Sf , Dmax , sendo Si e Sf o estado inicial e nal respectivamente. A o conjunto de aes, com durao xa e positiva e Dmx a mxima durao do
plano sendo este opcional e no estritamente necessrio. A segunda verso do TPSYS
tambm agrega em sua estrutura o conceito de ao durativa.
Conforme j foi mencionado TPSYS faz a utilizao do modelo conservativo de
aes, ou seja, dada uma ao "x" a durao dur(x) R+ , as pre-condies Pre(x)
devem ser cumpridas, ou seja, devem estar presentes no incio da ao e manter-se at
o nal da mesma, exceto em Del(x) (sendo Del(x) efeitos negativos). J em TPSYSv2,
utiliza-se um modelo no conservativo de aes, ou seja, dada uma ao x com durao

dur(x) R+ , as condies SCond(x), Inv(x) e ECond(x) so condies de incio, meio


e m de x respectivamente.
Nos planejadores cuja aes apresentam durao faz-se necessria a anlise do
cumprimento das pr-condies, tanto para incio como para o trmino das aes (conforme pode ser observado no anexo A). Isto , para que uma ao acontea, se fazem
necessrias no apenas as condies para que ela se inicialize, mas sim que os recursos
necessrios para sua execuo estejam disponveis durante todo intervalo de tempo de
sua execuo, bem como para que esta se nalize.
Diante dessas caractersticas observa-se que para administrar tempo e recursos na
execuo das aes depara-se com situaes crticas quanto ao gerenciamento das garantias de incio e trmino de uma ao. O detalhamento dessas garantias podem ser
encontradas em [53].

49

Captulo 5
Planejamento Temporal Baseado em
Grafo de Planos e Redes de Petri
Temporais
Neste captulo so propostos dois mtodos de planejamento temporal. O primeiro
mtodo consiste em uma extenso do grafo de planos em que as camadas, ao invs de
corresponderem execuo do conjunto de aes que podem ser aplicadas ao conjunto
de proposies vlidas, so geradas a cada evento de incio ou trmino de execuo de
todas as aes aplicveis e sero rotuladas com a data do evento correspondente. O
segundo mtodo consiste tambm de uma extenso, mas da rede de planos, anexando
um rtulo temporal a cada transio que corresponde execuo de uma ao do plano.
Um mesmo problema exemplo de planejamento em inteligncia articial ser utilizado
para ilustrar os dois mtodos propostos.

50

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais

5.1 Uma Nova Proposta para a Insero de Tempo no


Grafo de Planos
O novo modelo de planejamento temporal aqui proposto tem como eixo central o planejador Graphplan original [6], mantendo as caractersticas estruturais j descritas na
seo 3.1, alm de incluir novas estruturas exigidas para a avaliao temporal. A linguagem de descrio utilizada para descrever o problema e o domnio ser a PDDL.
De forma semelhante ao Grafo de Planos, a execuo do mtodo consiste nas etapas
de incluso de uma nova camada de aes (referente ao incio ou concluso de aes em
uma mesma data, relativa ao incio do plano) e extrao de uma soluo, repetidamente
at que um plano seja encontrado ou que no exista soluo para o problema.

5.1.1 Grafo de Planos Temporal


Da mesma maneira que o Graphplan descrito na seo 3.1, o novo modelo composto
por dois tipos de ns: N Proposio e N Ao. Devido ao tratamento dos eventos
temporais no modelo, as aes sero subdivididas em Incio de Ao, Manuteno de

Ao e Finalizao de Ao. As aes de incio e nalizao estaro presentes nas


camadas que correspondem, respectivamente, s datas de incio e nalizao de uma
determinada ocorrncia da ao. As aes de manuteno da ao estaro presentes caso
existam camadas entre a data de incio e a data de nalizao da ao (correspondentes
a eventos de incio e nalizao de outras aes do plano).
Considere como exemplo o problema proposto por Weld em [57]. O problema consiste em preparar um jantar surpresa. Os objetivos so: embrulhar um presente,
preparar um jantar e remover o lixo. Para isso so consideradas quatro aes: cozinhar, embrulhar, carregar e triturar o lixo. A ao embrulhar, tem como pr-condio

silncio e sua execuo tem como efeito presente. A ao triturar o lixo, tem como
como efeito no ter lixo e no ter silncio. A ao carregar o lixo tambm tem como
51

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais
efeito no ter lixo e no ter mos limpas. A ao cozinhar requer mos limpas e ir
gerar o efeito jantar. O estado inicial denido por trs proposies: mos limpas, lixo
e silncio.
Para este problema, uma das possveis solues para o grafo de planos atemporal
representada pela gura 5.1. Conforme pode ser observado na gura, em um grafo
de planos de um domnio atemporal as aes so consideradas instantneas, ou seja, se
suas pr-condies forem atendidas, a ao executada, apresententando seus efeitos
imediatamente na camada seguinte.
0

at(lixo)

manut

at(lixo)

carregar

triturar

at(silencio)

manut

manut

cozinhar

at(lixo)

carregar

~at(lixo)

at(maoslimpas)

manut

manut

~at(lixo)

triturar

at(maoslimpas)

manut

at(maoslimpas)

~at(maoslimpas)

manut

~at(maoslimpas)

at(silencio)

manut

at(silencio)

~at(silencio)

manut

~at(silencio)

jantar

cozinhar

manut

jantar

embrulhar

embrulhar

presente

manut

presente

Figura 5.1: Grafo de Planos atemporal para o domnio do jantar, com uma das possveis
solues.

No modelo de Grafo de Planos a Eventos, que est sendo proposto, a construo


52

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais
do grafo, na sua estrutura geral, efetivada de maneira semelhante descrita na seo
3.2. Uma nova camada gerada para retratar a ocorrncia de um evento de incio ou
de trmino de ao e para caracterizar o intervalo (ou o conjunto deles) correspondente
durao da ao. A cada camada associado um rtulo que corresponde a data de
ocorrncia dos eventos nela contidos. Diferentes aes que se iniciam em uma mesma
data tero seus eventos de incio fazendo parte de uma mesma camada. O mesmo ocorre
com o trmino de vrias aes em uma mesma data.
A separao das aes em eventos de incio e trmino implica uma expanso adicional
do Grafo de Planos a Eventos. Uma vez que no Grafo de Planos tm-se camadas
intercaladas de aes e proposies, o trmino de uma ao em uma determinada data
pode gerar como efeito uma proposio que pr-condio de uma ao que pode ser
iniciada nessa mesma data. Ou seja, trs camadas, uma de nalizao de ao, outra de
proposio e uma terceira de incio de ao, todas com a mesma data. Para distinguir
temporalmente estas trs camadas utilizaremos a seguinte conveno: as camadas de
incio de aes tero como rtulo (data incio evento+ , as camadas de nalizao como

data nalizao evento ) e as camadas de proposies situadas entre as duas anteriores


como data do evento. As camadas correspondentes execuo das aes no precisam
ser rotuladas, pois correspondem ao intervalo temporal, aberto, entre as datas dos
eventos anterior e posterior.
importante tambm notar que as pr-condies cam vinculadas ao evento de
incio da ao, enquanto que os efeitos somente so gerados aps o evento de nalizao
da ao. Esta caracterstica da abordagem proposta permite que sejam consideradas as
especicaes mais recentes da linguagem PDDL, onde tambm podem ser especicados
efeitos de incio de ao, pr-condies de trmino de ao, assim como proposies que
devem se manter vlidas durante a execuo da ao.
Tomemos o mesmo problema proposto por [57], porm com os intervalos de execuo
para cada ao denidos temporalmente com:

53

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais

6 unidades de tempo para a ao cozinhar;


3 unidades de tempo para a ao carregar;
3 unidades de tempo para a ao triturar e
2 unidades de tempo para a ao embrulhar.
Para esses intervalos de tempo o Grafo de Planos a Eventos gerado o apresentado
na gura 5.2.

5.1.2 Expanso do Grafo Temporal


Comparando os dois grafos, atemporal (gura 5.1) e temporal (5.2), podemos observar
que a primeira ocorrncia da ao embrulhar ocupa apenas uma camada do grafo atemporal e trs camadas de aes no grafo a eventos. A primeira camada rotulada com
a data 0 e contm as proposies do estado inicial do problema. As aes que podem
ser aplicadas no estado inicial tm seus eventos de incio presentes na segunda camada,
rotulada com 0+ . Na terceira camada esto representadas as proposies mantidas vlidas e uma categoria nova de "proposies"que descrevem a execuo das aes. Quatro
aes foram iniciadas na segunda camada (0+ ). Destas, a primeira a ser nalizada

embrulhar, com durao de 2 unidades de tempo. Isto faz com que a quarta camada
seja rotulada com a data 2 ) e contenha o evento correspondente nalizao da ao

embrulhar. Como esta a nica ao nalizada nesta data, as demais aes que esto
em execuo so mantidas com eventos de "manuteno de ao". A quinta camada,
datada de [2] contm os efeitos da nalizao da ao embrulhar, ou seja, a proposio

presente aparece pela primeira vez no Grafo de Planos a Eventos duas unidades de
tempo aps o incio do plano. Esta j uma informao temporal quantitativa no
disponvel no grafo de planos, j que a primeira camada deste contm um conjunto
de aes com diferentes duraes, o que induz a considerar vlidas as proposies da
54

at(Silencio)

at(MaosLimpas)

at(lixo)

Ex_Carregar

~at(MaosLimpas)

solues.

55
Mat(Silencio) at(Silencio)

at(Silencio)

Mat(Silencio)

at(Presente)

F_Embrulhar

Ex_Embrulhar

I_Embrulhar

MEx_Triturar Ex_Triturar

MEx_Cozinhar Ex_Cozinhar

Ex_Triturar

Ex_Cozinhar

I_Triturar

I_Cozinhar

at(Presente)

Ex_Triturar

Mat(Silencio) at(Silencio)

I_Embrulhar Ex_Embrulhar

MEx_Triturar

Ex_Triturar

Ex_Cozinhar

I_Cozinhar

I_Triturar

Ex_Cozinhar

MEx_Cozinhar

Mat(Silencio)

M_Embrulhar

M_at(Presente)

F_Triturar

at(Silencio)

Ex_Embrulhar

at(Presente)

~at(Silencio)

MEx_Triturar Ex_Triturar

MEx_Cozinhar Ex_Cozinhar

MEx_Cozinhar Ex_Cozinhar

Mat(MaosLimpas)at(MaosLimpas)
Mat(MaosLimpas) at(MaosLimpas) Mat(MaosLimpas) at(MaosLimpas)

F_Carregar

~at(lixo)

MEx_Carregar Ex_Carregar

at(lixo)

at(MaosLimpas)

MEx_Carregar Ex_Carregar

I_Carregar

at(lixo)

Mat(lixo)

Mat(MaosLimpas)

at(lixo)

Mat(lixo)

+
2

MEx_Carregar Ex_Carregar

Mat(lixo)

Ex_Carregar

at(lixo)

I_Carregar

Mat(lixo)

~at(lixo)

Ex_Carregar

Ex_Carregar

at(lixo)

Ex_Triturar

Ex_Triturar

Ex_Cozinhar

Ex_Cozinhar

Ex_Cozinhar

Ex_Embrulhar

Mat(Silencio) at(Silencio)

I_Embrulhar

M_Embrulhar Ex_Embrulhar

M_at(Presente) at(Presente)

M~at(Silencio) ~at(Silencio)

MEx_Triturar

I_Cozinhar

MEx_Cozinhar

MEx_Cozinhar

Mat(MaosLimpas) at(MaosLimpas)

I_Triturar

M~at(MaosLimpas) ~at(MaosLimpas)

M~at(lixo)

I_Carregar

MEx_Carregar

Mat(lixo)

3+

at(lixo)

~at(lixo)

Ex_Triturar

Ex_Cozinhar

Ex_Cozinhar

Ex_Cozinhar

at(MaosLimpas)

Ex_Triturar

Mat(Silencio)

M_Embrulhar

F_Embrulhar

M_at(Presente)

at(Silencio)

Ex_Embrulhar

at(Presente)

M~at(Silencio) ~at(Silencio)

MEx_Triturar

MEx_Cozinhar

MEx_Cozinhar

MEx_Cozinhar

Mat(MaosLimpas)

MEx_Triturar

M~at(MaosLimpas) ~at(MaosLimpas)

M~at(lixo)

MEx_Carregar Ex_Carregar

MEx_Carregar Ex_Carregar

Mat(lixo)

~at(lixo)

Ex_Carregar

M~at(lixo)

MEx_Carregar

F_Carregar

MEx_Carregar

Mat(lixo)

~at(lixo)

Ex_Carregar

Ex_Triturar

Ex_Triturar

Ex_Cozinhar

Ex_Cozinhar

Ex_Cozinhar

MEx_Triturar

Ex_Triturar

Ex_Cozinhar

Ex_Cozinhar

Ex_Cozinhar

Ex_Cozinhar

Mat(Silencio) at(Silencio)

I_Cozinhar
Mat(Silencio)
at(Silencio)

Mat(Silencio)

M_Embrulhar Ex_Embrulhar

MEx_Triturar Ex_Triturar

MEx_Cozinhar Ex_Cozinhar

M_at(Presente) at(Presente)

I_Embrulhar Ex_Embrulhar

at(Silencio)

Ex_Embrulhar

Ex_Triturar

Ex_Cozinhar

at(Presente)

Ex_Triturar

M~at(Silencio) ~at(Silencio)

I_Triturar

MEx_Cozinhar Ex_Cozinhar

MEx_Cozinhar Ex_Cozinhar

MEx_Cozinhar Ex_Cozinhar

F_Embrulhar

M_Embrulhar

MEx_Triturar

MEx_Cozinhar

M_at(Presente)

M~at(Silencio) ~at(Silencio)

F_Triturar

MEx_Cozinhar

MEx_Cozinhar

MEx_Cozinhar

Ex_Embrulhar

Ex_Embrulhar

Ex_Triturar

Ex_Cozinhar

at(Presente)

Ex_Triturar

Mat(MaosLimpas) at(MaosLimpas) Mat(MaosLimpas)


at(MaosLimpas)

MEx_Triturar

M_Embrulhar

I_Embrulhar

I_Triturar

I_Cozinhar

M_at(Presente)

M~at(Silencio) ~at(Silencio)

MEx_Triturar

MEx_Cozinhar

MEx_Cozinhar

MEx_Cozinhar

Mat(MaosLimpas) at(MaosLimpas)

MEx_Triturar

~at(lixo)

Ex_Carregar

Ex_Carregar

M~at(MaosLimpas) ~at(MaosLimpas)

M~at(lixo)

MEx_Carregar

I_Carregar

MEx_Carregar Ex_Carregar

Ex_Carregar

at(lixo)

Mat(lixo)

+
5

at(lixo)

M~at(MaosLimpas) ~at(MaosLimpas) M~at(MaosLimpas) ~at(MaosLimpas)

M~at(lixo)

MEx_Carregar

Ex_Carregar

Ex_Carregar

I_Carregar

MEx_Carregar

at(lixo)

Mat(lixo)

+
4

~at(lixo)

Ex_Carregar

Ex_Carregar

at(lixo)

Mat(Silencio)

MEx_Cozinhar

M_Embrulhar

F_Embrulhar

MEx_Triturar

MEx_Cozinhar

M_at(Presente)

M~at(Silencio)

MEx_Triturar

MEx_Cozinhar

MEx_Cozinhar

F_Cozinhar

Mat(MaosLimpas)

F_Triturar

at(Silencio)

Ex_Cozinhar

Ex_Embrulhar

Ex_Triturar

Ex_Cozinhar

at(Presente)

~at(Silencio)

Ex_Triturar

Ex_Cozinhar

Ex_Cozinhar

at(jantar)

at(MaosLimpas)

M~at(MaosLimpas) ~at(MaosLimpas)

M~at(lixo)

F_Carregar

MEx_Carregar

MEx_Carregar

Mat(lixo)

~at(lixo)

Ex_Carregar

Ex_Carregar

Ex_Carregar

at(lixo)

M~at(lixo)

MEx_Carregar

MEx_Carregar

F_Carregar

Mat(lixo)

~at(lixo)

Ex_Carregar

Ex_Carregar

at(lixo)

M~at(lixo)

MEx_Carregar

MEx_Carregar

I_Carregar

Mat(lixo)

+
7

~at(lixo)

Ex_Carregar

Ex_Carregar

Ex_Carregar

at(lixo)

M~at(lixo)

MEx_Carregar

F_Carregar

MEx_Carregar

Mat(lixo)

Ex_Triturar

Ex_Triturar

Ex_Cozinhar

Ex_Cozinhar

at(jantar)

Ex_Cozinhar

at(Silencio)

Mat(Silencio)

Ex_Cozinhar

Ex_Embrulhar

Ex_Embrulhar

Ex_Triturar

Ex_Cozinhar

I_Cozinhar

MEx_Cozinhar

M_Embrulhar
M_Embrulhar

I_Embrulhar

MEx_Triturar

MEx_Cozinhar

M_at(Presente) at(Presente)

M~at(Silencio) ~at(Silencio)

MEx_Triturar

MEx_Cozinhar

MEx_Cozinhar

Mat(jantar)

Mat(MaosLimpas) at(MaosLimpas)

I_Triturar

Ex_Triturar

~at(Silencio)

Ex_Triturar

Ex_Cozinhar

Ex_Cozinhar

at(jantar)

Ex_Triturar

Ex_Cozinhar

Ex_Cozinhar

at(jantar)

Mat(Silencio) at(Silencio)

at(Silencio)
Mat(Silencio)

Ex_Cozinhar

Ex_Cozinhar

Ex_Embrulhar

Ex_Embrulhar

Ex_Triturar

Ex_Cozinhar

MEx_Cozinhar

MEx_Cozinhar

I_Embrulhar

M_Embrulhar

I_Triturar

MEx_Cozinhar

M_at(Presente) at(Presente)

M~at(Silencio) ~at(Silencio)

MEx_Triturar

MEx_Cozinhar

MEx_Cozinhar

Mat(jantar)

Ex_Cozinhar

Ex_Cozinhar

Ex_Embrulhar

Ex_Cozinhar

Ex_Triturar

MEx_Triturar

at(Silencio)

MEx_Cozinhar

MEx_Cozinhar

M_Embrulhar

F_Embrulhar

MEx_Triturar

MEx_Cozinhar

M_at(Presente)

M~at(Silencio)

F_Triturar

MEx_Cozinhar

F_Cozinhar

Mat(jantar)

Mat(MaosLimpas) at(MaosLimpas) Mat(MaosLimpas)

MEx_Triturar

MEx_Cozinhar

MEx_Cozinhar

F_Embrulhar

M_Embrulhar

F_Triturar

MEx_Cozinhar

M_at(Presente) at(Presente)

M~at(Silencio)

MEx_Triturar

MEx_Cozinhar

MEx_Cozinhar

Mat(jantar)

Mat(MaosLimpas) at(MaosLimpas)

MEx_Triturar

~at(MaosLimpas) M~at(MaosLimpas)
M~at(MaosLimpas) ~at(MaosLimpas) M~at(MaosLimpas) ~at(MaosLimpas) M~at(MaosLimpas)

M~at(lixo)

I_Carregar

MEx_Carregar

MEx_Carregar

Mat(lixo)

at(Silencio)

Ex_Cozinhar

Ex_Cozinhar

Ex_Embrulhar

Ex_Triturar

Ex_Cozinhar

at(Presente)

~at(Silencio)

Ex_Cozinhar

at(jantar)

at(MaosLimpas)

Ex_Triturar

~at(MaosLimpas)

~at(lixo)

Ex_Carregar

Ex_Carregar

at(lixo)

Ex_Triturar

Ex_Triturar

Ex_Cozinhar

Ex_Cozinhar

at(jantar)

at(Silencio)

MEx_Cozinhar

MEx_Cozinhar

M_Embrulhar

I_Embrulhar

MEx_Triturar

MEx_Cozinhar

M_at(Presente)

at(Silencio)

Ex_Cozinhar

Ex_Cozinhar

Ex_Embrulhar

Ex_Embrulhar

Ex_Triturar

Ex_Cozinhar

at(Presente)

M~at(Silencio) ~at(Silencio)

I_Triturar

MEx_Cozinhar

I_Cozinhar

Mat(jantar)

M~at(lixo)

F_Carregar

MEx_Carregar

MEx_Carregar

Mat(lixo)

at(Silencio)

MEx_Cozinhar

MEx_Cozinhar

F_Embrulhar

M_Embrulhar

MEx_Triturar

MEx_Cozinhar

M_at(Presente)

M~at(Silencio)

MEx_Triturar

F_Cozinhar

MEx_Cozinhar

Mat(jantar)

Mat(MaosLimpas)

F_Triturar

~at(MaosLimpas) M~at(MaosLimpas)

~at(lixo)

Ex_Carregar

Ex_Carregar

Ex_Carregar

at(lixo)

Mat(MaosLimpas) at(MaosLimpas)

MEx_Triturar

M~at(MaosLimpas)

M~at(lixo)

MEx_Carregar

I_Carregar

MEx_Carregar

Mat(lixo)

8+

at(Silencio)

Ex_Cozinhar

Ex_Cozinhar

Ex_Embrulhar

Ex_Triturar

Ex_Cozinhar

at(Presente)

~at(Silencio)

Ex_Triturar

Ex_Cozinhar

at(jantar)

at(MaosLimpas)

~at(MaosLimpas)

~at(lixo)

Ex_Carregar

Ex_Carregar

at(lixo)

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais

Figura 5.2: Grafo de Planos temporal para o domnio do jantar com uma das possveis

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais
camada dois somente ao trmino da ao com durao mais longa. Na camada seguinte
(a sexta, com rtulo temporal (2+ ), podemos reaplicar a ao embrulhar, uma vez que
suas pr-condies esto presentes. Ou seja, a segunda ocorrncia, no grafo de planos
a eventos, da ao embrulhar, tem seu incio sobreposto execuo de outras aes do
grafo. Como conseqncia, podemos obter planos que so menores que aqueles obtidos
com o grafo de planos atemporal, j que as aes podem ter seu incio antecipado.
A anlise de excluso mtua entre aes e proposies mantm-se da mesma forma
que no Grafo de Planos original. Ela realizada, entretanto, apenas nos eventos de
nalizao das aes, quando os efeitos de cada ao so gerados. Devem ser analisadas
as inconsistncias existentes entre cada evento de nalizao de ao e os eventos de
incio e de manuteno das demais aes. Mantm-se, como no Grafo de Planos, a
anlise de inconsistncia entre proposies e a propagao de inconsistncias. No Grafo
de Planos a Eventos da gura 5.2 foram apresentados apenas uma parte do conjunto
de excluses mtuas do problema, somente para ilustrar sua aplicao e tornar legvel
o grafo.

5.1.3 Extrao da soluo do Grafo de Planos Temporal


Da mesma maneira que no grafo de planos original a expanso feita at que todos os
literais denidos como estado meta estejam presentes na ltima camada. O processo de
busca de soluo segue o mesmo processo denido para o Grafo de Planos original. Caso
seja encontrada uma soluo, basta percorrer o grafo, da primeira ltima camada,
relacionando as aes nele presentes e suas datas de incio e trmino, que correspondem
ao rtulo da camada da qual fazem parte os eventos correspondentes.
O critrio de parada na gerao de novas camadas, quando o problema no possui
soluo, mais complexo que o existente para o grafo de planos original. Isto se deve
existncia de aes sobrepostas, o que diculta a denio de camadas de aes independentes. A soluo proposta consiste em identicar, no Grafo de Planos a Eventos, as
56

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais
camadas de proposies existentes no Grafo de Planos original, que quando comparadas
permitem decidir sobre a no existncia de soluo para o problema.
A primeira camada comum a ambos os grafos, temporal e atemporal. Todas as
aes iniciadas na segunda camada do grafo de planos a eventos correspondem s aes
da segunda camada do grafo de planos original. A camada com data correspondente
a maior durao entre as aes iniciadas contm as proposies equivalentes terceira
camada do grafo atemporal. O conjunto de aes iniciadas na camada seguinte, a partir
das proposies equivalentes, ser o mesmo do grafo de planos atemporal e a camada
em que todas estaro concludas ser a nova camada de proposies a ser utilizada na
deciso sobre a no existncia de soluo.
Para exemplicar, tomemos o grafo da gura 5.2. Aplicando-se o mesmo processo
de extrao do Grafo de Planos original obtm-se o conjunto de aes da soluo em
destaque nesta mesma gura. Este conjunto apresentado de forma simplicada na
gura 5.3, que consiste basicamente na seleo das aes do plano com suas datas de
incio e nalizao.
0

Cozinhar

Carregar

Embrulhar

Figura 5.3: Possvel Soluo do Grafo de Planos a Eventos para o Domnio do Jantar.

57

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais

5.2 Petriplan Temporal


O planejador Petriplan, apresentado na seo 3.5, consiste na traduo do Grafo de
Planos em uma rede de Petri acclica. A busca da soluo efetuada utilizando-se de
mtodos de alcanabilidade existentes para as rede de Petri ou a partir da equao
fundamental das redes de Petri resolvendo-se um problema de programao inteira.
Aplicando-se o algoritmo Petriplan, o problema do jantar descrito na seo 5.1
retorna a seguinte RdP:
at(lixo)

at(lixo)

manut.

~at(lixo)

at(maoslimpas)

~at(maoslimpas)

at(silencio)

manut.

manut.

~at(lixo)

triturar

triturar

manut.

at(lixo)

carregar

carregar

at(maoslimpas)

manut.

at(silencio)

~at(silencio)

manut.

manut.

manut.

manut.

at(maoslimpas)

~at(maoslimpas)

at(silencio)

~at(silencio)

cozinhar

cozinhar

at(jantar)

manut.

at(jantar)

embrulhar

embrulhar

at(presente)

manut.

at(presente)

Figura 5.4: Rede de Petri gerada pelo Petriplan em sua primeira verso para o problema
do jantar.

Uma primeira abordagem para extender o mtodo Petriplan para planejamento


temporal consiste em adotar uma extenso de redes de Petri que seja capaz de associar
58

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais
s transies um intervalo de tempo correspondente durao da ao. O modelo
de Redes de Petri T-temporizadas [47] bastante suciente para as necessidades do
planejamento temporal. Desta forma, basta associar a durao do disparo das transies
sub-rede correspondente soluo obtida e efetuar a anlise temporal.
Para a rede da gura 5.4, temos o seguinte plano soluo:
3

at(lixo)

Man

Man

Man

Carregar

~at(lixo)

at(MaosLimpas)

at(silencio)

Man

at(silencio)

Cozinhar

Jantar

Man
2

Jantar

Embrulhar

Presente

Figura 5.5: Marcao Final da Rede de Petri gerada pelo Petriplan em sua primeira
verso para o problema do jantar.

Note que a Rede de Petri gerada para o problema do jantar pelo Petriplan original,
obtm a marcao nal para o problema do jantar conforme descreve a gura 5.5. Associando a essa marcao, as mesmas duraes das aes utilizadas no exemplo anterior,
59

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais
obtm-se uma rede com custo temporal equivalente ao Grafo de Planos a Eventos, ou
seja, 9 unidades de tempo.

5.3 Rede de Planos Temporal


A Rede de Planos [51] uma nova abordagem para o algoritmo Petriplan, onde a Rede
de Petri associada ao problema de planejamento no mais obtida a partir do grafo
de planos, mas diretamente da descrio do problema em PDDL. A Rede de Planos
consiste de transies que representam aes, de lugares que representam proposies
e de uma estrutura de controle que trata as inconsistncias entre as aes. tambm
uma Rede de Petri acclica, tal como a abordagem Petriplan, o que implica que as
diferentes instncias de aes e proposies so copiadas, evitanto ciclos na rede.
O mesmo problema do jantar proposto na seo 5.1 representado em uma rede de
planos conforme mostrado nas guras a seguir. O estado inicial da rede de planos
denido por at(moslimpas), at(lixo) e at(silncio), mostrado na gura 5.6.

lini
tini

at(maoslimpas)

at(lixo)

at(silencio)

Figura 5.6: Estado inicial para o problema do jantar, gerado pela Rede de Planos.

Na fase seguinte, com a incluso das aes, seus efeitos e da estrutura de controle,
60

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais
obtm-se a Rede de Planos da gura 5.7.
lini

tini

at(maoslimpas)

at(lixo)

at(silencio)

triturar

~triturar

carregar

~carregar

cozinhar

Pcarregar

Ptriturar

~cozinhar

Pcozinhar

embrulhar

~embrulhar

Pembrulhar

o
triturar

~triturar

carregar

~carregar

cozinhar

~cozinhar

embrulhar

~embrulhar

F
jantar

~at(lixo)

presente

Figura 5.7: Rede de planos aps incluso da segunda camada para o problema do jantar.

61

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais
importante notar que com a incluso desta nova camada esto presentes na rede
as proposies referentes ao objetivo proposto inicialmente para o problema e que qualquer algoritmo de alcanabilidade capaz de identicar uma seqncia de disparos de
transies que leva do estado inicial ao estado meta.
Para a Rede de Planos representada na gura 5.7, uma das possveis sub-rede que
nos leva ao estado objetivo representada pela gura 5.8.

cozinhar

embrulhar

carregar

jantar

~lixo

presente

Figura 5.8: Sub-Rede obtida pela Rede de Planos para o problema do jantar.

Note que para alcanar o estado meta para esta sub-rede representada na gura 5.8,
efetua-se:

primeiramente, executado o disparo de cozinhar e embrulhar ;


62

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais

o disparo de cozinhar e embrulhar nos permite obter imediatamente as sub-metas


jantar e presente, bem como sensibiliza a transio carregar ;

pelo disparo de carregar obtm-se a sub-meta lixo ;


Logo uma das possveis sub-rede extrada para a Rede de Planos deste problema nos
retorna a soluo para o problema do jantar a partir da seguinte seqncia de disparo:

S1 = cozinhar//embrulhar
S2 = carregar
Observe que para este mesmo problema, utilizando o grafo de planos original, se
fazem necessrios no mnimo duas expanses para se alcanar o estado meta e apenas
uma no caso da Rede de Planos.

5.3.1 Representao do Tempo na Rede Obtida


A mesma estratgia utilizada para incluir uma especicao temporal no Petriplan
pode ser utilizada para a Rede de Planos. suciente associar a cada transio que
representa aes do plano um valor que representa sua durao.
Gracamente a representao temporal feita sobre a rede obtida atravs do grafo de
planos feita da seguinte maneira:
Na gura 5.9, fez-se a especicao temporal, utilizando-se a mesma estratgia aplicada no Petriplan, e obtm-se a sub-rede T-temporizada representada na gura 5.10:
Aplicando os mesmos tempos para as aes utilizados na seo 5.1, e utilizando os
mtodos de anlise de RdP, propostos por Ramchandani em [47], sobre a seqncia de
disparo descrita na sub-rede apresentada na seo 5.3, obtemos uma soluo para o
problema do jantar em 9 unidades de tempo.

63

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais
lini

tini

at(maoslimpas)

at(lixo)

at(silencio)

[3]
triturar

[3]
carregar

~triturar

[6]
coznhar

~carregar

Pcarregar

Ptriturar

~cozinhar

Pcozinhar

[2]
embrulhar

~embrulhar

Pembrulhar

o
triturar

~triturar

carregar

~carregar

cozinhar

~cozinhar

embrulhar

~embrulhar

F
jantar

~at(lixo)

presente

Figura 5.9: Rede de Petri sobre o resultado da Rede de Planos.

64

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais

cozinhar

[6]

embrulhar

[3]

[2]
carregar

jantar

~lixo

presente

Figura 5.10: Sub-Rede temporizada obtida pela Rede de Planos para o problema do
jantar.

5.4 Comparao entre os Mtodos Propostos


Para o exemplo apresentado, todos os mtodos apresentaram o mesmo resultado temporal. Isto no deve ser entendido como uma equivalncia entre os mtodos. Basta
alterarmos os tempos associados s aes que passaremos a obter resultados distintos
daqueles aqui apresentados, com um custo computacional diferente para cada mtodo.
Como exemplo, assumamos que as aes cozinhar e embrulhar tenham uma durao
de 6 unidades de tempo e a ao carregar dure 1 unidade de tempo. O Grafo de
Planos atemporal obtm um plano que executa a ao cozinhar seguida da execuo
65

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais
simultnea das aes carregar e embrulhar. Este plano tem, portanto, uma durao de
12 unidades de tempo. Para o clculo de durao bastou aplicarmos as novas duraes
ao plano j existente, que construdo independentemente dos dados temporais. At
mesmo porque o objetivo do Grafo de Planos obter um plano qualquer que minimize
o tamanho do plano em termos do nmero de camadas, o que no obrigatoriamente
implica o melhor plano em termos temporais quantitativos.
No caso do Grafo de Planos a Eventos, seria necessrio reconstruir o grafo para os
novos valores de durao, uma vez que as datas dos eventos sero alteradas. Entretanto,
o novo plano obtido apresenta a execuo simultnea das aes cozinhar e embrulhar,
seguidas da execuo da ao carregar. Este plano tem uma durao de 7 unidades
de tempo, conforme pode ser observado na gura 5.11, e corresponde a um plano que
minimiza sua durao. Este resultado obtido diretamente das caractersticas do Grafo
de Planos a Eventos, que associa a cada camada uma data relativa ao incio do plano.
Como o Grafo de Planos original minimiza o nmero de camadas, o Grafo de Planos
a Eventos apresentar inevitavelmente um plano que tem a menor durao entre os
planos possveis.
0

Cozinhar

Embrulhar

Carregar

Figura 5.11: Possvel Soluo do Grafo de Planos a Eventos para o Domnio do Jantar
com os Novos Tempos.

Com relao aos mtodos baseados em Redes de Petri temos restries semelhantes.
66

Captulo 5. Planejamento Temporal Baseado em Grafo de Planos e Redes de Petri


Temporais
Como o algoritmo Petriplan constri uma Rede de Petri equivalente ao Grafo de Planos,
sem consideraes temporais explcitas, a rede obtida pode no expressar de forma
correta a concorrncia entre as aes, o que implica a obteno de resultados temporais
no satisfatrios.
A Rede de Planos, por outro lado, construda diretamente a partir da descrio
do problema e capaz de identicar de forma abrangente o conjunto de inconsistncias
entre a aes. A relao de ordem entre as aes permite que apenas a anlise temporal
seja refeita para novas duraes, sem a necessidade de reconstruir a Rede de Planos. No
exemplo em questo, a Rede de Planos do problema do jantar com as novas duraes
apresenta um plano cuja durao de 7 unidades de tempo.

67

Captulo 6
Concluso
Este trabalho investigou o planejamento temporal em inteligncia articial. Para tanto,
foram apresentados os principais conceitos relacionados com o tema de planejamento
e as principais abordagens existentes para resolver problemas a ele relacionados. A
abordagem baseada no Grafo de Planos foi estudada com maior profundidade. Tambm
foram apresentadas as diferentes linguagens de descrio de problemas e sua evoluo
recente, sobretudo na especicao de restries temporais relativas durao de aes
na construo de planos.
Entre os mtodos derivados do Grafo de Planos foi estudado com maior ateno o
mtodo Petriplan, proposto pela equipe de pesquisa que envolve o LSIP (Laboratrio
de Sistemas Inteligentes de Produo) do CPGEI/CEFET-PR e o LIC (Laboratrio de
Inteligncia Computacional) do Departamento de Informtica da UFPR. Para tanto,
foram estudadas as Redes de Petri, assim como suas extenses temporais.
O desenvolvimento do trabalho resultou na proposta de duas abordagens para a
questo temporal em planejamento em inteligncia articial. A primeira baseada apenas
no Grafo de Planos e a segunda na Rede de Planos, uma evoluo do Petriplan, tambm
desenvolvida na equipe de pesquisa. Ambas as propostas geram planos temporalmente
robustos, isto , que minimizam sua durao total. A primeira com elevado custo
68

Captulo 6. Concluso
computacional, pois implica gerar em camadas no Grafo de Planos a Eventos para
cada data em que ocorre incio ou trmino de aes. Qualquer modicao nos dados
temporais implica gerar um novo grafo. Uma vantagem inerente a este mtodo est
em utilizar grande parte das solues j existentes para o Grafo de Planos, como os
algoritmos de elevado desempenho para o processo de busca. Outra vantagem est na
possibilidade de se denir como objetivo uma durao mxima para o plano. Caso
seja alcanada uma camada com tempo superior ao mximo denido, pode-se armar
a impossibilidade de soluo dentro do objetivo xado.
A grande vantagem da segunda abordagem est na capacidade da Rede de Planos
de representar, de forma mais completa e correta, que as demais abordagens j desenvolvidas, as diferentes relaes de ordem existentes entre as aes que compem os
planos que resolvem o problema de planejamento. Desta forma, a incluso do tempo ou
a modicao dos dados temporais associados s aes pode ser efetuada diretamente
sobre a rede, sem custo computacional adicional.
Ambas as abordagens propostas podem facilmente ser extendidas para atender s
novas especicaes temporais da linguagem PDDL, tais como efeitos de incio, prcondies para trmino e efeitos que permanecem vlidos somente durante a execuo
das aes.
Como trabalhos futuros, indicamos:

Implementao dos mtodos propostos e integrao na plantaforma IPE [37];

69

Bibliograa
[1] Wolfman S. A. and Weld D. S. The lpsat engine & its application to resource
planning. IJCAI, 1999.
[2] Y. Sun A. Barret, J. Penberthy and D. Weld. UCPOP v4.0 user's manual. Informe
Tcnico TR 93-09-06d, Dep. of Computer Science and Engineering, University of
Washington, Seattle, WA., 1996.
[3] E. Onainda A. Garrido and F. Barber. A temporal planning system for timeoptimal planning. In 10th Portuguese Conference on AI (EPIA-2001), pages 379
392, Springer-Verlang, 2001.
[4] M. Fox A. Garrido and D. Long. A temporal planning system to manege level 3
durative actions of pddl2.1. In En Proc. 20th UK Planning and Scheduling SIG

Workshop, pages 127138, 2001.


[5] M. Fox A. Garrido and D. Long. A temporal planning system for durative actions
of pddl2.1. In Proc. European Conference on AI (ECAI-2002), pages 586590,
Amsterdam, 2002.
[6] C. Anderson, D. E. Smith, and D. Weld. Conditional eects in graphplan. In Proc.

of AIPS98, 1998.
[7] Y.Dimopoulos B. Nebel and J.Kehler. Ignoring irrelevant facts and operators in
plan generation. Proc. European Conference on Planning, pages 338350, 1997.
70

Bibliograa
[8] A. Blum and M. Furst. Fast planning through planning graph analysis. In Pro-

ceedings of IJCAI-95, pages 16361642, Montreal, August 1995.


[9] A. Blum and M. Furst. Fast planning through planning graph analysis. Journal

of Articial Intelligence, 90(1-2):281300, 1997.


[10] B. Bonet and H. Gener. Hsp: Planning as heuristic search. Entry at the AIPS-98

Planning Competition, 1998.


[11] B. Bonet and H. Gener. Planning as heuristic search. Articial Intelligence, pages
533, 2001.
[12] J. Cardoso and R. Valette. Redes de Petri. Editora da UFSC, 1997.
[13] J. Franck D. E. Smith and A.K. Jonsson. Bridging the gap between planning and
scheduling. Knowledge Engineering Reviw, 15(1), 2000.
[14] M. B. Do and S. Kambhampati. Sapa: A domain-independent heuristic metric
temporal planner. Proc. European Conference on Planning ECP-2001, 2001.
[15] M. A. Castilho F. Silva and L. A. Kunzle. Petriplan: a new algorithm for plan
generation (preliminary report). Lecture Notes in Articial Intelligence, 1952:86
95, 2000. International Joint Conference IBERAMIA'2000 - SBIA'2000.
[16] R. Fikes and N. Nilsson. Strips: A new approach to the application of theorem
proving to problem solving. Journal of Articial Intelligence, pages 34, 1971.
[17] E. Fink and M. Veloso. Prodigy Planning Algorithm. Informe Tcnico CMU-94-123,
Carnegie Mellon University, 1994.
[18] M. Fox and D. Long. Fast temporal planning in a graphplan framework. Proc.

Workshop on Planning for Temporal Domains (AIPS-2002), 2002.

71

Bibliograa
[19] M. Fox and D. Long. Pddl2.1: An extension pddl for expressing temporal planning
domains. 2003.
[20] A. Gerevini and I. Serina. Lpg: A planner bad on local search for planning graphs
with action costs. En Proc. 6th Int. Conference on AI Planning and Scheduling

(AIPS-2002), pages 281290, 2002. AAAI Press.


[21] Y.Dimopoulos H. Kautz, B. N. Selman and J.Kehler. Pushing the envelope:
Planning, propositional logic, and stochastic search. In Proceedings of the AAAI-

96, Portland, OR, 1996.


[22] K. Halsey. Literature survey. a review of temporal planning. Informe tcnico, 2002.
[23] P. Haslum and H. Gener. Heuristc planning with time and resources. Proc.

Euporean Conference on Planning (ECP-2001), pages 121132, 2001.


[24] J. Homann. The Metric-FF planning system: Translating ignoring delete lists
to numeric state variables. Journal of Articial Intelligence Research, 20, 2003.
[25] J. Homann and B. Nebel. The  planning system: Fast plan generation through
heurisc search. Jornal of Articial Inteliggence Research, pages 253302, 2001.
[26] J. Hendler J. Allen and A. Tate. Readings in planning. Morgan Kaufmann, 1990.
[27] J. Homann J. Koehler, B. Nebel and Y. Dimopoulos. Extending planning graphs
to an adl subset. Technical report, ICS - University of Freiburg, 1997. TR 88.
[28] B.Nebel J. Kehler and Y.Dimopoulos. Extending planning graphs to an adl subset.

Lexture Notes in Articial Intelligence (1348, pages 273285, 1997.


[29] J.Penberthy and D.Weld. Temporal planning with continuous change. Proc 12th

Nat. Conference on Articial Intelligence (AAAI-94, pages 10101015.

72

Bibliograa
[30] H. Kautz and B.Selman. Blockbox: A new approach to the aplicacation of theorem
proving to problem solving. En Proc. Workshop on Planning as Combinatorial

Search, 1998.
[31] H. Kautz and B. Selman. Planning as satisability. Proc. 10th Eur. Conf. AI,
pages 359363, 1992.
[32] H. Kautz and B. Selman. ushing the envelope: Planning, propositional logic, and
stochastic search. Proceedings of the Thirteenth National Conference on Articial

Intelligence (AAAI-96), pages 11941201, 1996.


[33] H. Kautz and B. Selman. The role of domain-specic knowledge in the planning as
satisability framework. Proceedings of the 4th Int. Conf. on Articial Intelligence

Planning Systems (AIPS-98), 1998.


[34] H. Kautz and J.P. Walser. State-space planning by integer optimization. In Pro-

ceedings Fifteenth National Conference on Articial Intelligence (AAAI-99), pages


526533, Menlo Park, CA, 1999. AAAI Press.
[35] E. Lecheta. Algoritmos genticos para planejamento em inteligncia articial. Master's thesis, Universidade Federal do Paran, Curitiba PR Brasil, fevereiro 2004.
[36] D. Long and M. Fox. Ecient implementation of the plan graph in STAN. Journal

of Articial Intelligence Research - JAIR, 10:87115, 1999.


[37] J. E. Marynoswki. Ipe: Ambiente para estudo de planejadores. Master's thesis,
Dinf-UFPR, 2004.
[38] J. McCarthy and J. Hayes. Some philosophical problems from the standpoint of
articial intelligent. Machine Intelligence, pages 463502, 1969.
[39] D. McDermott, editor. AIPS-98 Planning Competition Results, 1998.

73

Bibliograa
[40] D. McDermott. Pddl - the planning domain denition language. AIPS-98 - Plan-

ning Competition Comittee, 1998.


[41] P. Merlin. A Study of Recoverability of Computer Systems. PhD thesis, University
of California IRVINE, Computer Science, 1974.
[42] T. Murata. Petri nets: Properties, analysis and applications. Proceedings of the

IEEE, 77(4):541580, Abril 1989.


[43] M. Nidd. Time extensions of petri nets. 1994.
[44] E. P. D. Pednault. Adl: Exploring the middle ground between strips and the
situation calculus. In Proceedings of Knowledge Representation Conf., 1989.
[45] J. Penberthy and D. Weld. UCPOP: A sound, complete, partial-order planner
for adl. In Proceedings of the Third International Conference on Principles of

Knowledge Representation and Reasoning, 1992.


[46] C. A. Petri. Kommunikation mit Automaten. PhD thesis, Institut r Instrumentelle Mathematik, 1962. English translation available as Communication with
Automata, Tech. Rep. RADC-TR-65-377, Vol. 1, Suppl. 1, Applied Data Research,
Princeton, NJ, 1966.
[47] C. Ramchandani. Analysis of Asynchronous Concurrent Systems by Timed Petri

Nets. PhD thesis, Cambridge, Mass: MIT, Dep. Electrical Enginnering, 1974.
[48] V. Schastai. Mtodos de anlise para redes de petri temporais. Master's thesis,
Centro Federal de Educao Tcnolgica do Paran, 2002.
[49] V. Schastai and L. A. Knzle. Anlise de redes de petri temporais combinando
grafo de classes e processos. Congresso Brasileiro de Automtica, 2-5 setembro
2002.

74

Bibliograa
[50] F. Silva. Algoritmos para planejamento baseada em strips. Master's thesis, Universidade Federal do Paran, 2000.
[51] F. Silva. Rede de Planos: Uma Proposta para a Soluo de Problemas de Plane-

jamento em Inteligncia Articial Usando Redes de Petri. PhD thesis, Centro


Federal de Educao Tcnolgica do Paran - CEFET/PR, 2005.
[52] D. E. Smith and D. S. Weld. Temporal planning with mutual exclusion reasoning.

En Proc 16th Int.Joint Conference on AI (IJCAI-99, pages 326337, 1999.


[53] A.Garrido T. Planicacion Temporal Independent del Dominio. Una Aproximacin

Basada em Grafos de Planicacion. PhD thesis, Universidade Politcnica de Valencia, 2003.


[54] A. Lotem T. Vossen, M. Ball and D. Nau. On the use of integer programming
models in ai planning. In Proceedings of the IJCAI 99, pages 304309, 1999.
[55] E. A. Lima V. Schastai and L. A. Kunzle. Sequence analyses for time petri nets.

Workshop on Discrete Event Systems - WODES/2004, 2004.


[56] A. Weld and D. E. Smith. Extending graphplan to handle uncertainty and sensing
actions. En Proc. AAAI-98, pages 897904, 1998.
[57] D. Weld. Recent advances in ai planning. AI Magazine, 1999.
[58] D. Wilkins. Practical planning: Extending the classical ai planning paradigm.

Morgan Kaufmann, 1988.

75

Apndice A
PDDL2.1 E A DESCRIO
TEMPORAL
Conforme mencionado na seo 4.1 a PDDL+ foi dividida em 5 nveis, sendo o nvel 3
objeto desse trabalho, este apndice destina-se ao detalhamento desse nvel.

PDDL 2.1 Nvel 3 - Aes com Durao Discreta


Decorrente da insero de novas informaes nos domnios com capacidade de tratamento sobre as variveis temporais uma nova sintaxe se faz necessria no nvel 3, a
seguinte sintaxe denida:

(:durative-action

<NameOfAction>

:parameters

<ListOfArgumentsWithTypes>

:duration

<LogicalExprOnDurationVariable>

:condition

<LogicalExpr>

:effect

<LogicalExpr>

)
Onde cada nova varivel tem a seguinte nalidade:
76

Apndice A. PDDL2.1 E A DESCRIO TEMPORAL

<NameOfAction> - Listar as aes com durao;


<ListOfArgumentsWithTypes> - Listar as declaraes de variveis juntamente
com os tipos;

<LogicalExprOnDurationVariable> - Listar as combinaes, proposies e restries temporais na durao de uma ao, onde a restrio numrica pode ser
uma desigualdade;

<LogicalExpr> - Lista de combinaes de proposies e uentes das restries.


A construo de modelos de relacionamento temporal feita detalhando condies
e efeitos onde os comentrios temporais podem ser at start, over all ou at end. Uma
restrio temporal pode ser registrada em at star ou em at end.
Semanticamente uma condicional e um efeito, includos em at star, correspondem a
uma ao instantnea, que ocorre no momento de inicializao da ao com durao.
Uma condicional, includa em over all, corresponde a uma invariante que exigida para
garantir a execuo da ao no tempo de sua execuo, porm no em situaes de
inicializao ou nalizao. Condicionais e efeitos includos em at end corresponde a
uma ao instantnea que no momento da nalizao de uma ao com durao.
A seguir descreve-se um pequeno fragmento do domnio de logstica apresentadao na
seo 3.8.2, porm, incluindo variveis temporais. O objetivo apresentar o momento
em que ocorre a insero do tempo no PDDL. O fragmento descreve a ao Drive-Truck.

(:durative-action drive
:parameters (pk1 ?pk2-obj ?t-truck ?loc ?loc-loc)
:duration (= ?duration (driving-time ?loc1 ?loc2})

(0)

:condition (and (at start (at ?obj ?loc1))


(at start (at ?truck ?loc1))

(1)

(over all (parked ?truck ?loc))

(2)

77

Apndice A. PDDL2.1 E A DESCRIO TEMPORAL

(over all (life drive-time ?truck))


(at end (t ?loc2))

(03)

)
:effect (and
(at start (not (at ?t ?loc1)))

(4)

(at start (not (parked ?t ?loc1)))


(at start (not (at ?t ?loc1)))
(at start (not (at ?pk1 ?loc1)))
(at start (life drive-time ?t))
(at end (at ?t ?loc2))

(5)

(at end (at ?pk1 ?loc2))


(at end (not (live drive-time ?t)))
(at end (not (parked ?t ?loc1)))
(* (live drive-time ?loc1 ?loc2))

(6)

)
)
No fragmento do domnio adicionada uma identio numrica s linhas, objetivando descrever a notao utilizada no domnio.

(0), uma restrio temporal: garante que o tempo de deslocamento entre duas
localidades nunca seja superior ao estipulado pelo agente, uma pr-condio
para que (6) seja atualizada. Permite que esta ao seja concorrente com todas
as aes que afetam o deslocamento do caminho durante a execuo da ao;

(1) e (4), so as condies e os efeitos;


(2), so os invariantes de intervalo;

78

Apndice A. PDDL2.1 E A DESCRIO TEMPORAL

(3) (4) e (6), so os efeitos gerados pela ao executada, bem como o tempo
decorrido na execuo da ao.
Conforme j mencionado anteriormente, a extenso de PDDL2.1 nvel 3 tem como
objetivo principal a avaliao de caractersticas temporais dos domnios, bem como
avaliao de planos concorrentes. A representao da concorrncia entre aes gera
um modelo mais preciso das transies de estados no decorrer da execuo das aes.
Em conseqncia, novas relaes de excluso so geradas, uma nova nomeclatura
inserida, novos efeitos so obtidos e novas precondies so exigidas, tornando assim,
PDDL2.1 nvel 3, mais complexo em termos de anlise, porm, mais preciso em termos
de resultados obtidos [19, 53].
Por tratar-se de aes com durao, primeiramente deve-se apresentar a denio
de Ao Durativa conforme [19, 5, 53].

Denio A.1 Ao com Durao: Em PDDL2.1, uma ao a, com durao, se


dene como uma tupla

SCond, Inv, Econd, SEf f, EEf f, dur , sendo SCond, Inv

e Econd os conjuntos de condies de incio, intervalo de execuo e nalizao da


ao a, respectivamente. O conjunto SEf f = {Sadd

Sdel}, representa os efeitos que

sero gerados no incio de a ,sendo Sadd e Sdel so efeitos positivos e efeitos negativos,
respectivamente. Enquanto, EE = { Eadd

Edel } representa os efeitos que sero

adicionados ao a, ao nal de sua execuo, sendo Eadd e Edel efeitos positivos


e negativos respectivamente. Para nalizar dur
execuo de a, dur

, que representa a durao da

reais positivos.

A partir da denio de durao de uma ao, pode-se observar que no nvel 3


de PDDL2.1 passa a no ter que analisar apenas condies de incio para que uma
ao ocorra, mas sim, a existncia de recursos no seu intervalo de execuo, bem como
condies de nalizao da mesma. Como conseqncia dessas aes, tem-se novos
efeitos, sendo que estes efeitos podem se apresentar, tanto no incio de uma ao,
quanto durante sua execuo e sua nalizao.
79

Apndice A. PDDL2.1 E A DESCRIO TEMPORAL


Outra particularidade que pode-se notar que, as condies invariantes Inv, no
precisam necessariamente estarem presentes para que a ao a se inicie, ou seja, as
condies podem ser geradas concorrentemente execuo de a, uma vez que estas
somente sero necessrias durante a execuo de a. Diante disso faz-se necessrio
distinguir condies invariantes de no invariantes na anlise de um plano.
Outro aspecto presente no nvel 3 do PDDL2.1 o fato de uma ao poder apresentar
efeitos iniciais, ou seja, efeitos gerados imediatamente ao incio da execuo da ao,
acrescentando com isso a possibilidade de concorrncia em um plano. Por exemplo, ao
analisar o problema proposto na subseo 3.8.1, pode-se ter Drive(t1 , loc1 , loc2 ), que
necessita da proposio at(t1 , loc1 ) antes que a ao Drive seja executada. Esta ao,
aps executada, ir gerar as proposies { at(t1 , loc1 ) e at(t1 , loc1 ) }, ao nal da
execuo da ao. Diante dessa ao, tem-se que a proposio t1 torna-se inacessvel at
que a ao seja nalizada. Isto faz com outras aes, que dependam deste recurso, no
sejam executadas concorrentemente. A proposio at(t1 , loc1 ) pode estar excluindo
diversos planos vlidos. Dessa forma, o que PDDL2.1 prope a insero como efeito
inicial da proposio at(t1 , loc1 ), evitando, com isso, que diversos planos invlidos
continuem sendo gerados enquanto a ao Drive esteja sendo executada.
Uma representao grca destes novos tipos de pr-condio pode ser observada
na gura A.1 [53].
Scond(a)

Inv(a)

ECond(a)

a (dur(a))

SEff(a)

EEff(a)

Figura A.1: Elementos de uma ao durativa do nvel 3 do PDDL2.1

80

Apndice A. PDDL2.1 E A DESCRIO TEMPORAL

Novas Relaes de Excluso


Em termos de relaes de excluso PDDL2.1 apresenta novos mutex, gerados em funo
dos novos conceitos introduzidos nos efeitos e nas aes condicionais.
Os novos mutex que passam a ocorrer em PDDL2.1 so denidos como mutex estticos e dinmicos.

Denio A.2 Mutex Esttico Diz-se que um mutex esttico quando o mesmo se
mantm, independentemente do instante temporal da ao que ocorre. So denominados
estticos, pois dependem exclusivamente de aes do domnio independente do tempo.
Como exemplo, observar-se na gura 3.10: quando a ao drive(t1 , loc1 , loc2 )
executada, so gerados os efeitos at(t1 , loc1 ) e at(t1 , loc1 ). Este mutex permanente
e no se altera devido ao fato dele ser gerado por uma ao de manuteno, a qual se
far presente at a ltima camada do grafo. Como resultado tem-se conitos gerados
em virtude da simultaneidade dos efeitos gerados pelas mesmas.

Denio A.3 Mutex Dinmico Diz-se que um mutex dinmico se o mesmo for
temporal e desaparecer no decorrer da ao.
Um exemplo de Mutex Dinmico tambm pode ser observado na gura 3.10, onde
tem-se na camada 1 a ao load(t1 , loc1 , pk2 ), que ir gerar um mutex entre as aes
at(pk2 , loc1 ) e in(pk2 , t1 ), porm, este mutex ir desaparecer a partir do instante em
que surgir in(pk2 , t1 ).
Ao trabalhar com aes que apresentem durao, torna-se necessrio efetuar o clculo de mutex entre as mesmas, em funo de suas diversas formas de execuo. A
formalizao desses calculos podero ser observados em [53].

81

Apndice B
REDES DE PETRI
Redes de Petri Convencionais
A teoria sobre Redes de Petri surgiu em 1962 como resultado do trabalho da tese Kom-

munication Mit Automaten (Comunicao com Autmatos) defendida por Carl Adam
Petri [46]. Entre 1968 e 1976 foram lanadas as RdP por um grupo de pesquisadores
orientados por Anatol W. Holt do Instituto de Tecnologia de Massachussetts (MIT),
nos Estados Unidos, sendo estas denidas como Redes de Petri convencionais.
Desde ento as Redes de Petri tm sido amplamente utilizadas para modelar, analisar e controlar sistemas dinmicos e eventos discretos. Segundo Cardoso & Valette [12]
uma RdP adaptvel a aplicaes em que os eventos envolvem de forma concorrente e
tem como vantagem, quando utilizadas como modelo formal para a busca de solues
em termos de aplicaes prximas de problemas reais:

Os estados e eventos so representados de modo explcito;


Existncia de maior exibilidade na descrio de ordem parcial entre vrios eventos;

Possibilidade de descrio precisa e formal das sincronizaes tornando assim o


82

Apndice B. REDES DE PETRI


funcionamento mais seguro;

Unicao das ferramentas utilizadas para especicao, anlise, modelagem e


avaliao de desempenho.
Murata em [42] tambm apresenta algumas caractersticas que considera relevantes
no que tange a utilizao de uma RdP. Algumas dessas caractersticas so:

Utilizao de vrios nveis de abstrao para modelagem;


Eventos sincronizados;
A forma sistemtica de vericao das propriedades do sistema;
Possibilidade de modelagem de sistemas concorrentes e paralelos;
A visualizao atravs da representao grca.

Denindo uma Rede de Petri


Pode-se denir uma RdP como uma ferramenta formal, particularmente bem adequada
representao de paralelismo, concorrncia, conito e relaes causais em sistemas
dinmicos e eventos discretos.
Nesta seo apresentaremos uma denio formal das RdP como uma coleo de
matrizes de vetores cujos componentes so nmeros inteiros e seu comportamento caracterizado por programao linear.
De modo formal podemos denir uma RdP, como sendo uma quintupla N = (P, T,
Pre, Post, M), sendo:

P = (p1 , p2 , ...pn ), um conjunto nito de lugares denido como o conjunto de


lugares de N;

83

Apndice B. REDES DE PETRI

T=(t1 ,t2 ,...tn ), um conjunto nito de transies denido como o conjunto de transies de N, sendo P T = ;

Pre: PxT N a aplicao de entrada sendo N o conjunto dos nmeros naturais;


Post: PxT N a aplicao de sada, sendo N o conjunto dos nmeros naturais;
M: P N a marcao inicial de N.
Gracamente podemos representar uma RdP convencional N =(P, T, Pre, Post, M)
atravs do seguinte grco:

p1

t1

p3
t3

p2

t2

p5

p4

Figura B.1: Rede de Petri convencional

Na gura B.1 os crculos representam os lugares e as barras verticais representam


as transies. Os Lugares em uma RdP so os ns que descrevem os estados (um lugar
um estado parcial) e as Transies descrevem as mudanas de estado. Pre a funo
de incidncia e descreve os arcos orientados que conectam lugares a transies. Para
cada transio t, ela representa o fragmento do estado no qual o sistema tem que estar
antes da mudana de estado correspondente ocorrncia de t. P re(p, t) o de cada
arco (p, t). P re(p, t) = 0 denota ausncia de um arco entre o lugar p e a transio t.
A funo de incidncia Post descreve os arcos orientados que fazem a conexo das
transies aos lugares. Ela representa cada transio t, o fragmento do estado no qual
o sistema estar aps a mudana de estado correspondente ocorrncia de t. P ost(p, t)
o peso do arco (t, p). P ost(p, t) = 0 denota ausncia de um arco entre t ep.
84

Apndice B. REDES DE PETRI


Vetorialmente, ha representao de uma RdP, Pre e Post so matrizes de n linhas,
sendo as linhas compostas pelos lugares e m colunas, sendo as colunas compostas pelas
transies e seus elementos pertencentes a N . O vetor Pre(.,t) denota os arcos de
entrada de uma transio t com seus pesos e o vetor Post (.,t) denota os arcos de sada
da transio t com seus pesos.
Em uma RdP a dinmica dada pelo disparo das transies habilitadas, cuja ocorrncia corresponde a mudanas de estado do sistema modelado pela rede. A transio t
de uma RdP N e est habilitada para uma marcao M , se e somente, se M P re(., t).
esta condio de habilitao expressada sob a forma de uma desigualdade entre vetores,
equivalente a p P, M (p) P re(p, t).
Para que ocorra o disparo de uma transio em Rdp necessrio que a mesma
esteja habilitada. Se M uma marcao de N que habilita uma transio t, e M' a
marcao derivada do disparo de t a partir de M, ento M' = M + Post(.,t) Pre(.,t).
Notemos que o disparo da transio t a partir de uma marcao M deriva a marcao

M' : M t M'.
Generalizando a frmula para calcular uma nova marcao aps o disparo de uma
seqncia s de transies, considere a matriz C = P ost P re, chamada de matriz de

incidncia da RdP, e um vetor s, chamado vetor caracterstico de uma seqncia de


disparos s (s: T N, tal que s(t) o nmero de vezes que a transio t aparece na
sequncia s ). O nmero de transies T dene a dimenso do vetor s. Ento, a nova
marcao Mg de uma marcao M, aps o disparo de uma seqncia s de transies,
calculada por:

Mg = M + C.s.
Esta equao denotada Equao Fundamental de N. Podemos usar a equao
fundamental para determinar uma vetor s para uma dada rede N e duas marcaes de

M e Mg . A soluo que satisfaz a equao deve ser um vetor inteiro no-negativo, e a


existncia deste vetor apenas uma condio necessria para que a marcao Mg seja
85

Apndice B. REDES DE PETRI


alcanvel a partir da marcao M . Esta condio torna-se necessria e suciente para
as RdP Acclicas [42], sendo estas uma subclasse de Redes de Petri que no possuem
circuitos dirigidos.
A relao de alcanabilidade entre marcaes de uma transio disparvel pode ser
estendida, por transitividade, para a alcanabilidade do disparo de uma seqncia de
transies. Dessa forma, em uma RdP N, dito que a marcao Mg alcanvel a
partir da marcao M se, e somente se, existe uma seqncia de transies S tal que:

M 8 Mg . O conjunto alcanabilidade de uma RdP marcada (N, M0 ) o conjunto


R(N, M0 ) tal que (M R(N, M0 )) (s M0 8 M ).
Chama-se de problema de alcanabilidade o problema de encontrar uma seqncia
de disparos s que alcana uma da marcao Mg a partir de M0 se Mg R(N, M 0 ). O

problema de alcanabilidade de submarcao consiste em encontrar uma seqncia de


disparos para alcanar um subconjunto de lugares Ms Mg onde Mg R(N, M0 ).
provado que o problema de alcanabilidade decidvel [42].

Redes de Petri e a Representao do Tempo


Da mesma maneira que os Planejadores Clssicos, as Redes de Petri no trazem em
sua denio original o conceito de tempo de forma explcita, ou seja, as RdP clssicas
trazem apenas as propriedades qualitativas do problema (no relacionadas ao tempo)
de um sistema. No entanto, para que se tenha uma avaliao de desempenho de maior
completude, bem como a apresentao formal de problemas que envolvem escalocanamento ou programao em sistemas dinmicos, ou seja, propriedades quantitativas,
aconselhvel que nas transies e/ou lugares sejam associados tempos.
Na literatura, modelos que trabalham efetuando um retardamento do tempo na rede
tm o nome de Modelos Determinsticos. Os modelos determinsticos encontram-se
divididos em duas classes: Redes de Petri Temporais (Time Petri Net - TPN) e Redes

86

Apndice B. REDES DE PETRI

de Petri Temporizadas (Timed Petri Net - RdPN) . De modo simplicado, pode-se


dizer que as Redes de Petri Temporizadas trazem agregadas uma durao ou um tempo
de disparo que associado a cada transio da rede [47]. Nas RdPN as transies
so sensibilizadas de forma semelhante s RdP clssicas, aps serem sensibilizadas as
transies disparam instantaneamente, porm as chas s sero depositadas nos lugares
de sada decorrido t unidades de tempo aps o disparo, sendo t o tempo de disparo
associado transio.
J as Redes de Petri Temporais (Time Petri Net - TPN) trabalham associando as
transies da rede intervalos de tempo, ou seja, as TPN operam com o tempo no modo

contnuo, enquanto as RdPN operam com o tempo no modo discreto. Segundo [12, 43] o
modelo TPN engloba o modelo RdPN, de forma que possvel representar um instante
de disparo t como um intervalo [t, t]. Diante dessa possibilidade de transformao,
neste trabalho sero utilizadas as RPN devido ao fato de as mesmas serem um modelo
mais geral, oferecendo um universo de anlise mais completo para as informaes que
deseja-se obter. Em decorrncia disso, na seo a seguir sero apresentados os conceitos
bsicos de TPN.

Redes de Petri Temporais


As Redes de Petri Temporais (Time Petri Net - TPN) foram propostas por Merlin
em 1974 [41]. Segundo Merlin, uma rede de Petri Temporal obtida quando so
associados a cada transio dois valores de tempo (a , b), sendo estes nmeros reais
que correspondem a uma durao minma de sensibilizao de a. Caso permanea
continuamente sensibilizada at b, a mesma dever obrigatriamente disparar.
O intervalo descrito por (a , b) representa os limites de disparo (min , max ), onde

mim expressa o tempo mnimo necessrio que uma transio deve permanecer habilitada antes do disparo e max representa o tempo mximo que a transio permanecer

87

Apndice B. REDES DE PETRI


habilitada.
Uma rede de Petri Temporal representada formalmente, uma sxtupla N T =

(P, T, P re, P ost, M, I), onde (P, T, P re, P ost, M ) a representao de uma Rede de
Petri Convencional e I matematicamente descrito como: I : T (Q+ (Q+ {}))

| I(t) = [a, b], sendo Q+ o conjunto dos nmeros racionais no negativos. I faz a
associao de um intervalo de disparo I(t) = [a, b] a cada transio t da rede, em que a
e b Q+ , com 0 a b e com a = [41]. a dito limite esttico inferior (LEI)
e b, limite esttico superior (LES) de cada transio da rede.
A introduo do conceito esttico no texto acima tem como objetivo esclarecer que
em uma rede de Petri Temporal, por razes dos limites temporais associados a cada
transio, somente a marcao no suciente para denir, sem ambigidade, um
estado da rede. Alm da marcao, faz-se necessrio descrever os limites temporais das
transies habilitadas por essa marcao, pois os mesmos devem ser respeitados. Isso
signica que os limites de uma transio da rede, quando analisada de forma isolada,
requerem que a transio, isoladamente, necessite de um tempo mnimo (LEI) e um
tempo mximo (LES) para disparar, conforme pode ser observado na gura B.2.
Conforme pode ser observado com maior detalhamento em [48], ao ser representado
o comportamento dinmico da Rede, deve-se considerar tanto a evoluo temporal
(passagem do tempo) como a possibilidade de outras transies que estejam habilitadas
e possam vir a impor restries aos intervalos de tempo. Decorrente disso, os limites
das transies resultantes do comportamento dinmico da Rede sero chamados limite
inferior de disparo (LID) e limite superior de disparo (LSD).
A representao de uma Rede de Petri Temporal, de maneira geral, pode ser descrita
como E = (M, IT ) onde M a marcao da Rede e IT representa o mapeamento das
transies habilitadas pela marcao M juntamente com seus intervalos de disparo,
dessa forma pode-se dizer que, IT : HAB(M ) (Q+ (Q+ {})) | IT (t) = [c, d],
em que 0 c d , e c = . Sendo c o limite inferior de disparo (LID) e d limite

88

Apndice B. REDES DE PETRI


p1

t1[1,2]

p3
t3[2,4]

p2

t2[1,2]

p5

p4

Figura B.2: Rede de Petri Temporal

superior de disparo (LSD) de t.

Anlise de Uma Rede de Petri Temporal


No decorrer dos anos de pesquisa sobre RdP alguns mtodos de anlise foram propostos,
entre eles encontra-se a metodologia proposta por Valter Schastai em [48, 49, 55]. Esta
metodologia avalia a rede sem fazer com que ocorra aumento de impreciso temporal.
A metodologia proposta em [49] faz a anlise do grafo de classes e constri para cada
sequncia a ser analisada no grafo um sistema de inequaes. O conjunto de inequaes
gerado tem por objetivo fazer a descrio de todas as possveis datas de disparo das
transies da seqncia.
As restries temporais das transies contidas nas seqncias sero representadas
pelas inequaes que compem este sistema. A obteno das restries se d atravs
das informaes que se extraem do grafo de classes.
Utilizando-se do sistema de inequaes que construdo para uma sequncia pode-se
obter informaes que descrevem as datas mximas e mnimas para que um determinado
evento acontea ou a maior e menor distncia temporal entre dois eventos [49].

Obtendo um Sistema de Inequaes


A obteno de um sistema de inequaes segundo [49] se d quando percorrido o grafo
de classes. O caminho percorrido no grafo descreve a seqncia que ser analisada.
89

Apndice B. REDES DE PETRI


O incio da seqncia ser marcado a partir da primeira transio que est habilitada
(classe inicial) nalizando na ltima transio da seqncia (classe alcanada).
A composio do sistema ser efetivado a partir das primeiras inequaes presentes
no sistema de restries. Tais restries so obtidas da classe inicial do caminho, sendo
uma cada transio ti presente na classe.
As inequaes obtidas so apresentadas como ai ti bi , sendo ai o limite inferior
(LID), da transio ti na classe e sendo bi passvel de assumir um dos dois valores: o
limite superior da classe (LSE(C)), se a transio ti for utilizada para se obter a prxima
classe do caminho, ou caso contrrio o limite superior de disparo (LSD) da transio ti
na classe.
As inequaes tm por objetivo transportar para o sistema de restries o estado
em que a primeira transio da seqncia ir disparar e a partir das demais classes
existentes no caminho novas inequaes sero adicionadas ao sistema de inequaes.
Para cada classe, toda transio ti que esteja presente na classe, ir gerar uma nova
inequao do tipo ai eti - etk bi , sendo que ai e bi obedecem os mesmos critrios
denidos anteriormente enquanto que tk representa a transio que alcanou a classe.
A obteno dessas inequaes tem como objetivo garantir a dependncia entre a
data de disparo de uma determinada transio da seqncia e a data de disparo das
transies anteriores. Ter essa dependncia signica evitar o aumento da impreciso da
data de disparo das transies concorrentes, bem como garantir a ordem temporal da
ocorrncia das transies.

Exemplo de Anlise de uma RdP Temporal


A gura B.3 ser analisada temporalmente usando a metodologia proposta em [49].
No exemplo apresentado na gura B.3 a sequncia sdt = (t1 , 1 ) (t3 , 2 ) (t4 , 3 )
(t5 , 4 ) (t2 , 5 ), (t6 6 ), sendo que sdt a sequncia de disparo temporal, ser analisada
usando somente o grafo de classes.
90

Apndice B. REDES DE PETRI


t2 [4,6]

p2
t1 [0,1]

p1

t1

p3

t6 [1,5]

t3 [1,2]

p4

t4 [1,2]

p6

p5

p7

p9

p8

t5 [0,1]

Figura B.3: Rede de Petri Temporal

O grafo de classes que se obtm a partir da rede ilustrada na gura B.3 o grafo
B.4.
C3 : p2p5p6
2 <= t2 <= 5
0 <= t4 <= 1
2 <= t2t4 <= 5

C1 : p1
0 <= t1 <= 1
t1[0,1]

t3[0,1]

t3[1,2]
C2 : p2p4p6
4 <= t2 <= 6
1 <= t3 <= 2
1 <= t4 <= 2

t4[1,2]

t4[0,1]

C5 :p2p5p7
2 <= t2 <= 5
0 <= t5 <= 1
t5[0,1]
C6 : p2p8
1 <= t2 <= 5

C4 : p2p4p7
2 <= t2 <= 5
0 <= t3 <= 1
2 <= t2t3 <= 5

t2[1,5]
t6[1,5]

C9 : p9

C7 : p3p8
1 <= t6 <= 5

Figura B.4: Grafo de Classes

Do grafo B.4, o sistema de inequaes que ser gerado pela metodologia proposta
em [49] ser obtido tendo a primeira inequao resultante da classe inicial do caminho,
pois representa a seqncia de transies do grafo. A inequao obtida faz a descrio
das possveis datas de disparo para a transio t1 .
As demais inequaes sero obtidas quando percorrido o caminho das demais classes,
sendo que as mesmas estaro representando as depndencias nas datas de disparo das
91

Apndice B. REDES DE PETRI


transies que se fazem presentes na seqncia.
Do exemplo apresentado na gura da rede apresentada na gura B.3, o conjunto de
identicadores das restries para a seqncia o seguinte:
Intervalo

Restrio Temporal

I1

0 e1t1 1

I2

4 e1t2 e1t1 6

I3

1 e1t3 e1t1 2

I4

1 e1t4 e1t1 2

I5

2 e1t2 e1t3 5

I6

0 e1t4 e1t3 1

I7

2 e1t2 e1t4 5

I8

0 e1t5 e1t4 1

I9

1 e1t2 e1t5 5

I10

1 e1t6 e1t2 5

Tabela B.1: Restries Temporias para a Seqncia: ((t1 , 1 ) (t3 , 2 ) (t4 , 3 ) (t5 , 4 )
(t2 , 5 ), (t6 6 ))
A rede descrita na gura B.4, se analisada por outras metodologias teria como data
mxima de disparo 15 unidades de tempo, enquanto que se a mesma for analisada pelo
grafo de classes em decorrncia do paralelismo existente, pode-se disparar t6 em at 12
unidades de tempo.
Alm dessa possvel reduo de unidades de tempo, tambm poder ser obtido
atrves do sistema de inequaes outras anlises, tais como, a busca pela maior seqncia temporal entre as transies t1 e t6 conforme mostrado em [49].

92

Você também pode gostar