IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Sudoku : choix du backtracking


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 28
    Points : 17
    Points
    17
    Par défaut Sudoku : choix du backtracking
    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.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Je pense que tu aurais plus de chances dans le forum "Algorithmes".

  3. #3
    Membre éclairé
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Points : 842
    Points
    842
    Par défaut
    Ca ne dépend pas que de ton algo, ça dépend de la manière dont tu as fait ton algo et de la grille.
    Je dis une bêtise, mais c'est pour schématiser : si ton backtrack est fait pour résoudre ton sudoku pour 1,2,3,4...9 et que la grille doit se résoudre dans l'autre sens (9,8...1) ton algo va passer beaucoup plus de temps à le résoudre.

    Le but pour que ton algo soit plus rapide est de prendre le nombre qui aura le moins de possibilités pour 'casser' le backtracking au plus vite et explorer le moins de cases possible.
    Tu peux aussi avoir un compteur 'général' qui compte le nombre de 'nombres' restant sur la grille et jouer en fonction de ça.
    Plus tu pédales moins fort, moins t'avances plus vite.

Discussions similaires

  1. Sudoku : choix du backtracking
    Par benji1801 dans le forum Mathématiques
    Réponses: 1
    Dernier message: 31/10/2011, 23h10
  2. sudoku backtracking (langage C)
    Par souzen dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 04/01/2009, 13h20
  3. [Java] Résolution de Sudoku par backtracking
    Par pseudocode dans le forum Contribuez
    Réponses: 1
    Dernier message: 04/01/2009, 12h58
  4. probleme : resolveur de sudoku par backtracking
    Par gnouz dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 14/09/2008, 14h18
  5. Résolution SuDoKu récursif BackTrack
    Par kawasaki dans le forum Langage
    Réponses: 0
    Dernier message: 20/12/2007, 16h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo