chesterbr / minitruco-android

A popular Brazilian card game (Truco) running on Android.
https://play.google.com/store/apps/details?id=me.chester.minitruco&pli=1&hl=pt
BSD 3-Clause "New" or "Revised" License
86 stars 35 forks source link

Estratégia do bot usando IA (Aprendizado por Reforço) #250

Open chesterbr opened 5 months ago

chesterbr commented 5 months ago

Motivação

O bot tem problemas como #240 e #243, que eu poderia resolver, mas outros problemas assim podem surgir no futuro, e além disso, qualquer nova feature (sinais, carta fechada genérica) exige mexer nas estratégias

Idéia

Usar algum sistema de aprendizado por reforço para treinar uma AI para jogar

Obstáculos

chesterbr commented 5 months ago

Aprendizados 1

Fiz uma tentativa em https://github.com/chesterbr/minitruco-android/compare/main...trainingenv (em particular este notebook) usando Keras RL (que é bem antigo, mas tinha exemplos bons na web e no meu curso de ML, e como ele usa Tensorflow por baixo, uma boa chance de usar Tensorflow Lite no jogo); não consegui convergência mesmo mexendo nos parâmetros e simplificando, mas aprendi que: