Skip to content

Projeto NSL para a disciplina de IA da UESPI-Floriano

Notifications You must be signed in to change notification settings

victoic/UESPI-IA-Projeto-RL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto de IA - Aprendizagem por Reforço

Esse projeto apresenta uma competição entre dois times de 3 agentes. Agentes podem realizar 10 ações diferentes:

  1. Mover para a direita
  2. Mover para a baixo-direita
  3. Mover para baixo
  4. Mover para a baixo-esquerda
  5. Mover para a esquerda
  6. Mover para a cima-esquerda
  7. Mover para cima
  8. Mover para a cima-direita
  9. Atacar (causa sua força em dano nos seus 8-vizinhos)
  10. Esperar (não fazer nada)

Modelos devem ser treinados para sair o índice de uma dessas ações (0-9).

Exemplo de chamada - (treinamento): python main.py -t -t0m="meu_modulo" -t0c="minha_classe" -t1m="random_ai" -t1c="DumbAI" -mw=20 -mh=20

Exemplo de chamada - (apresentação): python main.py -p -t0m="meu_modulo" -t0c="minha_classe" -t1m="random_ai" -t1c="DumbAI" -mw=20 -mh=20

Exemplo de chamada - (teste): python main.py -e -t0m="meu_modulo" -t0c="minha_classe" -t1m="random_ai" -t1c="DumbAI" -mw=20 -mh=20 No teste, a execução (sem apresentação) será repetida 10.000 e as porcentagens de vitórias, derrotas e empates serão exibidas na tela.

Caso um modelo necessite de acesso a uma chave para o carregamento (usando torch.load), use o argumento -k0 (ou -k1) para especificar a string da chave que deseja acessar.

Resultados 2024.2

Os valores de vitórias, empates e derrotas são relacionados a 10.000 repetições contra um adiversário RandomAI. Seguindo o seguinte comando:

python main.py -e -t0m="meu_modulo" -t0c="minha_classe" -t1m="random_ai" -t1c="DumbAI" -mw=20 -mh=20

Detalhamentos sobre o torneio são encontrados abaixo.

Aluno Modelo Pontos (Torneio) Vitórias Empates Derrotas
Willian DDQN 12 64,85% 30,53% 4,62%
Marcos Genetic 3 42,34% 33,95% 23,71%
Cintia DuelingDQN 0 33,73% 33,72% 32,55%

Torneio

Watch the video

O torneio seguiu uma série de testes entre modelos com melhores de 5 e respeitando todas as combinações possíveis de testes. Vitórias representam 3 pontos, empates representam 1 ponto e derrotas 0 pontos. As seguintes partidas foram jogadas:

Modelo 0 Modelo 1 Vitórias
DuelingQNetwork RandomAI 2x3
DDQN RandomAI 5x0
Genetic RandomAI 1x1
DumbAI RandomAI 5x0
DuelingQNetwork DumbAI 0x5
Genetic DumbAI 0x5
DDQN DumbAI 3x1
DuelingQNetwork Genetic 0x3
DDQN Genetic 2x0
DuelingQNetwork DDQN 0x5

A tabela abaixo apresenta os resultados do torneiro em classificação.

Classificação Modelo Pontos
DDQN 12
DumbAI 9
RandomAI 6
Genetic 3
DuelingQNet 0

About

Projeto NSL para a disciplina de IA da UESPI-Floriano

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages