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

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

Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento com Tempo, Prazos e Recursos Planejamento Hierárquico.

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento com Tempo, Prazos e Recursos Planejamento Hierárquico."— Transcrição da apresentação:

1 Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento com Tempo, Prazos e Recursos Planejamento Hierárquico

2 Relembrando STRIPS Algoritmo Conjunto de Operadores Estado Atual...... Op(ACTION: PutOn(b, x, y), PRECOND: On(b, x) ^ Clear(b) ^ Clear(y), EFFECT: On(b, y) ^ Clear(x) ^  On(b, x) ^  Clear(y)) On(A,Table) On(B,Table) On(C,Table) Clear(A) Clear(B) Clear(C) On(A,B) On(B,C) On(C,Table) Clear(A) On(A,Table) On(B,Table) On(C,Table) Clear(A) Clear(B) Clear(C) PutOn(B, Table, C) PutOn(A, Table, B) On(B,C) Clear(Table) On(A,B)

3 Relembrando POP Start Finish At(Home)Have(Milk)Have(Ban.)Have(Drill) Buy(Ban.)At(SM)Sells(SM,Ban.)Buy(Milk)At(SM)Sells(SM,Milk) Go(SM)At(HWS) Go(HWS) At(Home) Buy(Drill) At(HWS), Sells(HWS,Drill) Go(Home)At(SM)

4 Relembrando POP

5 Limitações POP-STRIPS O tempo não é levado em conta –Diz “o que”, mas não “quando” nem “por quanto tempo” –“O modelo de planejamento temporal deve ser baseado numa abordagem de intervalo explicito, o qual permita a representação de referências temporais quantitativas e qualitativas, assim como relações entre eles”. I IfIf IiIi a Duração = I f - I i

6 Limitações POP-STRIPS A limitação dos recursos não é considerada –Não custa nada agir (ex: orçamento, pessoas) »Os recursos de uma brigada de incêndio, assim como a própria brigada, são limitados –Plano de viagem X orçamento

7 Limitações POP-STRIPS Pré-condições e efeitos são muito limitados –Os operadores são essencialmente proposicionais »ex: sem quantificador universal nos efeitos, não se pode dizer que os componentes de uma esquadrilha atacam juntos Attack(target) Identified(target), available(esq)  p Plane(p)  p  esq  Attack(p,target)

8 Limitações POP-STRIPS Planos não são hierárquicos –Planejamento em um único nível de granularidade

9 Limitações POP-STRIPS -Operadores de baixo nível: - Mover - Girar - Zoom câmera - Identificar cadáveres

10 Tempo e Prazos Job Shop Scheduling –Completar conjunto de tarefas (jobs) –Cada tarefa é composto por uma 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 Exemplo 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 Como lidar com isto?

11 Tempo e Prazos Acrescentar Duration(d) para ações em STRIPS Exemplo... –Init (Car(C 1 )  Car(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)  Car(c)   EngineIn(c), Effect: EngineIn(c)  Duration(d)) –Action (AddWheels(w,c), Precond: Wheels(w,c,d)  Car(c) Effect: WheelsOn(c)  Duration(d)) –Action (Inspect(c), Precond: EngineIn(c)  WheelsOn(c)  Car(c) Effect: Done(c)  Duration(10))

12 Tempo e Prazos Procedimento: “planejar antes e escalonar depois” –Rodar POP normalmente e depois escalonar ações (caminho mais rápido) –Abordagem usada na prática, sobretudo porque o plano pode ser fornecido por um especialista Solução encontrada pelo POP “normal”

13 Tempo e Prazos Mé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

14 Tempo e Prazos [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 Caminho crítico

15 Restrição de Recursos Problemas reais de escalonamento são ainda mais complexos devido a restrições sobre recursos –Recursos Consumíveis ( Consumable resources ) - ex. dinheiro –Recursos Reutilizáveis ( Reusable resources ) - ex. um único guindaste para levantar o motor t Full QfQf t 2 1 extinguish(  1, F 1, t 2 ) extinguish(  2, F 2, t 4 ) extinguish(  1, F 2, t 5 ) QWQW Reusable resourceConsumable resource extinguish(  1, F 1, t 2 ) consume extinguish(  1, F 2, t 5 ) consume produce refill(  1,q x, t x ) qxqx

16 Restrição de Recursos Solução para recursos consumíveis –adicionar precondições e efeitos –Action (AddEngine(e,c), Precond: Engine (e,c,d)  Car(c)   EngineIn(c)  ( Money(g) > 100) Effect: EngineIn(c)  Duration(d)  Money(g-100))

17 Restrição de Recursos Soluçã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) Voltando ao exemplo... –1 guindaste, um macaco mecânico e 1 inspetor disponível

18 Exemplo: Montagem de Dois Carros Init (Car(C1)  Car(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)  Car(c)   EngineIn(c) EFFECT: EngineIn(c)  Duration(d) RESOURCE: EngineHoist(1) ) Action (AddWheels(w, c), PRECOND: Wheels(w, c, d)  Car(c) EFFECT: WheelsOn(c)  Duration(d) RESOURCE: WheelStations(1) ) Action (Inspect(c), PRECOND: EngineIn(c)  WheelsOn(c)  Car(c) EFFECT: Done(c)  Duration(10) RESOURCE: Inspectors(1) )

19 Exemplo: Montagem de Dois Carros EngineHoist(1) WheelStations(1) Inspectors(2) 3060105115 0 AddEngine 1AddEngine 2 AddWheels 1 AddWhls 2 Inspect 2 Inspect 1 9070

20 Recursos Reusáveis Heurística mais usada: Minimum Slack Algorithm (greedy) 1.A cada interação, identifica as ações não escalonadas cujos predecessores já foram todos escalonados... 2.Escalona a com menor brecha/folga (slack) 3.Atualiza ES e LS das ações, e recomeça Slack = LS - ES LS ES LS ES Slack t extra Slack’ = Slack - t extra

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

22 Planejamento Hierárquico Hierarchical Task Network (HTN) Planning –Planejar refinando um plano inicial completo apenas com decomposição hierárquica de operadores abstratos Operadores –Primitivos: diretamente executáveis –Abstratos: não primitivos Plan 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

23 Planejamento Hierárquico

24 Planejamento hierárquico híbrido –Na prática, se mistura operadores de decomposição (HTN) com outros operadores padrão (POP) Como implementa? Estendendo/Redefinindo POP –Decomposição de operadores abstratos »c/ indicação de quem são ou não os operadores abstratos –Como decompor operadores não primitivos

25 Planejamento Hierárquico Planejamento hierárquico híbrido –Na prática, se mistura operadores de decomposição (HTN) com outros operadores padrão (POP) Como implementa? Estendendo/Redefinindo POP –Decomposição de operadores abstratos »c/ indicação de quem são ou não os operadores abstratos –Como decompor operadores não primitivos

26 Planejamento Hierárquico Operador Decompose( )

27 Planejamento Hierárquico Algoritmo –Construir POP inicial ao maior nível de abstração –Recursivamente decompor ações abstratas até POP final conter apenas operadores primitivos (que podem ser executados pelo agente) –Resolver ameaças e verificar consistência global do POP final Obs –Deve-se garantir que todo passo de um plano final P é primitivo Decomposição d’ para a ação a’ –Tarefa realizada em 3 fases...

28 Planejamento Hierárquico

29 Fase 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

30 Planejamento Hierárquico Fase 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: menor engajamento Fase 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

31 Planejamento Hierárquico Vantagens de Sub-POPs independentes: –espaço de busca reduzido –conhecimento composicional –uso e reuso de sub-POPs pré-planejado

32 Aplicações Industriais (Job Shop) Sistema 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) Sistema 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

33 Aplicações Espaciais Sistema 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 "Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento com Tempo, Prazos e Recursos Planejamento Hierárquico."

Apresentações semelhantes


Anúncios Google