Sudoku : choix du backtracking - C - Programmation
MarshPosté le 31-10-2011 à 15:22:10
Bonjour,
Je suis en train de travailler sur un projet de programmation C, je dois fais un générateur/solveur de grilles Sudoku.
Tout fonctionne comme il faut, sauf que j'aurai besoin d'aide pour une petite preuve..
Mon algo de backtracking choisit d'abord le chiffre le plus petit : par exemple, s'il y a 3,5,6,7 comme possibilités, il essaye 3, puis 5, puis 6, puis 7...
Pour que ma génération de grilles soit plus aléatoire, j'ai pensé à changer les choix du backtracking. Au lieu de choisir le chiffre le plus petit, il fait un choix "aléatoire" parmi les possibilités.
Bien sûr le programme va résoudre la grille, mais le temps d'exécution va varier : des grilles seront résolues plus vite avec le 1er algo, d'autres seront résolues plus vite avec le choix aléatoire...
Comment justifier que ces deux algorithmes sont équivalents..? Qu'il y en a pas un plus rapide que l'autre en général ?
Marsh Posté le 31-10-2011 à 15:22:10
Bonjour,
Je suis en train de travailler sur un projet de programmation C, je dois fais un générateur/solveur de grilles Sudoku.
Tout fonctionne comme il faut, sauf que j'aurai besoin d'aide pour une petite preuve..
Mon algo de backtracking choisit d'abord le chiffre le plus petit : par exemple, s'il y a 3,5,6,7 comme possibilités, il essaye 3, puis 5, puis 6, puis 7...
Pour que ma génération de grilles soit plus aléatoire, j'ai pensé à changer les choix du backtracking. Au lieu de choisir le chiffre le plus petit, il fait un choix "aléatoire" parmi les possibilités.
Bien sûr le programme va résoudre la grille, mais le temps d'exécution va varier : des grilles seront résolues plus vite avec le 1er algo, d'autres seront résolues plus vite avec le choix aléatoire...
Comment justifier que ces deux algorithmes sont équivalents..? Qu'il y en a pas un plus rapide que l'autre en général ?
Merci.
Cordialement.