keskiviikko 4. joulukuuta 2013

Auto vai vuohi?

Ns. Monty Hall -ongelman taustana on amerikkalainen televisio-ohjelma Let's Make a Deal, jonka juontajana toimi Monty Hall. Kyseessä on peli, jossa yleensä yleisön joukosta valittu kilpailija pyrkii voittamaan itselleen auton.

Aluksi kilpailijalle näytetään kolme ovea ja kerrotaan, että yhden takana on auto, kahden muun takana vuohi. Hän saa valita yhden oven, mutta ei avata sitä. Pelin juontaja, joka tietää missä auto on, avaa tämän jälkeen toisen kahdesta muusta ovesta, jolloin nähdään, että sen takana on vuohi. Kilpailijalta kysytään, haluaako hän pitäytyä valinnassaan vai vaihtaa sen toiseen vielä suljettuna olevaan oveen. Ongelmana on, kannattaako vaihto (kun tavoitteena on useimpien länsimaisten ihmisten tapaan voittaa auto eikä vuohta).

Lähestymistapoja voisi olla kolme:
  1. Uskoa auktoriteetteja, jotka sanovat, että kannattaa vaihtaa.
  2. Todeta, että kyseessä on todennäköisyyslaskennan ongelma ja ryhtyä perehtymään ehdolliseen todennäköisyyteen ja Bayesin kaavaan.
  3. Kirjoittaa ohjelmakoodi ja simuloida tilannetta.
Ongelma herätti 1990-luvun alussa Yhdysvalloissa mielenkiintoisen debatin, jota on referoitu  englanninkielisessä Wikipedia-artikkelissa. Artikkeli sisältää myös useita tapoja ongelman ratkaisemiseen, mm. Bayesin kaavaa käyttäen. Sama ratkaisu on esitetty ehkä hieman selkeämmin vastaavassa suomenkielisessä Wikipedia-artikkelissa. Helpoimmin ymmärrettävä lienee kuitenkin edellisessä kirjoituksessani mainitun Ehrhard Behrendsin kirjan (Five-Minute Mathematics) ratkaisu. En tässä puutu todennäköisyysteoreettiseen ratkaisuun lähemmin.

Päätin itse yrittää simuloida tilannetta ja tämä osoittautuikin helpommaksi kuin kuvittelin.  Simulointeja löytyy toki netistäkin.

Olkoot alkuperäiset kolme valintamahdollisuutta — ovet — $a_1$, $a_2$ ja $a_3$.  Yhden arvona on 1 (auto), kahden muun arvona 0 (vuohi). Satunnaislukugeneraattorin avulla näistä valitaan yksi. Luonnollisinta on olettaa, että kaikki ovat yhtä todennäköisiä, ts. jokaisen todennäköisyytenä on 1/3. Välttämättä ei näin tietenkään ole: voisihan ajatella esimerkiksi, että juontaja on viehättynyt symmetrioista ja sijoittaa auton useimmiten keskimmäisen oven taakse, vuohet reunoille. Yleensäkin todennäköisyyslaskennan ongelman perustodennäköisyyksien valinta on muuta kuin matematiikkaa. Kyse on siitä, miten uskomme asioiden olevan. Esimerkiksi yleensä uskomme heittävämme virheetöntä noppaa tai luotamme tilastodataan.

Toisella kierroksella valintoja on kaksi: $b_1$ tarkoittaa alkuperäiseen valintaan pitäytymistä ja sen arvo on sama kuin satunnaislukugeneraattorilla tehdyn valinnan arvo, siis joko 0 tai 1. Jos tämä on 1, juontaja voi avata kumman tahansa jäljellä olevista ovista, sillä molemmissa on vuohi. Suljetuksi jäävän oven takana on siis myös vuohi ja toinen vaihtoehto $b_2$ on 0. Jos taas $b_1$ on 0, juontajalla on vain yksi mahdollisuus avata ovi vuohen edestä. Suljetuksi jäävän takana on auto ja siis tällöin $b_2$ on 1.

Vaihtoehdoista $b_1$ ja $b_2$ siis aina toinen on 1 ja toinen on 0. Kun algoritmi on ohjelmoitu, voidaan käynnistää simulointi: ajetaan laskenta useita kertoja ja katsotaan, kuinka monessa tapauksessa päädytään tilanteeseen, jossa $b_1$ on 1, ja kuinka monessa tilanteeseen, jossa $b_2$ on 1. Mutta tämä onkin tarpeetonta, sillä algoritmin rakenne jo osoittaa, että suhde tulee olemaan 1:2.

Toki myös ajoin simulaation. Miljoonalla kierroksella todennäköisyyksiksi skaalatut tulokset olivat varsin stabiilisti 0.333–0.334 ja 0.666–0.667. Aikaa laskentaan meni alle 15 sekuntia. Tulokseksi voisi tietenkin tulla myös vaikkapa 1 ja 0, mutta tämän todennäköisyys on varsin vähäinen. Tuskin onnistuisi kertaakaan, vaikka maailman tällä hetkellä elävä väestö käyttäisi elinaikansa simulaation ajamiseen kerran sekunnissa (minun konettani nopeammalla laitteella).

Ei kommentteja: