60 likes | 163 Views
Geração de planos alto nível em tempo de execução. Tácio Silva Diogo. Idéia inicial Usar o JPlan como implementação do algorítmo Graphplan. Utilizar o SMA JADEX para a criação e execução de agentes BDI. Integrar essas tecnologias e testar o funcionamento em uma aplicação exemplo.
E N D
Geração de planos alto nível em tempo de execução. Tácio Silva Diogo
Idéia inicial • Usar o JPlan como implementação do algorítmo Graphplan. • Utilizar o SMA JADEX para a criação e execução de agentes BDI. • Integrar essas tecnologias e testar o funcionamento em uma aplicação exemplo. • O que mudou • O Planejador adotado será o PL-Plan (http://plplan.philippe-fournier-viger.com/) • Motivo • JPlan não tinha documentação; • Falta de exemplos; • Só funciona através de arquivos.
PL-Plan • É um planejador baseado no algorítmo de planejamento Graphplan. Oferece suporte para outros algorítmos. • Graphplan • Algorítmo de planejamento que recebe como entrada um problema STRIPS e gera como saída uma série de operações que visam alcançar um determinado objetivo. • STRIPS (Stanford Research Institute Problem Solver) • Formato: • Estado inicial • Estado objetivo • Ações • Pré-Condição • Pós-Condição
PLPlan planner = new PLPlan(); // Fatos (Estado inicial)planner.addFact("ta"); planner.addFact("oba"); planner.addFact(“nb”); List<String> precond = new ArrayList<String>();precond.add("nb"); precond.add("oba"); List<String> neg = new ArrayList<String>();neg.add("oba"); List<String> pos = new ArrayList<String>();pos.add("tb"); pos.add("na");planner.addOperator("uBA",precond, neg, pos); precond = new ArrayList<String>();precond.add("na"); precond.add("tb"); precond.add(“nb");neg = new ArrayList<String>();neg.add(“ta"); neg.add(“nb");pos = new ArrayList<String>();pos.add("oab");planner.addOperator(“sAB", precond, neg, pos); List resultats = planner.findPlan(); // Objetivo //(oab, tb, na)planner.addGoalFact(“oab"); planner.addGoalFact(“tb"); planner.addGoalFact(“na"); B A A B Solução: [uBA, sAB]
Processo de transformação e geração de plano Goal (Jadex) Beliefs (Jadex) Transformação Problema (STRIPS) Transformação PL-Plan Graphplan Conjunto de Ações Plan (Jadex)
Aplicação: Labirinto • Elementos: • Portas • Corredores • Terminais { Inicial, Final } Terminal inicial Terminal final