tiistai 24. marraskuuta 2015

Maailman vaikein logiikkapulma, Osa II C

Jos nyt sitten saisin tämän kuntoon. Niille, jotka unohtivat tai eivät lukeneet aiempaa, meillä on seuraavanlainen pulma: Kolme olentoa A, B ja C, ovat sellaisia, että yksi puhuu aina totta, yksi valehtelee aina, ja yksi vastaa aina satunnaisesti. Nimitetään näitä T, F ja S. Vastaukset annetaan kielellä, jota emme tunne, siinä on kaksi sana "ja" ja "da", jotka tarkoittavat kyllä ja ei, mutta emme tiedä kumpi tarkoittaa kumpaa. Tehtävänä on selvittää kolmen olennon identiteetit.

Yksinkertaistan merkintää niin, että (ABC) tarkoitaa tilannetta jossa A=T, B=F ja C=S. Vastaavasti (CBA) tarkoittaa C=T, B=F, A=S. Alkutilanteessa mahdollisia vaihtoehtoja ovat kaikki kuusi: {(ABC), (ACB), (BAC), (BCA), (CAB), (CBA)}. Meidän tehtävänämme on selvittää mikä näistä pätee.

Lunttasin vastausta sen verran että Boolos käytti kysymystä Q(A,B): "Onko niin, että A=T jos ja vain jos B=S jos ja vain jos da=kyllä". Loogisesti tämä kysymys toimii niin, että jos väittämien A=T ja B=S totuusarvot ovat samat, niin vastauksen totuusarvo on sama kuin väittämän "da=kyllä" totuusarvo. "da" käyttäytyy siis vastauksena "kyllä" riippumatta siitä kumpaa se tarkoittaa.

Jos tämä kysymys esitetään olennolle A joka ei ole S, niin vastaus on "da" tasan silloin kun B=S. Vastaus "da" siis sulkee pois vaihtoehdot joissa C=S pätee.

Vastaavasti vastaus "ja" tarkoittaa että B ei ole S missään tapauksessa: Jos A=S, niin B ei voi olla S. Jos taas A=T, niin A puhuu totta, joten väittämä B=S ei voi olla totta, koska "ja" toimii "ei"-vastauksena. Jos taas A=F, niin A valehtelee. Yhdistelmä A=F ja B=S johtaisi vastaukseen "da", joten vastaus "ja" tarkoittaa että B=S ei päde.

Näin siis saamme kaksi tilannetta, riippuen siitä, mikä A:n vastaus kysymykseen Q(A,B) on:
  1. "da": {(ACB),(CAB),(CBA),(BCA)}
  2. "ja": {(ABC),(BAC),(BCA),(CBA)}
Vaihtoehdossa 1 olento C ei ole satunnainen ja vaihtoehdossa 2 olento B ei ole satunnainen. Tilanteet ovat symmetriset, vaihtamalla C:n ja B:n keskenään saamme vastaavat. Näytän vastauksen tapauksessa 1.

Oletetaan että saimme vastauksen "da". Koska C ei ole satunnainen, tiedämme että voimme  kysyä C:ltä kysymyksen joka sulkee neljästä vaihtoehdosta kaksi pois, ja viimeisellä kysymyksellä saamme poistettua näistä toisen. Kysymys Q(C,B) näyttäisi lupaavalta, sillä vaihtoehdoissa on kaksi tapausta joissa B=S pätee. Tämä sulkisi joko ne pois tai rajaisi vastauksen niihin. Nimittäin, jos C=T, niin tämä vastaisi totuudenmukaisesti. (Huomatkaa, "da" tarkoittaa koodauksen ansiosta "kyllä" riippumatta siitä mikä sanojen merkitys todella on). Tällöin "da" tarkoittaisi vaihtoehtoa (CAB) ja "ja" vaihtoehtoa (CBA). Jos taas C=F pätee, niin "da" tarkoitaisi vaihtoehtoa (ACB) ja "ja" vaihtoehtoa (BCA). Koostamme nämä yhteen ja saamme:
  1. "da": {(CAB),(ACB)}
  2. "ja":{(CBA),(BCA)}
Jälleen kerran nämä tapaukset ovat symmetriset, koska nyt tiedämme varmaksi kuka on satunnainen. Viimeisellä kysymyksellä voimme kysyä sitten toiselta ei-satunnaiseksi tiedetyltä minkä tahansa kysymyksen joka paljastaa tämän. Esimerkiksi tapauksessa 1 voimme kysyä C:ltä kysymyksen Q(C,A). Tiedämme itseasiassa jo, että A=S ei päde. Vastaus on siis "da" jos C=F ja "ja" jos C=T, ja olemme ratkaisseet ongelman. Tapauksessa 2 taas kysymme C:ltä saman kysymyksen, mutta nyt A=S pätee, joten tulkitsemme vastauksen päinvastaisesti.

No nyt tämä on ratkaistu.  Myönnän että se oli vaikea. Jouduin lunttaamaan vastausta, mutta heti kun näin kysymyksen Q muotoilun, niin läimäisin itseäni otsaan, koska vastaus on niin "itsestäänselvä". Logiikkaa harrastaneena tämän "algoritmin" näki melkein suoraan, mutta silti meni hetken aikaa että kysymysten esittämisen algoritmi oli selvä itselleni.

Kuten aina sanon opiskelijoilleni: Yksinkertaiset asiat ovat vaikeita. 

3 kommenttia:

Tomi kirjoitti...

Miten niin maailman vaiken logiikkapulma? Onhan esim. matematiikassa paljon ratkaisemattomia konjektuureja (esim. Riemannin hypoteesi). Eikö ne ole vaikeampia?

Tiedemies kirjoitti...

"Pulma" on suomennokseni sanalla "puzzle". Riemannin hypoteesi ja vastaavat ovat sitten ihan eri asioita; Näissä ratkaisu ei ole mikään varsinainen tutkimuskysymys. Kaikki nämä logiikkapulmat ratkeavat suhteellisen helposti jos ne formalisoi, kuten tässä näkyy.

Nimitys ei ollut omani.

Tomi kirjoitti...

Tuo tehtävä itsessään on hankala, yritin sitä kanssa ja jouduin lunttaamaan.