• Nenhum resultado encontrado

Fourth Level Fifth Level

N/A
N/A
Protected

Academic year: 2021

Share "Fourth Level Fifth Level"

Copied!
29
0
0

Texto

(1)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Anomalia de “Sussman” não resolúvel por Planeadores Lineares:

Planeador tipo- “STRIPS”

C A B CB A 1ª hipótese 2ªhipótese Em(A,B) Em(B,C) Em(B,C) Em(A,B)

Em(A,B) Λ Em(B,C) Em(B,C) Λ Em(A,B)

Início Fim Modelos do Mundo: Em(C,A) Λ Em(A,B) Λ Na_mesa(A) Λ Em(B,C) Λ Na_mesa(B) Λ Na_mesa(C) Manip_livre

(2)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeadores Não-lineares (“interleaved”): • VANTAGENS:

• Permitem concorrência na resolução dos sub-objectivos “interleaving” • Correctos (“sound”)

• Completos

• Podem ser Óptimos relativamente ao comprimento do Plano (depende da estratégia de pesquisa)

Planeador Não-Linear

•DESVANTAGENS

• Maior Espaço de Pesquisa porque várias hipóteses de ordenação dos sub- objectivos

(3)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-Linear

Planeamento Não-Linear usando Conjunto de Objectivos Para certos problemas é preferível executar tarefas para realizar um objectivo e, antes de o terminar, passar a outro Sub-objectivo, e assim sucessivamente, interligando sub-planos (planos parciais).

É o Planeamento Não-Linear.

Exemplo de tarefa no mundo dos blocos:

B C A A C B Início Fim

(4)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-Linear

• Usamos um algoritmo de “encadeamento inverso” começando pelo operador a ser aplicado em último lugar.

• Uma árvore de pesquisa vai sendo gerada mas, felizmente, muitos ramos podem ser “podados” cedo.

• A Árvore de pesquisa é gerada considerando-se as possíveis escolhas sobre os operadores a serem aplicados para se obter os Estados considerados, começando no estado Objectivo.

(5)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-Linear

Planeamento NÃO-LINEAR EM (A, B) EM (B, C) colocar (A, B) LIMPO (B) SEGURO (A) EM (B, C) pegar (A) retirar (A,x) colocar (B, C) LIMPO (C) SEGURO (B) EM (A, B) retirar (x, B ) EM (x, B) LIMPO (x) BRAÇO_VAZIO SEGURO (A) EM (B, C) BRAÇO_VAZIO LIMPO (A) NA_MESA (A) LIMPO (B) EM (B, C) EM (A, x) LIMPO (A) BRAÇO_VAZIO LIMPO (B) EM (B, C) LIMPO (C) SEGURO (B) LIMPO (B) SEGURO (A) colocar (B, C) colocar (B, C) retirar (x,B) pousar (A) retirar (x, A) pousar (x) colocar (x, y) SEGURO (x) LIMPO (A) LIMPO (B) EM (B, C) SEGURO (x) LIMPO (y) LIMPO (A) LIMPO (B) EM (B, C) False EM (x, A) LIMPO (x) NA_MESA (A) LIMPO (B) EM (B, C) SEGURO (A) True LIMPO (A) LIMPO (B) EM (B, C) False EM (x, B) LIMPO (x) NA_MESA (A) LIMPO (A) EM (B, C) SEGURO (B) LIMPO (C) LIMPO (A) NA_MESA (A) LIMPO (B) 13 11 8 7 6 5 4 3 2 1 NA_MESA (A) NA_MESA (A)

(6)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-Linear

Nó 1: se escolher como último operador em(B, C) é necessário seguro(B) que contradiz o

objectivo dado como atingido em(A, B). Logo corta o nodo 3.

Nó 2: escolhi em(A, B). Precisa de limpo(B), seguro(A).

3 hipóteses: em último limpo(B), seguro(A) ou emB, C)

Nó 4: para limpo(B) --> retirar(x, B) --> em(x, B), limpo(x), braço_vazio + as outras

seguro(A), em(B, C).

Contradição em braço_vazio e seguro(A)

Nó 5: se seguro(A) --> pegar(A) --> limpo(A), braço_vazio, na_mesa (A) etc. É Possível! Nó 6: se seguro(A) --> retirar(A, x) --> limpo(A), em(A,x), braço_vazio etc.

Inconsistência pois não instancia, já que acerca de B sabese limpo(B) e acerca de C sabe -se em(B, C).

(7)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-Linear

Partindo do nó 5 e expandindo, há 5 hipóteses para último operador.

Nó 8: braço_vazio --> colocar(x) --> seguro(x) etc. Mas nem A nem B nem C

podem estar seguros. (Contradição)

Nó 9: braço_vazio --> colocar(x, y) --> seguro(x), limpo(y). IDEM.

Nó 10: limpo(A) --> retirar(x, A) --> Mas como no nó 5 existe braço_vazio e a

regressão de braço_vazio através do operador retirar dá FALSEporque na lista "apague" de retirar está braço_vazio este ramo corta-se.

Isto é: Não se deve copiar os objectivos não seleccionados quando se aplica um operador e acrescentar só as pré-condições desse operador.

Deve testar-se se interfere ou não com os outros. Para isso aplica-se a Regressão de um Objectivoatravés de um OPERADOR.

ex: regressão (em(A, B), pegar(C))= em(A, B) regressão (em(A, B), colocar(A, B))= true regressão(braço_vazio, pegar(A))=false

(8)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-Linear

Se um objectivo regressa true, pode ser eliminado do conjunto de objectivos.

Se regressão (braço_vazio, pegar(A))=False corta-se o ramo.

Nó 11: conseguir na_mesa(A)?

Mas, já é verdade no estado inicial.

Deve haver uma heurística dizendo que se no objectivo final A deve permanecer na mesa então ele não deve saír daí. Logo já está alcançado.

Nó 12: limpo (B) --> retirar(x, B) --> regressão dá false sobre

braço_vazio então Cortar o ramo.

Nó 13: em(B, C) --> colocar(B, C) --> seguro(B), limpo(C), limpo(A),

(9)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-Linear

•A Árvore de pesquisa é larga mas os ramos podem ser aparados cedo! •Não existe PILHA mas um CONJUNTO de objectivos

•O Plano é pesquisado de forma Não-Linear

• Começou por se pesquisar como obter Em(A,B) e, antes de terminar, passou-se para o objectivo Em(B,C), nos nodos 5 e 13

• No entanto, se não houver interacção entre vários sub-objectivos e se não se podarem os ramos da árvore de pesquisa cedo, esta fica demasiado grande

• Outro problema é não se distinguir entre sub-objectivos muito importantes e objectivos triviais.

(10)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-Linear

PNL(e_inicial, objectivos)

estado=estado_inicial; plano=[ ]; conj_obj=objectivos; pilha_ops=[ ]

Repetir até conj_obj=[ ]

Escolher objectivo ob do conj_obj

Se ob unifica estado retira ob do conjunto Senão (ob não unifica com estado corrente)

Escolher operador op cuja lista-junta unifica com ob Colocar op na pilha_ops

Junte pré-condições de op ao conj_obj

Enquanto todas as pré-condições de op no topo da pilha_ops pertencerem

ao estado

Retirar op do topo de pilha_ops estado=aplicar(op,estado)

(11)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-Linear Hierárquico

• Planeadores baseados na Linguagem tipo-STRIPS estendida •Algoritmos de Planeamento Parcialmente Ordenados

• Pesquisa no Espaço dos Planos

• Espaço de Planos é conjunto de Planos parciais • Plano: <Acções,Ordenações,Ligações>

•Não Lineares •Hierárquicos

•Usam “compromissos retardados” (“least commitment”) •Escolhas no adiamento de compromissos em:

• Ordenamento de acções até que seja obrigatório sequenciar

(12)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-LinearHierárquico

• Decomposição Hierárquica:

• Operador abstracto decompõe em sub-planos parciais

• Exemplo: Ir (Rob,loc)

Orientar(Rob,ang) mover(Rob,dir)

• Abordagens:

• Inclusão de Operadores não primitivos • Decomposição progressiva

•Abstracção Hierárquica:

• Operador abstracto é refinado pelo acrescento de detalhes

• Operadores não-primitivos (Macro-operadores)

• Hierarquia das pré-condições (só considera as pré-condições que ultrapassam um limiar. Esse limiar vai sucessivamente baixando)

(13)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-LinearHierárquico

• Planos Abstractos:

• Operadores Primitivos tipo Strips. São executáveis • Operadores Compostos:

• Pré-condições e Efeitos

• Métodos para decompor Operador em sub-planos mais detalhados • detalha a estrutura interna

• parametriza

• similar a macros (ou sub-rotinas)

•Um Plano Abstrato contém Operadores Compostos

(14)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-LinearHierárquico

• Espaço de Pesquisa:

• Redução do espaço de pesquisa:

• O Estado Objectivo é uma Tarefa (abstracta) que tem de ser executada (não um Estado do Mundo) • Operadores no Espaço de estados:

• Decompõe tarefas em sub-tarefas • Parametriza tarefas

(15)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-LinearHierárquico

• Espaço de Pesquisa:

•Algoritmo geral para Rede Hierárquica:

• iniciar com descrição de alto-nível da Tarefa (não objectivos)

• criar rede de tarefas pela expansão de sub-planos até o Plano ser completamente instanciado

• seleccionar Métodos cujas condições de aplicabilidade sejam válidas

(16)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-LinearHierárquico

Exemplo de Operador para planeamento abstracto

Operador pousar(Bloco)

Lista-apagar: segurar(Bloco) Lista-juntar: na_mesa(Bloco).

braço_livre. método(limpar(X))

efeito da aplicabilidade: ( limpo(X), nil)

condição de aplicabilidade: ( em(Y,X),

(17)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-LinearHierárquico

• Exemplo: Robô passar de uma sala para outra • Operador: atravessar_porta:

•Pré-condições: dimensão(porta,D), D>X, aberta(porta)

•Podemos considerar a 1ª pré-condição mais crítica que a 2ª •Um primeiro plano poderia reconhecer o sucesso da 1ª

pré-condição e incluir o operador atravessar_porta.

• Só numa segunda iteracção de detalhar o plano é que se verificaria a pré-condição porta_aberta.

• Caso fosse falsa, incluiria um novo operador “abrir_porta” •Este Planeamento usou Operador Abstracto

(18)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-Linear Hierárquico

• Planeamento Hierárquico:

• Um exemplo de Planeamento hierárquico usando a estratégia de planeamento Não-Linear e usando “least commitment”, é o algoritmo NOAH (Net of Actions Hierarchized, Sacerdoti, Stanford)

• Aplica encadeamento inverso para escolher quais operadores aplicar para mudar de estado.

(19)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-Linear Hierárquico

• FUNÇÃO Planeador(EC, EO) RETORNA Plano Plano ß Criar_Plano_mínimo(EC, EO)

ENQUANTO EC=/=EO FAZER

Expandir(Plano, Plano2); Criticar_efeitos(Plano2);

Sequenciar(Plano2, Novo_Plano); Plano ß Novo_Plano

(20)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-LinearHierárquico

Seja de novo o seguinte problema: C

A B A B C sobre(A,B) ∩ sobre(B,C) colocar A sobre B colocar B sobre C Expansão : 3 6 1 livre(A) livre(B) 2 4 livre(B) livre(C) 5 Pegar(A) Pegar(B)

(21)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-LinearHierárquico

APLICA TAMBÉM CRITÉRIOS CRÍTICOS A CADA NÍVEL DO PLANO. TIPOS DE CRÍTICA SÃO:

1) INTERACÇÃO e 2) REDUNDÂNCIA.

1) na lista "Junte" do operador colocar(A, B) encontra-se a negação de uma pré -condição do operador colocar(B, C). Logo este deve ser executado primeiro que aquele. 2) repetição de libertar(B). Elimina-se do ramo de cima.

O tipo de planeamento é o hierárquico.

Segue-se uma nova expansão do plano para libertar A deve colocar C sobre a mesa e para isso C deve estar livre.

Agora actua a crítica da interacção (crítica 1): interacção entre colocar(B, C) e libertar(C).

Logo 1º faz-se aquilo para o qual é necessário libertar C e só depois colocar (B, C). Como na BD inicial libertar (C) e libertar (B) são verdadeiros resulta o plano final

(22)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-LinearHierárquico

colocar A sobre B colocar B sobre C

Crítica dos Efeitos: 3--> ~4 Sequenciação

1 livre(A) 4 Pegar(A) livre(B) livre(C) 5 Pegar(B)

Expandindo para outro nível (para assegurar 1):

colocar C sobre mesa

colocar B sobre C colocar A sobre B

livre(B) livre(C) 5 Pegar(B) livre(C) Retirar(C,A) 1 Pegar(A) Há conflitos a resolver?

(23)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador NÃO-LinearHierárquico

De novo há conflito entre 1 e 5. Fase de crítica e sequenciação:

colocar C sobre mesa

livre(B)

5

livre(C) Retirar(C,A)

1

Pegar(B) colocar B sobre C Pegar(A) colocar A sobre B

Retirar(C,A)

Como livre(B) e livre(C) são verdadeiros, resulta o plano final.

colocar B sobre C colocar A sobre B

Pegar(B) Pegar(A)

(24)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador Heurístico

Planeamento Heurístico:

Ideia básica: Análise automática do domínio de aplicação do planeamento para extraír heurísticas para

calcular valores estimativos que guiem a pesquisa dos operadores a aplicar

Leituras:

The FF Planning System: Fast Plan Generation Through Heuristic Search, J. Hoffmann, B. Nebel. Journal of Artificial Intelligence Research, vol 14, pp. 253-302, 2001

VHPOP: Versatile Heuristic Partial Order Planner, H.L.S. Younes and R.G. Simmons. Journal of Artificial Intelligence Research, vol 20, pp. 405-430, December 2003.

(25)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador Prodigy

Outros Planeadores: PRODIGY (Veloso et al)

(FLECS a continuação de Prodigy) Integra vários paradigmas:

• Análise-Meios-Fins • Não-Linearidade • Aprendizagem

(26)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador Prodigy

1. Termina Se

todos os objectivos satisfeitos no estado corrente C 2. Computar o Conjunto de objectivos pendentes CObp e o

Conjunto de Operadores Copa aplicáveis

• Um objectivo pendente é uma pré-condição não satisfeita no estado corrente, de um operador existente no Plano • Um operador é aplicável quando:

- nenhum operador antes dele e

-suas pré-condições estão satisfeitas no estado corrente C 3. Escolher um objectivo Ob em CObp OU

(27)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador Prodigy

4. Se Ob foi escolhido

Então Expandir Objectivo Ob (“sub-goaling”) (isto é, compute o conjunto de operadores COp

relevantes que podem realizar o objectivo Ob) Escolher operador Op de COp

Voltar a 1.

5. Se um operador Op foi seleccionado para aplicação directa (“applying”)

Então Aplicar Op

retira operador da cauda do plano e coloca-o no

fim da frente do plano e modifica o estado corrente C (C’).

(28)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador Prodigy-representação da pesquisa I s C y x z O I s C t y x z O C I O

frente_plano lacuna cauda_plano

Aplicar operador (mover para a frente) “sub-goaling” Juntar operador t realiza sub-obj

“applying” Nó de pesquisa: Cabeça: Ops de I para C Nó de pesquisa: Cauda: Ops seleccionados Para levar ao Objectivo I s x C’ y z O Compromisso de ordem

(29)

• Body Text

• Second Level

• Third Level

• Fourth Level

• Fifth Level

Planeador Prodigy-representação da pesquisa Estudar artigo:

“Integrating planning and learning: The Prodigy architecture, (Secções 1 e 2)

Manuela M. Veloso, Jaime Carbonell, M. Alicia Perez, Daniel Borrajo, Eugene Fink, and Jim Blythe.

Journal of Experimental and Theoretical Artificial Intelligence, 7(1):81--120, 1995.

Referências

Documentos relacionados

[...] por um lado, a limitação a atividades “concretas”, de manipulação, é insuficiente, mesmo nas séries iniciais do ensino; as atividades operatórias mais

Podem treinar tropas (fornecidas pelo cliente) ou levá-las para combate. Geralmente, organizam-se de forma ad-hoc, que respondem a solicitações de Estados; 2)

esta espécie foi encontrada em borda de mata ciliar, savana graminosa, savana parque e área de transição mata ciliar e savana.. Observações: Esta espécie ocorre

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

• A vazão de ar necessária em minas de carvão, para cada frente de trabalho, deve ser de, no mínimo, 6.0 m 3 /min (seis metros cúbicos por minuto) por pessoa. • A vazão de ar

(1) Pelo respeito que os autores do artigo “Avaliação da aptidão agrícola das terras como subsídio ao assentamento de famílias rurais, utilizando sistemas de

Considerando todas as discussões, os objetivos desse estudo foram alcançados, e corresponderam a relatar a minha experiência e percepção em relação ao acompanhamento