geração de planos alto nível em tempo de execução. tácio silva diogo

6
Geração de planos alto nível em tempo de execução. Tácio Silva Diogo

Upload: gloriann-stevens

Post on 01-Jan-2016

15 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Geração de planos alto nível em tempo de execução. Tácio Silva Diogo

Geração de planos alto nível em tempo de execução.

Tácio Silva Diogo

Page 2: 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.

Page 3: Geração de planos alto nível em tempo de execução. Tácio Silva Diogo

PL-PlanÉ um planejador baseado no algorítmo de planejamento Graphplan. Oferece suporte para outros algorítmos.

GraphplanAlgorí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

Page 4: Geração de planos alto nível em tempo de execução. Tácio Silva Diogo

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");

Solução: [uBA, sAB]

A

B A

B

Page 5: Geração de planos alto nível em tempo de execução. Tácio Silva Diogo

Processo de transformação e geração de plano

Goal (Jadex)

Problema (STRIPS)

Transformação

Beliefs (Jadex)

Transformação

PL-Plan

Graphplan

Conjunto de Ações

Plan (Jadex)

Page 6: Geração de planos alto nível em tempo de execução. Tácio Silva Diogo

Aplicação: Labirinto

Elementos:• Portas• Corredores

• Terminais { Inicial, Final }

Terminal inicial

Terminal final