From 6fd0d796764f1c2480749a0fd8b5f070b28b0bf6 Mon Sep 17 00:00:00 2001 From: julianb0 Date: Wed, 15 Mar 2017 11:51:33 +0100 Subject: [PATCH] Update ARE-DYNAMIC.py --- ARE-DYNAMIC.py | 51 ++++++++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/ARE-DYNAMIC.py b/ARE-DYNAMIC.py index c7ada8d..6718ed5 100644 --- a/ARE-DYNAMIC.py +++ b/ARE-DYNAMIC.py @@ -66,6 +66,9 @@ StratParDefaut = 0 # affichage dynamique AffichageDynamique = True +# nécessaire pour matrice_init_pourcents_choisis() +ListePourcents = list() + """ Types: @@ -118,15 +121,15 @@ def partie1v1(joueur, adversaire): # avoue-avoue ans_prison = (5, 5) - (StratsResultats[joueur["strategie"]])[0] += 1 - (StratsResultats[joueur["strategie"]])[1] += ans_prison[0] - (StratsResultats[adversaire["strategie"]])[0] += 1 - (StratsResultats[adversaire["strategie"]])[1] += ans_prison[1] + StratsResultats[joueur["strategie"]][0] += 1 + StratsResultats[joueur["strategie"]][1] += ans_prison[0] + StratsResultats[adversaire["strategie"]][0] += 1 + StratsResultats[adversaire["strategie"]][1] += ans_prison[1] - (StratsResultats[joueur["strategie"]])[2][Iteration][1] += 1 - (StratsResultats[joueur["strategie"]])[2][Iteration][2] += ans_prisons[0] - (StratsResultats[adversaire["strategie"]])[2][Iteration][1] += 1 - (StratsResultats[adversaire["strategie"]])[2][Iteration][2] += ans_prisons[0] + StratsResultats[joueur["strategie"]][2][Iteration][1] += 1 + StratsResultats[joueur["strategie"]][2][Iteration][2] += ans_prison[0] + StratsResultats[adversaire["strategie"]][2][Iteration][1] += 1 + StratsResultats[adversaire["strategie"]][2][Iteration][2] += ans_prison[0] joueur["annees_de_prison"] += ans_prison[0] adversaire["annees_de_prison"] += ans_prison[1] @@ -295,28 +298,26 @@ def matrice_init_equitable(): return matrice -list_pourcent = [] - def matrice_init_pourcents_choisis(): """ list[float] -> array - list_pourcent contient des float de 0.0 à 1.0. + ListePourcents contient des float de 0.0 à 1.0. Crée la matrice des joueurs tel que le pourcentage de chaque stratégie est choisi. Les états initiaux sont choisis aléatoirement. """ - if (len(list_pourcent) != len(ListeStrategies)): + if (len(ListePourcents) != len(ListeStrategies)): print("Erreur: matrice_init_pourcents_choisis: liste_pourcent est de taille incorrecte!") matrice_strat = np.full((TailleGrilleX, TailleGrilleY), -1, dtype=int) list_nb_joueurs_de_chaque = list() - for i in range(len(list_pourcent)): - list_nb_joueurs_de_chaque.append((TailleGrilleX*TailleGrilleY)*list_pourcent[i]) + for i in range(len(ListePourcents)): + list_nb_joueurs_de_chaque.append((TailleGrilleX*TailleGrilleY)*ListePourcents[i]) places_vides = TailleGrilleX*TailleGrilleY - for e in range(len(list_pourcent)): + for e in range(len(ListePourcents)): count_joueurs = 0 while count_joueurs <= list_nb_joueurs_de_chaque[e]: @@ -333,7 +334,7 @@ def matrice_init_pourcents_choisis(): for i in range(TailleGrilleY): #on vérifie qu'il n'y a pas d'index vides for j in range(TailleGrilleX): #si oui, on le rempli avec une strat aléatoire if matrice_strat[i][j] == 0: - matrice_strat[i][j] = random.randint(0, len(list_pourcent)) + matrice_strat[i][j] = random.randint(0, len(ListePourcents)) matrice = matrice_init_vide() @@ -439,11 +440,16 @@ def init_complete(): global Grille global StratsResultats - for i in range(len(ListeStrategies)): - StratsResultats.append([0, 0, list()]) - Grille = gen_matrice_initiale() + for i in range(len(ListeStrategies)): + StratsResultats.append([0, 0, [ [0, 0, 0] ]]) + for x in range(TailleGrilleX): + for y in range(TailleGrilleY): + if Grille[x][y]["strategie"] == i: + StratsResultats[i][2][0][0] += 1 + return Grille + def simulation(): global Iteration @@ -465,11 +471,13 @@ def simulation(): for x in range(TailleGrilleX): for y in range(TailleGrilleY): if Grille[x][y]["strategie"] == i: - StratsResultats[i][2][Iteration][0] += 1 return Grille + +init_complete() + """ def _ext(M): K = np.ndarray((TailleGrilleX, TailleGrilleY)) @@ -479,8 +487,7 @@ def _ext(M): K[x][y] = M[x][y]["strategie"] return K +print(_ext(simulation())) """ -init_complete() -simulation()