Al final del libro "Harry Potter y la piedra filosofal" hay un acertijo interesante. Harry y Hermione entran en una sala, tras lo cual la puerta se bloquea con fuego mágico, y solo podrán salir resolviendo el siguiente acertijo:
Delante de ti hay peligro, y detrás, salvación,
Te ayudarán dos, que encontrarás entre nosotros;
Con una de las siete avanzarás hacia adelante
La otra te llevará de regreso de inmediato.
En dos de nosotros solo encontrarás vino de ortiga,
Mientras que tres traen muerte, están en fila en secreto.
Así que elige de cuál probarás lo que te está destinado,
Para ello te damos cuatro pistas.
En vano el veneno intentó ocultar su mortal calor,
Siempre lo encontrarás a la izquierda del vino,
Y sabe que aquellos que están en los extremos tienen dones diferentes,
Pero si quieres avanzar, ninguna ayudará.
Todos nosotros somos del mismo tamaño, de un borde a otro,
Tu muerte no está en una menor, pero tampoco en una mayor;
La segunda desde la derecha y la segunda desde la izquierda
Al gusto, son como gemelos, aunque a la vista no se parecen.
[de la "traducción popular" del libro "Harry Potter y la piedra filosofal"]

En otras palabras, necesitan entender en qué botellas están qué pociones.
En este artículo resolveremos todas las 42 variantes posibles de este rompecabezas mediante programación y dibujaremos un diagrama de resultados (como en la imagen de arriba, solo mucho más grande).
Un momento, ¿de dónde salieron 42 variantes?
Todo esto se debe a que las ubicaciones de las pociones "menor" y "mayor" no están especificadas. La mayor puede estar en uno de los siete lugares, dejando 6 variantes restantes para la menor, en total 7 * 6 = 42. No podremos averiguar qué disposición específica tenía en mente J.K. Rowling al crear este acertijo, a menos que ella lo cuente en su twitter. Pero hasta que llegue ese día inevitable, podemos elegir una versión aleatoria y trabajar con ella. Sin embargo, no habrá garantías de que sea resoluble, por lo que estamos trabajando para el bien común, resolviendo todas las 42 versiones del acertijo (o demostrando su insolubilidad).
YA RESUELVE
Primero, aquí están todas las restricciones del acertijo, reformuladas de manera simple:
- Hay dos pociones inofensivas, 3 envenenadas, una que permite avanzar y una que permite regresar.
- A la izquierda de cada una de las dos pociones inofensivas hay una venenosa.
- Las pociones de ambos lados son diferentes, y ninguna de ellas permite avanzar.
- La botella más grande y la más pequeña no contienen veneno.
- La segunda botella de la izquierda y la segunda botella de la derecha contienen la misma poción.
¿Qué hacer con esto? Consideremos la siguiente opción. Notemos que, como se dice en el acertijo, hay 1 botella que es más pequeña que todas las demás, y 1 botella que es más grande que todas las demás.

Intentemos revisar todas las opciones de manera sistemática: tomaremos una botella a la vez y probaremos todas las posibles combinaciones de contenido.
Por ejemplo, en la primera botella no puede haber una poción que nos haga avanzar debido a la restricción n.º 3. También no contiene una poción segura debido a la restricción n.º 2: no puede haber veneno a su izquierda. Esto nos deja con opciones de veneno y de pociones que nos regresan. Probemos ambas opciones.
En las imágenes siguientes, las pociones verdes representan veneno, las naranjas son bebidas seguras, las azules son pociones que retroceden y la púrpura es la que avanza.


Repetiremos este proceso para ambas opciones viables: tomaremos la segunda botella y probaremos alternadamente todas las opciones adecuadas de contenido. Esto nos dará lo siguiente:




Continuando de esta manera y descartando todas las opciones viables en las que alguna botella no puede ser llenada con una poción sin violar las restricciones mencionadas, llegaremos a la única opción permitida:

Por supuesto, no teníamos garantías de encontrar una solución. Podría no haber solución, o podría haber varias (y si tienes varias soluciones, eso equivale a que el acertijo no se puede resolver, ya que no se sabe cuál de las pociones es la correcta).
Aplicar el algoritmo a todas las opciones nos da las siguientes soluciones. 8 opciones del acertijo son resolubles, 8 no tienen solución y 26 tienen múltiples soluciones.

Más sobre las soluciones
¿Hay algo en común entre todas las soluciones del acertijo? ¡Sí! Observa que las botellas más pequeñas o más grandes están en la segunda o sexta posición. Esto nos permite concluir que la segunda y la sexta botella contienen pociones seguras debido a las restricciones n.º 4 y 5. Sin este paso, no podemos descartar la posibilidad de que haya veneno en estas botellas y, al final, llegamos a varias soluciones posibles. Además, las soluciones requieren que la segunda botella "especial" (la más pequeña o la más grande) esté en la tercera o cuarta posición. De lo contrario, no podemos determinar con precisión la ubicación de la poción que nos lleva hacia adelante.
Resultados
Terminaré con una cita del libro.
Hermione suspiró con fuerza, y Harry se sorprendió al notar que ella sonreía – era la última clase que podría haber imaginado. "Brillante", dijo Hermione. – "No es magia – es lógica, un acertijo. Muchos de los grandes magos no tienen ni un gramo de lógica, y estarían atascados aquí para siempre".
Pero, espera – tal vez podamos entender la versión canónica del acertijo basándonos en el diálogo del libro:
"Lo entendí", dijo ella. – "La botella más pequeña nos llevará a través del fuego negro, y al Piedra".
…
"¿Y cuál te dará la posibilidad de regresar a través del fuego púrpura?"
Hermione apuntó a la botella redonda en el lado derecho de la fila.
Maldita sea. Esta opción todavía nos da varias soluciones. Escriban tweets, DR.
Código
Si estás interesado en el código para resolver este acertijo y dibujar diagramas, puedes .
Fuente: habr.com
