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

Masterclass sur la machine de Turing – Partie 2 : intégrer les principes

Deuxième partie : Intégrer les principes

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 quelques avertissements importants ici.

La semaine dernière, nous avons commencé par apprendre deux principes clés pour un jeu avancé de Turing Machine. Vous pouvez consulter l'article ici, mais voici un rappel de ces principes :

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 donnerait.

PRINCIPE 2 : LE CODE CORRECT SERA UNIQUE

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

Maintenant, je vais vous confier un secret. Cette série d'articles n'a pas beaucoup plus à dire que les deux principes ci-dessus. L'accent va maintenant être mis sur l'intégration de ces principes. Nous le ferons cette semaine en examinant un autre puzzle en mode Classique, mais cette fois en utilisant six vérificateurs dans le réglage Standard. Les semaines suivantes, nous passerons à l'examen des autres modes de jeu, Extrême et Cauchemar.

Voici une image des six vérificateurs que nous utiliserons, et si vous voulez jouer à la maison, utilisez le code de jeu #B63 YQ1 N sur le site web de la Turing Machine.

Cette fois-ci, vous avez peut-être eu un peu d'avance, car j'ai donné le code du jeu à la fin de l'article de la semaine dernière. Nous n'allons donc pas examiner un jeu moyen, et nous allons directement utiliser nos principes clés pour analyser la configuration et voir à quelle vitesse nous pouvons résoudre le puzzle.

Le point clé que j'essaierai de montrer à travers cet exemple est la nécessité de revenir aux vérificateurs que vous avez déjà considérés. Avec plus de vérificateurs en jeu, nous devrons souvent considérer un vérificateur pour faire des déductions logiques sur un autre, puis, en utilisant les informations que nous obtenons, revenir aux vérificateurs que nous avons déjà considérés en utilisant ces nouvelles informations pour faire d'autres déductions.

Nous commencerons par examiner les vérificateurs 22 et 14. Si le vérificateur 22 teste si les nombres sont en ordre croissant, cela nous dira immédiatement que le bleu est inférieur au jaune et au violet, et le vérificateur 14 sera redondant. Par symétrie, si le vérificateur 22 teste si les nombres sont en ordre décroissant, cela nous dira immédiatement que le violet est le seul plus petit, et encore une fois, le vérificateur 14 serait redondant. Donc, selon le principe 1, il ne doit y avoir aucun ordre, et nous avons résolu le vérificateur 22.

Mais nous pouvons aussi faire une déduction dans l'autre sens; en regardant le vérificateur 14, si le jaune est le plus petit unique, le bleu et le violet seront tous deux plus grands, ce qui signifie que les nombres descendront du bleu au jaune et remonteront au violet. Cela signifie que le jaune comme le plus petit unique rendrait le vérificateur 22 redondant, et nous pouvons donc supprimer cette option à nouveau par le principe 1.

Nous savons donc maintenant que le bleu ou le violet sont les plus petits uniques, mais aussi qu'il n'y a pas d'ordre dans le code correct.

Considérons maintenant les vérificateurs 2 et 5. Si le vérificateur 2 vérifie si le bleu est égal à 3, cela rendra le vérificateur 5 redondant, ce n'est donc pas une option. Le bleu est donc soit inférieur à 3, soit supérieur à 3, et nous pourrions tester les vérificateurs 2 et 5 pour définir le bleu de manière unique.

En passant au vérificateur 8, nous avons vu précédemment que trois 1 sont immédiatement exclus car cela rendrait tous les autres vérificateurs redondants. Cependant, puisque le vérificateur 14 nous dit qu'il y a un plus petit nombre unique, nous pouvons également supprimer deux 1 comme option, ce qui signifie que nous avons au plus un 1.

Supposons que le vérificateur 14 nous indique que le bleu est le plus petit unique, puis regardons à nouveau le vérificateur 2.

Nous avons déjà supprimé le bleu égal à 3 comme option. Si le bleu est supérieur à 3, il doit être 4 avec le jaune 5 et le violet 5. Cela rend beaucoup d'autres vérificateurs redondants, donc c'est impossible.

Mais si le bleu est inférieur à 3, nous pourrons utiliser le vérificateur 8, qui teste soit zéro 1, soit un 1, pour nous dire si le bleu est égal à 1 ou 2. Comme le vérificateur 5 ne teste que le bleu, il serait rendu redondant. Donc, si le bleu est le seul plus petit, le bleu n'est pas égal à 3, supérieur à 3, ou inférieur à 3. Cela signifie que le bleu ne peut pas être le seul plus petit, et puisque nous avons déjà éliminé la possibilité du jaune comme le seul plus petit, le violet doit être inférieur au bleu et au jaune.

En revenant au vérificateur 2, si nous supposons maintenant que le bleu est inférieur à 3, le violet doit être 1 et le bleu 2, puisque le violet est inférieur au bleu. Cependant, cela signifierait que les vérificateurs 2 et 14, entre eux, suffisent à nous dire qu'il y a exactement un 1, ce qui rendrait le vérificateur 8 redondant. Cela signifie que le bleu ne peut pas être inférieur à 3, et puisque nous avons déjà éliminé le bleu égal à 3 comme option, le bleu est supérieur à 3, c'est-à-dire que le bleu est soit 4, soit 5.

Récapitulons les informations dont nous disposons jusqu'à présent :

  • Nous savons que le bleu est égal à 4 ou 5, et peut être défini de manière unique à l'aide du vérificateur 5
  • Nous savons que le violet est le plus petit unique
  • Nous savons qu'il n'y a pas d'ordre dans le code correct

En utilisant les deux derniers points ci-dessus, nous pouvons faire d'autres déductions. Le violet étant le plus petit unique signifie que le jaune doit être plus grand que le violet, mais pour maintenir aucun ordre dans le code, nous ne pouvons alors pas avoir le jaune inférieur au bleu. Le jaune doit donc être supérieur ou égal au bleu.

Maintenant, nous sommes sur le point de faire un test, mais nous n'avons pas tout à fait fini. Nous pouvons considérer les deux options possibles sous le vérificateur 5, et, espérons-le, faire des déductions logiques ou au moins identifier les tests que nous devrions faire et donc le code que nous devrions utiliser pour le round 1.

Tout d'abord, considérons si le bleu est impair. Cela signifierait naturellement que le bleu est 5, et pour maintenir l'absence d'ordre dans le code correct, le jaune serait également 5. Comme nous savons alors que la somme du bleu et du jaune est paire, nous pourrions utiliser le vérificateur 18 pour déterminer si le violet était pair ou impair. Nous n'aurions cependant pas besoin de tester le vérificateur 18; s'il montrait le violet comme pair, il n'y aurait aucun moyen pour nous de définir le violet de manière unique, car nous aurions le bleu 5 et le jaune 5 et il y aurait deux options (2 et 4) pour les nombres pairs qui sont le plus petit unique. Nous saurions donc que le vérificateur 18 nous dirait que le violet est impair, et nous pourrions utiliser un deuxième test sur le vérificateur 8 pour identifier si ce nombre impair est 1 ou 3.

Maintenant, considérons si le bleu est pair, et restez avec moi, car nous allons tourner en rond maintenant.

Si le bleu est pair, il serait égal à 4. Cela nous donnerait deux options pour le jaune : soit le jaune est 4, soit 5. Maintenant, nous regardons à nouveau le vérificateur 18. Ce qui est intéressant avec ce vérificateur, c'est que la parité (pair/impair) d'une somme de trois nombres est généralement moins utile que la parité d'une somme de deux nombres.

Par exemple, si la somme des trois nombres est paire, nous avons soit trois nombres pairs et un nombre impair, soit trois nombres impairs, et si la somme est impaire, nous avons trois nombres impairs ou deux nombres pairs et un nombre impair.

Mais avec la somme de deux nombres, si la somme est paire, cela signifie que les deux nombres ont la même parité, tandis que si la somme est impaire, cela signifie que les deux nombres ont une parité différente. Gardez cela en tête un instant pendant que nous considérons si le bleu est pair ET que la somme totale est paire.

Avec un bleu pair, cela signifierait que le jaune et le violet ont la même parité. Si le vérificateur 8 nous dit qu'il y a un 1, nous avons terminé : le violet est ce 1, et comme le jaune est 4 ou 5 et aussi impair, il est 5. Si le vérificateur 8 nous dit qu'il n'y a pas de 1, nous ne pouvons pas terminer ; nous avons testé tous les vérificateurs, et nous pourrions avoir le jaune 4 et le violet 2, ou le jaune 5 et le violet 3.

Et si le bleu est pair et la somme totale est impaire ?

Eh bien, cette situation est très similaire à la précédente, mais avec des permutations légèrement différentes. Si le vérificateur 8 nous dit qu'il y a un 1, encore une fois, nous avons terminé avec un violet 1 mais cette fois un jaune 4. Et si le vérificateur 8 nous dit qu'il n'y a pas de 1, encore une fois, nous ne pouvons pas terminer, car nous pourrions avoir un violet 2 et un jaune 5 ou un violet 3 et un jaune 4.

En d'autres termes, si le bleu est pair, le code ne peut être défini de manière unique que s'il y a un 1, quelle que soit la parité de la somme des nombres. Cela signifie que nous pourrions résoudre le violet comme 1 et utiliser un deuxième test sur le vérificateur 18 pour identifier le jaune.

En rassemblant tout cela, nous développons l'approche suivante pour nos tests :

– Nous testons d'abord le vérificateur 5 pour savoir si le bleu est pair ou impair. Jusqu'à présent, nous pourrions utiliser n'importe quel code pour cela puisque nous obtiendrons notre réponse de toute façon.

– Si le résultat du premier test montre que le bleu est pair, alors le bleu est 4, et nous savons que nous avons un violet 1, car c'est le seul moyen pour que le code soit définissable de manière unique. Nous effectuons ensuite un deuxième test sur le vérificateur 18 pour déterminer si le jaune est 4 ou 5. Encore une fois, nous pourrions utiliser n'importe quel code pour cela puisque nous obtiendrons notre réponse de toute façon.

– Si le résultat du premier test montre plutôt que le bleu est impair, alors le bleu est 5, et nous savons que le jaune est 5 pour maintenir aucun ordre dans le code. De plus, nous savons que la somme des trois nombres doit être impaire, car si elle était paire, le violet pourrait être 2 ou 4 et tous les vérificateurs seraient toujours corrects. Nous effectuons donc un deuxième test sur le vérificateur 8 pour déterminer si le violet est 1 ou 3. Encore une fois, nous pourrions utiliser n'importe quel code pour cela puisque nous obtiendrons notre réponse de toute façon.

À la fin de l'article de la semaine dernière, je vous ai demandé si vous pouviez identifier comment résoudre le puzzle en utilisant seulement deux tests, et le code que vous devriez choisir pour le round 1 pour pouvoir le faire. Mais notez la chose intéressante à propos de l'algorithme ci-dessus : nous pouvons littéralement choisir le code que nous voulons ! Ce ne sera pas toujours le cas, mais ce sera vrai plus souvent que vous ne le pensez, essentiellement chaque fois que vous êtes capable de réduire logiquement chaque vérificateur à tester à deux options possibles.

Nous avons choisi 235, et le premier test a donné un résultat négatif, nous savions donc que le bleu était 5 et le jaune aussi 5. Cela signifiait que la somme des trois nombres devait être impaire pour définir le violet, et le test du vérificateur 8 a montré que le violet n'était pas 1, donnant un code final de 553.

La semaine prochaine, nous passerons en mode Difficile, qui utilise un ensemble plus large de cartes de vérificateurs et présente des distinctions importantes par rapport aux modes Facile/Standard. Si vous voulez prendre de l'avance, le code de jeu que nous utiliserons est #C52 H0G P.

Zatu Review Summary

Machine de Turing

Machine de Turing

€37,25

€42,03

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