Passer au contenu

Achetez 3, obtenez 3 % de réduction - utilisez le code ZATU3

Achetez 5 articles, obtenez 5% de réduction - utilisez le code ZATU5

Pays/région

Langue

Panier

Un cours magistral sur la machine de Turing, troisième partie : mode difficile – sommes-nous exclusifs ?

Cet article est la première partie d'une série d'articles sur le jeu avancé pour le jeu Turing Machine. Vous pouvez trouver une liste de tous les articles ainsi que d'importantes clauses de non-responsabilité ici (insérer le lien).

Au cours des deux dernières semaines, nous avons essayé d'intégrer deux principes clés pour un jeu avancé de Turing Machine :

PRINCIPE 1 : AUCUN VÉRIFICATEUR NE PEUT ÊTRE REDONDANT

Une implication importante du principe 1 est qu'aucun vérificateur n'est autorisé à nous donner toutes les informations qu'un autre vérificateur nous donnerait.

PRINCIPE 2 : LE CODE CORRECT SERA

Une implication importante du principe 2 est que chaque couleur doit être définissable de manière unique.

Cette semaine, nous allons résoudre un dernier puzzle en mode Classique, en utilisant le réglage Difficile afin que n'importe laquelle des cartes vérificateurs puisse être utilisée. Puisque nous avons utilisé quatre et six vérificateurs dans nos précédents puzzles, nous utiliserons cinq vérificateurs cette fois-ci.

La raison pour laquelle nous consacrons une semaine entière à couvrir le réglage Difficile est que le mode Facile/Standard n'utilise que les vérificateurs 1 à 25, tandis que le mode Difficile peut inclure les vérificateurs à partir du vérificateur 26, et il y a une distinction importante pour ceux-ci, que nous verrons en résolvant le puzzle.

Voici la configuration de ce puzzle ; si vous souhaitez jouer chez vous, vous pouvez utiliser le code #C52 H0G P sur le site web de Turing Machine.

Commençons par réfléchir au vérificateur 42. Si le jaune est le plus bas ou le plus haut unique, le code aura soit un « pic » (avec le jaune comme le plus haut unique), soit un « creux » (avec le jaune comme le plus bas unique). Cela rendra le vérificateur 22 redondant, nous savons donc que le vérificateur 42 ne teste pas le jaune comme le plus petit ou le plus grand.

Maintenant, c'est le moment où nous devons faire une pause et réfléchir à l'exclusivité mutuelle. Cherchons dans la boîte et sortons le vérificateur 15, qui est assez similaire au vérificateur 42 mais pas exactement le même.

Bien qu'ils semblent assez similaires, il y a une différence majeure entre eux : toutes les possibilités sur le vérificateur 15 sont mutuellement exclusives. C'est-à-dire que si l'une d'entre elles est vraie, toutes les autres sont par définition fausses.

Si le bleu est plus grand que le violet et le jaune, il devrait être immédiatement évident que le jaune ne peut pas être plus grand que le bleu et le violet, et que le violet ne peut pas être plus grand que le bleu et le jaune.

Cependant, si vous regardez attentivement le vérificateur 42, vous remarquerez que ce n'est pas vrai. Si le jaune est le plus bas unique, nous pouvons exclure l'option correspondante de la ligne du bas (le jaune ne peut pas être le plus bas unique ET le plus haut unique), et les autres options de la ligne du haut (le bleu et le violet ne peuvent pas non plus être le plus bas unique). Mais il se peut toujours que le bleu ou le violet soit le plus haut unique.

En d'autres termes, en mode difficile, un code peut satisfaire plus d'une condition sur une carte vérificateur donnée.

Or, ce fait a des implications majeures :

A. Un succès ne "confirme" pas nécessairement une option

Par exemple, imaginons que nous testions le code 234 avec le vérificateur 42, et que nous obtenions une coche. Cela nous indique que le jaune n'est ni le plus bas ni le plus haut unique, que le bleu n'est pas le plus haut unique, et que le violet n'est pas le plus bas unique. Mais nous n'avons toujours pas résolu le vérificateur. Obtenir une coche d'un seul test n'est pas toujours suffisant pour résoudre un vérificateur en mode Difficile.

Cela demande un certain changement de mentalité par rapport au mode Facile/Standard pour s'y habituer, mais avec un peu de temps, vous vous y ferez.

Cependant, il y a une implication inverse qui, pour une raison quelconque, me semble beaucoup plus difficile à retenir :

B. Une option non testée n'exclut pas nécessairement une option

Cette phrase change la donne en mode Difficile, et si vous voulez réussir à Turing Machine dans ce mode, vous devez vous assurer de bien la comprendre. Notez que cette déclaration est plus emphatique que l'implication A ; nous ne faisons pas seulement référence à l'obtention d'une croix lors d'un test ici, mais même à la suppression complète de l'option comme étant testée.

Pour essayer d'illustrer le véritable impact de cette implication, revenons à notre déduction initiale au début de ce puzzle. Nous avons déclaré que si le vérificateur 42 testait le jaune comme le plus bas unique ou le plus haut unique, cela rendrait le vérificateur 22 redondant, et nous savons donc que le vérificateur 42 ne teste pas le jaune comme le plus bas unique ou le plus haut unique.

En mode Facile/Standard, l'étape suivante consisterait à faire l'hypothèse implicite que dans le code vrai, le jaune ne peut pas être le plus haut unique ou le plus bas unique. Mais nous ne pouvons absolument pas le faire ici, car les options sur le vérificateur 42 ne sont pas mutuellement exclusives. Tout ce que nous savons, c'est que le vérificateur 42 ne peut pas tester le jaune comme le plus haut unique ou le plus bas unique. Lorsque toutes les options sont mutuellement exclusives, cela nous donne des informations sur le code lui-même, mais en mode Difficile, ce n'est pas le cas.

Disons par exemple que le vérificateur 42 teste en fait le bleu comme le plus bas unique. Cela exclurait le jaune comme le plus bas unique, mais le jaune pourrait toujours être le plus haut unique. Dans ce cas, le vérificateur 42 n'échoue pas à sa tâche, car la seule chose qu'il fait est de nous dire que le bleu est le plus bas unique. C'est ce qu'il est programmé pour faire, et il ne fera rien d'autre.

Donc, avec cela à l'esprit, revenons à ce que nous savons. Pour l'instant, nous savons seulement que le vérificateur 42 ne peut pas tester le jaune comme le plus haut ou le plus bas unique.

Cependant, si nous regardons le vérificateur 22 dans l'autre sens, vous verrez qu'il y a un (petit) revers à la question de l'exclusivité mutuelle. Si le vérificateur 22 teste l'ordre croissant, il réduirait le vérificateur 42 à tester l'une des deux options : soit le bleu comme le plus bas unique, soit le violet comme le plus haut unique. Cependant, quelle que soit l'option que le vérificateur 42 testerait, cela ne nous dirait toujours rien que le vérificateur 22 n'aurait pas déjà dit. Le vérificateur est donc rendu redondant sans réduire les options possibles à 1.

Nous savons maintenant que le code n'a pas d'ordre, et que le bleu ou le violet est le plus haut ou le plus bas unique. C'est utile, car cela nous indique que nous avons soit la forme de "pic" ou de "creux" que nous avons mentionnée plus tôt, soit que le jaune est égal à l'un des deux autres nombres.

Regardons le vérificateur 8. Nous savons qu'il ne peut pas y avoir trois 1, car cela rendrait tous les autres vérificateurs redondants. De plus, s'il y a deux 1, cela rendrait le vérificateur 22 redondant, nous pouvons donc également rejeter cette option.

Maintenant, passons un peu de temps avec le vérificateur 36. Les sommes possibles des trois nombres sont toutes des nombres entiers compris entre 3 et 15 (inclus). Puisque nous savons que l'une de ces conditions doit être vraie, nous pouvons immédiatement exclure les nombres 7, 11, 13 et 14 comme somme des trois nombres. Nous pouvons également exclure 3, car cela nécessiterait trois 1, et 4, car cela nécessiterait deux 1.

Si le vérificateur 36 teste la somme comme un multiple de 3, nous avons trois possibilités : 6, 9 et 12. S'il teste un multiple de 4, nous avons deux possibilités : 8 et 12. S'il teste un multiple de 5, nous avons deux possibilités : 10 et 15.

S'il y a zéro 1, aucune de ces sommes possibles ne disparaît. Cependant, s'il y a un 1, nous nous retrouvons avec 2 multiples possibles de 3, mais seulement 1 multiple possible des autres. Sur cette base, si nous devons faire un test, il est probable que la somme soit un multiple de 3, juste par les lois de la probabilité.

Je pense que nous avons fait suffisamment d'analyses initiales pour l'instant, alors testons un code. Nous nous assurerons que la somme est un multiple de 3, mais nous éviterons 12, car cela pourrait aussi être un multiple de 4. En regardant le vérificateur 33, nous choisirons également que tous les nombres aient la même parité afin de pouvoir garder le vérificateur 33 clair dans notre tête.

Utilisons le code 135. Cela peut sembler un mauvais choix au début, car nous savons que le code n'a pas d'ordre, mais il y a plusieurs raisons pour lesquelles nous avons choisi ce code : il a une somme de 9, il a un 1 afin que nous puissions tester contre le vérificateur 8 si nous en avons besoin, et il couvre également deux des quatre options sur le vérificateur 42 afin que nous puissions réduire nos options si nécessaire.

Nous testons le vérificateur 36, et nous obtenons un résultat positif, donc la somme est un multiple de 3. Nous testons également le vérificateur 8 pour obtenir une réponse directe de toute façon, et un autre résultat positif nous dit qu'il y a un seul 1 dans le code. Cela élimine la possibilité de 12 comme somme totale, ce qui signifie que la somme totale est soit 6, soit 9.

Ok. On dirait que nous progressons, mais je ne pense pas que nous y soyons encore. Il y a encore un peu trop d'options à supprimer, nous allons donc tester le vérificateur 42 et terminer la manche. Nous le testons et nous obtenons une croix, ce qui signifie que le vérificateur 42 teste soit le bleu comme le plus grand unique, soit le violet comme le plus petit unique.

Récapitulons et voyons jusqu'où nous pouvons aller avec cette nouvelle information. Nous savons qu'il y a un 1 dans le code, que la somme est un multiple de 3 (donc 6 ou 9), et qu'il n'y a pas d'ordre dans le code.

Supposons que le vérificateur 42 teste le bleu comme le plus grand unique. Si c'est vrai, le bleu ne peut pas être 1, et le violet non plus, car cela créerait un ordre, donc le jaune est le 1. Puisque cela définirait le jaune sans jamais avoir besoin du vérificateur 33, cela signifie que le vérificateur 33 ne pourrait pas tester le jaune.

Cela signifierait également que la somme du bleu et du violet devrait être 5 ou 8. Si le bleu est le plus grand unique, les seules options sont le bleu 3 et le violet 2 ou le bleu 5 et le violet 3. Puisque le bleu est impair pour les deux options, cela signifierait que le vérificateur 33 devrait tester le violet comme impair ou pair.

Cependant, si le vérificateur 33 testait le violet comme pair, nous pourrions utiliser le vérificateur 8 (il y a un 1), le vérificateur 42 (le bleu est le plus grand unique) et le vérificateur 33 (le violet est pair) pour identifier le jaune de manière unique comme 1, ce qui signifierait que nous aurions la garantie d'aucun ordre, et le vérificateur 22 serait redondant.

Donc, si le vérificateur 42 teste le bleu comme le plus grand unique, nous avons en fait résolu le code et nous avons bleu 3, jaune 1, violet 2.

Et si le vérificateur 42 testait en fait le violet comme le plus petit unique ? Dans ce cas, le violet sera le 1. Dans ce cas, le bleu et le jaune doivent totaliser 5 ou 8, et nous nous retrouvons avec le bleu 2 et le jaune 3, ou le bleu 3 et le jaune 5, ou le bleu 4 et le jaune 4. Les seules façons de définir le code de manière unique à l'aide du vérificateur 33 seront si celui-ci teste le jaune pair ou le bleu impair.

Donc, nous pouvons maintenant voir une façon de résoudre le puzzle en 5 tests au maximum :

  • Nous choisirons un code où le bleu est le plus haut unique mais le violet n'est pas le plus bas unique.
  • Si nous obtenons une coche, le bleu est le nombre le plus haut unique, et le code est 312.
  • Si nous obtenons une croix, nous testerons le vérificateur 33. Cela signifie que le code que nous testons doit également avoir le bleu et le jaune tous deux pairs ou tous deux impairs afin de pouvoir séparer les deux possibilités de jaune pair et bleu impair.

Le code que nous utiliserons est donc 423. Nous testons le vérificateur 42 et nous obtenons un résultat négatif, ce qui signifie malheureusement que nous aurons besoin de ce cinquième test. Néanmoins, nous savons maintenant que le violet est le plus bas unique, ce qui en fait un 1. Nous testons le vérificateur 33 et obtenons un autre négatif, donc ce vérificateur doit tester un bleu impair.

Puisque le violet est 1, le bleu et le jaune doivent totaliser 5 ou 8, et la seule façon de le faire avec un bleu impair sans créer d'ordre est le code 351.

La machine a nécessité 8 tests en 3 manches pour résoudre cela, nous devrions donc être très satisfaits avec 5 tests. J'espère que cet exemple vous a donné un aperçu de la difficulté accrue du mode Difficile, simplement en introduisant des vérificateurs avec des options qui ne sont pas mutuellement exclusives.

Revenez la semaine prochaine, si vous osez, nous passerons du mode Classique au mode Expert. Si vous voulez prendre de l'avance, le code de jeu que nous utiliserons est #D4B IDV.

Zatu Review Summary

Machine de Turing

Machine de Turing

£31.90

£35.99

Score Zatu

90%

Évaluation

Œuvre d'art
star star star star star
Complexité
star star star star star
Rejouabilité
star star star star star
Interaction
star star star star star
Qualité des composants
star star star star star
Chris Nash
Zatu Games
Écrivez pour nous - Écrivez pour nous -
Zatu Games

Rejoignez-nous dès aujourd'hui pour recevoir des réductions exclusives, découvrir toutes les nouveautés et bien plus encore ! Pour en savoir plus sur notre blog et comment devenir membre de l'équipe de rédaction, consultez les informations ci-dessous.

En savoir plus