Ceci est une page d'aide pour Board Game Arena: jouez aux meilleurs jeux de plateau en ligne !
« Tips turingmachine » : différence entre les versions
(Un exemple pas à pas) |
m (Correction sur bleu>3) |
||
Ligne 76 : | Ligne 76 : | ||
'''- ''donc C et D ne testent pas la même couleur''''' | '''- ''donc C et D ne testent pas la même couleur''''' | ||
Par ailleurs la seule manière de vérifier si bleu=4 ou bleu=5 (dans le cas ou A validerait bleu>3) serait d'utiliser D (pair ou impair), monopolisant ainsi ce validateur. Nous reviendrons sur ce cas plus loin. | |||
'''A ce niveau, on sait que | |||
'''A ce niveau, on sait que j<4, v<4 et j=1 ou v=1 j(1,2,3) v(1,2,3)''' | |||
E) ressemble en partie à C, testant si un chiffre est égal ou supérieur à 1. ll est inutile de demander la même chose à 2 validateurs. | E) ressemble en partie à C, testant si un chiffre est égal ou supérieur à 1. ll est inutile de demander la même chose à 2 validateurs. | ||
Ligne 95 : | Ligne 96 : | ||
Si bleu=3 (validé par A) alors D et E ne peuvent s'appliquer à bleu, ils seraient inutiles. Donc C testerait jaune et D violet ou l'inverse, et E inutile dans les 2 cas. '''311 impossible''' | Si bleu=3 (validé par A) alors D et E ne peuvent s'appliquer à bleu, ils seraient inutiles. Donc C testerait jaune et D violet ou l'inverse, et E inutile dans les 2 cas. '''311 impossible''' | ||
Si bleu=2, D OU E est suffisant pour valider bleu (parité ou > ou =1), donc l'autre test s'applique à l'autre couleur non testée par C, et confirme qu' | Si bleu=2, D OU E est suffisant pour valider bleu (parité ou > ou =1), donc l'autre test s'applique à l'autre couleur non testée par C, et confirme qu'elle vaut 1. Alors F est inutile. '''211 impossible''' | ||
Si bleu=1, même cas, D fixe la parité donc E teste autre chose, ou bien E fixe son rapport à 1 et D fixe autre chose. Cela permettrait de confirmer que jaune ou violet =1. Alors F inutile. '''111 impossible''' | Si bleu=1, même cas, D fixe la parité donc E teste autre chose, ou bien E fixe son rapport à 1 et D fixe autre chose. Cela permettrait de confirmer que jaune ou violet =1. Alors F inutile. '''111 impossible''' | ||
Si bleu=4 ou bleu=5, D est le seul à pouvoir le valider par la parité. Donc E s'applique à l'autre couleur non testée par C, confirme qu'elle vaut 1, rendant F inutile. '''411 et 511 impossible''' | |||
'''''b11 impossible''''' | |||
'''Code b21''' | '''Code b21''' | ||
C vérifie violet. Si bleu=3 (validé par A) alors D et E s'appliquent tous les deux à jaune. Mais seul D est utile. '''321 impossible''' | ''C vérifie violet.'' | ||
Si bleu=3 (validé par A) alors D et E s'appliquent tous les deux à jaune. Mais seul D est utile. '''321 impossible''' | |||
Si bleu=2, et D valide bleu, alors E s'applique à jaune (>1). On a besoin de F pour confirmer 221. | Si bleu=2, et D valide bleu, alors E s'applique à jaune (>1). On a besoin de F pour confirmer 221. | ||
Ligne 110 : | Ligne 118 : | ||
Si bleu=1, E valide bleu, F s'applique à jaune (pair). F alors inutile. | Si bleu=1, E valide bleu, F s'applique à jaune (pair). F alors inutile. | ||
Si bleu=4 ou bleu=5, D est le seul à les différencier. Donc E s'applique à jaune. Et c'est F qui nous indiquerait la valeur de jaune ... mais en le comparant à bleu: b>j insuffisant pour savoir si j=2 ou 3. '''Donc bleu n'est pas>3''' | |||
Le code b12 est identique dans son traitement à b21. Tant qu'on ne connait pas la cible de C. '''312 impossible''' | Le code b12 est identique dans son traitement à b21. Tant qu'on ne connait pas la cible de C. '''312 impossible''' | ||
C vérifie violet. Si bleu=3 (validé par A) alors D et E ciblent tous les deux jaune. Mais seul D est utile (pour distinguer jaune entre 2 et 3). E serait inutile. '''331 impossible''' et réciproquement '''313 impossible'''. | '''Code b31 avec b<4''' | ||
''C vérifie violet.'' | |||
Si bleu=3 (validé par A) alors D et E ciblent tous les deux jaune. Mais seul D est utile (pour distinguer jaune entre 2 et 3). E serait inutile. '''331 impossible''' et réciproquement '''313 impossible'''. | |||
Si bleu=2, D ou E est suffisant pour le savoir. Comme pour b21 et b12 on se retrouve avec F inutile ou indispensable. | Si bleu=2, D ou E est suffisant pour le savoir. Comme pour b21 et b12 on se retrouve avec F inutile ou indispensable. | ||
Et si bleu=1, F est inefficace ou inutile. | Et si bleu=1, F est inefficace ou inutile. Donc '''bleu ne vaut ni 1 ni 3.''' | ||
'''Conclusion, bleu=2 | |||
'''Conclusion, bleu=2''' | |||
'''Et ce n'est qu'en testant C que l'on sera si le code est 221, 231, 212 ou 213.''' | |||
Quand F sera testé entre 2 couleurs, ce n'est pas entre jaune et violet, puisqu'on sait déjà qu'ils sont différents. | Quand F sera testé entre 2 couleurs, ce n'est pas entre jaune et violet, puisqu'on sait déjà qu'ils sont différents. | ||
Ligne 127 : | Ligne 143 : | ||
Ce n'est pas non plus bleu avec la couleur qui vaut 1. | Ce n'est pas non plus bleu avec la couleur qui vaut 1. | ||
F permettra de comparer bleu avec l'autre couleur. Soit | F permettra de comparer bleu avec l'autre couleur. Soit identiques (221/212) soit sup/inf (213/231). | ||
Ligne 133 : | Ligne 150 : | ||
Solution en 1 round et 2 questions. | Solution en 1 round et 2 questions. | ||
===== Que testent les validateurs ? ===== | |||
A teste bleu<3 | |||
<u>Hypothèse 1</u> | |||
C teste violet=1 | |||
B teste jaune<4 (la couleur non testée par C) | |||
F teste bleu par rapport à jaune (supérieur ou égal) | |||
<u>Hypothèse 1'</u> | |||
D teste bleu pair ou impair (pour bleu=1 ou bleu=2) | |||
E teste jaune (la couleur non testée par C) jaune>1 | |||
<u>Hypothese 1"</u> | |||
E teste bleu (hypothèse 1") bleu=1 ou bleu>1 | |||
D teste jaune (la couleur non testée par C) jaune>1 | |||
<u>Hypothèse 2</u> | |||
C teste jaune=1 | |||
B teste violet<4 (la couleur non testée par C) | |||
F teste bleu par rapport à violet (supérieur ou égal) | |||
<u>Hypothèse 1'</u> | |||
D teste bleu pair ou impair (pour bleu=1 ou bleu=2) | |||
E teste violet (la couleur non testée par C) violet>1 | |||
<u>Hypothese 1"</u> | |||
E teste bleu (hypothèse 1") bleu=1 ou bleu=2 | |||
D teste violet (la couleur non testée par C) violet>1 |
Version du 25 août 2023 à 12:03
Unicité
Tous les vérificateurs sont utiles ! Ceci est une information en soi. Et une seule solution est possible. Si un vérificateur devait vous faire douter, alors c'est qu'il n'y a pas de doute ... Voici un exemple avec ces 4 vérificateurs:
- A) parité de bleu (pair ou impair)
- B) bleu > 1
- C) nombre d'occurence du chiffre 4 dans le code (combien de 4)
- D) bleu > 4
Tout d'abord, si la réponse était 444, alors C validerait ce code à lui seul, rendant A,B,D inutiles. Ergo le code n'est pas 444.
Il y a très peu d'informations sur jaune et violet. De fait, si le code était 123, aucun vérificateur ne saurait faire la différence avec le code 133. Donc jaune ne peut pas être 2 ni 3. Et c'est pareil pour violet. Et pour le 5.
La seule information pour jaune et violet, c'est le nombre de 4. Et comme on ne peut pas distinguer jaune de violet ... ils sont identiques, tous les deux égaux à 4. Si on n'avait aucun 4 dans le code, comment trouver les valeurs de jaune et de violet ? Ergo le code est #44.
Si bleu était égal à 1, alors B&C ensemble seraient suffisants pour dire que la combinaison est 144. Donc bleu n'est pas égal à 1.
Si bleu est égal à 5, alors B est inutile par rapport à D. Dit différemment, A&C&D sont suffisants pour dire si le code vaut 444 ou 544, rendant B inutile. Mais ce n'est pas possible : tous les validateurs sont utiles. Donc bleu n'est pas égal à 5.
Les deux seules combinaisons possibles sont 244 et 344.
Si le code est 244 avec les vérificateurs ACD, on a deux 4, bleu égal à 1,2 ou 3, et bleu pair. Donc pas besoin de tester B. Encore une fois, comme B doit être utile, le code ne peut pas être 244.
Donc le code est exactement 344, sans avoir besoin de faire de test.
Nombre de Critères Testés
Considérons le validateur: b>1 j>1 v>1 (bleu, jaune, violet).
Ce validateur ne teste qu'une seule de ces 3 couleurs. Je ne sais pas laquelle. C'est d'ailleurs ce qui est indiqué en dessin sur la carte. Un ? entre les 2 couleurs.
En testant le code 312, le validateur me renvoie VRAI. Je sais maintenat qu'il teste soit bleu, soit violet, mais pas jaune. S'il testait jaune, j'aurais eu FAUX.
Plus tard je teste le code 345 contre le même validateur. Test inutile, puisque jaune n'est pas testé et que bleu et violet sont toujours tous les deux supérieurs à 1, je n'obtiens pas plus d'information. Le retour reste désespérément VRAI. J'aurais mieux fait de passer le violet ou le bleu à 1, mais pas les 2 ensemble.
Un début de résolution à 6 indices
Validateurs
A) b<3 OU b=3 OU b>3
B) La couleur spécifique est <4 ? On ne sait pas lequel des trois chiffres est testé
C) La couleur spécifique est =1 ? On ne sait pas lequel des trois chiffres est testé
D) La couleur spécifique est paire ou impaire ? on ne sait pas qui est testé
E) Le chiffre d'une couleur spécifique comparé à 1: b=1 OU b>1 / j=1 OU j>1 / v=1 OU v>1 on ne sait pas de quelle couleur on parle
F) b<j OU b=j OU b>j / b<v OU b=v OU b>v / j<v OU j=v OU j>v ? On ignore les 2 couleurs comparées
Rappel
- une seule solution possible
- tous les validateurs sont utiles
Résolution
Avant de lancer un code au hasard, vérifions l'utilité des validateurs A,B et C.
C) si c'est bleu qui est testé, pour une valeur de 1, alors à quoi servirait A ?
- donc C teste j ou v. Ergo j=1 ou v=1 sans être exclusifs (b=1 n'est pas impossible, mais ce n'est pas ce que teste C.
A) si bleu est inférieur ou égal à 3, il serait inutile de demander à B si bleu<4. Et même si bleu>3 validé par A, B serait en contradiction.
- donc B teste j ou v. Ergo j<4 ou v<4 sans être exclusifs.
B) si j=1 est validé par C, alors à quoi servirait de tester j<4 avec B ? Même raisonnement pour violet ...
- donc B et C ne testent pas la même couleur (j ou v) et si j=1 alors v<4, et si v=1 alors j<4.
Si A nous disait bleu=3, pourquoi demander à D si bleu est pair ou impair ?
Si C nous disait jaune=1, pourquoi demander si jaune est pair ou impair ?
Si C nous disait violet=1, pourquoi demander si violet est pair ou impair ?
- donc C et D ne testent pas la même couleur
Par ailleurs la seule manière de vérifier si bleu=4 ou bleu=5 (dans le cas ou A validerait bleu>3) serait d'utiliser D (pair ou impair), monopolisant ainsi ce validateur. Nous reviendrons sur ce cas plus loin.
A ce niveau, on sait que j<4, v<4 et j=1 ou v=1 j(1,2,3) v(1,2,3)
E) ressemble en partie à C, testant si un chiffre est égal ou supérieur à 1. ll est inutile de demander la même chose à 2 validateurs.
- donc C et E ne testent pas la même couleur
...
Il semble que jaune et violet suivent les mêmes tests et contraintes, et tant qu'on n'a pas lancé le test C, on ne sait pas lequel est égal à 1.
Théories
Code b11
Si jaune=violet=1, D et E sont ils nécessaires tous les deux pour définir bleu ?
Si bleu=3 (validé par A) alors D et E ne peuvent s'appliquer à bleu, ils seraient inutiles. Donc C testerait jaune et D violet ou l'inverse, et E inutile dans les 2 cas. 311 impossible
Si bleu=2, D OU E est suffisant pour valider bleu (parité ou > ou =1), donc l'autre test s'applique à l'autre couleur non testée par C, et confirme qu'elle vaut 1. Alors F est inutile. 211 impossible
Si bleu=1, même cas, D fixe la parité donc E teste autre chose, ou bien E fixe son rapport à 1 et D fixe autre chose. Cela permettrait de confirmer que jaune ou violet =1. Alors F inutile. 111 impossible
Si bleu=4 ou bleu=5, D est le seul à pouvoir le valider par la parité. Donc E s'applique à l'autre couleur non testée par C, confirme qu'elle vaut 1, rendant F inutile. 411 et 511 impossible
b11 impossible
Code b21
C vérifie violet.
Si bleu=3 (validé par A) alors D et E s'appliquent tous les deux à jaune. Mais seul D est utile. 321 impossible
Si bleu=2, et D valide bleu, alors E s'applique à jaune (>1). On a besoin de F pour confirmer 221.
Si bleu=2, et E valide bleu, alors D s'applique à jaune (pair). F est alors inutile.
Si bleu=1, D valide bleu, E s'applique à jaune (>1). Et F ne permet pas de distinguer 121 de 131.
Si bleu=1, E valide bleu, F s'applique à jaune (pair). F alors inutile.
Si bleu=4 ou bleu=5, D est le seul à les différencier. Donc E s'applique à jaune. Et c'est F qui nous indiquerait la valeur de jaune ... mais en le comparant à bleu: b>j insuffisant pour savoir si j=2 ou 3. Donc bleu n'est pas>3
Le code b12 est identique dans son traitement à b21. Tant qu'on ne connait pas la cible de C. 312 impossible
Code b31 avec b<4
C vérifie violet.
Si bleu=3 (validé par A) alors D et E ciblent tous les deux jaune. Mais seul D est utile (pour distinguer jaune entre 2 et 3). E serait inutile. 331 impossible et réciproquement 313 impossible.
Si bleu=2, D ou E est suffisant pour le savoir. Comme pour b21 et b12 on se retrouve avec F inutile ou indispensable.
Et si bleu=1, F est inefficace ou inutile. Donc bleu ne vaut ni 1 ni 3.
Conclusion, bleu=2
Et ce n'est qu'en testant C que l'on sera si le code est 221, 231, 212 ou 213.
Quand F sera testé entre 2 couleurs, ce n'est pas entre jaune et violet, puisqu'on sait déjà qu'ils sont différents.
Ce n'est pas non plus bleu avec la couleur qui vaut 1.
F permettra de comparer bleu avec l'autre couleur. Soit identiques (221/212) soit sup/inf (213/231).
Il faut donc tester l'un de ces 4 codes contre C (pour fixer quel chiffre vaut 1) et F (qui compare bleu avec l'autre chiffre)
Solution en 1 round et 2 questions.
Que testent les validateurs ?
A teste bleu<3
Hypothèse 1
C teste violet=1
B teste jaune<4 (la couleur non testée par C)
F teste bleu par rapport à jaune (supérieur ou égal)
Hypothèse 1'
D teste bleu pair ou impair (pour bleu=1 ou bleu=2)
E teste jaune (la couleur non testée par C) jaune>1
Hypothese 1"
E teste bleu (hypothèse 1") bleu=1 ou bleu>1
D teste jaune (la couleur non testée par C) jaune>1
Hypothèse 2
C teste jaune=1
B teste violet<4 (la couleur non testée par C)
F teste bleu par rapport à violet (supérieur ou égal)
Hypothèse 1'
D teste bleu pair ou impair (pour bleu=1 ou bleu=2)
E teste violet (la couleur non testée par C) violet>1
Hypothese 1"
E teste bleu (hypothèse 1") bleu=1 ou bleu=2
D teste violet (la couleur non testée par C) violet>1