Newsgroup: it.hobby.enigmi
Titolo: Scommessa

Mazzo di carte da 40 (da noi si dice da briscola).
Una persona gira una carta alla volta, e si ferma quando esce un poker
qualsiasi,
ad esempio estraggo 1,4,2,3,2,3,8,3,9,9,3 e mi fermo perche' ho estratto
tutti e quattro i 3.
A quale girata scommettereste che cio' avvenga?
Ossia quale e' la girata in cui mediamente ci fermeremo piu' volte? Nel
nostro esempio
era l'undicesima. Intuitivamente direste un numero > o < di 20?
Ciao
Andrea
--
Posted from 
HA-server-a.cs.interbusiness.it
 [151.99.250.31]
via Mailgate.ORG Server - 
http://www.mailgate.org

Andrea
A intuito direi proprio intorno alla 20-esima, anche se di solito in questi
giochi la risposta intuitiva è sempre sbagliata.
Però ho fatto un programmino e anche alcune prove con un mazzo vero
e mi viene proprio 20.
Un calcolo preciso mi sembra un po' arduo, d'altronde meno di 4 carte
non possono uscire e nemmeno più di 31, poi si vede subito che i valori
vicino a questi due estremi estremi sono poco probabili...
Comunque se la risposta giusta è un'altra dimmelo, che sono curioso.
Ciao
Andrea
_________________________________________________________________________
la tua email gratuita e per sempre su 
http://www.freemail.it
 (anche POP3)
--
Posted from 
qma...@hermes.evo.it
 [194.184.29.10]


 era l'undicesima. Intuitivamente direste un numero > o < di 20?
Intuitivamente direi 20.5818871879724 ;)
Per descrivere lo stato del mazzo ad ogni estrazione bastano 4 numeri
(c3,c2,c1,c0) che indicano quante tris, coppie, carte singole e carte
mancanti sono state sinora girate.
Per esempio, se abbiamo girato tre 8, due 3, due 5, un 6 ed un 7 lo stato
sara' (1,2,2,5).
Ovviamente la somma delle componenti deve dare 10, e lo stato iniziale sara'
(0,0,0,10)
Quale sara' il tempo di attesa T(c3,c2,c1,c0) del primo poker?
Dipende dalle probabilita' di transizione da uno stato all'altro.
Chiamiamo c il numero delle carte ancora da girate (c=40-3*c3-2*c2-c1)
La probabilita' di incrementare le carte singole sara' 4*c0/c, di
incrementare le coppie 3*c1/c, di incrementare i tris 2*c2/c.
Ora abbiamo tutti gli ingredienti per costruire una catena di Markov; per
chi non conosce la teoria delle cdM provero' a spiegarmi in termini di
funzioni ricorsive, introducendo prima un esempio:
Supponiamo di stare nello stato (4,5,1,0), ovvero di aver girato 23 carte
collezionando 4 tris, 5 coppie ed una carta singola. Alla prossima girata
posso passare allo stato (5,4,1,0) se esce una carta presente gia' girata
due volte (probabilita' 10/17), allo stato (4,6,0,0) se esce la carta che
era singola (probabilita' 3/17), oppure posso chiudere il poker (nei
restanti 4/17 casi).
Il tempo di attesa medio sara' 1+T(5,4,1,0)*10/17+T(4,6,0,0)*3/17 perche' ci
vuole:
* in ogni caso almeno 1 estrazione, ed inoltre:
- 10 volte su 17 dobbiamo aggiungere il tempo di attesa con un tris al posto
di una coppia;
-  4 volte su 17 il tempo che ci vuole con una coppia in piu' ed un singolo
in meno;
-  3 volte su 17 non dobbiamo aggungere niente perche' abbiamo chiuso un
poker.
In termini di funzioni ricorsive la cosa si riduce a pochissime righe, le
scrivo in basic ma qualsiasi linguaggio va bene, ovviamente
Function T(c3,c2,c1,c0)
  'controllo che i parametri siano corretti
  If c3<0 or c3>10 or .. Then
    T=0
    Exit Function
  End If
  'calcolo il numero di carte ancora da girare
  c=40-3*c3-2*c2-c1
  'questa e' la chiamata ricorsiva vera e propria
  T=1+T(c3,c2,c1+1,c0-1)*(4*c0/c)
  T=T+T(c3,c2+1,c1-1,c0)*(3*c1/c)
  T=T+T(c3+1,c2-1,c1,c0)*(2*c2/c)
End Function
La complessita' e' esponenziale, perche' ogni chiamata invoca tre volte se
stessa, anche se ci sono molti rami secchi; probabilmente si possono
risparmiare moltissime risorse memorizzando i tempi parziali in una matrice
per non doverli ricalcolare piu' volte. Mentre scrivo questo messaggio il
programma sta girando, ma non ha prodotto ancora risultati, mentre per casi
piu' semplici (T(3,3,3,1)) i tempi sono stati nell'ordine del minuto.
Mi sono scocciato, stoppo tutto e aggiungo la matrice.
Cacchio! Con la modifica ha prodotto il risultato all'istante! le insidie
della ricorsione...
Il risultato che ho trovato e' in testa al messaggio.
Tanto per controllare ho preso un mazzo di carte ed ho ripetuto il solitario
una milionata di volte: 20.58346015
Ciao, Silv:o)


  Bella questa! Decisamente sei molto intuitivo, come sempre.
Congratulazioni, anche a Ferragosto il caldo non ti scalfisce.
Interessante il discorso sulle catene di Markov,
il problema e' preso dal solito sito (mazzo di 52),
ma non aveva una soluzione espressa, potresti aggiungerla,
ciao
Andrea
--
Posted from 
HA-server-a.cs.interbusiness.it
 [151.99.250.31]


Quale sara' il tempo di attesa T(c3,c2,c1,c0) del primo poker?
Eh si', stai calcolando la media.
d'accordo sull'uso delle catene di Markov. ma dovresti mettere "1"
nello stato iniziale e poi fare iterazione dopo iterazione. ogni
volta, vedi di quanto e' aumentato il valore nello stato finale.
poi vedi dopo quale iterazione l'aumento e' stato piu' grande - e hai
trovato la moda.
-- 
Adam Atkinson (
gh...@mistral.co.uk
)
Poor Impulse Control

trovato la moda.
Riporto la distribuzione completa, calcolata con una cdM, dalla quale
risulta che la moda e' 22, maggiore della media. La mediana risulta invece
21, ovvero mediamente i solitari che terminano entro le venti carte sono
meno della meta', piu' della meta' terminano invece entro le 21 carte
girate.
carte girate  | prob. di fare il primo poker
           n  | all'ennesima carta (entro le n carte)
--------------+--------------------------------------
           4  |  0,01% (0,01%)
           5  |  0,04% (0,05%)
           6  |  0,11% (0,16%)
           7  |  0,22% (0,38%)
           8  |  0,38% (0,77%)
           9  |  0,61% (1,38%)
          10  |  0,92% (2,30%)
          11  |  1,31% (3,60%)
          12  |  1,79% (5,39%)
          13  |  2,36% (7,75%)
          14  |  3,03% (10,78%)
          15  |  3,78% (14,56%)
          16  |  4,61% (19,17%)
          17  |  5,47% (24,63%)
          18  |  6,33% (30,96%)
 media    19  |  7,13% (38,10%)
   |______20  |  7,82% (45,91%)
mediana-->21  |  8,29% (54,21%)
  moda===>22  |  8,49% (62,69%)
          23  |  8,33% (71,02%)
          24  |  7,78% (78,80%)
          25  |  6,83% (85,63%)
          26  |  5,55% (91,18%)
          27  |  4,09% (95,27%)
          28  |  2,64% (97,91%)
          29  |  1,41% (99,32%)
          30  |  0,56% (99,88%)
          31  |  0,12% (100,00%)
Ciao, Silv:o)


Eh eh, sentendo parlare di catene di Markov mi stavo proprio domandando
come mai Adam non fosse ancora apparso :-)
Comunque si, effettivamente i calcoli erano giusti ma la risposta incompleta
prima,
ora siamo a posto :-)
Ciao



Non e' che anche tu hai fatto la media come Silvio inizialmente?
Come emerge da Silvio & Adam la scommessa va fatta sulla 22-esima carta.


come mai Adam non fosse ancora apparso :-)
Sono pesantemente coinvolto in un progetto di arcaeologia informatica
in questi giorni: un mio amico sta cercando di far tornare in vita
delle text adventures del mainframe di Cambridge, alcune mai viste
altrove. Visto che io le ho risolte 13 anni fa, devo fare il
playtesting. (Gli autori ci hanno dato il permesso di fare il
progetto, ma una delle condizioni e che non chiediamo loro di fare
niente... nemmeno rispondere alle domande.)
-- 
Adam Atkinson (
gh...@mistral.co.uk
)
BRITISH PUSH BOTTLES UP ENEMY

 niente... nemmeno rispondere alle domande.)
Se si tratta di adventures tipo "Zork", che giocai su PDP-11 circa 15 anni
fa,
sono molto interessato al risultato. Allora lo risolsi quasi tutto
(mi mancava una "riddle-room") e mi piacerebbe ritrovarlo.
I tuoi amici renderanno pubblici i risultati? vogliono una mano?
Grazie
Mauro Fiorentini

vogliono una mano?
no grazie. tutto a posto.
-- 
Adam Atkinson (
gh...@mistral.co.uk
)
XYZZY

[snip]
Desidero segnalare anche it.comp.giochi.avventure.testuali
Bye
Donato Fabrizio
Torino, ITALY 
e-mail: 
fabr...@voidspace.pilota.its.it
        Remove voidspace. for reply