← Les 40 défis

SOLO-011 · Mastermind avancé

EXPERT

Les huit encres

Retrouver l’unique code ordonné de 5 chiffres.

Corrigé — cette page contient la réponse.

La réponse exacte

Code : 70730.

Le raisonnement

  1. Sépare deux contraintes pour chaque ligne : le nombre d’égalités position par position, puis le total des occurrences communes. Ce total vaut bien placés + mal placés ; on prend, pour chaque chiffre, le minimum des deux multiplicités.
  2. Pour réduire le travail manuel, oublie provisoirement les places. Note n₀,…,n₇ les nombres d’occurrences des huit chiffres. Leur somme vaut 5.
  3. La proposition 02553 impose min(n0, 1) + min(n2, 1) + min(n3, 1) + min(n5, 2) = 2.
  4. La proposition 62532 impose min(n2, 2) + min(n3, 1) + min(n5, 1) + min(n6, 1) = 1.
  5. La proposition 05062 impose min(n0, 2) + min(n2, 1) + min(n5, 1) + min(n6, 1) = 2.
  6. La proposition 73375 impose min(n3, 2) + min(n5, 1) + min(n7, 2) = 3.
  7. Ces contraintes d’occurrences seules laissent 5 multiensemble(s). Les voici, écrits en ordre croissant : 00337 ; 00377 ; 01577 ; 04577 ; 05777.
  8. Multiensemble 00337 : après application successive des nombres de bien placés, il reste 12 → 5 → 2 → 0 arrangement(s).
  9. Multiensemble 00377 : après application successive des nombres de bien placés, il reste 15 → 3 → 1 → 1 arrangement(s).
  10. Multiensemble 01577 : après application successive des nombres de bien placés, il reste 30 → 0 → 0 → 0 arrangement(s).
  11. Multiensemble 04577 : après application successive des nombres de bien placés, il reste 30 → 0 → 0 → 0 arrangement(s).
  12. Multiensemble 05777 : après application successive des nombres de bien placés, il reste 10 → 0 → 0 → 0 arrangement(s).
  13. On peut donc faire deux tableaux séparés, occurrences puis places. Une seule ligne du second tableau conserve un arrangement ; c’est le code annoncé. Cette séparation évite de parcourir aveuglément tous les mots ordonnés.
  14. Commence avec les 32,768 mots ordonnés de longueur 5 sur 0 à 7. On ne retire pas les zéros initiaux ni les mots avec répétition.
  15. Indice 1, proposition 02553 : conserve exactement les configurations avec 0 égalité(s) de position et 2 occurrence(s) commune(s). Il reste 7,051 candidat(s).
  16. Indice 2, proposition 62532 : conserve exactement les configurations avec 1 égalité(s) de position et 1 occurrence(s) commune(s). Il reste 319 candidat(s).
  17. Indice 3, proposition 05062 : conserve exactement les configurations avec 0 égalité(s) de position et 2 occurrence(s) commune(s). Il reste 16 candidat(s).
  18. Indice 4, proposition 73375 : conserve exactement les configurations avec 1 égalité(s) de position et 3 occurrence(s) commune(s). Il reste 1 candidat(s).
  19. À l’indice 1, le candidat 00000 donnerait 1 bien placé(s) et 0 mal placé(s), au lieu de 0 et 2 : il est éliminé.
  20. À l’indice 2, le candidat 10005 donnerait 0 bien placé(s) et 1 mal placé(s), au lieu de 1 et 0 : il est éliminé.
  21. À l’indice 3, le candidat 10002 donnerait 2 bien placé(s) et 1 mal placé(s), au lieu de 0 et 2 : il est éliminé.
  22. Ce filtrage peut se faire sur papier en branches : fixe d’abord les occurrences possibles, affecte ensuite leurs places et coupe une branche dès qu’une ligne dépasse son nombre de bien placés ou ne peut plus atteindre son total commun. Il ne faut pas choisir un candidat seulement parce qu’il satisfait la dernière ligne.
  23. Contrôle final contre 02553 : 0 bien placé(s), 2 mal placé(s).
  24. Contrôle final contre 62532 : 1 bien placé(s), 0 mal placé(s).
  25. Contrôle final contre 05062 : 0 bien placé(s), 2 mal placé(s).
  26. Contrôle final contre 73375 : 1 bien placé(s), 2 mal placé(s).
  27. La vérification exhaustive reprend tous les mots possibles et compte exactement une solution. Les chiffres sont donc déterminés à toutes les places ; il ne s’agit pas seulement d’un code compatible trouvé au hasard.

Fausses pistes et erreurs

Déplier le certificat détaillé de recherche

Chaque branche est indépendante. L’arbre montre les déductions et contradictions du protocole utilisé ; ce n’est pas l’unique méthode possible.

{
  "multisets_and_position_counts": [
    {
      "bag": "00337",
      "remaining_after_position_constraints": [
        12,
        5,
        2,
        0
      ]
    },
    {
      "bag": "00377",
      "remaining_after_position_constraints": [
        15,
        3,
        1,
        1
      ]
    },
    {
      "bag": "01577",
      "remaining_after_position_constraints": [
        30,
        0,
        0,
        0
      ]
    },
    {
      "bag": "04577",
      "remaining_after_position_constraints": [
        30,
        0,
        0,
        0
      ]
    },
    {
      "bag": "05777",
      "remaining_after_position_constraints": [
        10,
        0,
        0,
        0
      ]
    }
  ]
}
Comment cette réponse a été vérifiée

Énumération exhaustive de tous les codes ; calcul indépendant de chaque score ; suppression des indices redondants.

{
  "candidates": 32768,
  "solutions": 1,
  "clues": 4,
  "survivors_after_clues": [
    7051,
    319,
    16,
    1
  ]
}

La méthode de référence laisse 5 multiensemble(s) après résolution des contraintes de multiplicité ; il faut ensuite croiser leurs arrangements avec toutes les contraintes de position. Les répétitions empêchent de traiter les chiffres comme un simple ensemble. La méthode de référence combine comptage des occurrences et élimination de configurations.

← Revenir à l’énoncé SOLO-011