Add files via upload
This commit is contained in:
parent
82f17da16c
commit
42be7007f0
|
@ -0,0 +1,95 @@
|
|||
|
||||
|
||||
import matplotlib.pyplot as plt; plt.rcdefaults()
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
from pylab import *
|
||||
|
||||
|
||||
TailleGrilleX = 2
|
||||
TailleGrilleY = 3
|
||||
GrilleInitiale = 0
|
||||
HistoriqueGrille = list()
|
||||
StratsResultats = list()
|
||||
ListeStrategies = list()
|
||||
|
||||
|
||||
def recup_mat(matrice, param):
|
||||
""" array*str-> array
|
||||
Récupère la matrice avec seulement le paramètre (état,strat,années de prison) voulu afin de pouvoir avoir les stats plus facilement"""
|
||||
|
||||
|
||||
matR = np.random.randint(0,1,TailleGrilleX,TailleGrilleY)
|
||||
|
||||
for ligne in range (0,TailleGrilleX): #int ligne
|
||||
for colonne in range (0, TailleGrilleY): #int colonne
|
||||
for p in matrice[ligne,colonne]:
|
||||
if p==param:
|
||||
matR[ligne,colonne]=dict[param]
|
||||
return matR
|
||||
|
||||
def bar_chart():
|
||||
"""array->graph
|
||||
Retourne le diagramme en baton qui met en évidence le nombre d'années de prison en fonction de la stratégie.
|
||||
Il est mis à jour à chaque fos que tous les éléments de la grille ont fait leur 8 parties locales"""
|
||||
|
||||
matStrat=recup_mat(matrice,'strategie')
|
||||
matGain= recup_mat(matrice,'annees_de_prison')
|
||||
|
||||
#initialisation des paramètres
|
||||
#list gain
|
||||
gain=[]
|
||||
#list strat
|
||||
strat=[]
|
||||
|
||||
for i in range(5):
|
||||
|
||||
gain.append(0)
|
||||
strat.append(0)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
for ligne in range (0,TailleGrilleX):
|
||||
for colonne in range(0, TailleGrilleY):
|
||||
for j in range(0,len(ListeStrategies)):
|
||||
|
||||
if matStrat[ligne,colonne]==j:
|
||||
strat[j]=strat[j]+1
|
||||
gain[j]=gain[j]+matGain[ligne,colonne]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Strat=('1','2', '3','4' ,'5')
|
||||
|
||||
x_pos = np.arange(len(Strat))
|
||||
|
||||
plt.subplot(221)
|
||||
|
||||
plt.bar(x_pos, gain, align='center', color='b' )
|
||||
|
||||
plt.xlabel("Stratégies")
|
||||
plt.ylabel("Nombre d'années de prison")
|
||||
|
||||
plt.subplot(222)
|
||||
plt.bar(x_pos, strat, align='center' , color='r')
|
||||
plt.xlabel("Stratégies")
|
||||
plt.ylabel("NB individus ayant adopté stratégie")
|
||||
|
||||
|
||||
plt.xticks(x_pos,Strat)
|
||||
|
||||
plt.show()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue