maanantai 1. syyskuuta 2008

28. Pulmanurkka: logiikkaa

Tässä linkki Fields-mitalisti Terence Taon blogin juttuun, jota taannoin luin. Jutussa esitetään ns. sinisilmäisten saarelaisten ongelma, joka on tunnettu intuition vastaisuudestaan. Tsekatkaa myös kommentit, joita on valtavasti. Kommenteissa joku esitti seuraavan ongelman:

Kaupungissa halutaan järjestää pelastusharjoitus ja kaupunginjohtaja kertoo asukkaille seuraavan:
"Pidämme ensi viikolla pelastusharjoituksen jonain päivänä kello 12. Harjoitus tulee yllätyksenä kaikille asukkaille."
(Esityksen yksinkertaistamisen vuoksi harjoitus pidetään kello 12. toim. huom.)

Kaupungissa asuu loogikko, joka järkeilee seuraavan. "Harjoitusta ei voida pitää sunnuntaina, viikon viimeisenä päivänä, koska lauantaina klo 12 jälkeen asukkaat tietäisivät että harjoitus on huomenna - tällöin se ei tulisi yllätyksenä asukkaille. Harjoitus ei siis voi olla sunnuntaina.

Nyt voin korvata edellisessä sanan 'sunnuntai' sanalla 'lauantai' ja lopulta päädyn siihen että harjoitusta ei voi pitää minään päivänä."

Harjoitus pidettiin keskiviikkona ja se tuli asukkaille yllätyksenä - mikä vika loogikon päättelyssä on, vai onko?

Itselläni on ratkaisuehdotus pulmaan, mutta kerron sen kommenteissa vaikkapa ensi viikolla. Jätin muutamia (tärkeitä?) oletuksia kertomatta ja se jättänee tilaa improvisoinnille. Yritänkin nyt saada teidät, rakkaat lukijat, kommentoimaan tilannetta ja esittämään näkemyksiä. Tiedän että teitä on vähän eikä pulmakaan ole välttämättä antoisin mahdollinen - siispä jos tiedät hyvän logiikkaongelman, niin saa kertoa niitäkin!

9 kommenttia:

Anonyymi kirjoitti...

Minusta tässä on vähän samaa henkeä, kuin eräässä lukiomatikan tehtävässä, jossa hölmöläinen lastaa hevoselleen polttopuita vedettäväksi. Hölmöläinen järkeilee, että "jos sinä tuon jaksat vetää, niin jaksat sinä tämänkin."

Loogikon päättely menee metsään siinä vaiheessa, kun sunnuntaita lähdetään muuttamaan lauantaiksi. En osaa tuota sen kummemmin formaalein keinoin ilmaista (hah, onneksi ei tarvikkaan).

Jukka kirjoitti...

A:

Eli tuo induktion käyttö ei tässä toimisi?
Onhan tuo jotenkin huteran oloista koska tässä aloitetaan induktio viimeisestä alkiosta (su) vaikka yleensä se aloitetaan ensimmäisestä - tässä käytetään siis jonkinlaista käänteistä induktiota. En osaa sanoa onko se validi mutta enpä osaa osoittaa virhettä.

Anonyymi kirjoitti...

Veikkasin itsekkin tuota a:n ajatusta ensin, mutta tiedänkin nyt tähän "oikean" ja "paremman" ratkaisun. En kyllä vissiin saa kertoa sitä nyt...? Mutta tuossa päättelyssäkin täytyy olla jotain vikaa :)

Anonyymi kirjoitti...

Yritin miettiä ongelmaa tovin tai pari tässä joskus, mutta en keksinyt mitään järjellisen oloista. Kiinnostava ja viihdyttävä pulma kumminkin. :)

Taidan olla taipuvainen laiskuuteen, nimittäin tykkään kovasti lukea tuommoisia ongelmia ja etenkin niiden ratkaisuja, mutta kun pitäisi alkaa itse miettiä, rupeaa löytymään kaikkea muuta "tärkeämpää" tekemistä. Ehkä pitää yrittää ankarammin viimeistään seuraavan pulmanurkan kanssa. ;)

Jukka kirjoitti...

jussi:
Minussa on hieman samaa vikaa, kuitenkaan tuohon kaupunkiongelmaan ei Taon sivuilla ollut vastausta ja vaikka mun piti myöhemmin sitä netistä etsiä niin asia kuitenki unohtu.
Vasta sitte ku selitin ~n.lle ystävälleni ongelmaa, niin yhtäkkiä vaan välähti ja tuli jonkin asteen ymmärrys.

Jukka kirjoitti...

Niin ja unohtu mainita se, että minusta riippumatta eräs ystävämme Oonan kaveri kuulemma sai ongelman heti "ykösellä" ratkastua. Ja ratkaisu oli siis sama ku mulla.

Jukka kirjoitti...

Aika paljastaa ratkaisu.
Tehdään kaksi oletusta:
1. Kaupunginjohtaja tietää etukäteen (esimerkiksi järkeilemällä) mitä loogikko päättelee.
2. Loogikko ei tiedä kohtaa 1. Kapulakielisemmin sanottuna loogikko ei tiedä että kaupunginjohtaja tietää
mitä loogikko tulee päättelemään.

Nämä premissit liittyvät sellaiseen asiaan kuin "common knowledge" (ks. http://en.wikipedia.org/wiki/Common_knowledge_(logic) ) - tätä käytetään myös tuossa saariongelmassa.

Siispä. Loogikon päättelyssä ei ole mitään vikaa. Loogikko antaa päivien kulua ja uskoo ettei harjoitusta tule, koska se ei tulisi yllätyksenä. Kaupunginjohtaja voi nyt laittaa harjoituksen vaikka sunnuntaille koska hän tietää että loogikko (ja muut asukkaat) elää siinä uskossa ettei harjoitusta tule.

Anonyymi kirjoitti...

Ainakin minusta tuo ratkaisu tuntuu kovin kummalliselta. Loogikkohan ikään kuin päätyy tulokseen, että kaupunginjohtajan täytyy valehdella. (Johtaja kertoo, että harjoitus tullaan järjestämään, mutta loogikko päätyy tulokseen, että näin ei tulekaan tapahtumaan.) Miten ongelma voidaan ratkaista siinä tapauksessa, että loogikko tietää kaupunginjohtajan puhuvan totta? Käyttäessään samaa päättelyketjua kuin aiemmin loogikko päätyy jälleen tulokseen, että harjoitusta ei tulla järjestämään, mutta toisaalta hän tietää, että näin tulee tapahtumaan, koska kaupunginjohtaja puhuu totta.

Jukka kirjoitti...

Satunnaisia ja pikaisia ajatuksia Juholle:

Tuo on kyllä totta että jos loogikko tietää kaupunginjohtajan puhuvan totta, niin ainoa loogikkoa tyydyttävä ratkaisu lienee se, että kaupunginjohtaja on tiennyt mitä loogikko tulee ajattelemaan. Loogikko saa siis päättelemällä tietoonsa kohdan 1. Näin ollen loogikko tekee alkuperäisen päättelyn.

Mutta kaupunginjohtaja tietää yllä olevan... Ja loogikko päättelee taas tämän... Ja tästä syntynee loputon ketju?

Kaikessa yllä olevassa on kuitenkin tosiaan oletettu että loogikko tietää, ettei kaupunginjohtaja tee virheitä ja puhuu totta.