1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- ## Fichier : GeneticMatch.py
- # Auteur : Jovian Hersemeule
- # Exécute des matchs
- # à des fins statistiques.
- from Outils.Moteur_de_jeu import *
- from Outils.Moteur_de_jeu.Partie import *
- #from Outils import IA_MinMax
- #from Outils.IA_MinMax import *
- from Outils import IA_alphabeta
- from Outils.IA_alphabeta import *
- from ReseauNeurones import *
- from ReseauNeurones.cerveau import *
- #from Eval_v1 import fct_eval as fct1
- #from Eval_v2 import fct_eval as fct2
- from Eval_v3 import fct_eval as fct3
- fct_eval = [(lambda x, y : 0), (lambda x, y : 0), fct3]
- # Paramètres
- nom_session = "PurAleatoireFast2"
- incr = 1
- id_eval = 3
- prof = 1
- debug = False
- # Annonce
- print("Ajuster les paramètres puis lancer write_stats()")
- print("string: nom_session > nom de la session génétique à éprouver")
- print("int: incr > l'écart entre chaque génération")
- print("int: id_eval > heuristique utilisée pour l'aplhabeta de référence")
- print("int: prof > profondeur du MinMax de référence")
- print("bool: debug > permet d'avoir des retours dans le log"
- # Fonction de stats
- def write_stats():
- """
- Ecrit les statistiques d'une session génétique.
- """
- # Joueur de référence
- joueurRef = IA_minmax_alpha_beta("AlphaBeta-p" + str(prof)"-ev"+str(id_eval), fct_eval[id_eval], prof)
- # Ouverture du flux
- result_stream = open("ReseauNeurones/" + nom_session + "-VS-" joueurRef.nom + ".txt", "w")
- # Chargement d'un réseau
- myBrain = Cerveau()
- myBrain.charger_structure( "PrimitifEfficace.stc", debug = debug )
- myBrain.charger_poids( "PurAleatoireFast2/Generation50/individu0.pds", debug = debug )
- myBrain.build_network( debug = debug )
- # Match
- joueurA = IA_minmax("Genetic:Primitif", myBrain.fct_eval, 1 )
- joueurB = Humain("Humain")
- Global.partie = Partie(joueurA, joueurB, True, "")
- vainqueur = Global.partie.demarrer()
- # TODO : boucle etc ...
|