Escolar Documentos
Profissional Documentos
Cultura Documentos
Figura1. Agente.
O estado alterado com a execues de uma ou mais aes e o estado atual
avaliado e comunicado ao agente atravs de um reforo. O mdulo B determina o
comportamento do agente, este escolhe qual ao aumenta o valor de reforo.
Ento desse modo o modelo consiste de:
recompensa baixa, ento esta pode ser mudada para selecionar alguma outra ao nessa
situao no futuro.
Funo de valor
Visto que uma funo de reforo define o que positivo em um sentido imediato,
uma funo de valor especifica o que positivo a longo prazo. O valor de um estado a
quantidade total de recompensa que um agente espera acumular sobre o futuro, partindo
desse estado. Os reforos determinam vantagens imediatas, intrinsecas de estados
ambientais, j os valores indicam vantagens a longo prazo do estado aps tomado em
considerao os estados que so provveis seguir, e dos reforos disponveis nestes
estados. Por exemplo, um determinado estado pode sempre gerar uma recompensa baixa
mais ainda assim ter um valor elevado devido ser seguido por outros estados que rendem
recompensas elevadas. Valores e reforos esto interligados pois no poderia haver
nenhum valor se no houvesse antes reforos, e a nica finalidade de estimar valores
conseguir recompensa. No entanto, ao se fazer e avaliar decises so os valores o que
mais interessa, pois as escolhas das aes so realizadas tomando como base o
julgamento do valor. Deve-se avaliar quais aes causam valores mais elevados e no os
reforos mais elevados, pois estas aes em um funcionamento a longo prazo obteriam
uma quantidade maior de recompensa.
de suma importncia a escolha de um mtodo eficiente para estimar valores
pois infelizmente, muito mais difcil determinar valores do que reforo, visto que os
reforos so dados diretamente pelo ambiente, enquanto que os valores devem ser
estimados pela seqncias das observaes do agente durante toda a sua existncia.
Modelo do ambiente
Um modelo do ambiente nada mais do que uma simulao do comportamento
do ambiente. Por exemplo, dado um par estado-ao o modelo pode predizer o estado e o
reforo seguintes. Os modelos so usados para o planejamento de todas as posveis
maneiras de deciso em um curso de ao considerando situes futuras antes destas
serem experimentadas. A incorporao de um modelo do ambiente e do planejamento em
sistemas de aprendizagem por reforo um processo relativamente novo.
3.3 Q-Learning
Um sistema que utiliza aprendizagem por reforo constitui-se basicamente de um
agente interagindo em um ambiente atravs de percepo e ao, ou seja, o agente
percebe as situaes dadas no ambiente e executa uma ao que de alguma forma
transforma esse ambiente e seu estado, a cada ao atribuda uma recompensa. O
algoritmo Q-learning [3] tenta estimar as recompensas que o agente recebe se executar
uma ao especfica em um estado especfico. Estas estimativas so computadas
enquanto o agente interage no ambiente e a AR pode ser usada para especificar quando o
agente deve aprender durante essa interao. Supondo que o agente execute a ao a no
estado s, recebe as recompensas r, observa que o ambiente se move para um novo estado
se o agente estimar as recompensas para executar a ao a no estado s, pode melhorar
essa estimativa atualizando o novo estado, isso se da pela equao:
Q(at ,st) = Q(at ,st) + [rt+1 + maxa [Q( st+1 ,)]-Q(st ,at) onde:
lo mais feroz. Nessa aplicao usaremos o algoritmo de aprendizagem por reforo para
introduzir inteligncia ao rob.
O ambiente Robocode possui algumas regras bsicas que nesse projeto foram
utilizadas para atribuio do reforo no algoritmo de aprendizado. So elas:
Distncia
Contnuo
Discreto
d<30
0
1
30 d < 60
2
60 d < 90
...
...
19
570 d
Tabela 1: Valores discretizados da distncia do inimigo
5.1.2 AnguloAlvo
Define a direo em que o rob deve atirar, esta definida em valores discretos
de 0 3 e representam ngulos de 0 a 360, como demostrado na figura 3.
0
270
90
2
180
Figura 3: Representao dos valores discretizados do ngulo.
5.1.3 DirecaoRobo
Indica a direo do rob em relao a arena, est definido em valores discretos
entre 0 e 3, conforme mostrado acima na figura 3.
5.1.4 Perigo
Define se existem ou no adversrios na batalha, foram definidos dois valores, 0
indica que no possui adversrios e 1 que possui.
5.1.5 AtingeParede
Indica se o rob atingiu a parede representado por 0 (no atingiu) e 1(atingiu).
5.1.6 AtingidoPorBala
Indica se o rob foi atingido por bala, este estado possui dois valores, 0 (no foi
atingido) e 1 (foi atingido);
5.1.7 ColisaoRobo
Indica se o rob colidiu com outro rob, possui dois valores, 0 ( no colidiu) e 1
(coliso).
5.1.7 PosicaoArena
Indica a posio da arena em que o rob se encontra, esta arena foi dividida em 9
partes conforme figura 4;
6
No anexo I consta uma tabela indicando os estados e aes referentes a este trabalho.
5.3 Recompensas
Para o aprendizado foram estabelecidas recompensas nos seguintes casos:
Positivas
6. Implementao
Para o desenvolvimento do RLRobot foram utilizadas as classes:
Acao Classe onde esto definidas as aes do rob
Estado Classe onde esto definidos os estados do rob
Alvo Classe onde esto definidas as informaes do alvo
Aprendizagem Classe onde est definido o algoritmo Q-learning e todos os
mtodos que necessitamos para aprendizagem.
Tabela Classe que possui todos os mtodos para inicializar e atualizar a tabela
com os dados do aprendizado.
RLRobot Classe principal, que possui tratamento para todos os eventos do rob
e as heursticas, atravs desta classe que todas as outras so chamadas.
Todos os movimentos do rob so definidos atravs do aprendizado por reforo,
para isso no mtodo principal do rob foi criado um loop que chama a funo
movimentoRobo, esta passa para a classe de aprendizagem o estado e retorna a ao que
deve ser executada. A cada rob adversrio detectado chamada a funo de tiro. Para
que o rob tivesse uma melhor performance no momento do combate foi includa uma
verificao de energia do rob e a distncia com relao ao inimigo para estabelecer o
poder de tiro, desta forma evita-se o desperdcio de energia. Quando jogando em time o
rob necessita reconhecer seus integrantes, para impedir que este atire em um
companheiro, foi utilizada uma funo do ambiente robocode que identifica integrantes
do time. Para auxiliar na deciso foi criado o estado perigo quer identifica se o rob
scaneado faz parte ou no do mesmo time.
O RLRobot grava a tabela de aprendizado em um arquivo, quando em time os
componentes gravam em arquivos separados, a fim de evitar desperdcio de aprendizado,
foi criado um programa auxiliar para unificar os aprendizados em um nico arquivo.
7. Resultados Alcanados
Aps o treinamento o rob pode aprender a no colidir com as paredes e com outros
robs. Este tentou tambm desviar-se dos adversrios e evitou ser atingido por bala.
Quando jogando em time o rob procurou no atirar em um rob pertecente ao mesmo
time, pode-se notar ainda que sua performece pde ser muito superior com relao aos
robs com o qual foi treinado, tanto em time quanto em batalhas em que jogou sozinho.
Para o aprendizado do RLRobot foi feito um treinamento com 12.000 rounds
utilizando o rob Jointstrike, adquirido no site repositrio do robocode, este rob foi
escolhido devido as suas boas tticas de combate, este no possu tcnicas de
aprendizado. Os grficos abaixo demostram o desempenho do rob utilizando a base sem
e com treinamento.
Score
100 Rounds
Jo inStrike
RLRo bo t
Robs
Score
100 Rounds
Jo inStrike
RLRo bo t
Robs
Score
200000
150000
500 Rounds
100000
50000
0
Jo inStrike
RLRo bo t
Robs
Score
200000
150000
500 Rounds
100000
50000
0
B lindman
RLRo bo t
Robs
atrativo. A fim de aprimorar este trabalho podem ser utilizados outros algoritmos de
aprendizado por reforo que possam acelerar o aprendizado, como por exemplo o
algoritmo SARSA.
9. Bibliografia
[1]
Anexo I
MovFrente
E
S
t
a
d
o
s
DistanciaInimigo
MovTraz
GiraDireita
Aes
Perigo
AtingeParede
AtingidoPorBala
ColisaoRobo
AnguloAlvo
PosicaoArena
DirecaoRobo
PedirAjuda
Ajudar