Forçage

Forçage

Maître

Est-ce un hasard ? La controverse de Chaînes de contraintes

Chaînes de contraintes ne sont pas des devinettes lorsqu'elles sont utilisées comme technique de preuve. Vous examinez temporairement toutes les branches à partir d'un point de départ choisi, propagez chaque branche logiquement, et ne conservez que les conclusions soutenues par toutes les branches ou forcées par une contradiction.

La différence clé par rapport à une devinette réside dans l'engagement. Une devinette choisit une branche et poursuit comme si elle était vraie. Une chaîne forcée compare toutes les branches pertinentes à partir du point de départ et agit uniquement lorsque la comparaison prouve quelque chose.

Chaînes de contraintes sont moins élégantes que les techniques basées sur les motifs, mais leurs conclusions sont prouvées exactes lorsque toutes les branches ont été vérifiées correctement.

Case Chaîne de contrainte

Commencez par une case à deux valeurs Case {A, B}. Propagez les implications pour chaque branche. Comparez les résultats.

Contradiction : une branche est invalide, donc la Case doit être l'autre candidat.

Convergence sur le placement : les deux branches imposent le même chiffre dans la même case éloignée Case.

Convergence sur l'élimination : les deux branches éliminent le même candidat de la même case Case.

Chaîne de forçage régionale (Chaîne de forçage par chiffre)

Commencez par une des 2-3 positions d'un chiffre dans une maison. Explorez chaque position comme une branche. Mêmes trois types de déduction.

Case force est efficace lorsque les cellules à deux valeurs ont des conséquences étendues. La force régionale est efficace lorsque la position d'un chiffre a des effets en chaîne importants.

Filet de contrainte : Augmenter le décompte des branches

Case Net de contrainte : cellules avec 3 à 6 candidats. Net de contrainte régionale : cases avec 4 à 6 positions possibles pour un chiffre. Plus de branches, plus coûteux, mais peut permettre de trouver des déductions Chaînes de contraintes ne peut pas.

La logique est identique. Seul le nombre de branches diffère.

Le moteur de propagation

Chaque branche se propage à travers les singles nus, les singles cachés, Candidats verrouillés, et les paires nues, de manière itérative jusqu'à stabilité. Une seule hypothèse peut se propager à travers des dizaines d'étapes intermédiaires à travers toute la grille.

Lorsque deux branches aboutissent à la même conclusion par des chemins complètement différents, la convergence prouve la conclusion avec certitude.

Les trois types de déduction

Contradiction : Une branche produit un état invalide. Cette hypothèse est fausse. La plus courante.

Convergence sur placement : Toutes les branches obligent le même chiffre dans le même Case. Moins courante mais décisive.

Convergence sur élimination : Toutes les branches éliminent le même candidat du même Case. Type le plus subtil.

Quand utiliser les techniques de contrainte

Dernier recours logique. Appliqué après les techniques basées sur les motifs et les chaînes plus propres.

Les Chaînes de contraintes avec 2-3 branches sont essayés en premier. Les réseaux de contrainte avec 3-6 branches sont plus coûteux et sont généralement réservés pour plus tard. Les deux sont de niveau 12 (extrême).

Pour les solveurs informatiques, le forçage borné est un moteur de preuve puissant mais pas automatiquement complet. La complétude n'est obtenue que si la recherche est autorisée à s'étendre suffisamment pour couvrir les hypothèses nécessaires, ce qui s'approche du backtracking exhaustif. En pratique, le forçage est mieux décrit comme une recherche logique contrôlée plutôt qu'une garantie que tout solveur de profondeur fixe puisse résoudre tous les puzzles valides.

Une note philosophique sur l'élégance et l'exactitude

Les techniques basées sur les motifs révèlent des relations structurelles et sont plus élégantes. Mais il existe des grilles valides qui nécessitent une logique de niveau forçage. Les techniques de forçage constituent le filet de sécurité qui attrape toutes les grilles que les techniques basées sur les motifs ne peuvent pas résoudre.

La méthode la plus satisfaisante : essayer toutes les techniques basées sur les motifs en premier, puis recourir au forçage uniquement lorsque la grille le demande vraiment.

Résumé

Chaînes de contraintes et les réseaux de contrainte sont parmi les techniques logiques les plus puissantes, au niveau 12 (extrême). Elles explorent toutes les branches à partir d'un point de départ choisi, propagent les conséquences et comparent les résultats. Les déductions proviennent de contradiction, de convergence sur un placement ou de convergence sur une élimination. Ce sont le dernier recours avant le retour arrière par force brute ; si elles sont développées sans limites pratiques, elles deviennent une preuve complète par recherche exhaustive, mais une exploration bornée au style humain reste une technique avancée ciblée.