Supongamos que tengo un mazo de cartas barajado (52 cartas, todas normales, sin comodines) Me gustaría registrar el orden en mi ordenador de tal manera que el pedir requiere el menor número de bits (no estoy contando las tablas de búsqueda ect como parte del trato, sólo el ordenamiento en sí.
Por ejemplo, podría grabar un conjunto de cadenas en la memoria:
"ocho de tréboles", "nueve de diamantes"
pero eso es obviamente una tontería, más sensatamente podría dar a cada tarjeta un número entero (sin signo) y simplemente registrarlo...
17, 9, 51, 33...
que es mucho mejor (y creo que sería alrededor de 6 bits por número por 53 números así que alrededor de 318 bits), pero probablemente todavía no es ideal.. para empezar no tendría que registrar la última tarjeta, llevándome a 312 bits, y si sé que la penúltima tarjeta es una de las dos opciones entonces podría bajar a 306 bits más un bit que fuera verdadero si la última tarjeta fuera el valor más alto de las dos tarjetas restantes y falso en caso contrario....
Podría hacer otros giros y trucos, pero también sospecho que esta es una rama de las matemáticas donde hay una respuesta elegante...