Korttipakkalasku

Seuraa 
Viestejä45973
Liittynyt3.9.2015

Joku lukijoista saattaa olla pelannut sellaista pasianssia, jossa kortteja käännetään esiin yksitellen ja samalla lasketaan 1, 2, 3 ..., 13 ja taas 1, 2 ...,13 jne. kunnes koko pakka on käyty läpi niin ettei kortin arvo ja lueteltu luku ole kertaakaan samoja. Mikä on todennäköisyys sille, että näin tapahtuu? Ässä on 1.

Peli ei ole kovin vaikea, mutta olisi mukava tietää tarkka todennäköisyys onnistumiselle.

Sivut

Kommentit (57)

Vierailija

CE-hyväksytty, ratkaisu ei voi olla noin helppo. Ensimmäisen kortin kohdalla ei-ässä on 48/52. Seuraava kortti ei saa olla 2 ja sen todennäköisyys on joko 48/51 tai 47/51 riippuen siitä mikä kortti oli ensimmäinen ( siis muu kuin ässä ). Jos kortti oli 2, pakassa on 3 kakkosta jäljellä. Jos se ei ollut 2 niin sitten niitä on jäljellä vielä 4. Seuraavaksi pitäisi nostaa 3 ja senkin todennäköisyyteen vaikuttaa se, onko kahdella ensimmäisellä kerralla nostettu 0, 1 vai 2 kolmosta.

Lasku muuttuu siis äkkiä älyttömän monimutkaiseksi, pitäisi vain tiivistää se jotenkin. Muuten se jää laskematta.

CE-hyväksytty
Seuraa 
Viestejä29006
Liittynyt30.4.2005
maallikko
CE-hyväksytty, ratkaisu ei voi olla noin helppo. Ensimmäisen kortin kohdalla ei-ässä on 48/52. Seuraava kortti ei saa olla 2 ja sen todennäköisyys on joko 48/51 tai 47/51 riippuen siitä mikä kortti oli ensimmäinen ( siis muu kuin ässä ).

Niinpäs onkin. En mä sitten tiedä.

mattile71
Seuraa 
Viestejä198
Liittynyt6.9.2006
Denzil Dexter
Mitä missasin? Eikös mahdollisuudet ole aikalailla 1/13 joka kerta; toistetaan 52 kertaa?

Olen samaa mieltä.
Todennäköisyyys on siis (12/13)^52 että menee läpi.
Eli 1.55 prosenttia

Vierailija

Ehkä myös näin ...

Siis on yksi normaali sekoitettu korttipakka ( 4 maata, ässästä kuninkaaseen) eli 56 korttia.

Tarkoitus saada ne neljää kasaan maittain siten että ne ovat nousevassa järjestyksessä ässästä kuninkaaseen. Oletus että kasat voipi täyttää missä järjestyksessä tahansa.

Nostettaessa eka kortti, pitää siis saada jokin neljästä ässästä eli todennäköisyys (=TN) on 4/56.

Nostettaessa toka kortti, pitää saada jokin kolmesta ässästä tai ykkönen samasta maasta kuin eka ässä, on TN = 4/55.

Siis aina nostettaessa kortti, pitää saada jokin neljästä mahdollisesta kortista. Ja kun nostopakassa on enää viisi korttia on TN=4/5. Jonka jälkeen oikean kortin saamisen todennäköisyys on yksi (1).

Ja kun noiden yksittäisten korttien nostot ovat toisistaan riippuvat niin ko. TN:t kerrotaan toisillaan.

Siis TN että kortit saadaan maittain ko. järjestykseeen on about 6,85E-43.

Tarkasti

n=51
PRODUCT { 4/(56-n) }
n=0

eli 4/56 * 4/55 * 4/54 * 4/53 * ... * 4/6 * 4/5

Vierailija

Tästä aiheesta on ketju jossain vuosien takana. Joka tapauksessa lasku on niin monimutkainen, ettei siihen kukaan saanut kombinatoorista ratkaisua. Ratkaisun melko tarkan likiarvon joku tietokoneen avulla numeerisesti haki. En tosin muista kuka. Siitä vaan hakemaan!!!

mattile71
Seuraa 
Viestejä198
Liittynyt6.9.2006

Innostuin simuloimaan tuota.
Simulointi antaa tuloksen(noin 1.62 %). eikä 1.55 kuten laskut.
Onko vika tuossa Borlandin random -funktiossa vai pow-käskyssä ?
Mielestäni (12/13)^52 on kuitenkin oikein.


double maaralapi = 0, maaraeilapi = 0;
for (int j=0;j<1000000;j++)
{
pakka pk = pakka();
bool onSama = false;
for (int i=0;i<52;i++)
{
kortti k = pk.arvoKortti();
if (k.luku == (i%13 + 2)) {onSama = true; break;}
onSama = false;
}
if (onSama) maaraeilapi++; else maaralapi++;
}
cout << "lapi meni:" << maaralapi << endl;
cout << "lapi ei mennyt:" << maaraeilapi << endl;
cout << "prosentti:" <
cout << pow(12.0/13.0,52);
Neutroni
Seuraa 
Viestejä26853
Liittynyt16.3.2005

Monte Carlo -menetelmällähän (satunnainen tietokonesimulaatio) asia tosiaan helpoiten ratkeaa, ellei se ole josku todennäköisyyslaskun koulutehtävä. Ei kai noin tylsää peliä kukaan muu kuin tietokone viitsi niin montaa kertaa pelatakaan, että sen läpi saisi.

Nuo kääntäjien satunnaislukugeneraattorit ovat (kuulemma) pääsääntöisesti kehnoja tai umpisurkeita. Käytä Mersenne twisteriä (löytyy Googlella). Kannattaa myös huomata, että tuo (12/13)^52 on vain approksimaatio. Eivät ne oikeat todennäköisyydet ole täsmälleen 12/13:n suuruisia.

mattile71
Seuraa 
Viestejä198
Liittynyt6.9.2006
Neutroni

(löytyy Googlella). Kannattaa myös huomata, että tuo (12/13)^52 on vain approksimaatio. Eivät ne oikeat todennäköisyydet ole täsmälleen 12/13:n suuruisia.

Mielestäni tuo 12/13 on täsmällinen.
Lisäsin koodiin rivin, joka alustaa RND-generaaattorin aina silloin
tällöin kellosignaalista ja nyt tuo simulaatio antaa suunnilleen oikean tuloksen.
(osa on yli 1.55 ja osa on alle 1.55)

Neutroni
Seuraa 
Viestejä26853
Liittynyt16.3.2005
mattile71

Mielestäni tuo 12/13 on täsmällinen.

Ensimmäiselle kortille se on.
Toiselle todennäköisyys on:
(1/13)*(48/51) + (12/13)*(47/51) = 12/13.

Katsos pirulaista, 12/13 sieltä tulee. Kaipa tuo sitten on yleistettävissä läpi koko pelin, jos kerran Monte Carlokin on sitä mieltä (onnekseen matematiikanopettajani elää vielä, voisi muuten pyöriä haudassa).

Vierailija

Kiitos mattile ja Neutroni. Hiukan järjenvastaiselta tuntui aluksi se, että aiemmin nostetut kortit eivät vaikuta lainkaan eikä sekään, että pakka pienenee, mutta uskottava se on. Tilannehan on sama kuin silloin, kun nostetaan pakasta kortti ja laitetaan se sinne takaisin ja sekoitetaan. Sitten nostetaan taas eikä edellinen nosto tietenkään vaikuta mitenkään tähän uuteen nostoon.

Sivut

Uusimmat

Suosituimmat