Los dados no transitivos son pequeños y bonitos juguetes que desafían nuestra intuición en la teoría de la probabilidad. Necesitaremos algunas definiciones para este desafío:
Considere dos dados A y B que se lanzan al mismo tiempo. Decimos que A es mejor que B si la probabilidad de un mostrando un número mayor que B es estrictamente mayor que la probabilidad de B que muestra un número mayor que A .
Consideremos ahora un conjunto de tres dados, con las etiquetas A , B , C . Tal conjunto de dados se llama no transitivo si
- o bien A es mejor que B , B es mejor que C y C late A
- o C late B , B es mejor que A y A late C .
Como uno de mis ejemplos favoritos, considere los dados Grime , que tienen los siguientes lados:
A: 3 3 3 3 3 6
B: 2 2 2 5 5 5
C: 1 4 4 4 4 4
Curiosamente, la media de cada dado es 3.5, al igual que un dado normal.
Uno puede demostrar que:
- A vence a B con una probabilidad de 7/12.
- B vence a C con una probabilidad de 7/12.
- C vence a A con una probabilidad de 25/36.
Ahora estos dados en particular son aún más extraños. Si tiramos cada dado dos veces y sumamos los resultados, cuyo orden es el que se invierte:
- B vence a A con una probabilidad de 85/144.
- C vence a B con una probabilidad de 85/144.
- A vence a C con una probabilidad de 671/1296.
Llamemos a un juego de dados con esta propiedad Grime-nontransitive .
Por otro lado, si los dados conservan su ciclo original cuando usan dos lanzamientos, los llamamos fuertemente no transitivos . (Si no hay ningún ciclo para dos lanzamientos, simplemente los llamamos no transitivos ).
El reto
Dada tres dados de seis caras, determinar cuál de las propiedades anteriores de este conjunto tiene, y una salida de las siguientes cadenas: none
, nontransitive
, Grime-nontransitive
, strongly nontransitive
.
Puede escribir un programa o función, tomar datos a través de STDIN, argumento de línea de comandos, argumento de solicitud o función, y escribir el resultado en STDOUT o devolverlo como una cadena.
Puede suponer que todos los lados son enteros no negativos. No puedes asumir que los lados o los dados están en un orden particular. Puede tomar la entrada en cualquier lista conveniente o formato de cadena.
Este es el código de golf, por lo que gana la respuesta más corta (en bytes).
Casos de prueba
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 desea probar su código aún más a fondo, Peter Taylor tuvo la amabilidad de escribir una implementación de referencia, que clasificó todos los ~ 5000 juegos de dados con los lados 1 a 6 y una media de 3.5. Enlace de Pastebin
1 2 2 4 6 6, 1 2 3 5 5 5, 2 3 4 4 4 4
Estoy obteniendo A <B 17/36, B> C 19/36, C <A 16/36.