A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

CIn-UFPE 1 Estendendo o Planejamento Clássico para Aplicações do Mundo Real Tempo, prazos e recursos Planejamento hierárquico.

Apresentações semelhantes


Apresentação em tema: "CIn-UFPE 1 Estendendo o Planejamento Clássico para Aplicações do Mundo Real Tempo, prazos e recursos Planejamento hierárquico."— Transcrição da apresentação:

1 CIn-UFPE 1 Estendendo o Planejamento Clássico para Aplicações do Mundo Real Tempo, prazos e recursos Planejamento hierárquico

2 CIn-UFPE 2 Além da sintaxe... outras limitações de POP-STRIPS nO tempo não é levado em conta Diz “o que”, mas não “quando” nem “por quanto tempo” nA limitação dos recursos não é considerada Não custa nada agir (ex: orçamento, pessoas) nPlanos não são hierárquicos Planejamento a um único nível de granularidade nPré-condições e efeitos são simples demais Os operadores são essencialmente proposicionais –ex: sem quantificador universal nos efeitos, não se pode dizer que os componentes da aeronave sobem com ela

3 CIn-UFPE 3 Planejando com Tempo, Prazos e Recursos

4 CIn-UFPE 4 Tempo e Prazos nJob Shop Scheduling Completar conjunto de tarefas (seqüência de ações) Cada ação tem uma duração e pode precisar de recursos Encontrar o escalonamento mais rápido para a execução das tarefas, respeitando restrições de recursos nExemplo de Job Shop Problem 2 tarefas (jobs): montar dois carros C 1 e C 2 Ações: colocar motor, colocar rodas, inspecionar Ordem: motor antes das rodas e inspecionar no final nComo lidar com isto?

5 CIn-UFPE 5 Tempo e Prazos nAcrescentar Duration(d) para ações em STRIPS nExemplo... Init (Chassis(C 1 )  Chassis (C 2 )  Engine(E 1,C 1,30)  Engine(E 2,C 2,60)  Wheels(W 1,C 1,30)  Wheels(W 2,C 2,15)) Goal (Done(C1)  Done(C2)) Action (AddEngine(e,c), Precond: Engine (e,c,d)  Chassis(c)   EngineIn(c), Effect: EngineIn(c)  Duration(d)) Action (AddWheels(w,c), Precond: Wheels(e,c,d)  EngineIn(c)  Chassis(c) Effect: WheelsOn(c)  Duration(d)) Action (Inspect(c), Precond: EngineIn(c)  WheelsOn(c)  Chassis(c) Effect: Done(c)  Duration(10))

6 CIn-UFPE 6 Tempo e Prazos nProcedimento: “planejar antes e escalonar depois” Rodar POP-STRIPS normalmente e depois escalonar ações (caminho mais rápido) usando programação dinâmica Abordagem usada na prática, sobretudo porque o plano pode ser fornecido por um especialista nSolução Encontrada pelo POP “normal” AddEngine 1 30 AddEngine 2 60 AddWheels 2 15 AddWheels 1 30 Inspect 1 10 Inspect 2 10 FinishStart

7 CIn-UFPE 7 Tempo e Prazos nMétodo do Caminho Crítico (CPM) Caminho Crítico: caminho cujo tempo total é maior Para cada ação, indicar –Tempo Mais Cedo de Início (ES – Earliest Start) –Tempo Mais Tarde de Início (LS – Latest Start) Ações no caminho crítico não podem sofrer nenhum atraso Ações fora desse caminho podem sofrer atrasos de tolerância LS - ES

8 Caminho crítico [0,0] Start [0,15] AddEngine1 30 [0,0] AddEngine2 60 [30,45] AddWheels1 30 [60,60] AddWheels2 15 [60,75] Inspect1 10 [75,75] Inspect2 10 [85,85] Finish Plano t AddEngine1 Inspect2 AddEngine2 AddWheels1 Inspect1 AddWheels2 Escalonamento

9 CIn-UFPE 9 Restrição de Recursos nProblemas reais de escalonamento são ainda mais complexos devido a restrições sobre recursos Consumable resources - ex. grana Reusable resources - ex. um único guindaste para levantar o motor nComo resolver? nSolução para recursos consumíveis adicionar precondições e efeitos Action (AddEngine(e,c), Precond: Engine (e,c,d)  Chassis(c)   EngineIn(c)  ( Money(g) > 100) Effect: EngineIn(c)  Duration(d)  Money(g-100))

10 CIn-UFPE 10 Restrição de Recursos nSolução para recurso reutilizável: Mais complicado porque a quantidade de recursos permanece inalterada depois da ação! Incrementar representação do problema para incluir novo campo –“Resource: R(k)”, k unidades de R são necessárias Funciona tanto como –uma pré-condição (não se pode fazer sem ele) –um efeito temporário (indisponível pela duração da ação) nVoltando ao exemplo... 1 guindaste, um macaco mecânico e 1 inspetor disponível

11 CIn-UFPE 11 Exemplo: Montagem de Dois Carros Init (Chassis(C1)  Chassis(C2)  Engine(E1, C1, 30)  Engine(E2, C2, 60)  Wheels(W1, C1, 30)  Wheels(W2, C2, 15)  EngineHoists(1)  WheelStations(1)  Inspectors(2) ) Goal (Done(C1)  Done(C2) Action (AddEngine(e, c, m), PRECOND: Engine(e, c, d)  Chassis(c)   EngineIn(c) EFFECT: EngineIn(c)  Duration(d) RESOURCE: EngineHoist(1) ) Action (AddWheels(w, c), PRECOND: Wheels(w, c, d)  Chassis(c) EFFECT: WheelsOn(c)  Duration(d) RESOURCE: WheelStations(1) ) Action (Inspect(c), PRECOND: EngineIn(c)  WheelsOn(c)  Chassis(c) EFFECT: Done(c)  Duration(10) RESOURCE: Inspectors(1) )

12 Exemplo: Montagem de Dois Carros EngineHoist(1) WheelStations(1) Inspectors(2) AddEngine 1AddEngine 2 AddWheels 1 AddWhls 2 Inspect 2 Inspect Complexidade: problema NP-hard

13 CIn-UFPE 13 Planejamento Hierárquico

14 CIn-UFPE 14 Decomposição Hierárquica nBenefício de uma estrutura hierárquica A cada nível a quantidade de tarefas é pequena comparada com o todo –Ex. planejamento militar e administrativo nDe fato... Instruções detalhadas provocam explosão combinatória –Ex. “Avançar(1 m), Girar(40°),...” nEmbora... instruções abstratas não são diretamente implementáveis no mundo real. –Ex. Go(Supermarket), Buy(Milk), Build(House)

15 CIn-UFPE 15 Planejamento Hierárquico nHierarchical Task Network (HTN) Planning Planejar refinando um plano inicial completo apenas com decomposição hierárquica de operadores abstratos nOperadores Primitivos: diretamente executáveis Abstratos: não primitivos nPlan library Contém várias decomposições de ações abstratas em menos abstratas ou mesmo planos inteiros pré- concebidos Cada ação abstrata tem pré-condições e efeitos que são comuns a todas as instanciações dela

16 Exemplo de decomposição hierárquica BuildHouse Get Permit Hire Builder Pay Builder Construction Decomposes to Finish house Start land money Build Frame Build Roof Build Walls Build Interior Build Foundation Decomposes to

17 CIn-UFPE 17 Planejamento Hierárquico nPlanejamento hierárquico híbrido Na prática, se mistura operadores de decomposição (HTN) com outros operadores padrão (POP) nComo implementa? nEstendendo STRIPS Decomposição de operadores abstratos –c/ indicação de quem são ou não os operadores abstratos nRedefinindo POP Como decompor operadores não primitivos

18 CIn-UFPE 18 nOperador Decompose() Ex. Decompose(Contruction, Plan(STEPS:{S 1 :Build(Foundation),S 2 :Build(Frame), S 3 : Build(Roof), S 4 :Build(Walls), S 5 : Build(Interior)} Orderings:{S 1

19 CIn-UFPE 19 Planejamento Hierárquico nAlgoritmo Construir POP inicial ao maior nível de abstração Recursivamente decompor ações abstratas até POP final conter apenas de operadores primitivos (que podem ser executados pelo agente) Resolver ameaças e verificar consistência global do POP final e nObs Não há necessariamente uma estratégia de escolha entre decompor um não primitivo ou resolver pré-condição aberta O plano P é uma solução igual ao POP mas com teste adicional para garantir que todo passo de P é primitivo

20 CIn-UFPE 20 Planejamento Hierárquico nDecomposição d’ para a ação a’ Igual a uma cirurgia de transplante: tudo tem de ficar conectado! Pré-condições e efeitos adicionais podem aparecer com a decomposição (ex. GetLoan) Obs.: Não há especificação de duração dos passos de d’ nTarefa realizada em 3 fases...

21 CIn-UFPE 21 Planejamento Hierárquico nFase 1: Substituir a’ por d’ Remover a’ –ex. BuildHouse Inserir cada passo de d’ Transcrever restrições internas à d’ –ex. GetPermit antes Contruction Introduzir novos passos quando for o caso –ex. GetLoan Ou, eventualmente, reutilizar um passo já existente (chamado de compartilhamento) –ex. GetLoan poderia ser compartilhado por BuildHouse e MakeWine, para uma fazenda. Senão poderia até estar dentro da decomposição

22 Planejamento Hierárquico BuildHouse Get Permit Hire Builder Pay Builder Construction Decomposes to Finish house Start land Start Buy Land Get Loan Finish house land Buy Land a’ d’

23 CIn-UFPE 23 Balanço nFase 2: Transcrever as restrições de ordenamento Dado um passo qualquer B a’), como ele fica em relação à d’? –solução 1: B antes (ou depois) de todos os passos de d’ => muito restritivo, pois BuyLand não precisa vir antes de HireBuilder –solução 2: gravar as razões de um ordenamento de forma a poder relaxá-lo onde ele não for necessário nFase 3: Ligações causais Se B p a’, troque ela por um conjunto de ligações para todos os passo de d’ contendo a pré-condição p –Ex.BuyLand land BuildHouse, é substituído por BuyLand land Permit Idem para as ligações causais do tipo a’ p C

24 CIn-UFPE 24 Balanço nVantagens de Sub-POPs independentes: espaço de busca reduzido conhecimento composicional uso e reuso de sub-POPs pré-planejados nObservações Enquanto ações primitivas são pontuais, as não-primitivas podem interagir no tempo e merecem atenção

25 CIn-UFPE 25 Algumas Aplicações

26 CIn-UFPE 26 Aplicações Industriais (Job Shop) nSistema Tosca na Hitachi planejamento mensal para 350 produtos diferentes, 35 máquinas de montagem, mais de 2000 operações menor engajamento (ex. classe de máquina a ser usada) nSistema Isis na Westinghouse milhares de lâminas de turbinas e várias máquinas de montagem o tempo atribuído depende da prioridade do pedido menor engajamento, planejamento hierárquico

27 CIn-UFPE 27 Aplicações Industriais (Job Shop) nSistema Optimun-AIV Montagem, integração e verificação de aeronaves Gera planos, monitora execução (feita por seres humanos) e replaneja rapidamente Melhor que Pesquisa Operacional para problemas complexos pois pode replanejar automaticamente Implementado com O-Plan (Currie & Tate 91) que estende POP-Strips (+ tempo, recursos e hierarquia)


Carregar ppt "CIn-UFPE 1 Estendendo o Planejamento Clássico para Aplicações do Mundo Real Tempo, prazos e recursos Planejamento hierárquico."

Apresentações semelhantes


Anúncios Google