Solveur de sudoku

5/5 (49 avis)

Vue 68 547 fois - Téléchargée 7 828 fois

Description

Un peu d'histoire tout d'abord. Sudoku est un terme japonais signifiant "chiffre simple". Il désigne aujourd'hui un jeu mathématique dérivé du carré latin, invention européenne du XVIIIe siècle, due au célèbre mathématicien suisse Leonhard Euler. Le sudoku se compose d'une grille de neuf cases de côté partagée en neuf carrés de trois cases de côté (je sais ce texte peu clair ; n'hésitez pas à regarder la capture !).

Aujourd'hui, ce jeu fait fureur, paraît-il, en Grande Bretagne notamment (on trouve des grilles pour jouer sur http://www.sudokufun.com/ notamment). Son principe est très simple : il s'agit de placer un chiffre (entre 1 et 9, le 0 étant exclu) dans chaque case de telle sorte que toute ligne, colonne ou pavé de neuf cases ne contienne qu'une et une seule fois chacun des neuf chiffres. Des chiffres figurent initialement dans la grille pour orienter la réflexion du joueur.

Mon programme comporte un algorithme destiné à résoudre ce casse-tête via la méthode du rebroussement (backtracking, qu'on ne traduit d'ailleurs par "retour arrière" qu'au prix d'une ridicule redondance, le "retour avant" n'ayant aucun sens...). Il est possible que des améliorations puissent y être apportées (raison bien valable pour vous le présenter !). Dernière chose, j'ai choisi "Débutant" en raison de la grande simplicité des notions abordées dans ce programme.

Source / Exemple :


'Tout est dans l'archive

Conclusion :


Un grand merci à Renfield pour ses contrôles (ReyXP.ocx), et aux deux artistes que sont à leur manière Mormegil et Yangge (www.WinCustomize.com), pour leurs superbes icônes.

Et, comme d'habitude, les suggestions, critiques et commentaires sont tous bienvenus. Seul le silence est nul et non avenu ;-)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
hackalexandres32 Messages postés 37 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 3 novembre 2008 1
29 févr. 2008 à 03:07
A super men le look aussi BRAVO!!!!!
greatdanger Messages postés 1 Date d'inscription samedi 11 février 2006 Statut Membre Dernière intervention 18 février 2008
18 févr. 2008 à 18:32
mhmmmmmm cool programme
j'aime bien le SuDoKu
cs_macromed Messages postés 30 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 25 février 2007
23 juil. 2006 à 01:46
L'exe dot etre remplacer par ex_ pour que le téléchargement fonctionne, merci :)
Titix50 Messages postés 1 Date d'inscription lundi 15 mai 2006 Statut Membre Dernière intervention 16 mai 2006
16 mai 2006 à 17:45
Bonjour tout le monde,
J'ai realisé un programme de résolution du Sudoku suivant la méthode "à la main".
Je résouds automatiquement 90% des Sudokus. Les 20% restants peuvent être résolus juste en intégrant dans la programmation un choix aléatoire d'un nombre(en suivant bien sûr toutes les contraintes).
Si quelqu'un veut des précisions....
ddurandet Messages postés 5 Date d'inscription dimanche 4 décembre 2005 Statut Membre Dernière intervention 20 mars 2006
20 mars 2006 à 09:29
Bonjour Cacophrene.
Comme tu le dis, chaque méthode à ses avantages et ses inconvénients.
Pour moi la méthode des stratégies à aussi l'avantage de rester dans le domaine du casse-tête et d'une "résolution logique" du Sudoku, le casse-tête n'est plus le Sudoku, mais le programme qui le résoud. Ce que ne fait pas le rebroussement.
Egalement, c'est vrai que l'on ne peut pas prouver qu'une stratégie résout tous les Sudokus, à moins d'être très très fort, mais le rebroussement à le problème inverse, il ne peut pas prouver que l'on peut résoudre logiquement un Sudoku.
Je crois que ce sont deux visions différentes de l'application elle même. Le rebroussement permet de connaître la/les solutions d'un Sudoku. L'approche stratégie permet de savoir si l'on aurait pu résoudre ce Sudoku "à la main" en utilisant la même stratégie.
Afficher les 49 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.