Você está na página 1de 3

UTFPR - CURITIBA

SISTEMAS INTELIGENTES 1 (PROFS. MYRIAM E TACLA)


1. SEMESTRE DE 2015

TAREFA DE BUSCA: A* E LRTA*


1 PROBLEMA
O objetivo do trabalho construir um rob salvador que seja capaz de planejar (e executar) um caminho
at um rob refm amigo que se encontra nas mos de 4 robs inimigos dispostos aleatoriamente
no campo. Os robs inimigos e amigos ficam estticos. O nico que se mexe o salvador.

1.1 Estado inicial


Inicialmente, o rob salvador est num extremo do campo e o refm, no outro. Os robs inimigos e
amigos esto dispostos aleatoriamente no campo e no se mexem conforme figura seguinte.

90

Figura 1: campo de jogo com robs amigos (quadrados rosas) e inimigos (quadrados amarelos) posicionados
aleatoriamente. Eixo X cresce da esq. dir; Eixo y cresce de baixo cima; ngulos so dados no sentido horrio
para ambos os times. Cada rob ocupa 36X36 pixels.

1.2 A*
Implemente o algoritmo A* de forma que o salvador possa percorrer o caminho timo at o refm
minimizando o caminho percorrido sem bater nos outros robs. obrigatrio estabelecer uma rea de
segurana em torno dos inimigos para o salvador no se aproximar dos inimigos. A rea de segurana
deve ser estabelecida de forma que o caminho timo no seja uma linha quase direta entre o salvador e
refm. Deve ser facilmente reconfigurvel para que possibilitar o teste de reas de segurana de
diferentes tamanhos.

1.3 LRTA*
Implemente o algoritmo LRTA* de forma que o salvador possa percorrer o caminho at o rob refm sem
bater nos outros robs. Execute o algoritmo vrias vezes de forma que o algoritmo aprenda o caminho
timo.

1.4 QUESTIONRIO
1)

Formule o problema para solucion-lo com o algoritmo A*. Faa a formulao utilizando linguagem
lgico-matemtica sempre que possvel para reduzir ambiguidades. Utilize linguagem natural para
explicar significado de variveis e inteno de uma representao que porventura julgue difcil de ser
formalizada. Defina/explique/responda (2 pontos):
a)
b)
c)
d)
e)
f)

o que e como representa um estado do ambiente?


como discretizou o campo de jogo?
quais aes o agente salvador capaz de realizar no campo discretizado?
qual o estado inicial e o estado objetivo?
a funo sucessora f:(s,a) s
custo das aes c(s, a, s) para todas triplas <s, a, s>

2)

Qual o tamanho do espao de estados no A*? Explique como calculou. (1 ponto)

3)

Se tivesse utilizado uma discretizao mais fina no A* - se usou discretizao de 1 x 1 pixel, faa o
exerccio no sentido contrrio, i.e. se tivesse utilizado uma discretizao mais grosseira (2 pontos):
a) como isto se refletiria no tamanho do espao de estados e
b) no custo da soluo tima obtida pelo A*? Exemplifique.
c) em relao ao custo real da soluo tima (calcule utilizando geometria bsica).

4)

Qual a heurstica utilizada no A* e no LRTA*? Mostre que as heursticas utilizadas so admissveis e


consistentes. (1,5 ponto)

5)

Compare os algoritmos A* e LRTA* quanto ao conhecimento inicial necessrio ao agente (quais so


as diferenas das entradas para os algoritmos?) (1 ponto)

6)

Compare os resultados obtidos para A* contra LRTA*:


a) Defina um ambiente a ser explorado. Utilize sempre este ambiente nos passos seguintes.
b) Execute o A* para este ambiente e guarde o valor de custo da soluo obtido.
c) Execute 50 vezes o LRTA*.
d) Compare o custo obtido de cada execuo do LRTA* com o do A*.
i) Mostre os resultados em uma tabela com 50 linhas e 3 colunas: custo LRTA* x Custo A* x
Razo Competitividade (logicamente, a coluna Custo A* ter sempre o mesmo valor) (2
pontos)
ii) e num grfico que mostre a razo de competividade por execuo do LRTA* (0,5 ponto)

Razo de competitividadei = custo LRTA*i/custo A*.


!!! BNUS !!! Discretizaes do campo de jogo que no sejam quadrangulares (ex. triangulares ou
hexagonais) tero um bnus de 1 ponto na nota da tarefa - dicas sobre como construir grids:
http://www-cs-students.stanford.edu/~amitp/game-programming/grids/

2 EQUIPES E ENTREGA
a)
b)
c)

2.1.1

Apresentao

Ser feita em sala ao professor e aos colegas. Umaoutra equipe ser selecionada para fazer
perguntas juntamente com o professor.
Os alunos devero dizer quem foi responsvel por qual parte do projeto.
Os alunos devero defender a modelagem bem como explicar o projeto, desenvolvimento,
implementao e funcionamento do cdigo.

2.1.2

Equipes de no mximo e preferencialmente de 2 alunos;


Carregar no moodle os cdigos implementados (cdigos corrompidos so considerados no
implementados);
Carregar um PDF com as respostas do questionrio (1.4).

Avaliao

Pr-requisito: se o cdigo carregado no moodle for incompatvel com as respostas do questionrio,


a tarefa receber nota zero (cdigos corrompidos so considerados no entregues). Por exemplo,
caso no implemente o LRTA* questes 5 e 6 sero zeradas.
A nota da equipe ser dada pelas respostas no questionrio.
A apresentao poder diminuir individualmente a nota caso o aluno/a no consiga apresentar ou
responder satisfatoriamente as perguntas do professor e dos colegas.

Bnus: discretizaes no quadrangulares do campo de jogo tero bonificao de 1 ponto na nota


da tarefa.

3 IMPLEMENTAO
3.1 RoboRescue
A implementao deve ser feita na plataforma RoboRescue. Logar no moodle e acessar o link abaixo
para ver instrues de instalao e uso ou procure Instalar RoboRescue. Abrir o projeto
roborescue.exemplos e reutilizar as classes abaixo:

TimeTarBuscaATeamEnv.java
TimeTarBuscaBTeamEnv.java

PLATAFORMA PARA DESENVOLVIMENTO DA TAREFA DISPONVEL EM

http://moodle.dainf.ct.utfpr.edu.br/mod/folder/view.php?id=9393

3.2 INFORMAES TEIS


Tamanho do rob: 36 x 36 pixels. Isto foi corrigido na verso Robocode 1.8.3.0, verses anteriores
retornam um tamanho de 40 x 40 pixels.
Tamanho do campo: 2.427 x 1.500 pixels (width x height)