Ayant enfin les mêmes mesure que vous j'ai pu chronométré les exemples
Je vous rappelle que ma solution qualifiée par commodité de brute force n'en est pas un. Il s'agit en réalité de ce que l'on appelle un solveur par contraintes et restrictions
On parle de contraintes pour parler des candidats si ion les a calculés pour la case. Si on parle de uniquement des chiffres(nombre de révélés dans les trois sous ensembles d'appartenance)
Le principe est donc le suivant
je calcule les possibles de la case 1
je positionne le 1 er candidat
je passe alors a la case 2 dont je calcule les candidats en tenant compte de la 1 et je recommence jusqu'à la case 81
Le système recule automatiquement si il n'y a )pas de candidats pour une case. Je croyais cette méthode comme étant la plus rapide mais c'est faux
Par contre je crois que l'implémentation (perfectible surement) est serrée et qu'il sera difficile d'aller SENSIBLEMENT plus vite.
Et on parle bien de millisecondes
Grille 1 : 1,01 millisecondes
Grille 2 : 1.52 millisecondes
Grille 3 : 0.32 millisecondes
EscarG : 0,74 millisecondes
Easte r: 20,0 millisecondes
17-F : 966 millisecondes
17-L : 3.6 millisecondes
Il es sur que le facteur le plus important est le nombre de reveles
Mais il ne fait pas tout comme le montre les deux grilles 17 (moi je les appelle GORDON) Il existe un autre paramètre ,que je tairais pour l'instant, qui entre en ligne
i/e avec la même méthode je passe 17-First de 966 a 550..
Core duo a 2,4 sans treads, D6,XP
Si la routine de calculs des candidats doit rester secrète on peut peut être échanger des chronos pour s'amuser....
Boris
Partager