Pagina 1 di 1
Probabilità di un solitario
Inviato: 03 set 2009, 17:31
da mrossi
Questo non è un problema di una gara di matematica, ma un problema che ho cercato di affrontare calcolando la probabilità di un solitario (in realtà decisamente stupido), pertanto non so quale sia il reale livello di difficoltà anche se non mi sembra banalissimo.
Il solitario, che si fa con un mazzo di 40 carte, consiste nel girare a turno una carta contando da 1 a 3 ripetutamente (1, 2, 3, 1, 2, 3 eccetera) fino a terminare le carte del mazzo. Tuttavia se quando si dice 1 si gira un Asso, quando si dice 2 un Due o quando si dice 3 un Tre si perde. Si vince invece quando si riesce a girare tutte le carte del mazzo.
Nel mazzo sono ovviamente presenti 4 Assi, 4 Due e 4 Tre.
Inviato: 03 set 2009, 18:28
da dario2994
Il problema come dici anche tu è tutt'altro che banale... e io lo affronto da un pezzo senza grandi risultati... oggi finalmente forse ho trovato una soluzione ma è contosa:
Allora prima di tutto piazzo gli assi e vario i casi in base a quanti assi ci sono sulle caselle del 2:
$ [tex] $\displaystyle P=\sum_{i=0}^{4}{13\choose i}{13\choose 4-i}[/tex]
Con i modi di piazzare i 2 e i 3 con i caselle del 2 occupate.
Ora devo calcolare per fare questo uso lo stesso metodo di prima in base a quante caselle 1 occupo:
$ [tex] $\displaystyle =\sum_{k=0}^{4}{14\choose k}{13-4+i\choose 4-k}\{k,i\}[/tex]
Con {k,i} i modi di piazzare i 3 con k caselle 1 occupate e i caselle 2 occupate.
Solito modo per calcolare anche questo:
$ \displaystyle\{k,i\}=\sum_{z=0}^{4}{14-k\choose z}{13-i\choose 4-z} $
Ora unisco tutto ottenendo la comodissima espressione xD:
$ \displaystyle P=\sum_{i=0}^{4}{13\choose i}{13\choose 4-i}\left(\sum_{k=0}^{4}{14\choose k}{13-4+i\choose 4-k}\left(\sum_{z=0}^{4}{14-k\choose z}{13-i\choose 4-z}\right)\right) $
E questi sono i modi che vanno bene, quelli totali sono ovviamente:
$ T={40\choose 4}{36\choose 4}{32\choose 4} $
Ora il risultato cercato (a meno di errori) è P/T... appena ho tempo (penso subito o entro stasera) lo faccio calcolare al computer ;)
Inviato: 03 set 2009, 19:19
da dario2994
Ho fatto svolgere i contacci a derive (e non è stato facile lo stesso) e fortunatamente viene un risultato che mi pare coerente: circa 0.8%
Per chi vuole vedere la frazione precisa eccola:
$ \frac{1124550557}{135373757400} $
In ogni caso vi metto anche il codice di derive:
Codice: Seleziona tutto
f(a,b):=a!/b!/(a-b)!
g(k,i):=∑(f(14 - k, m)·f(13 - i, 4 - m), m, 0, 4)
h(i):=∑(f(14,k)·f(13-4+i, 4 - k)·g(k,i), k, 0, 4)
∑(f(13,i)·f(13, 4 - i)·h(i), i, 0, 4)
E con questo ottenenete P
Per ottenere T:
Inviato: 03 set 2009, 20:12
da FeddyStra
Varie simulazioni mi fanno credere che il solitario si risolva con una probabilità prossima al $ 16\% $.
Inviato: 03 set 2009, 20:24
da dario2994
No FeddyStra io a quel gioco ci giocavo... e non ho mai vinto... a meno che non ho una sfiga epica hai toppato a simulare xD
Ora provo anche io a fare un 100000 simulazioni... vedo che esce :)
Inviato: 03 set 2009, 20:37
da mrossi
Eh sperimentalmente l'avevo già fatta io al pc (nell'ordine dei milioni di prove) e il risultato era circa dello 0,8 %
Inviato: 03 set 2009, 20:37
da dario2994
Ho fatto 100000 simulazioni... la probabilità è perfetta xD
0.835
È praticamente identica a quella frazione ;)
Ti metto il codice così lo vedi (è javascript ma si dovrebbe capire) :)
Codice: Seleziona tutto
var carte=new Array();
for(var f=0;f<40;f++)carte[f]=f%10+1;
var res=0;
var n=100000;
for(var j=0;j<n;j++)
{
carte.randomize();
for(var k=0;k<40;k++)
{
if(carte[k]==(k%3)+1){k=100;}
}
if(k<50)res++;
}
alert(res/n*100);
Inviato: 03 set 2009, 21:13
da FeddyStra
Sì, avete ragione, scusate: avevo un bug nel mio programma dovuto a un copia-incolla sprovveduto.
Confermo il risultato: 1.000.000 simulazioni portano al valore di $ 0.837\% $.
Riporto il mio programma scritto in
Mathematica:
Codice: Seleziona tutto
deck = Join[#, #, #, #] &@Range[10];
verify[deck_] :=
If[FreeQ[Mod[Position[deck, 1], 3], 1],
If[FreeQ[Mod[Position[deck, 2], 3], 2],
If[FreeQ[Mod[Position[deck, 3], 3], 0], 1], 0], 0]
Table[mixdeck = RandomSample[deck]; verify[mixdeck], {100000}];
Count[%, 1]/Length[%]
N[100 %]
Inviato: 04 set 2009, 11:37
da mrossi
Comunque mi fa piacere notare che non ero l'unico sulla terra a scervellarmi con questo solitario...
Io ho vinto un paio di volte!! Ma di partite ne ho fatte.........
Grazie mille per l'aiuto comunque!
Inviato: 04 set 2009, 12:22
da dario2994
Prego

Comunque se non capisci qualcosa delle formule basta che chiedi

Inviato: 27 dic 2009, 22:58
da Umby
Ammappala , e quante formule...
Delle 40 carte prendetene solo 12 ( i 4 [Assi], i 4 [2], i 4 [3] ), le altre 28 non servono.
Ora per ognuna delle 12 carte si la possibilita' di 2/3 che la carta non sia quella richiamata.
Pertanto la totale è:
$ (2/3)^12 $ circa la 0,77 %
Inviato: 27 dic 2009, 23:37
da dario2994
Umby non fare il figo... soprattutto perchè toppi xD
Quello che sbagli è che consideri eventi non indipendenti... praticamente se una delle 12 carte "va nel posto giusto" la probabilità delle altre di andare nel posto giusto non rimane costante, ma sale o scende ;)
Infatti il tuo valore è considerabile una buona approssimazione ottenibile più che facilmente ma attraverso tutte le sommatorie che ho piazzato un paio di mesi fa (a riguardarle fanno paura) si ottiene la probabilità esatta che è circa 0.835 se non sbaglio ;)
Comunque buon tentativo :)