Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SOLVEUR DE SUDOKU EN VBS (VISUAL BASIC SCRIPT)


Information sur la source

Catégorie :VBScript Classé sous : sudoku, solver, vbs Niveau : Débutant Date de création : 13/01/2006 Date de mise à jour : 13/03/2006 22:27:12 Vu / téléchargé: 12 426 / 2 206

Note :
8 / 10 - par 3 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Trouve la solution de la plupart des grilles (même les VERY HARD du Times) en une fraction de seconde.
Analyse récursive : on teste toutes les cases vides avec les valeurs de 1 à n (normalement n=9)...

Possibilité de recherche exhaustive. La version 4.0-X Couvre plusieurs tailles de grilles (jusqu'à 5*5 tel quel, et jusqu'à 64*64) en adaptant le script.
VBS est indépendant de tout environnement. Facilement réutilisable dans VB ou ailleurs.
Mode d'emploi et exemples fournis.

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

03 février 2006 17:08:53 :
03/02/2006 : grille de GAGOU9, résolue en 230 secondes !!! Trop lent, j'espère que cette grille est une exception ! Du coup, ajout de la version d'origine du script V1 (la version courante est la V3), qui met 160 seconde pour la même grille (mais mono-solution)...
13 mars 2006 22:27:12 :
V4.0 -9 : version rapide traitant les grilles 9x9 -X : version plus lente multiformat La V4 sera ma dernière mise à jour sur ce site pour le moment, jusqu'à ce que j'aie peut-être un jour le temps d'écrire des pré-optimisations (recherche préalable des cases à solution immédiate évidentes)...

Commentaires et avis

signaler à un administrateur
Commentaire de gagou9 le 21/01/2006 17:08:25

Salut !
ton solver ne resout pas cette grille (niv diabolique)

2 3 8    
8  7    
      1  
6 5 7  
4      3
   1    
       82
5    6  
1      

lol salut !!

signaler à un administrateur
Commentaire de KakasEtt le 28/01/2006 17:45:32

Bonjour,

Mon solver trouve des dizaines de milliers de solutions à cette grille incomplete.
En voici simplement 2 :

SOLUTION N° --------- 1
2 1 3 4 8 5 6 7 9
8 4 6 7 1 9 2 5 3
7 5 9 2 6 3 1 4 8
6 2 5 3 7 4 8 9 1
4 8 1 6 9 2 5 3 7
3 9 7 1 5 8 4 2 6
9 6 4 5 3 1 7 8 2
5 7 8 9 2 6 3 1 4
1 3 2 8 4 7 9 6 5

SOLUTION N° --------- 50088
2 1 3 4 8 5 6 7 9
8 4 6 7 1 9 2 5 3
7 5 9 2 6 3 1 4 8
6 3 5 9 7 4 8 2 1
4 2 1 6 5 8 9 3 7
9 7 8 1 3 2 4 6 5
3 6 4 5 9 1 7 8 2
5 9 7 8 2 6 3 1 4
1 8 2 3 4 7 5 9 6
Je ne vois pas ce qui justifie votre commentaire...

signaler à un administrateur
Commentaire de gagou9 le 29/01/2006 15:11:01

Re salut !!
desolé de vous avoir tutoyé, aparament n'etes pas de ce genre!!

bon, pour reparler de la grille, il doit y avoir une erreur dans celle que je vous ai donné car elle n'a qu'une seule solution logique, donc c'est etrange! je verifie cela tout de suite !

apres verification, effectivement, cette grille n'a qu'une solution, voir ici pour la grille non resolue :

http://zappiweb.free.fr/images/sudoku.jpg

voila !
bon bah bonne prog'

Salut

signaler à un administrateur
Commentaire de KakasEtt le 03/02/2006 17:01:43

Bonjour,

je te remercie tout d'abord pour la super grille ! Jamais vu une grille aussi difficile (pour cet algo)! L'est-elle autant en résolution manuelle ? J'imagine que la difficulté d'une grille se mesure par rapport au type d'algorythme utilisé...

Cependant... Il y a un timer dans le script qui évite les boucles infinies en phase de développement... Il est à 10, en l'augmentant, on trouve la solution !
Script V3 = 230 secondes. J'avoue, c'est long !
Je livre donc également le script V1, qui trouve la solution en 160 secondes (sur ma machine)...

Salut, et bon week-end !

(p.s. je ne tutoie jamais la première fois, pour diverses raisons, entre autre pour éviter de dire n'importe quoi, surtout quand je suis irrité que qq'un aie pu éventuellement trouver une faille à mon pgm !   ;-))

signaler à un administrateur
Commentaire de KakasEtt le 03/02/2006 17:12:49

P.S. à GAGOU9 : dans première la grille que tu m'as donnée, il manque des espaces au début de certaines lignes (j'avais fait un copier/coller de la grille, et n'avais pas de pb à la résoudre).
Merci donc pour l'image...

signaler à un administrateur
Commentaire de guyvdv le 26/02/2006 14:36:20

Bonjour les joueurs,
J'ai trouvé dommage que le script ete en VBS, difficile a voire ce qu'il ce passe. Alors j'ai reecris le script en vb.net 2005 express
alez voire sur http://vbfrance.com/code.aspx?ID=36268
merci et a bientot
Guy van der Velden

signaler à un administrateur
Commentaire de KakasEtt le 27/02/2006 00:33:42

Bonjour,

merci pour cette nouvelle version, je vais vois ce que cela donne ! Je donnerai des nouvelles.

KakasEtt

signaler à un administrateur
Commentaire de KakasEtt le 27/02/2006 00:41:00

Bonsoir,

Je peux déjà dire que le but de VBS était d'avoir un module unique à lancer sur n'importe quelle machine, sans s'encombrer d'environnement de développement ni d'interfaces quelconques. En VBnet nous avons déjà 6 modules, que je ne suis pas sûr de pouvoir lancer sur mon ordi, sans plus... Je verrai bien.
Quant au "difficile de voir ce qui se passe", j'ai pourtant essayé d'être simple et modulaire, mais je commenterai plus ma prochaine version, c'est entendu !

Bonne soirée ! A bientôt !

signaler à un administrateur
Commentaire de guyvdv le 27/02/2006 09:38:10

Bonj KakasEtt
Tu a raison pour le portage de vbs.
Mais ou aprends tu a ecrire en vbs? livre? ou practique?
A+
Guy van der velden

signaler à un administrateur
Commentaire de KakasEtt le 07/03/2006 21:14:15

Bonsoir Guy,

Sans l'environnement de développement adéquat, je n'ai pas réussi à lancer ta version...
Quant à l'apprentissage de VBS, ce n'est pas autre chose que du Visual Basic, ou du basic tout court, c'est à dire que c'est le même langage, à quelques infimes détails près, que le VB de VisualBasic, que celui utilisé ou utilisable dans les macros de Word, d'Excel... ou en VB.net. Je ne sais pas ce qu'est VB.net, mais en relisant ta version, elle ne diffère que très peu de la mienne... Donc en conclusion, on trouve un peu partout des fichiers d'aide contenant la syntaxe de ce langage. Quant à VBS en particulier, un fichier d'aide est fourni avec Windows, sinon, on doit bien le trouver sur internet...

Voilà... Ce script doit pouvoir tourner sans grosses modifications en tant que macro Word ou Excel ou VB ou VB.net ou... Il faut seulement modifier la lecture et la restitution des données...

A bientôt,
   KakasEtt.

signaler à un administrateur
Commentaire de guyvdv le 08/03/2006 17:31:10

merci de ta reponse,
Pour l'instant j'etudi des chose sur recursion de erwin

'http://personal.vsnl.com/erwin/magic.htm

Tres claire et tous doucement il y a des chose qui reviennes, comme variatie, combinatie et permutatie que j'ai apris pendant mais etude de prof math et phys.(mots en francais ???)

A+
Guy van der Velden

signaler à un administrateur
Commentaire de MVI le 08/03/2007 16:24:29

Bonjour,
Le problème de Gagou9 de Janvier ne m'est pas apparu diabolique.
Le solveur que j'ai écrit (sous VBA Excel voir n°41064) l'a résolu en 3s48.
Il doit y avoir des problèmes qui sont adaptés à certains algorithmes et vice versa. Le mien n'a rien de transcendant, il est même plutôt bestial...
Good luck avec la récursivité.
Je suis preneur des bugs et autres problèmes qui ne pourraient pas être résolus afin d'améliorer mon algorithme.

A+

signaler à un administrateur
Commentaire de bayosky le 02/06/2008 22:58:47

Bonsoir,

Je suis désolé mais j'aimerais savoir pourquoi la grille_A suivante
provoque un bug :
Quand on ajoute la ligne pour chercher toutes les solutions
le script boucle et propose toujours la même ...

C'est d'autant plus bizarre que si l'on envoie les trois première ligne à la fin ( voir grille_B)
le script fonctionne correctement...

----Grille_A------
5 234
  456 2 7
6   7 84
12 7 4 9
98    4 1
  6 1287
314  9
6 5 31 4
7    53 6
----Grille_B------
12 7 4 9
98    4 1
  6 1287
314  9
6 5 31 4
7    53 6
5 234
  456 2 7
6   7 84
--------------
Cordialement,
HB

signaler à un administrateur
Commentaire de KakasEtt le 08/06/2008 22:09:43

Bonsoir,

Il doit y avoir erreur de copier-coller, car toutes les versions de mes scripts donnent... ZERO solution a ce problème. Pas de bouclage donc.
En effet, dans la PREMIERE COLONNE, donc verticalement et le long du bord gauche, il y a deux fois le chiffre 6 (ligne 3 et 8 sur Grille_A). Même résultat pour Grille_B, bien sûr.

A moins d'avoir la grille sans erreur (mettre des points à la place des espaces, pour éviter de les perdre ?), je ne pourrais pas aider...

Cordialement,
KE

signaler à un administrateur
Commentaire de bayosky le 09/06/2008 00:22:53

bonne remarque ...
voici la grille ...

5x234xxxx
xx456x2x7
x6xxx7x84
12x7x4x9x
98xxxx4x1
xx6x1287x
x314xx9xx
6x5x31x4x
7xxxx53x6

Amicalement,

HB

signaler à un administrateur
Commentaire de KakasEtt le 14/06/2008 02:11:05

Effectivement très curieux !
Il se met à boucler... dans un cas et pas dans l'autre...

Cordialement
KE

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

fonctionnement fichiers vbs [ par gremlins ] comment faire fonctionner un fichier vbs. si j'ai bien compris, ces fichiers sont des scripts qui necessites qqs dll pour fonctionner, quelles sont-el vbScript ou plutot .vbs [ par seb ] Est il possible de rechercher un fichier dans un répertoire d'un part, et d'autre part d'executer un .batobjectif crée un script qui execute des app a A L'AIDEEE!!! CONVERSION VBScript >>> VB ( ~~c vital sioux plééé ~~) [ par pekinio ] Voila, hello a tlm.bon, en fait, c'est a propos du code "generateur de mots"(dans la categorie VB.NET!!!?), sur ce site.je trouve ce code interressant Comment executer a partir de VBS [ par CR_B ] Comment executer un fichier a partir d'un script VBS????? Création d'une base de données Oracle dans un fichier vbs [ par Fatma ] Je recherche la dll qui me permettra de créer une base de données Oracle dasn un fichier vbs comme la dll SQLDMO suivante :WScript.createObject("SQLDM Anna Kournikova [ par vbtom ] Quelkun pourrait me filer les sources de ce virus car je fait un site sur le VBS et les virus sont tres instructifs pour des progs VBS alors merci d'a ProgressBar pour le login script NT [ par jamiroq ] ben ouiah ! j'aimerai bien faire ca !!c a dire inculre ds mon code logonscript.vbsune methode pour afficher l'etat d'avancement du script et afficher SVP AIDE URGENTE !!!! Script VB [ par rodolf ] Comment faire pour executer un script vb (extension vbs) a partir de vb ?Par exemple dans vb (execute le fichier test.vbs)C pour finir mon antivirus q Comment creer un fichier avec l'extention VBS [ par crackenkill ] Comment creer un fichier avec l'extention VBS car des que je la mait manuellement le pc dit qu'il y a un erreur


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,671 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.