mesure_compare_pathsfinders.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from Outils.Moteur_de_jeu import Plateau
  2. from Outils.Moteur_de_jeu.Plateau import *
  3. from time import time
  4. from random import shuffle
  5. # Fonction aléa
  6. def faire_alea_plat( n = 10 ) :
  7. plateau = Plateau(9,9,n)
  8. for i in range(n) :
  9. l = plateau.liste_barrieres_possibles()
  10. shuffle(l)
  11. plateau.executer_coup(Coup("B", barriere = l[0]))
  12. return plateau
  13. # Procédure de mesure
  14. nb_tests = 50
  15. ti = 0
  16. t_map = 0
  17. t_star = 0
  18. for k in range(nb_tests):
  19. p = faire_alea_plat()
  20. for i in range(9):
  21. for j in range(9):
  22. ti = time()
  23. path_finding_a_star( p, i, j, 0 )
  24. t_star += time() - ti
  25. ti = time()
  26. path_finding_mapping( p, i, j, 0 )
  27. t_map += time() - ti
  28. print("Nombre de tests : ", 9*9*nb_tests)
  29. print()
  30. print("Performances Mapping :")
  31. print("Temps total : ", t_map )
  32. print("Temps par test : ", t_map / ( 9*9*nb_tests ) )
  33. print()
  34. print("Performances Star :")
  35. print("Temps total : ", t_star )
  36. print("Temps par test : ", t_star / ( 9*9*nb_tests ) )
  37. print()
  38. print("Comparaison :")
  39. print("Map est ", t_map / t_star, " fois plus lents.")
  40. print("Temps réduit de ", (t_map - t_star) / t_map * 100, " pourcents.")