Rupesin kerran pohtimaan, että millä taktiikalla saisi eniten pisteitä seuraavanlaisessa noppapelissä, mutta tulosta ei vaan tahdo syntyä:
Noppaa heitetään 1 tai useampi kerta vuorossa, ja pisteet lasketaan yhteen silmäluvuista 1-5. Jos taas heittää 6:n, vuoron aikana kertyneet pisteet nollautuvat ja menettää vuoron. Tarkoitus on kerätä mahdollisimman paljon pisteitä suhteessa heittovuorojen määrään.
Joka heiton jälkeen on siis 2 vaihtoehtoa, lopettaminen ja jatkaminen. Sen verran ymmärsin, että kannattaa jatkaa jos sen mahdollisten seurausten pistemäärien ja niiden todennäköisyyksien tulojen summa on suurempi kuin siihen mennessä kertynyt pistemäärä. En vaan millään keksi miten ne mahdolliset seuraukset voisi formalisoida. Osaisiko joku mahdollisesti auttaa?
Noppaa heitetään 1 tai useampi kerta vuorossa, ja pisteet lasketaan yhteen silmäluvuista 1-5. Jos taas heittää 6:n, vuoron aikana kertyneet pisteet nollautuvat ja menettää vuoron. Tarkoitus on kerätä mahdollisimman paljon pisteitä suhteessa heittovuorojen määrään.
Joka heiton jälkeen on siis 2 vaihtoehtoa, lopettaminen ja jatkaminen. Sen verran ymmärsin, että kannattaa jatkaa jos sen mahdollisten seurausten pistemäärien ja niiden todennäköisyyksien tulojen summa on suurempi kuin siihen mennessä kertynyt pistemäärä. En vaan millään keksi miten ne mahdolliset seuraukset voisi formalisoida. Osaisiko joku mahdollisesti auttaa?
Vastaukset 7
Vanhimmat
Aiemmat pisteesi eivät vaikuta seuraavien nopan heittojen tuloksiin eli sinulla on todennäköisyys
1/6 että pisteesi nollautuvat ja 5/6 että saat lisää pisteitä.
Mutta sinä puhut keskiarvosta yhteispisteet/heittolkm.
Eli sinun kannattaa katsoa millä todennäköisyydellä vastustaja(t) saavat enemmän pisteitä(suuremman keskiarvon) kuin sinä.
Eli pelikö toimii siten, että kukin vuorollaan heittää haluamansa määrän noppaa ja lasketaan keskiarvo, ja kun kierros on päättynyt katsotaan kellä suurin keskiarvo?
Paras stradegia on sellainen että jos eka on 5 päättää vuoronsa siihen, sillä keksiarvoa 5/1=5 ei voi ohittaa. Muutoin probleema vaatii monta näkökulmaa, esim. oletko eka vuorossa, vai tunnetko muiden tulokset vai saako pelissä tietää muiden tuloksia etukäteen..???
Niin kuin jo todettiinkin, niin muiden pelaajien saamien tulosten tietäminen vaikuttaa ratkaisevasti siihen mitä kannattaa tehdä, mutta oletetaan, että muiden tuloksia ei tunneta. Tämän varmaan voisi formuloida jonain dynaamisen ohjelmoinnin ongelmana a'la Bellman, mutta veikkanpa, että vastaus on tällainen lokaali periaate:
"jos k heitolla saavutettu keskiarvo on x[k], kannattaa heittää vielä, jos seuraavan hetken odotusarvo E[x[k 1]] on suurempi kuin x[k]"
- Jos silmäluku c=1...5 niin
x[k 1] = (x[k]*k c)/(k 1)
- Jos silmäluku c=6, niin
x[k 1] = 0
Odotusarvo on nyt
E[x[k 1]] =
= 0*1/6 sum_{c=1}^5 1/6 (x[k]*k c) / (k 1)
= 5/6 x[k] k/(k 1) 15/6/(k 1)
> x[k]
Josta saadaan, että kannattaa vielä heittää jos
x[k] < 15/(k 6)
Ilmaisin asian hieman epäselvästi... Tarkoitus ei ollut maksimoida silmälukujen keskiarvoa vaan summa. Alkuperäisessä muodossa pelin voittaa se joka saa ensin 100 (tms) pistettä, mutta yleistin ongelmaa jättämällä tavoiterajan pois. Siksi "pisteitä suhteessa heittovuoroihin", missä "heittovuoro" sisältää useamman nopanheiton. Muiden pelaajien pistemäärillä ei taas käsittääkseni ole merkitystä jos ylärajaa ei ole määrätty.
En ole ehtinyt vielä miettiä ongelmaa pidemmälle, mutta luulisi sen nyt ratkeavan tähänastisellakin lukiomatematiikalla.
Oletetaan siis että tähän asti on kertynyt x pistettä. Jotta saadaan selville kannattaako jatkaa, pitäisi laskea seurausten todennäköisyys kertaa hyöty.
Jotenkin näin olen lähtenyt ratkaisemaan... kyseessä on siis valintafunktio J(x):
Jos
(1/6)*(15 5x) (1/6)*[J(x 1)*(1/6)*(15 5(x 1)) ... J(x 2)*(1/6)*(15 5(x 2)) ...]
on suurempi kuin x, niin J=1, muuten J=0
Tulee vaan niin monella tasolla loputon rekursio, että jonkin täytyy olla pielessä. Tai sitten en vaan osaa. :/
Osuessasi saat keskimäärin 3 pistettä 5/6 todennäköisyydellä. Epäonni vie sinulta kaikki x kerättyä pistettä todennäköisyydellä 1/6. Sitten vaan lasketaan eri vaihtoehdoista saatava pistelisäys kerrottuna vastaavan vaihtoehdon todennäköisyydellä ja toivotaan näiden summan olevan positiivinen.
5/6 * 3 1/6 * (-x) > 0
15 - x > 0
-x > -15
x < 15
Nuo eri osumavaihtoehdot pisteineen olisi voinut kirjoittaa epäyhtälöön erikseekin, mutta tuossa periaate ja heitto siis kannattaa kun pisteitä on alle 15.
On totta, että seuraavalla heitolla tulee keskimäärin 3 pistettä 5/6 todennäköisyydellä, mutta tämän lisäksi tulee vielä pisteet jotka saataisiin tämän heiton jatkoheitoilla. Nämäkin pitää huomioida laskennassa. Käsittääkseni tästä syntyy sellainen rekursiivinen päätösongelma, jota joskus myös Bellmanin dynaamisen ohjelmoinnin ongelmaksi kutsutaan. Tämä vastaus on kyllä "lokaalisti" oikein eli jos huomioidaan vain seuraava heitto.
Tällaiset ongelmat ovat sukua optimaalisen säädön (engl. optimal control) ongelmille, jossa heittopäätöksen sijaan päätetäänkin vääntää ohjausvipua (vaikka lentokoneen ohjaussauvaa) tietyllä tavalla. Tämänkin päätöksen tekemiseen vaikuttaa, että miten sitä ohjausvipua aiotaan tulevaisuudessa vääntää ja kuinka nämä päätökset vaikuttavat systeemin tilaan tulevaisuudessa. Ei siis voida katsoa vain nykyisyyttä, vaan myös tulevaisuus tulee ottaa huomioon.
Toisten pelaajien pistemäärät vaikuttavat siinä mielessä, että jos on tarkoitus voittaa ja joku toinen pelaaja on jo saanut 20 pistettä, niin vielä 19 pisteelläkin kannattaa heittää. Useampien pelaajien pelien analyysiin on kehitetty ala nimeltä peliteoria.
En ole perehtynyt rekursiivisiin päätösongelmiin, mutta luulen selostuksesi perusteella ymmärtäväni mistä on siinä on kyse. Tuossa ratkaisutavassani kysytään vallitsevassa tilanteessa sitä, että tuottaako heitto riskeerattavalle pistepotilleni positiivisen odotusarvon. Jos näin on, tiedän saavani "pitkässä juoksussa" tuottoa ottamalleni riskille. Voin kieltäytyä heittämästä seuraavaa heittoa, jos haluan. Siksi ei ole mahdollisuutta, että minun "lokaalisti" oikea ratkaisuni johtaisi epäedulliseen pakosti negatiivisen odotusarvon tuottavaan tilanteeseen tulevaisuudessa. Kieltäytyessäni epäedullisesta heitosta tiedän myös hyvin, että kyseinen heittosarja tarjoaa tulevilla heitoilla vieläkin epäedullisemmat ehdot. Tästä syystä en näe mitään syytä sille ettei tämä laskemani raja (tuottoa alle 15:lle pisteelle) pätisi.
Jos tarkoituksena on kerätä mahdollisimman paljon pisteitä/heittosarja, niin tämä on nähdäkseni oikea strategia. Heitot alle 15:ssä pisteessä keskimäärin parantavat pistekeskiarvoa, heitto 15:ssä pisteessä ei vaikuta siihen ja muut heikentävät sitä. Sain myös simuloimalla tätä tukevia tuloksia.