Aller au contenu
VEYRAPLAY
Français
Sudoku
TechniquesIntermédiaire

Attribuer les indices aux segments

Apprenez comment l’ordre des indices, la capacité des segments et les fragments remplis confirmés permettent de prouver quels blocs appartiennent à quelles zones ouvertes.

Une fois que des cases vides ont divisé une ligne en segments ouverts, la question suivante est : quels blocs d’indice appartiennent à quel segment ?

Une attribution indice-segment n’est valide que si tous les indices peuvent encore apparaître dans l’ordre, avec la bonne longueur, les séparateurs nécessaires et tous les états de case connus respectés.

Schéma conceptuel

Exemple : capacité et ordre imposent un indice dans chaque segment

Prenez une ligne de 14 cases avec les indices 5 4 et une case vide confirmée en position 6 :

????? × ????????

Le segment de gauche mesure 5 cases. Celui de droite en mesure 8.

Ensemble, les deux indices demandent une extension minimale de 10 cases : ils ne peuvent donc pas tenir tous les deux dans le segment de huit cases. Ils ne peuvent pas non plus tenir tous les deux dans celui de cinq cases.

Ils doivent donc être répartis de part et d’autre du séparateur.

Comme l’ordre des indices est fixe, l’indice 5 appartient au segment de gauche et l’indice 4 à celui de droite.

Exemple de ligne
Indices54
État initial

Le segment de gauche constitue maintenant un ajustement exact et peut être rempli immédiatement.

Quatre principales sources de preuve pour l’attribution

1. Capacité du segment

Si un indice est plus long qu’un segment, il ne peut pas lui appartenir. Si un groupe d’indices consécutifs possède une extension minimale supérieure à la longueur du segment, ce groupe ne peut pas y tenir entièrement.

2. Ordre des indices

Les attributions doivent préserver l’ordre de gauche à droite ou de haut en bas. Un indice ultérieur ne peut pas apparaître avant un indice précédent.

3. Fragments remplis confirmés

Un fragment rempli connu doit être couvert par au moins un bloc d’indice compatible. Sa longueur et sa position peuvent exclure plusieurs identités possibles.

4. Blocs terminés et séparateurs

Une fois qu’un bloc est identifié et terminé, sa place dans la séquence peut diviser les indices restants entre ceux qui doivent apparaître avant lui et ceux qui doivent apparaître après.

Une attribution peut être forcée sans fixer la position exacte

Savoir que l’indice 4 appartient à un segment précis ne signifie pas que vous connaissez exactement les quatre cases qu’il occupe.

L’attribution répond à quel bloc vit ici. Le placement répond à où, dans ce segment, il se trouve.

Une fois l’attribution établie, utilisez l’ajustement exact, le chevauchement, l’ancrage au bord, la portée des blocs ou les limites de placement pour résoudre la position restante.

Travaillez avec des groupes d’indices consécutifs

Sur les lignes riches en indices, il est souvent plus utile de tester des groupes que des nombres isolés.

Supposons qu’un segment puisse contenir 2 3 ensemble mais pas 2 3 4. Cela limite immédiatement l’endroit où la séparation entre groupes d’indices peut se trouver.

Vous pouvez ensuite combiner cette contrainte avec la capacité du segment voisin pour trouver la seule partition légale de la séquence.

C’est l’une des méthodes les plus fiables pour simplifier les longues lignes de nonogrammes.

Exemple : trois segments imposent toute la partition des indices

Prenez une ligne de 17 cases avec les indices 3 5 3. Des X confirmés aux cases 5 et 13 la divisent en segments de longueurs 4, 7 et 4 :

???? × ??????? × ????

Exemple de ligne
Indices353
État initial

L’indice central 5 ne tient dans aucun des deux segments extérieurs de quatre cases : il doit donc appartenir au segment central de sept cases.

En respectant l’ordre des indices, tout le reste devient forcé :

  • premier indice 3 → segment de gauche ;
  • indice 5 → segment central ;
  • dernier indice 3 → segment de droite.

Remarquez ce qui n’a pas été prouvé : la position exacte de chaque bloc à l’intérieur de son segment. Chacun des blocs de 3 extérieurs possède encore deux placements, et le bloc de 5 en possède encore trois. L’attribution a transformé une grande ligne en trois problèmes de placement plus petits et désormais indépendants.

C’est pourquoi l’attribution aux segments peut être très puissante même lorsqu’elle ne remplit aucune case immédiatement.

Pensez l’attribution comme une partition de la séquence d’indices

Pour une ligne comportant plusieurs segments, imaginez que vous placiez des séparateurs à l’intérieur de la liste ordonnée des indices.

Si les indices sont :

2 3 4 1

et que la ligne comporte trois segments ouverts, une partition candidate peut être :

[2 3] | [4] | [1]

Une autre peut être :

[2] | [3 4] | [1]

Chaque segment reçoit un groupe d’indices consécutifs ; leur ordre ne change jamais. Une partition candidate n’est légale que si chaque groupe attribué tient dans la capacité de son segment et si toutes les cases remplies connues peuvent être couvertes.

Cela fournit une méthode avancée systématique :

  1. générer uniquement les partitions qui préservent l’ordre des indices ;
  2. rejeter celles dont l’extension minimale dépasse la longueur d’un segment ;
  3. rejeter celles qui laissent un fragment rempli connu sans couverture ;
  4. rejeter celles incompatibles avec des blocs déjà identifiés ou terminés ;
  5. comparer les partitions restantes.

Si toutes les partitions survivantes attribuent le même indice ou le même groupe d’indices à un segment, cette attribution est prouvée même si d’autres parties de la ligne restent ambiguës.

Schéma conceptuel

Utilisez la capacité dans les deux directions

Ne demandez pas seulement « qu’est-ce qui tient dans ce segment ? ». Demandez aussi « où ce groupe d’indices pourrait-il aller ailleurs ? ».

Un segment peut être assez spacieux pour plusieurs attributions, alors que ses voisins sont trop petits pour les alternatives. L’attribution est alors forcée par toute la partition ordonnée, et non par le segment local pris isolément.

Ce contrôle bilatéral devient particulièrement important sur les grandes grilles, où une longue ligne peut contenir de nombreux segments séparés par des X et plusieurs indices de même longueur.

N’attribuez pas les fragments remplis d’après leur apparence

Deux fragments remplis proches peuvent appartenir :

  • au même bloc encore non résolu, les cases indéterminées entre eux finissant par être remplies ;
  • à deux blocs différents, au moins un séparateur vide apparaissant ensuite entre eux.

Ne choisissez pas d’après l’image qui se dessine. Utilisez les tailles des blocs, l’ordre des indices, la capacité des segments et les placements légaux.

Méthode d’attribution pas à pas

  1. divisez la ligne aux cases vides confirmées ;
  2. listez les indices non résolus dans leur ordre d’origine ;
  3. calculez la longueur de chaque segment ;
  4. éliminez les indices et groupes d’indices qui ne peuvent pas tenir ;
  5. tenez compte des blocs terminés et des identités déjà connues ;
  6. exigez que tout fragment rempli connu puisse être couvert ;
  7. comparez les partitions restantes de la séquence entre les segments ;
  8. ne validez une attribution que lorsque toutes les alternatives sont impossibles.

Erreurs fréquentes

« Ça tient, donc ça appartient ici »

La capacité est nécessaire, mais pas suffisante. Un indice peut tenir dans plusieurs segments.

Attribuer au fragment rempli l’indice le plus proche

La distance n’est pas une règle. L’ordre des indices et les placements légaux déterminent l’identité.

Oublier les groupes d’indices

Un segment peut accueillir chaque indice séparément tout en étant incapable d’accueillir le groupe consécutif requis une fois les séparateurs obligatoires ajoutés.

Confondre attribution et placement exact

Gardez les deux questions séparées. Un indice peut être attribué à un segment tout en conservant plusieurs placements légaux à l’intérieur.

Que faut-il apprendre ensuite ?

L’attribution permet ensuite de raisonner sans risque sur le fait que des fragments remplis doivent se rejoindre pour former un même bloc ou rester séparés dans des blocs distincts.

FAQ

Un segment peut-il contenir plusieurs blocs d’indice ?

Oui. Leur extension minimale combinée doit tenir, et ils doivent être consécutifs dans l’ordre des indices.

Un segment ouvert peut-il ne contenir aucun bloc ?

Oui. Si aucune attribution légale ne l’utilise, toutes ses cases sont vides.

Dois-je connaître la position exacte d’un bloc avant de l’attribuer ?

Non. L’attribution vient souvent en premier ; le placement exact peut rester non résolu.