Les dés non transitifs sont de jolis petits jouets qui défient notre intuition en théorie des probabilités. Nous aurons besoin de quelques définitions pour ce défi:
Considérez deux dés A et B qui sont lancés en même temps. Nous disons que A bat B si la probabilité d' un montrant un plus grand nombre que B est strictement supérieure à la probabilité de B montrant un plus grand nombre que A .
Considérons maintenant un ensemble de trois dés, avec des étiquettes A , B , C . Un tel ensemble de dés est appelé non transitif si
- soit A bat B , B bat C et C bat A
- ou C vaut B , B bat A et A bat C .
Comme l'un de mes exemples préférés, considérez les dés Grime , qui ont les côtés suivants:
A: 3 3 3 3 3 6
B: 2 2 2 5 5 5
C: 1 4 4 4 4 4
Fait intéressant, la moyenne de chaque dé est de 3,5, tout comme un dé ordinaire.
On peut montrer que:
- A bat B avec une probabilité de 7/12.
- B bat C avec une probabilité de 7/12.
- C bat A avec une probabilité de 25/36.
Maintenant, ces dés particuliers sont encore plus étranges. Si nous lançons chaque dé deux fois et additionnons les résultats, l'ordre des battements qui s'inverse:
- B bat A avec une probabilité de 85/144.
- C bat B avec une probabilité de 85/144.
- A bat C avec une probabilité de 671/1296.
Appelons un ensemble de dés avec cette propriété Grime-nonransitive .
En revanche, si les dés conservent leur cycle d'origine lors de l'utilisation de deux lancers, nous les appelons fortement non transitoires . (S'il n'y a pas de cycle du tout pour deux lancers, nous les appelons simplement non transitoires .)
Le défi
Compte tenu de trois dés à six faces, déterminer lequel des propriétés ci - dessus cet ensemble a, et une sortie des chaînes suivantes: none
, nontransitive
, Grime-nontransitive
, strongly nontransitive
.
Vous pouvez écrire un programme ou une fonction, prendre une entrée via STDIN, un argument de ligne de commande, une invite ou un argument de fonction, et écrire le résultat dans STDOUT ou le renvoyer sous forme de chaîne.
Vous pouvez supposer que tous les côtés sont des entiers non négatifs. Vous ne pouvez pas supposer que les côtés ou les dés sont dans un ordre particulier. Vous pouvez prendre des entrées dans n'importe quelle liste ou format de chaîne pratique.
Il s'agit du code golf, donc la réponse la plus courte (en octets) l'emporte.
Cas de test
none
1 2 3 4 5 6, 6 5 4 3 2 1, 1 3 5 2 4 6
1 1 1 6 6 6, 4 4 4 5 5 5, 5 5 5 5 5 5
1 1 2 5 6 6, 2 2 3 4 4 6, 2 3 3 4 4 5
0 1 2 3 4 5, 1 1 2 3 3 5, 1 2 2 2 3 5
3 13 5 7 13 7, 5 7 11 5 7 13, 5 9 13 5 7 9
nontransitive
1 2 2 4 6 6, 1 2 3 5 5 5, 2 3 4 4 4 4
1 4 4 4 4 4, 2 2 2 4 5 6, 2 3 3 3 5 5
1 2 1 6 5 6, 3 1 3 6 2 6, 2 4 2 4 4 5
3 4 6 6 7 7, 4 4 4 7 7 7, 5 5 5 5 6 7
2 5 11 11 14 14, 5 5 5 14 14 14, 8 8 8 8 8 17
Grime-nontransitive
3 3 3 3 3 6, 2 2 2 5 5 5, 1 4 4 4 4 4
1 1 4 5 5 5, 2 2 2 3 6 6, 3 3 3 4 4 4
2 1 4 6 4 4, 2 4 5 2 3 5, 3 3 6 3 3 3
11 11 13 15 15 16, 12 12 12 13 16 16, 13 13 13 14 14 14
4 4 7 16 19 19, 4 7 13 13 13 19, 4 10 10 10 16 19
strongly nontransitive
2 2 2 5 5 5, 2 3 3 3 5 5, 1 1 4 5 5 5
2 2 2 3 6 6, 2 2 2 5 5 5, 2 2 4 4 4 5
1 5 1 3 6 5, 6 6 4 2 2 1, 5 3 4 3 4 2
0 0 2 4 4 5, 0 1 1 3 5 5, 1 1 2 3 4 4
1 1 9 17 17 21, 1 5 5 13 21 21, 5 5 13 13 13 17
Si vous voulez tester votre code encore plus en profondeur, Peter Taylor a eu la gentillesse d'écrire une implémentation de référence, qui a classé tous les ~ 5000 ensembles de dés avec les côtés 1 à 6 et une moyenne de 3,5. Lien Pastebin
1 2 2 4 6 6, 1 2 3 5 5 5, 2 3 4 4 4 4
Je reçois A <B 17/36, B> C 19/36, C <A 16/36.