Irwin es la IA que aprende patrones de trampa, marca los tramposos y ayuda a los moderadores a evaluar posibles tramposos.
Compatible con 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 contiene configuración para stockfish, mongoDB, tensorflow, líques (token de autenticación y url), etc.
Si aún no tiene una base de datos de jugadores analizados, será necesario analizar unos pocos cientos de jugadores para entrenar las redes neuronales. python3 main.py --no-assess --no-report
Irwin (llamado así por Steve Irwin, el cazador de cocodrilos) comenzó como el nombre del servidor en el que se ejecutó la truco original (ahora en desuso). Este es el sucesor de CHECHNET.
Similar a Cheatnet, funciona en un concepto similar de analizar los PVS disponibles de un juego para determinar las probabilidades de hacer trampa.
Este bot realiza mejoras sobre CHECHNET adoptando un enfoque dramáticamente más modular para el diseño de software. modules/core contienen la mayoría de los tipos de datos genéricos, los manejadores de serialización BSON y las capas de interfaz de la base de datos. También es significativamente más rápido debido a un enfoque simplificado para usar el análisis de stockfish.
modules/irwin contienen el cerebro de Irwin, aquí es donde se lleva a cabo el aprendizaje y la aplicación de flujo de tensor.
Irwin ha sido diseñado para que modules/irwin puedan ser reemplazados por otros enfoques para la evaluación del jugador.
Env.py contiene todas las herramientas para interactuar con Lichess, Irwin y los manejadores de la base de datos.
main.py cubiertas que acceden a la API Lichess ( modules/Api.py ) a través de ENV para obtener datos del jugador; Extraer récords de MongoDB, analizar juegos usando Stockfish, evaluar esos juegos usando TensorFlow y luego publicar las evaluaciones finales.