• Nenhum resultado encontrado

2.3 Planejamento em Inteligˆ encia Artificial

2.3.1 Planejamento Hier´ arquico

O planejamento hier´arquico ou planejamento baseada em redes hier´arquicas de tarefas, (Hi-erarquical Task Network)(HTN), ´e uma abordagem onde o plano de a¸c˜oes ´e obtido efetuando a decomposi¸c˜ao da tarefa em varias sub-tarefas de menor grau de abstra¸c˜ao at´e chegar a formar uma

2.3. PLANEJAMENTO EM INTELIG ˆENCIA ARTIFICIAL 19 rede de tarefa formada apenas por a¸c˜oes primitivas que definem os planos de solu¸c˜ao. Um exemplo de planejamento hier´arquico pode ser visualizado na Figura2.7onde ´e apresentada a decomposi¸c˜ao parcial da tarefa elaborar t´opico em tarefas apresentar t´opico, estimular interpreta¸c˜ao, ilustrar e praticar.

Figura 2.7: Exemplo de decomposi¸ao da tarefa elaborar t´opico

Defini¸c˜ao 3. Uma rede hier´arquica de tarefas ´e definido como o par w= (U, C) onde o conjunto de cada n´o u ∈ U contem uma tarefa ou um conjunto de tarefas e o conjunto de arestas c ∈ C definem o conjunto de restri¸c˜oes de ordem, e restri¸c˜oes priori, posteriori e entre estados.

• A restri¸c˜ao de ordem (u≺v) onde u, v∈U, define que a tarefau deve ser efetuada antes da tarefa v.

• A restri¸c˜ao priori bef ore(V, literall) onde V ={ui, uj, uk, ..., ul} ⊆ U ´e a restri¸c˜ao de pre-condi¸c˜ao que expressa que em quaisquer plano de solu¸c˜ao P, o literal literall ´e verdadeiro antes da primeira a¸c˜ao f irst(V, P) na solu¸c˜ao do subconjunto V.

• A restri¸c˜ao posterioriaf ter(V, literall) onde V ={ui, uj, uk, ..., ul} ⊆U ´e a restri¸c˜ao de p´ os-condi¸c˜ao que expressa que em quaisquer plano de solu¸c˜ao P, o literal literall ´e verdadeiro depois da ultima a¸c˜aolast(V, P) na solu¸c˜ao do subconjunto V.

• A restri¸c˜ao entre estados between(V1, V2, literall) onde V1 ⊆ U e V2 ⊆ U ´e a restri¸c˜ao que expressa que em quaisquer plano de solu¸c˜ao P o literal literall ´e verdadeiro entre a ultima a¸c˜ao,last(V1, P) e a primeira a¸c˜ao, f irst(V2, P) na solu¸c˜ao dos subconjuntosV1 eV2. No planejamento hier´arquico ao igual que no planejamento cl´assico o estado inicial ´e represen-tado como um conjunto de literais, as a¸c˜oes s˜ao determin´ısticas e representam como o conjunto de operadores com precondi¸c˜oes e efeitos. No entanto, em planejamento hier´arquico representamos o conhecimento de como efetuar as tarefas de forma explicita utilizando tarefas e m´etodos.

20 CAP´ITULO 2. FUNDAMENTOS O m´etodo ´e a receita que indica como decompor a tarefa num conjunto de tarefas de menor n´ıvel de abstra¸c˜ao. As tarefas tˆem associadas diferentes m´etodo e a aplicabilidade no processo de decomposi¸c˜ao ´e determinada pelas precondi¸c˜oes nos m´etodos. A tarefa representa o objetivo, comportamento ou a¸c˜ao a ser efetuado pelo agente para atingir o objetivo, assim pode distinguir trˆes tipos de tarefas:

1. A tarefa objetivo define a tarefa composta de mais alto n´ıvel de abstra¸c˜ao efetuada pelo agente.

2. As tarefas compostas envolvem tarefas de menor n´ıvel de abstra¸c˜ao (primitivas ou compostas).

3. As tarefas primitivas define a a¸c˜ao que pode ser direitamente efetuada pelo agente.

O processo de planejamento em HTN

Nesta subse¸c˜ao apresentamos o formalismo do problema de planejamento e o processo de plane-jamento hier´arquico, que utiliza o algoritmo Abstract-HTN que generaliza a maioria de propostas de planejadores HTN.

Defini¸c˜ao 4. O problema de planejamento hier´arquico ´e definido formalmente comoP = (s0, w, O, M) onde s0 define o estado inicial, w = (u, C) ´e a rede de tarefas inicial e o dom´ınio D = (O, M) corresponde ao conjunto de operadoresO={o1, o2, o3, .., om}e m´etodosM ={m1, m2, m3, ..., mn}.

Defini¸c˜ao 5. O m´etodo m∈M em HTN ´e formalizado como

m= ([nome(m)], taref a(m), subtaref as(m), restricoes(m)).

Ondenome(m)´e a express˜ao de forman(x1, x2, ..., xk)onden´e um s´ımbolo ´unico ex1, x2, ..., xks˜ao s´ımbolos vari´aveis que definem os argumentos do m´etodo. A tarefa taref a(m) ´e a tarefa composta que pode fazer uso do m´etodo. Definimosw0 = (subtaref as(m), restricoes(m)) como a subrede de tarefas produto de decompor a tarefa taref a(m) utilizando o m´etodo m.

Defini¸c˜ao 6. Definimos a fun¸c˜ao de decomposi¸c˜aoδ(w, u, m)como a fun¸c˜ao que decomp˜oe a tarefa

– A cada restri¸c˜ao de precedˆenciau≺vemC, ´e substitu´ıdo por os elementos dasubtaref a(m).

Por exemplo, sesubtaref a(m) ={u1, u2} ent˜aou≺v ´e substitu´ıdo poru1 ≺v,u2≺v.

– A cada restri¸c˜ao de estado (bef ore−),.(af ter−) e (between−) em C, os elementos de u s˜ao substitu´ıdos por elementos de subtaref a(m). Por exemplo, se em C existe a restri¸c˜ao bef ore({u}, l1), ela ´e substitu´ıda por bef ore({u1, u2}, l1).

2.3. PLANEJAMENTO EM INTELIG ˆENCIA ARTIFICIAL 21 Definimos o algoritmoAbstract-HTN(s,U,C,O,M) ondes´e o estado inicial,w= (U, C) definem a rede de tarefas inicial eD= (O, M) ´e o conhecimento do planejador, utilizando as defini¸c˜oes 3,4, e 5. Assim, durante o processo de planejamento ´e utilizado o operadorσ (unificador mais gen´erico) que evita que o m´etodo n˜ao seja completamente instanciado ao menos de ser absolutamente ne-cess´ario reduzindo o espa¸co de busca. A fun¸c˜ao que aplica cr´ıtica apply−critic(U0, C0) formaliza a no¸c˜ao de cr´ıtica ao planejador que modifica a rede de tarefas em favor de melhorar a qualidade do plano. Por exemplo, reduzindo o n´umero de tarefas consecutivas repetidas.

Algorithm 1 AlgoritmoAbstract-HTN(s,U,C,O,M) [10]

1: if (U, C) ´e visualizado sem solu¸c˜ao then

2: return falha

3: else

4: if U ´e um conjunto de tarefas primitivasthen

5: if (U, C) tem uma solu¸c˜ao then

12: escolha de uma tarefa n˜ao primitivau∈U

13: active← {m∈M — tarefa(m) ´e unific´avel comtu }

14: if active! =∅then

15: escolha n˜ao determinista de m∈active

16: σ← unificador mais gen´erico (mgu) parame tu que renomina todas as vari´aveis dem.

17: (U0, C0)←δ(σ(U, C), σ(u), σ(m))

Na Figura2.8o exemplo do processo de planejamento ´e apresentado onde a tarefatarefa t5 pode ser decomposto pelos m´etodos m´etodo m3 e m´etodo m5, e a escolha n˜ao determinista do m´etodo m´etodo m3 faz backtracking por n˜ao atingir na uma solu¸c˜ao, sendo escolhido om´etodo m5. Final-mente o processo de decomposi¸c˜ao ´e repetido at´e chegar a umarede de tarefas primitivaswnque de-finem um plano parcialmente ordenando, com solu¸c˜oes ao problemaP={!t4,!t10,!t11,!t11,!t14,!t6}.

Algoritmo JSHOP2

Java Simple Hierarquical Ordered Planner 2 (JSHOP2), ´e um planejador baseado em HTN inde-pendente de dom´ınio e desenvolvido pela Universidade de Maryland. O JSHOP2 ´e a implementa¸c˜ao do planejador SHOP2 para JAVA que utiliza nota¸c˜ao LISP para representar o conhecimento do planejador [11].

22 CAP´ITULO 2. FUNDAMENTOS

Figura 2.8: Processo de planejamento em a rede hier´arquica de tarefas

O problema de planejamento ´e representado em JSHOP2 como:

(def problem problemN ame domainN ame([a1,1a1,2...a1,n])T1...([am,1am,2...am,o])Tm)

Onde problemN ame e domainN ame s˜ao s´ımbolos, cada e ai,j e cada Ti ´e uma lista de tarefas a ser atingidas para iniciar o processo de planejamento.

O dom´ınio ´e representado como (def domaindomainN ame(d1d2...dn))

Onde domainN ame´e um s´ımbolo e cadadi ´e um operador, m´etodo ou um axioma

• A tarefa ´e uma lista de termos da forma (t r1 r2 r3 ... rn) onde t ´e o nome da tarefa e os argumentosr2 r3 ... rns˜ao termos. Umatarefa primitiva´e identificada com s´ımbolo “!”diante do nome. Por exemplo, (!insert r)

• Ooperador de planejamento tem a forma (:operador h P D A) ondeh´e o nome do operador, C ´e o conjunto de precondi¸c˜oes, De A s˜ao os efeitos negativos e positivos.

2.3. PLANEJAMENTO EM INTELIG ˆENCIA ARTIFICIAL 23

• O m´etodo ´e representado como

(:method h[name1]p1 t1[name1] p2 t2[name1]p3 t3, ...[namek]pk tk) ondeh ´e o nome da tarefa composta,pi s˜ao as express˜oes l´ogicas de precondi¸c˜oes para cada tarefati e namei ´e o atributo opcional de nome para cada par pi ti.

Algorithm 2 Vers˜ao simplificada do algoritmo JSHOP2 [11]

1: P =∅

7: if t´e uma tarefa primitivathen

8: A← { (a, θ): a´e uma instancia ground de um operador em D, θ ´e uma substitui¸c˜ao que unificahead(a), t, e ssatisfaz as precondi¸c˜oes dea}

9: if A=∅then

10: return falha

11: end if

12: escolha n˜ao determin´ıstica do par (a, θ)∈A

13: s´e mudado apagandodel(a) e adicionandoadd(a)

14: adicionara emP

15: modificarT apagando te aplicando θ

16: T0 ← {t∈T: nenhuma tarefa emT ´e restringida para precedert }

23: modificar T apagando t, adicionando sub(m), adicionando restri¸c˜ao de precedˆencia em sub(m) para preceder as tarefas que tpredecia, e aplicar θ

24: if sub(m)6=∅then

O algoritmo de planejamento JSHOP2 utiliza a restri¸c˜ao de precedˆencia (≺) e a restri¸c˜ao (bef ore−) para definir a rede hier´arquica de tarefas. Pois em cada escolha n˜ao determin´ıstica da linha 12 todos os fluentes e restri¸c˜oes de precedˆencia que descrevem o estadoss˜ao conhecidos, como consequˆencia daslinhas 23, 15 e linha 13.

O algoritmo inicia com o plano vazio e uma lista T0 de tarefas sem restri¸c˜oes de precedˆencia

24 CAP´ITULO 2. FUNDAMENTOS linhas 1 e 2 de onde ´e escolhida a tarefa tem cada itera¸c˜ao do la¸co (loop). A listaT0 ´e atualizada nas linhas 16, 25 e 27 segurando que n˜ao exista outra tarefa que precedat. A condi¸c˜ao da linha 24 faz que selecionadote decomposto utilizado um m´etodolinhas 22 e 23,t seja decomposta at´e que uma tarefa primitiva de alguma sub-rede seja selecionada no inicio do la¸co loop.

A tarefa t´e decompostas em subtarefas utilizando o m´etodo cujas precondi¸c˜oes s˜ao satisfeitas no estado s e faz a atualiza¸c˜ao da rede de tarefas T linhas 18 at´e 23. Se n˜ao existe m´etodo que possa decompor a tarefa o algoritmo devolve falha. Na escolha n˜ao determin´ıstica da linha 22 se faz o processo de backtracking se o planejamento n˜ao atinge a nenhuma solu¸c˜ao.

Se a tarefa escolhidat´e primitiva, o conjuntoAde a¸c˜oes ´e instanciado utilizando o operador mais gen´erico dalinha 8. Uma a¸c˜aoado conjunto ´e escolhida no conjuntoAcom a estrat´egiadepth first backtracking na linha 12, para encontrar a a¸c˜ao que permita encontrar o plano de solu¸c˜ao. Assim o planoP ´e atualizado naslinhas 13-16.

Figura 2.9: Exemplo de decomposi¸ao de tarefa em JSHOP

Na Figura2.9´e apresentado o processo de planejamento em JSHOP2 para o dom´ınio de trans-porte de dois pacotes onde a tarefa ´e dividia em transportar pacote p1 e transportar pacote p2.

Depois de efetuada a a¸c˜ao de carregar o pacotep1 com o transporte t1 ´a tarefa transportar pacote p2 pode ser decomposta em despachar o transporte t2 ao lugar l2 que ´e decomposta em tarefas reservar t1 e mover o transportet1 decasa at´e l1.

Documentos relacionados