Na końcu książki „Harry Potter i Kamień Filozoficzny” znajduje się ciekawa zagadka. Harry i Hermione wchodzą do pokoju, po czym wejścia do niego blokuje magiczny ogień, a wyjść mogą tylko po rozwiązaniu następującej zagadki:
Przed tobą—niebezpieczeństwo, a za tobą—uratowanie,
Pomogą ci dwie osoby, które znajdziesz wśród nas;
Z jedną z siedmiu ruszysz naprzód,
Inna znów natychmiast cię cofnę.
W dwóch z nas znajdziesz tylko wino pokrzywowe,
A trzy niosą zgubę, stojąc w rzędzie w ukryciu.
Wybierz więc, z której skosztować ci jest pisane,
Na to cztery wskazówki ci dajemy.
Na próżno jad próbował ukryć swój zabójczy żar,
Zawsze go znajdziesz po lewej stronie wina,
I wiedz, że ci, którzy na końcach, mają różne dary,
Ale jeśli chcesz iść dalej, nie pomoże żadna.
Wszyscy przyjmujemy ten sam rozmiar, od końca do końca,
Nie ma mniejszej śmierci w twoim przypadku, ale i nie większej;
Druga od prawego końca i druga od lewego
Pod względem smaku—jakby jednojajowi, choć z wyglądu różnią się.
[z „krajowego przekładu” książki „Harry Potter i Kamień Filozoficzny”]

Mówiąc prościej, muszą zrozumieć, w jakich butelkach znajdują się jakie eliksiry.
W tym artykule rozwiążemy wszystkie 42 możliwe warianty tej łamigłówki przy pomocy programowania i narysujemy diagram wyników (jak na wyżej przedstawionym obrazie, tylko o wiele większym rozmiarze).
Chwileczkę, a skąd wzięło się 42 warianty?
Wszystko dlatego, że lokalizacje „mniejszego” i „większego” eliksiru nie są określone. Większy może znajdować się w jednym z siedmiu miejsc, co daje 6 pozostałych wariantów dla mniejszego, co daje razem 7 * 6 = 42. Nie będziemy w stanie się dowiedzieć, jaką konkretnie konfigurację miała na myśli J.K. Rowling, wymyślając tę zagadkę, chyba że sama napisze o tym na Twitterze. Jednak zanim ten nieunikniony dzień nadejdzie, możemy wybrać losową wersję i nad nią popracować. Jednak nie będzie takiej gwarancji, że będzie ona rozwiązywalna, dlatego pracujemy dla dobra ogółu, rozwiązując wszystkie 42 warianty zagadki (lub udowadniając ich nierozwiązywalność).
ROZWIĄZUJ ZNÓW
Po pierwsze, oto wszystkie ograniczenia zagadki, przeformułowane w prosty sposób:
- Są dwa nieszkodliwe eliksiry, 3 zatrute, jedno pozwalające iść naprzód, i jedno pozwalające wrócić.
- Po lewej stronie każdego z dwóch nieszkodliwych eliksirów stoi trucizna.
- Eliksiry z obu stron są różne, a żaden z nich nie pozwala przejść dalej.
- Największa i najmniejsza butelka nie zawierają trucizny.
- Druga butelka z lewej i druga butelka z prawej zawierają ten sam eliksir.
Co z tym zrobić? Rozważmy następującą możliwość. Zauważmy, że jak mówi zagadka, w rzędzie jest 1 butelka mniejsza od pozostałych i 1 butelka większa od pozostałych.

Spróbujmy po prostu zbadać wszystkie możliwości – brać po jednej butelce i dopasowywać wszystkie możliwe warianty zawartości.
Na przykład, w pierwszej butelce nie może znajdować się eliksir, który posuwa nas naprzód z powodu ograniczenia nr 3. Ponadto nie zawiera ona bezpiecznego eliksiru z powodu ograniczenia nr 2 – nie może znajdować się trucizna z lewej strony. To pozostawia nam warianty z trucizną i eliksirem cofającym. Spróbujmy obu wariantów.
W kolejnych obrazach zielone eliksiry oznaczają truciznę, pomarańczowe – bezpieczne napoje, niebieskie – eliksir cofający, purpurowe – posuwający naprzód.


Powtórzymy ten proces dla obu roboczych wariantów – weźmiemy drugą butelkę i na przemian spróbujemy wszystkich dozwolonych wariantów zawartości. To da nam następujące rezultaty:




Kontynuując w tym duchu i odrzucając wszystkie robocze warianty, w których jakąś butelkę nie można napełnić eliksirem bez naruszenia wymienionych ograniczeń, dojdziemy do jedynego dopuszczalnego wariantu:

Oczywiście, nie mieliśmy gwarancji, że znajdziemy rozwiązanie. Rozwiązanie mogło nie istnieć, lub mogło ich być kilka (a jeśli masz kilka rozwiązań, to jest to równoznaczne z tym, że zagadka nie może być rozwiązana, ponieważ nie wiadomo, które z eliksirów jest poprawne).
Zastosowanie algorytmu do wszystkich wariantów daje nam następujące rozwiązania. 8 wariantów zagadki jest rozwiązywalnych, 8 nie ma rozwiązań, a dla 26 istnieje wiele rozwiązań.

Więcej o rozwiązaniach
Czy istnieje coś wspólnego we wszystkich rozwiązaniach zagadki? Tak! Zwróć uwagę, że najmniejsze lub największe butelki znajdują się na 2. lub 6. miejscu. To pozwala nam wywnioskować, że 2. i 6. butelka zawierają bezpieczne eliksiry z powodu ograniczeń nr 4 i nr 5. Bez tego kroku nie możemy wykluczyć możliwości, że w tych butelkach jest trucizna, a ostatecznie docieramy do kilku możliwych rozwiązań. Dodatkowo rozwiązania wymagają, aby druga „szczególna” butelka (najmniejsza lub największa) stała na 3. lub 4. miejscu. W przeciwnym razie dokładne miejsce eliksiru, który prowadzi nas naprzód, nie może być odnalezione.
Podsumowanie
Zakończę cytatem z książki.
Hermiona głośno westchnęła, a Harry ze zdumieniem zauważył, że się uśmiecha – to było ostatnie zajęcie, które mogłoby przyjść mu do głowy. „Genialnie,” powiedziała Hermiona. – „To nie magia – to logika, zagadka. Wśród wielu największych czarodziejów nie ma ani grama logiki, a oni utknęliby tutaj na zawsze.”
Ale, poczekaj – może uda nam się zrozumieć kanoniczną wersję zagadki na podstawie dialogu z książki:
„Zrozumiałam,” powiedziała. – „Najmniejsza butelka przeprowadzi nas przez czarny ogień i do Kamienia.”
…
„A która umożliwi ci powrót przez purpurowy ogień?”
Hermiona wskazała na okrągłą butelkę z prawej strony rzędu.
Cholera. Ta wersja wciąż daje nam kilka rozwiązań. Pisze tweety, DR.
Kod
Jeśli jesteś zainteresowany kodem do rozwiązania tej zagadki i rysowania diagramów, można go .
Źródło: habr.com
