You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Ludwig SILVAIN 42fa3a524f
fix : pour rendu final
4 months ago
.static feat: README.md 7 months ago
engine feat : restructuration du dépôt 7 months ago
libs/libtorch fix: fix library 5 months ago
src feat 5 months ago
.gitattributes feat : add pytorch 5 months ago
.gitignore fix: wrong movements 7 months ago
CMakeLists.txt feat 5 months ago
LICENSE feat: licence 7 months ago
README.md fix : pour rendu final 4 months ago
analyze.py feat 5 months ago
model_white.pt feat 5 months ago

README.md

decathlon

Charlemagne

IA Adaptative - M1 Wedsci

HEBAN Simon & SILVAIN Ludwig

Dépôt original de Fabien TEYTAUD et Julien DEHOS

Dépôt pour la partie apprentissage

Charlemagne est un logiciel permettant de faire affronter deux UCI, les parties sont supervisées grâce à un arbitre. L'un de ces UCI est basé sur Lc0 avec les paramètres Maia qui cherche à s'adapter au niveau de son adversaire.

Compilation

   git clone https://git.silvain.eu/ludwig.silvain/Chess_Charlemagne.git
   cd Chess_Charlemagne
   mkdir build
   cd build
   cmake ..
   make

Utilisation

./Charlemagne isPlayer InitLevel isWhite nbTry staticLevel beta lambda

  • isPlayer : 0 = Humain ; 1 = IA
    • Option humain choisie : vous allez jouer contre une IA adaptative
    • Option IA choisie : une IA (avec un level fixé, voir ) va jouer contre une IA adaptative
  • InitLevel : Niveau initial
    • Niveau de départ pour l'IA adaptative, vous pouvez mettre entre 1 et 9, la valeur recommandée est 5
  • isWhite : 0 = Non ; 1 = Oui
    • Si = 0, alors le jouer ou l'IA statique ne commencera pas tout de suite (Joueur noir)
    • Si = 1, alors le jouer ou l'IA statique commencera tout de suite (Joueur blanc)
  • nbTry : Nombre de tours (Nombre de parties)
    • Si le mode IA est choisie, veuillez faire attention au nombre choisie, car plus sera grand plus le logiciel sera long
  • staticLevel : Option nécessaire uniquement si vous avez choisie l'option IA pour
    • Permet de choisir le niveaux désiré pour l'IA statique
  • beta : Nombre d'étape avant analyze
    • Permet de fixer la variable Bêta, ceci permet de connaître le nombre de coups avant qu'une analyze de la partie soit faite
  • lambda : Variable en centi-pion
    • Permet de fixer une limite, cette limite permet de jouer sur le changement de la difficulté

Traitement des résultats

Lorsque Charlemagne est lancé en IA vs IA, des fichiers sont générés de type

result-<Level_IA_Adaptative>-<Level_IA_Statique>-<Beta>-<Lambda>-<Couleur de l'IA Adaptative>.csv

Ces fichiers peuvent être traités grâce à un script Python disponible ici : Script Python Un graphique sera généré permettant de comprendre les changements de difficultés inutiles en fonction de Bêta.

Pour lancer le script python :

python3 analyze.py <dossier des fichiers à analyzer>

Le dossier doit comporter uniquement les mêmes niveaux d'IA dynamique et statique (e.g result-7-3-...csv)