Irwin é a IA que aprende padrões de trapaça, marca trapaceiros e ajuda os moderadores a avaliar possíveis trapaceiros.
Compatível com Python 3.x
pip3 install pymongo python-chess numpy requestsconf/config.json {
"api" : {
"url" : "https://lichess.org/" ,
"token" : "token"
} ,
"stockfish" : {
"threads" : 4 ,
"memory" : 2048 ,
"nodes" : 4500000 ,
"update" : false
} ,
"db" : {
"host" : "localhost" ,
"port" : 27017 ,
"authenticate" : false ,
"authentication" : {
"username" : "username" ,
"password" : "password"
}
} ,
"irwin" : {
"train" : {
"batchSize" : 5000 ,
"cycles" : 80
}
}
} conf/config.json contém configuração para estoque -peixes, mongodb, tensorflow, lichess (token de autenticação e url), etc ...
Se você ainda não possui um banco de dados de jogadores analisados, será necessário analisar algumas centenas de jogadores para treinar as redes neurais. python3 main.py --no-assess --no-report
Irwin (nomeado em homenagem a Steve Irwin, The Crocodile Hunter) começou como o nome do servidor em que a rede de truques original foi executada (agora depreciada). Este é o sucessor do Catathnet.
Semelhante ao Catathnet, ele funciona em um conceito semelhante de analisar os PVs disponíveis de um jogo para determinar as chances de ocorrer trapaça.
Esse bot faz melhorias sobre o CheatNet, adotando uma abordagem dramaticamente mais modular para o design de software. modules/core contém a maioria dos tipos de dados genéricos, manipuladores de serialização do BSON e camadas de interface do banco de dados. Também é significativamente mais rápido devido a uma abordagem simplificada para o uso da análise do Stockfish.
modules/irwin contém o cérebro de Irwin, é aqui que ocorre o aprendizado e a aplicação do tensorflow.
Irwin foi projetado para que modules/irwin possam ser substituídos por outras abordagens para a avaliação do jogador.
Env.py contém todas as ferramentas para interagir com os manipuladores de Lichess, Irwin e Banco de Dados.
main.py aborda o acesso à API da Lichess ( modules/Api.py ) via Env para obter dados do jogador; Puxando recordes do MongoDB, analisando jogos usando o Stockfish, avaliando esses jogos usando o Tensorflow e depois publicando as avaliações finais.