Вы находитесь на странице: 1из 41

Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Algoritmos
Time-Bounded A*
Real-Time Bounded A*
Time-Bounded Adaptive A*
Learning Real-Time A*
Real-Time Adaptive A*

Ulisses Rodrigues Afonseca 1


Marcos Fagundes Caetano 1

Departamento de Computacao
Universidade de Braslia

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


11 de maio de 2012
Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Conteudo

1 Introducao
Algoritmo A*
Limitacoes do A* e suas solucoes
2 Game Time Model
3 Algoritmo Time-Bounded A*
4 Algoritmo Real-Time Bounded A*
5 Algoritmo Time Bounded Adaptive A*
6 RTAA - Real-Time Adaptive A*
LRTA e RTAA, o que muda?
7 Conclusao

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Conteudo

1 Introducao
Algoritmo A*
Limitacoes do A* e suas solucoes
2 Game Time Model
3 Algoritmo Time-Bounded A*
4 Algoritmo Real-Time Bounded A*
5 Algoritmo Time Bounded Adaptive A*
6 RTAA - Real-Time Adaptive A*
LRTA e RTAA, o que muda?
7 Conclusao

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Algoritmo A*

Algoritmo A*

A*
Busca heurstica que avalia os nos a partir da combinacao do custo
de chegar ao no e o custo do no ao objetivo.

Apresentado por Hart el all em 1968 no artigo A formal basis


for the heuristic determination of minimum cost paths;
E uma busca best-first search;
E otimo (resultado);

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Algoritmo A*

Algoritmo A*

Avaliacao de custo
f (n) = g (n) + h(n)

Onde:
f (n) e o custo estimado da solucao mais barata atraves de n;
g (n) fornece o custo do caminho do no inicial ao no n;
h(n) e o custo estimado do caminho mais barato de r ate o
objetivo.

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Algoritmo A*

Exemplo de aplicacao do Algoritmo A*

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Limitacoes do A* e suas solucoes

Limitacoes do Algoritmo A*

O algoritmo A* realiza a busca. Posteriormente o caminho e


utilizado para realizar a navegacao. O tempo de execucao do
algoritmo depende do do tamanho da arvore de busca. Assim,
Nao pode ser utilizado em ambientes de tempo real;
Nao permite que a busca e a navegacao sejam realizados
paralelamente;
Nao permite que o custo varie com o tempo;
O ambiente deve ser conhecido totalmente;
Nao e possvel utilizar valores localizados.

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Limitacoes do A* e suas solucoes

Variacoes do Algoritmo A*

Tabela: Variacoes do Algoritmo A*


Algoritmo Real-time Ambiente Multiplos h h
desconhecido destinos variavel decrescente
Adaptative A* nao nao sim sim nao
Real-time AA* sim nao sim sim nao
D* sim sim nao nao nao
Focused D* sim sim nao sim ?
Path-Adaptive A* nao sim nao sim nao
Tree-Adaptive A* sim sim nao sim ?
Lifelong Planning A* ? sim nao sim ?
Anytime Dynamic A* sim sim ? ? ?

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Conteudo

1 Introducao
Algoritmo A*
Limitacoes do A* e suas solucoes
2 Game Time Model
3 Algoritmo Time-Bounded A*
4 Algoritmo Real-Time Bounded A*
5 Algoritmo Time Bounded Adaptive A*
6 RTAA - Real-Time Adaptive A*
LRTA e RTAA, o que muda?
7 Conclusao

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Game Time Model

Caractersticas:
Tempo e particionado em intervalos uniformes
Agente pode executar um movimento durante cada slot de
tempo
Busca e Movimentacao podem ser realizados em paralelo
Objetivo: mover o agente da posicao inicial para o objetivo no
menor numero de intervalos

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Game Time Model

Jogos
Ciclos de jogos de alguns milisegundos
Cada personagem executa um movimento ao final de cada
ciclo
Aparencia de continuidade

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Game Time Model e Algoritmo A*

Algoritmo A* nao e adequado para este modelo, pois


necessita de um tempo longo para realizar busca e depois
movimentacao, i.e:
Necessario alguns intervalos de tempo para encontrar o
caminho de menor custo;
Implica em um atraso para o incio do movimento;
Aumenta o tempo para chegar ao destino;
Sem paralelismo na busca e movimento.

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Conteudo

1 Introducao
Algoritmo A*
Limitacoes do A* e suas solucoes
2 Game Time Model
3 Algoritmo Time-Bounded A*
4 Algoritmo Real-Time Bounded A*
5 Algoritmo Time Bounded Adaptive A*
6 RTAA - Real-Time Adaptive A*
LRTA e RTAA, o que muda?
7 Conclusao

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Notacao

Busca:
(S, A): grafo nao orientado onde S sao estados e A sao arestas
Succ(s) = {t|(s, t) A}: sucessores de s S (vizinhos)
c : A 7 R+ : funcao de custo que associa um custo a cada
aresta
sstart S: estado inicial
sgoal S: estado objetivo
Utilizacao da Distancia de Manhattan

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Notacao
A*:
OPEN: lista de prioridades de estados
g (s): custo de sstart ate s atual
h(s): valor aproximado do custo de s ate sgoal
f (s) = g (s) + h(s)
parent(s): aponta para o pai de s na areade de busca
sroot : raiz da arvore de busca ou sstart
H(s): user-provided h value
h value consistende bi-implica que h(sgoal ) = 0 e
h(s) c(s, t) + h(t) para todos os estados s S e
t Succ(s)

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Ideia

Tempo real: realiza uma ou varias buscas A* limitadas por


intervalo de tempo;
Uso da grade com quatro vizinhos e celulas bloqueadas e
desbloqueadas;
Ao final de cada intervalo de tempo, um movimento e
executado de scurrent para sbest OPEN com o menor valor
de f .

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

TBA*: Time-Bounded A*

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

TBA*: Time-Bounded A*

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

TBA*: Time-Bounded A*

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

TBA*: Time-Bounded A*

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Conteudo

1 Introducao
Algoritmo A*
Limitacoes do A* e suas solucoes
2 Game Time Model
3 Algoritmo Time-Bounded A*
4 Algoritmo Real-Time Bounded A*
5 Algoritmo Time Bounded Adaptive A*
6 RTAA - Real-Time Adaptive A*
LRTA e RTAA, o que muda?
7 Conclusao

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Ideia geral

Agente conhece apenas origem e destino e nao conhece os


bloqueados;
Sempre olha o estado de seus vizinhos (C,B,D,E);
Para as celulas bloqueadas: a) ele adiciona 1 para todos os
caminhos dele para o vizinho (nao bloqueado) e b) infinito das
celulas que chegam ao bloqueado;
Executa o TBA* sempre que os valores mudam;

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

RTBA*: Real Time-Bounded A*

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

RTBA*: Real Time-Bounded A*

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Conteudo

1 Introducao
Algoritmo A*
Limitacoes do A* e suas solucoes
2 Game Time Model
3 Algoritmo Time-Bounded A*
4 Algoritmo Real-Time Bounded A*
5 Algoritmo Time Bounded Adaptive A*
6 RTAA - Real-Time Adaptive A*
LRTA e RTAA, o que muda?
7 Conclusao

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Motivacao e Proposta
Motivacao:
No RTBA, a cada nova busca, todas as informacoes de buscas
anteriores sao perdidas.
Porem, algoritmo de tempo real atualizam o valor de h.
Solucao proposta:
TBAA* trabalha de forma semelhanta ao RTBA* porem
atualia o h value das celulas de forma semelhante ao que
acontece com AA* e RTAA*.
A cada vez que TBAA* inicia um nova busca, ele ataliza o
h value de todos os estados gerados por buscas anteriores
atribuindo h(s) := f (sbbest ) g (s)
Atualizacao acontece quando o h-value e necessario pela
busca atual pela primeira vez (para evitar a computacao do
que nao sera necessario posteriormente).
Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB
Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

TBAA*: Time-Bounded Adaptive A*

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

TBAA*: Time-Bounded Adaptive A*

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

TBAA*: Time-Bounded Adaptive A*

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

TBAA*: Time-Bounded Adaptive A*

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Conteudo

1 Introducao
Algoritmo A*
Limitacoes do A* e suas solucoes
2 Game Time Model
3 Algoritmo Time-Bounded A*
4 Algoritmo Real-Time Bounded A*
5 Algoritmo Time Bounded Adaptive A*
6 RTAA - Real-Time Adaptive A*
LRTA e RTAA, o que muda?
7 Conclusao

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Motivacao

Algoritmo aplicado
em situacoes em
que o tempo gasto
em processamento
e crtico;
Aplicacoes de
tempo real;
Jogos: diversos
componentes
movimentam-se ao
mesmo tempo;

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

O que muda no algoritmo?


Assumindo que s e um estado que foi expandido durante a
pesquisa;
Uma estimativa razoavel da distancia objetivo (gd[s]) pode
ser calculada:
A distancia a partir do estado inicial Scurr para qualquer estado
de destino, passando pelo estado s e igual a distancia a partir
do estado de origem Scurr ate o estado s mais a distancia
objetivo gd[s], partindo do estado s;
Por trivialidade:

g [s] + gd[s] gd[scurr ]


gd[s] gd[scurr ] g [s]
gd[s] f [s ] g [s]
Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB
Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
ch. Introducaovariables
Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

its lookahead number of states to expand at most, an integer larger than zero
movements number of actions to execute at most, an integer larger than zero
curr scurr current state of the agent, a state [USER]
art c current action costs, a float for every state-action pair [USER]
rly Algoritmo RTAA
h current (consistent) heuristics, a float for every state [USER]
g g-values, a float for every state [A*]
ate CLOSED closed list of A* (= all expanded states), a set of states [A*]
he s state that A* was about to expand when it terminated, a state [A*]
of procedure realtime adaptive astar():
ch {01} while (scurr ! GOAL) do
{02} lookahead := any desired integer greater than zero;
(= {03} astar();
{04} if s = FAILURE then
{05} return FAILURE;
{06} for all s CLOSED do
{07} h[s] := g[s] + h[s] g[s];
{08} movements := any desired integer greater than zero;
{09} while (scurr != s AND movements > 0) do
{10} a := the action in A(scurr ) on the cost-minimal trajectory from scurr to s;
{11} scurr := succ(scurr , a);
{12} movements := movements 1;
he {13} for any desired number of times (including zero) do
re {14} increase any desired c[s, a] where s S and a A(s);
{15} if any increased c[s, a] is on the cost-minimal trajectory from s curr to s then
ng {16} break;
A* {17} return SUCCESS;
es.
m Figure 1: Real-Time Adaptive A*
en
ly Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB
ch AlgoritmosdueTime-Bounded
to an empty A* open list,Bounded
Real-Time in which case there isAdaptive
A* Time-Bounded no finite-cost tra-
A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

LRTA e RTAA, o que muda?

LRTA e RTAA, o que muda?

LRTA significa Learning Real-Time A*.


Diferenca basica: maneira como e feita a atualizacao da
heurstica apos uma consulta;
LRTA substitui cada estado expandido com a soma da
distancia a partir do estado gerado porem nao expandido s e a
heurstica do estado s, minimizando sobre todos os estados
gerados porem nao expandidos.

h0 [s] = min (c[s, a] + h0 [succ(s, a)]) (1)


aA(s)

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

LRTA e RTAA, o que muda?

Algoritmo RTAA: Informacoes Importantes

Algumas definicoes importantes para o entendimento do


funcionamento do algoritmo (exemplo):
os seguintes valores distribudos:
g[s]: canto-superior-esquerdo;
f[s]: canto-superior-direito;
h[s]: canto-inferior-esquerdo (antes de aplicar a heurstica);
h[s]: canto-interior-direito (depois de aplicar a heurstica);
os quadrados em preto encontram-se bloqueados para o
agente;

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
4 10 3 8 4 8 5 8 6 8 1 7 0 5 4 8 4 7 5 7
3 76
Introducao 6Game5 Time
4 Model
3 2Algoritmo Time-Bounded
5 4 3 A*
2 Figure
Algoritmo Real-Time Bounded A*3: Algoritmo
Example Time Bounded Adaptiv
6 5 4 4 3 2
3 8 2 6 3
3 6 8 7 8 2 7 1 5 3 3 7 9 6 7
5 4 3
3 2 1 3 35 4 3 3 2 1
5 4 3 3 2 1 2 9 3 9 4 9 5 9
LRTA e RTAA,
2 6 o 1que
4 muda?
0 2 1 1 8 8 3 7 2 5 3 5 1 1 7 7 8 7 6 5 4 8 7 6 5 4
start4 1 13 goal2
ve it 4 3 2 1 1 0 1 1 0
4 10 5 10 6 10 7 10 2 9 1 7 2 7 3 7 4 7
4 3 2 11 1 0
ture 7 6 5 4 3 7 6 5 4 3
y to
own
Exemplo - Lookahead = infinito Figure 4: Forward A* Searches
Figure 3: Example
4
6
10 3 8 4 8 5 8 6 8
5 4 3 2
1 7 0 5 4 8 4 7 5 7
6 5 4 3 2
n. If Figure 2: Total Annihilation 3 8 2 6 3 3 6 8 7 8 2 7 1 5 3 3 7 9 6 7
2 9 3 9 4 9 5 9
y is 8 7 6 5 4 8 72 9 63 9 4
5 9 5
4 9 5 4 3 3 2 1 5 4 3 3 2 1
hes 8 7 6 5 4 8 7 6 5 4 2 6 1 4 0 2 1 1 8 8 3 7 2 5 3 5 1 1 7 7
ten do not know the 10 5 in
4terrain 10 advance
6 10 7 10 but 2 9 1 7 2 7observe
automatically 3 7 4it 7 4 3 2 1 1 0 4 3 2 1 1 0
the 7 64 10 55 10 46 10 37 10 72 9 61 6 7 52 5 7 43 4 7 34 3 7
vail-within a certain 7 range 6 around 5
4 10 3 8 4 8 5 8 6 8
them
4 and
3 then 7 remember
6 5 it for4 future
1 7 0 5 4 8 4 7 5 7
3
t alluse. Figure 264 shows
10 53 an example. To make
58 44 48 35 38 26 28 61 7
these 7agents
6 50 5 44 8
easy to 2
4 34 7 25 7 Figure 4: Forward A* Searches
rch,control, the users
6 can 5 click 4 on some
3 8 2 6 3 3 6 8 7 8
3 2position6 in known
5 4or unknown
2 7 1 7 3 3 7 9 6 7
3 2

oodterrain and the53 agents


58 42 then 66 33 move
33 26 autonomously
8 17 18 52 5 7 61to this
5 33 position.
6 3 27 9 16If 1
3 7
2 9 3 9 4 9 5 9
5 4 3 execution
3 2 1that their
5 4 3trajectory
3 2 1is
rainthe agents observe during
2 6 1 4 0 2 1 1 8 8
current
3 9 2 9 1 1 7 7 8 7 6 5 4 8 7 6 5 4
ticeblocked, then 42they 66 need
31 74 to 20 search
82 11 11 for08 another
8 63 7 plan.
72 5 The
83 5 searches
11 1 1 07 7
4 10 5 10 6 10 7 10 2 9 1 7 2 7 3 7 4 7
ve itneed to be fast4 since3 the agents 2 1 1 0
need to move 4 3
smoothly 2
even 1 1 0
if the
ally 7 6 5 4 3 7 6 6 5 5 4 4 3 3
tureprocessor is slow, the other game components use most of the avail-
rat- = 4 10 3 8 4 8 5 8 6 8 1 7 0 5 4 8 4 7 5 7
y toable processor cyclesFigure andFigure 5: RTAA*
there are with
a large lookahead
number of agents that all
less 4: Forward A* Searches 6 5 5 4 4 3 3 2 2 6 6 5 7 4 4 3 2 2
ownhave to search repeatedly. Thus, there is a time limit per A* search,
as- 3 8 2 6 3 3 6 8 7 8 2 7 1 7 3 3 7 9 6 7
n. Ifwhich suggests that real-time heuristic search methods 2 9 3 are 9 4a good 9 5 9
e in, 72 9 63 9 54 9 45 9
5 5 4 6 3 3 2 1 1 5 5 6 6 3 3 2 1 1
y is 8 7 6 5 4 8
aisefit for our navigation
8 7 tasks. 6 To apply
5 4them, 8we discretize
7 6 the5terrain 4 2 6 1 4 0 2 1 1 8 8 3 9 2 9 1 1 7 7
hesinto cells that are either 4 10 5 10 6 10 7 10 2 9 1 7 2 7 3 7 4 7
blocked or unblocked, a common practice 4 6 3 7 2 8 1 1 0 6 7 8 1 1 0
ked 7 64 10 55 10 46 10 37 10 72 9 61 76 52 75 43 74 34 73
the
thein the context of7 real-time
6 5 computer
4 3games 7[1]. The 6 6agents
5 5 initially
4 4 3 3
vail-do not know which 4 10 3 8 4 8 5 8 6 8 1 7 0 5 4 8 4 7 5 7
cells are blocked but 61use78 a50 navigation 57 44 84 34 strat-
the 64 10 53 58 44 48 35 38 26 28 7 25 72
Figure 5: RTAA* with lookahead =
t all
goalegy from robotics 6 [8]:
5 They
5 4 4assume 3 3 2that2 cells 6 are6 5 unblocked
7 4 4 3 unless 2 2
rch,they have the 33cells 8 2 6 3 3 6 8 7 8 2 9 1 7 3 3 7 9 6 7
cell, 5 78 42already 66 33 observed
33 26 8 17 to18 be72 blocked
7 61 78 (freespace
33 33 27 9 as- 16 71
oodsumption). They 5 5always4 6 3 3 2which1 (unblocked) 1 5 5 6 cells 6 3 they
3 2 are in, 1 1 2 9 3 9 4 9 5 9
2 6 1 4 know 0 2 1 1 8 8 2 9 1 1 7 7 8 7 6 5 4 8 7 6 5 4
rainobserve the blockage
42 86 31 status74 20 82 of11 their
11 08 four
8 neighboring
83 9 72 9 8 cells, 11 07 7
11 raise
ticethe action costs of actions that enter the newly observed blocked
4 6 3 7 2 8 1 1 0 6 7 8 1 1 0 4 10 5 10 6 10 7 10 2 9 1 7 2 7 3 7 4 7
7 6 5 4 3 7 6 6 5 5 4 4 3 3
allycells, if any, from one to infinity, and then move to any one of the
own Figure 6:with
LRTA* = 4 10 3 8 4 8 5 8 6 8 1 7 0 5 4 8 4 7 5 7
rat-unblocked neighboring Figurecells5: RTAA* cost with
one. lookahead
with We therefore
lookahead = use the 6 5 5 4 4 3 3 2 2 6 8 5 7 4 4 3 2 2
ackManhattan distances as consistent heuristic estimates of the goal
less
3 8 2 6 3 3 6 8 7 8 2 9 1 7 3 3 7 9 6 7
the
as-distances. The task of
Ulisses Rodrigues the agentsMarcos
Afonseca is to move to the
Fagundes given
Caetanogoal cell, ComNet/CIC/UnB
2 9 3 9 4 9 5 9 5 7 4 6 3 3 2 1 1 7 6 8 3 3 2 1 1
enity
in,which weThe arrowstoshow
assume the planned trajectories
7 be possible.
8Time-Bounded 6 5A* Real-Time
4 8 7
from the current cell of
6 A*5 Time-Bounded
4 2 6 1 4A*0 Learning
2 1 1 8 Real-Time
8 2A*9 Real-Time
1 1 7Adaptive
7
AllAlgoritmosthe agent to the goal cell, which is in the Bounded
lower right corner. Cells Adaptive A
2 6 1 Real-Time
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo 4 0 2 1Bounded
1 1 7 2 9Time Bounded
A* Algoritmo 1 1 Adaptiv
4 6 3 7 2 8 1 1 0 6 7 8 1 1 0

LRTA e RTAA, o que muda? 2 9 1 7 2 7 3 7


8 7 6 5 4 8 7 6 5 4
2 9 1 7 2 7 1 7 0 5 1 5 2 5
Exemplo - RTAA* - Lookahead
7 =6 645 4 3 7 6 5 5 4 4 3 3
1 7 0 5 3 7 3 7 2 5 3 5
6 6 5 7 4 4 3 2 6 7 4 4 3 2 2

8 7 6 5 4 8 7 6 52 9 41 7 3 3 3 3 4 5
7 6 6 3 3 2 1 7 6 3 3 2 1
3 9 4 9
7 6 5 4 3 7 6 5 4 32 9 1 1 1 1
6 7 8 1 1 0 6 7 8 1 1 0
3 8 1 7 2 7 3 7 4 7
6 5 4 3 2 6 5 5 4 4 3 2
3 8 2 6 3 3 0 5 1 7 3 3 8 7 6 5 4
5 4 6 3 3 2 1 5 7 6 6 3 3 2 1
2 6 1 4 0 2 1 1 1 7 2 9 1 1 7 6 5 4 3
4 6 3 7 2 8 1 1 0 6 7 8 1 1 0 3 7 1 3
6 7 4 4 3 2
2 9 1 7 2 7 3 7
8 7 6 5 4 8 7 6 5 4 3 3 1 3 0 1
7 6 3 3 2 1 1
2 9 1 7 2 7 1 7 0 5 1 5 2 5
7 6 6 5 4 3 7 6 5 5 4 4 3 3 1 1 1 1
6 7 8 1 1 0
1 7 0 5 3 7 3 7 2 5 3 5
6 6 5 7 4 4 3 2 6 7 4 4 3 2 2
Figure 8: Test Ter
2 9 1 7 3 3 3 3 4 Figure
5 7: RTAA* with lookahead = 4
7 6 6 3 3 2 1 7 6 3 3 2 1
2 9 1 1 1 1
6 7 8 1 1 0 6 7 8 1 1 0 there is only one goal cell.1 All se
the same way. They differ onlyas priority
in thequeues
numberand of now break ti
cell expansi
Ulisses Rodrigues Afonseca Marcos Fagundes Caetano
8 7 6 5 4 which is larger for forwardf-values in favor
A* searches (23)of cellsfor
than with
ComNet/CIC/UnB larger
RTAA*
Algoritmos Time-Bounded A* Real-Time Bounded A* and larger forAdaptive
Time-Bounded RTAA* A*(20) athan
good
Learning fortie-breaking
LRTA*
Real-Time A* (19).strategy)
The first
Real-Time and reA
prop
Adaptive
89 Algoritmo
Introducao Game Time Model 166040.29 [2355.33] A* 2102.91
Time-Bounded 11324.72 Bounded
Algoritmo Real-Time [246.94] A*5.39 86883.98
Algoritmo [1077.54]
Time Bounded Adaptiv4
348072.76 [7021.57] 1791.19 5611.09 [80.43] 3.13 203645.42 [3782.37] 11
D* Lite
LRTA e RTAA, o que muda? 47458.83 [581.03] 1776.24 5637.46 [77.03] 3.17 37291.83 [378.20] 2
Forward A* Search
1857468.48 [68324.90] 1732.07 5354.26 [76.91] 3.09 544065.45 [21565.61] 31
Performance - RTAA* Backward A* Search
5245087.82 [93697.15] 1795.72 5535.05 [77.09] 3.08 1698163.04 [31051.10] 94

250000
total number of cell expansions = (b)
tal number of cell expan
trajectory cost = (d)
total search time = (f) proportional, as expected
200000 RTAA* with lookaheads
finity indeed increases th
the same lookaheads per
150000
ship to LRTA*. Conseq
number of cell expansion
with the same lookaheads
100000
much faster than LRTA*
in smaller total search tim
50000
RTAA* with lookahead o
head follow the same traj
0
if they break ties in the s
0 10 20 30 40 50 60
lookahead of Real-Time Adaptive A* (RTAA*) = (a)
70 80 90
and total number of ce
mately equal, as suggeste
Figure 9: Performance of Real-Time Adaptive A*
Ulisses Rodrigues Afonseca Marcos Fagundes Caetano One advantage of RTAA* is tha
ComNet/CIC/UnB
Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning fully chosen
Real-Time A* lookahead is smallA
Real-Time Adaptive
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Conteudo

1 Introducao
Algoritmo A*
Limitacoes do A* e suas solucoes
2 Game Time Model
3 Algoritmo Time-Bounded A*
4 Algoritmo Real-Time Bounded A*
5 Algoritmo Time Bounded Adaptive A*
6 RTAA - Real-Time Adaptive A*
LRTA e RTAA, o que muda?
7 Conclusao

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A
Introducao Game Time Model Algoritmo Time-Bounded A* Algoritmo Real-Time Bounded A* Algoritmo Time Bounded Adaptiv

Conclusao

Uso de heurstica possibilida o desenvolvimento de novas


ferramentas que se adaptam facilmente ao problema
O algoritmo A* e limitado em varios sentidos, variacoes
resolvem problemas isolados
Para cada novo problema, o A* pode ser facilmente adaptado
A* e de 1968 e aparentemente sempre surgem variacoes
interessantes (ver solucoes atuais).

Ulisses Rodrigues Afonseca Marcos Fagundes Caetano ComNet/CIC/UnB


Algoritmos Time-Bounded A* Real-Time Bounded A* Time-Bounded Adaptive A* Learning Real-Time A* Real-Time Adaptive A

Вам также может понравиться