Saataa andagii !
This commit is contained in:
parent
d99a556d3d
commit
757ea77cc5
8 changed files with 549 additions and 500 deletions
103
analyse.py
Normal file
103
analyse.py
Normal file
|
@ -0,0 +1,103 @@
|
|||
# fichier de tests du projet
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
import random
|
||||
|
||||
# project libs importations
|
||||
import lib.ultra_mastermind_obj as libobj
|
||||
import lib.ultra_mastermind_imp as libimp
|
||||
import lib.ultra_mastermind_pp_imp as libppimp
|
||||
|
||||
PM = "Hello, world!"
|
||||
NG = 4000
|
||||
N = 400
|
||||
TS = 0.7
|
||||
TM = 0.25
|
||||
ALPHA = 0.5
|
||||
FITNESS_METHOD = 3
|
||||
|
||||
# Variation de la taille de la phrase
|
||||
length_ng = []
|
||||
length = []
|
||||
|
||||
for i in range(5, 26, 3):
|
||||
print(f"Step {i}:")
|
||||
length.append(i)
|
||||
vals = []
|
||||
for j in range(5):
|
||||
print(f" Part {j}")
|
||||
PM = "".join([chr(random.randint(0, 255)) for _ in range(i)])
|
||||
pop = libppimp.new_population(PM, NG, N, TS, TM, ALPHA, FITNESS_METHOD)
|
||||
ng = libppimp.run(pop)
|
||||
vals.append(ng)
|
||||
length_ng.append(sum(vals) / len(vals))
|
||||
|
||||
plt.plot(length, length_ng)
|
||||
plt.title("Nombre de générations nécéssaires en fonction de la taille de la phrase.")
|
||||
plt.xlabel("Taille de la phrase")
|
||||
plt.ylabel("Nombre de générations")
|
||||
plt.show()
|
||||
|
||||
# Variation de la taille de la population
|
||||
n_ng = []
|
||||
n = []
|
||||
|
||||
for i in range(50, 1000, 100):
|
||||
print(f"Step {i}:")
|
||||
n.append(i)
|
||||
vals = []
|
||||
for j in range(5):
|
||||
print(f" Part {j}")
|
||||
pop = libppimp.new_population(PM, NG, i, TS, TM, ALPHA, FITNESS_METHOD)
|
||||
ng = libppimp.run(pop)
|
||||
vals.append(ng)
|
||||
n_ng.append(sum(vals) / len(vals))
|
||||
|
||||
plt.plot(n, n_ng)
|
||||
plt.title("Nombre de générations nécéssaires en fonction de la taille de la population.")
|
||||
plt.xlabel("Taille de la population")
|
||||
plt.ylabel("Nombre de générations")
|
||||
plt.show()
|
||||
|
||||
# Variation du taut de sélection
|
||||
ts_ng = []
|
||||
ts = []
|
||||
|
||||
for i in range(1, 9, 1):
|
||||
print(f"Step {i / 10}:")
|
||||
ts.append(i / 10)
|
||||
vals = []
|
||||
for j in range(5):
|
||||
print(f" Part {j}")
|
||||
pop = libppimp.new_population(PM, NG, N, i / 10, TM, ALPHA, FITNESS_METHOD)
|
||||
ng = libppimp.run(pop)
|
||||
vals.append(ng)
|
||||
ts_ng.append(sum(vals) / len(vals))
|
||||
|
||||
plt.plot(ts, ts_ng)
|
||||
plt.title("Nombre de générations nécéssaires en fonction du taut de sélection.")
|
||||
plt.xlabel("Taut de sélection")
|
||||
plt.ylabel("Nombre de générations")
|
||||
plt.show()
|
||||
|
||||
# Variation du taut de mutation
|
||||
tm_ng = []
|
||||
tm = []
|
||||
|
||||
for i in range(10, 40, 5):
|
||||
print(f"Step {i / 100}:")
|
||||
tm.append(i / 100)
|
||||
vals = []
|
||||
for j in range(5):
|
||||
print(f" Part {j}")
|
||||
pop = libppimp.new_population(PM, NG, N, TS, i / 100, ALPHA, FITNESS_METHOD)
|
||||
ng = libppimp.run(pop)
|
||||
vals.append(ng)
|
||||
tm_ng.append(sum(vals) / len(vals))
|
||||
|
||||
plt.plot(tm, tm_ng)
|
||||
plt.title("Nombre de générations nécéssaires en fonction du taut de mutation.")
|
||||
plt.xlabel("Taut de mutation")
|
||||
plt.ylabel("Nombre de générations")
|
||||
plt.show()
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue