Bonjour,
1) Dans le programme C publié il y a un blanc en trop :
/* option d'affichage dans la fontion resolve */
g_flag_affiche = ((argc >= 2) && (parametre_affichage(argv[1]))); //au lieu de > = 2 !!!
Le programme en C est astucieux par 'force brutale" (3 boucles imbriquées) mais pas moins bon qu'une approche 'branch and bound' plus structurée.
2) La véritable mesure de la difficulté n'est pas le nombre d'"itérations" (appel à resolve) mais la profondeur de l'exploration (le nombre d'appels de resolve empilés)
Quelqu'un est-il intéressé par le programme C avec cet affichage ajouté? Permet de mieux comprendre comment ça marche.
3) il y a > 40 ans que je fais de la programmation linéaire en nombres entiers: c'est un cas particulier où il n'y a aucun critère permettant de limiter la profondeur du Branch and Bound par un majorant simple à obtenir d'une fonctionnelle.
Pour les Profs...
4) Le jeu de Sudoku est sans intéret, et fait perdre du temps puisqu'un programme combinatoire le résoud aisément. Je vais mettre en ligne (pas nouveau) un programme de résolution avec saisie graphique pour que les gens lisent ou fassent des maths au lieu de perdre du temps et puisse l'utilser avec un 'browser" à partir d'un mobile. Et aussi faire une application USSD pour les gens qui n'ont pas de connexion GPRS.
Arnaud