Raamatus „Harry Potter ja tarkuse kivi“ on huvitav mõistatus. Harry ja Hermione astuvad tuppa, mille pääsud blokeerib maagiline tuli, ja nad saavad sealt välja minna ainult järgmist mõistatust lahendades:
Sinu ees on oht, taga on pääsemine,
Kaks sind aitavat, kellest leiad meid seast;
Ühe seitsmest edasi liikuda saad
Teine viib sind kohe tagasi.
Kahes meist leiad vaid nõgeseveini,
Aga kolm toovad häda, seistes varjus ritta.
Nii vali, millest maitseda on määratud,
Selleks anname neli vihjet.
Tühja, mürki püüdis varjata oma tapvat kuumust,
Alati leiad selle veini vasakul,
Ja tea, et need, kes äärel, hoiavad erinevat kingitust,
Aga kui tahad edasi, ei aita ei ükski.
Meie suurus on kõik sama, servast servani,
Sinu surm ei istu ei väiksemas, ega ka suuremas;
Teine paremalt otsalt ja vasakult teine
Maitse järgi - nagu kaksikud, kuigi välimuselt erinevad.
[rahvaliku tõlke raamatust „Harry Potter ja tarkuse kivi“]

Lühidalt öeldes, nad peavad aru saama, millistes pudelites millised eliksiirid on.
Selles artiklis lahendame kõik 42 võimalust selle mõistatuse lahendamiseks programmeerimise abil ja joonistame diagrammi tulemustest (nagu ülaltoodud pildil, ainult palju suuremas mõõtkavas).
Oota, kust need 42 varianti tulid?
Kõik tuleneb sellest, et „väiksema“ ja „suurema“ eliksiiri asukohti ei ole märgitud. Suur võib asuda ühes seitsmest kohast, mis annab 6 jäävat varianti väiksema jaoks, kokku 7 * 6 = 42. Selgitada, millist paigutust mõtles J.K. Rowling, kui ta seda mõistatust välja mõtles, ei õnnestu, välja arvatud juhul, kui ta sellest oma Twitteris räägib. Praeguseks ei ole see vältimatu päev veel saabunud, saame valida juhusliku variandi ja sellega töötada. Kuid selle lahenduse garantii ei ole, seetõttu töötame ühise huvi nimel, lahendades kõik 42 varianti mõistatusest (või tõestades nende lahendamatust).
LAHENDA JUBA
Esiteks, siin on kõik mõistatuses sätestatud piirangud lihtsusvormis:
- On kaks kahjutut eliksiiri, 3 mürgitatut, üks, mis lubab edasi liikuda, ja üks, mis lubab tagasi minna.
- Iga kahe kahjutu eliksiiri vasakul pool seisab mürgine.
- Mõlemal küljel on erinevad joogid ja ükski neist ei lase edasi liikuda.
- Kõige suuremad ja kõige väiksemad pudelid ei sisalda mürki.
- Vasakult teine ja paremalt teine pudel sisaldavad sama jooki.
Kuidas sellega edasi minna? Vaatame järgmist varianti. Märkigem ära, et nagu müüt ütleb, rida sisaldab 1 pudelit, mis on suuruselt väiksem kui kõik teised, ja 1 pudelit, mis on suurem kui kõik teised.

Proovime kõiki võimalusi järjest, võttes igast pudelist ja sobitades kõik võimalikud sisud kokku.
Näiteks ei saa esimeses pudelis olla jooki, mis viib meid edasi, kuna see rikub piirangut nr 3. Samuti ei sisalda see ohutut jooki piirangu nr 2 tõttu – vasakul ei saa olla mürki. See jätab meile mürgise joogi ja tagasi viiva joogi valikud. Proovime mõlemat varianti.
Järgmistes piltides tähistavad rohelised joogid mürki, oranžid – ohutud joogid, sinised – tagasi viiv jook, ja lilla – edasi viiv jook.


Korrake seda protsessi mõlema töötava variandi jaoks – võtame teise pudeli ja proovime vaheldumisi kõiki lubatavaid sisu variante. See annab meile järgmist:




Jätkates ülalloetletud viisil ja kõrvaldades kõik töötavad variandid, kus mingit pudelit ei saa täita joogiga, rikkuge loetletud piiranguid, jõuame ainukese lubatud variandini:

Loomulikult ei olnud meil garantiid lahenduse leidmiseks. Lahendusi võis olla mitte või neid võis olla mitu (ja kui teil on mitu lahendust, on see võrdne sellega, et mõistatust ei saa lahendada, kuna ei ole teada, milline jook on õige).
Algoritmi rakendamine kõigile variantidele annab meile järgmised lahendused. 8 müüti on lahendatavad, 8 ei oma lahendusi ja 26-l on mitu lahendust.

Rohkem lahendustest
Kas on kõigil lahendatavatele mõistatustele midagi ühist? Jah! Pange tähele, et kõige väiksemad või kõige suuremad pudelid asuvad 2. või 6. kohal. See võimaldab meil järeldada, et 2. ja 6. pudel sisaldavad ohutuid eeliseid, lähtudes piirangutest nr 4 ja nr 5. Ilma selle sammuta ei saa me välistada, et nendes pudelites on mürk, ja jõuame lõpuks mitme võimaliku lahenduseni. Samuti nõuavad lahendatavad variandid, et teine „eriline“ pudel (kas kõige väiksem või kõige suurem) asuks 3. või 4. kohal. Vastasel juhul ei leia me potentsiaalset jooki, mis viib meid edasi.
Summary
Lõpetan tsitaadiga raamatust.
Hermione vabastas tugeva ohke ja Harry märkas üllatunult, et ta naeratas - see oli viimane tund, mis talle pähe tuli. "Geniaalne," ütles Hermione. "See ei ole maagia - see on loogika, mõistatus. Mitmetel suurimatel maagiatel ei ole grammigi loogikat ja nad jääksid siia igavesti kinni."
Aga oi - võib-olla saame kanoniseeritud versiooni mõistatusest mõista raamatust lähtuva dialooge põhjal:
"Sain aru," ütles ta. "Kõige väiksem pudel toob meid läbi musta tule ja Kivini."
…
"Aga mis pudel toob sind tagasi läbi lilla tule?"
Hermione osutas paremal pool rida olevusele ümmargusele pudelile.
Kuradi küll. See variant annab meile ikkagi mitmeid lahendusi. Kirjutage tweetide, DR.
Kood
Kui olete huvitatud koodi selle mõistatuses lahendamiseks ja diagrammide joonistamiseks, siis seda saab .
Allikas: habr.com
