Estendendo o Planejamento Cl - PowerPoint PPT Presentation

About This Presentation
Title:

Estendendo o Planejamento Cl

Description:

Estendendo o Planejamento Cl ssico para Aplica es do Mundo Real Tempo, prazos e recursos Planejamento hier rquico * – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 28
Provided by: Mass130
Category:

less

Transcript and Presenter's Notes

Title: Estendendo o Planejamento Cl


1
Estendendo o PlanejamentoClássico para
Aplicações do Mundo Real
  • Tempo, prazos e recursos
  • Planejamento hierárquico

2
Além da sintaxe... outras limitações de POP-STRIPS
  • O tempo não é levado em conta
  • Diz o que, mas não quando nem por quanto
    tempo
  • A limitação dos recursos não é considerada
  • Não custa nada agir (ex orçamento, pessoas)
  • Planos não são hierárquicos
  • Planejamento a um único nível de granularidade
  • Pré-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
Planejando com Tempo, Prazos e Recursos
4
Tempo e Prazos
  • Job 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
  • Exemplo de Job Shop Problem
  • 2 tarefas (jobs) montar dois carros C1 e C2
  • Ações colocar motor, colocar rodas, inspecionar
  • Ordem motor antes das rodas e inspecionar no
    final
  • Como lidar com isto?

5
Tempo e Prazos
  • Acrescentar Duration(d) para ações em STRIPS
  • Exemplo...
  • Init (Chassis(C1) ? Chassis (C2) ?
    Engine(E1,C1,30) ? Engine(E2,C2,60) ?
    Wheels(W1,C1,30) ? Wheels(W2,C2,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
Tempo e Prazos
  • Procedimento 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
  • Solução Encontrada pelo POP normal

7
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

8
Plano
9
Restrição de Recursos
  • Problemas 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
  • Como resolver?
  • Soluçã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) gt 100) Effect EngineIn(c) ?
    Duration(d) ? Money(g-100))

10
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

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)
AddEngine 1
AddEngine 2
AddWheels 1
AddWhls 2
Inspectors(2)
Inspect 1
WheelStations(1)
Inspect 2
30
60
105
115
90
70
0
Complexidade problema NP-hard
13
Planejamento Hierárquico
14
Decomposição Hierárquica
  • 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)

15
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

16
Exemplo de decomposição hierárquica
BuildHouse
17
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 STRIPS
  • Decomposição de operadores abstratos
  • c/ indicação de quem são ou não os operadores
    abstratos
  • Redefinindo POP
  • Como decompor operadores não primitivos

18
Exemplo de Decompose(o,p)
  • Operador Decompose()
  • Ex. Decompose(Contruction,
  • Plan(STEPSS1Build(Foundation),S2Build(Fr
    ame),
  • S3 Build(Roof), S4Build(Walls),
  • S5 Build(Interior)
  • OrderingsS1ltS2ltS3ltS5, S2ltS4ltS5,
  • Bindings,
  • LinksS1 Foundation S2, S2 Frame S3, S2 Frame
    S4,
  • S3 Roof S5, S4 Walls S5))

19
Planejamento Hierárquico
  • Algoritmo
  • 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
  • Obs
  • 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
Planejamento Hierárquico
  • Decomposiçã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
  • Tarefa realizada em 3 fases...

21
Planejamento Hierárquico
  • 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 poderia ser compartilhado por
    BuildHouse e MakeWine, para uma fazenda. Senão
    poderia até estar dentro da decomposição

22
Planejamento Hierárquico
a
house
land
BuildHouse
Start
Buy Land
Finish
Decomposes to
d
Get Permit
land
Buy Land
house
Pay Builder
Construction
Finish
Get Loan
Hire Builder
Start
23
Balanço
  • Fase 2 Transcrever as restrições de ordenamento
  • Dado um passo qualquer B lt a (ou B gt a), como
    ele fica em relação à d?
  • solução 1 B antes (ou depois) de todos os passos
    de d gt 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
  • 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

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

25
Algumas Aplicações
26
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

27
Aplicações Industriais (Job Shop)
  • 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)
Write a Comment
User Comments (0)
About PowerShow.com