-
Notifications
You must be signed in to change notification settings - Fork 4
4 Statistiques
Nous avons fait plusieurs tests statistiques sur plusieurs variables : réussite de la résolution, mouvements à effectuer pour résoudre le cube, temps, mémoire.
Pour tester notre résolution, nous avons réalisé nos tests sur 1 million de cubes différents (générés aléatoirement à partir de la librairie nodejs cube.js) afin d'être le plus sûr possible que notre solveur soit efficace :
Résultat : 1 000 000 / 1 000 000 cubes résolus 😄 (53 minutes de test)
L'objectif N°1 était de réduire au maximum le nombre moyen de mouvements nécessaires pour la résolution du cube, nous avons donc testé sur 11400 cubes, notre première version résolvait le cube en 130 mouvements en moyenne, la version finale le résout en 79 mouvements en moyenne !
- Nombre de mouvements minimum : 0 (Un cube déjà bien placé)
- Nombre de mouvements maximum : 120
- Moyenne : 78.89 (arrondi à 10^-2 près)
- Écart-type : 24.72 (arrondi à 10^-2 près)
Temps aussi testé sur 11400 cubes !
- Temps exécution 11400 cubes : 29.68s (arrondi a 10^-2 près pour plus de clarté)
- Moyenne d’exécution de 11400 cubes : 0.0026s (arrondi a 10^-4 près pour plus de clarté)
- Écart-type sur 11400 cubes : 0.00025s (arrondi a 10^-5 près pour plus de clarté)
On constate que la résolution est très rapide et que l'écart-type est quasi nul, ce qui implique que la résolution est quasiment constante en temps.
L’exécution du module Ragnulf demande 25Mo de mémoire environ (test réalisé avec le profileur memory_profiler
)