|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2001
Messaggi: 1910
|
[statistica] i dadi mi perseguitano!
Dunque fate conto di avere un dado con f facce. Ad ogni lancio ogni faccia ha pari probabilità di uscita 1/f
Ora supponiamo di effettuare una serie di N lanci La probabilità che esca sempre la stessa faccia è 1/f^N e siamo tutti d'accordo Si tratta di una serie di eventi non correlati tra loro La probabilità che non esca mai una specifica faccia è esprimibile come (1-1/f)^N e siamo tutti d'accordo anche qua. (spero) La probabilità che esca almeno una volta una specifica faccia quindi è pari alla probabilità che non si verifichi che non esca mai una specifica faccia. Detto in termini matematici che è più chiaro 1-(1-1/f)^N Se non ricordo male questa è la formula di Cardenas. Veniamo al casino generale: Data una serie di lanci N qual è la probabilità che esca almeno h volte una specifica faccia?
|
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Aug 2005
Città: Bologna...! Xbox360Live!: Sakko83
Messaggi: 5167
|
Quote:
__________________
гла́вный корабе́льный старшина́ -
- FacebookOtdelom - Vendo per XboX 360 |
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2002
Città: Singularity
Messaggi: 894
|
Quote:
p(h) = B(N,h) * 1/f^h * (1 - 1/f)^(N-h) dove: B(N,h) = N! / (h! (N-h)!) Esiste una formula più compatta basata sulla distribuzione cumulativa della binomiale negativa, ma coinvolge la funzione beta regolarizzata e francamente non ho voglia di approfondire http://en.wikipedia.org/wiki/Negativ...ution_function
__________________
echo 'main(k){float r,i,j,x,y=-15;while(puts(""),y++<16)for(x=-39;x++<40;putchar(" .:-;!/>"[k&7])) for(k=0,r=x/20,i=y/8;j=r*r-i*i+.1, i=2*r*i+.6,j*j+i*i<11&&k++<111;r=j);}'&>jul.c;gcc -o jul jul.c;./jul |Only Connect| "To understand is to perceive patterns" Isaiah Berlin "People often speak of their faith, but act according to their instincts." Nietzsche - Bayesian Empirimancer - wizardry |
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Mar 2001
Messaggi: 1910
|
Quote:
Ero convintissimo di aver risolto la questione poi mi sono accorto che in realtà ho bisogno di sapere Data una serie di lanci N qual è la probabilità che ci sia una faccia che esca almeno h volte ? Il problema sembra simile ma disgraziatamente è diverso. Presa p(h) p(k) = B(N,k) * 1/f^k * (1 - 1/f)^(N-k) s(h)=sum (k=0..h-1,p(k)) mi da la probabilità che una faccia esca meno di h volte. Ho trovato un sicuro maggiorante dato da f*s(h) ma non sono riuscito a fare il conto esatto, non posso considerare (1-s(h))^f perchè mica sono eventi scorrelati! |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Nov 2002
Città: Singularity
Messaggi: 894
|
Quote:
Se chiamiamo s(h) (per semplicità) la probabilità di h o più uscite di una determinata faccia (così i calcoli sono più semplici P(h) = f*s(h) è esatta se h è maggiore di N/2. Breve motivazione: i problemi ci sono per le sequenze che soddisfano più di una volta la condizione "la faccia x è uscita almeno h volte", ma se h è maggiore di N/2 una faccia che soddisfa questa condizione esclude necessariamente le altre. Per gli altri casi invece la situazione è decisamente complicata Dovresti sottrarre a mano tutti i "doppioni". Con la multinomiale ci riesci di sicuro, ma a occhio temo che esca un algoritmo davvero lungo... Un altro modo (sfruttando il fatto che le probabilità sono uguali - 1/f) è "contare" i casi corretti usando il calcolo combinatorio, ma adesso è tardi e non riesco a trovare nessun metodo buono
__________________
echo 'main(k){float r,i,j,x,y=-15;while(puts(""),y++<16)for(x=-39;x++<40;putchar(" .:-;!/>"[k&7])) for(k=0,r=x/20,i=y/8;j=r*r-i*i+.1, i=2*r*i+.6,j*j+i*i<11&&k++<111;r=j);}'&>jul.c;gcc -o jul jul.c;./jul |Only Connect| "To understand is to perceive patterns" Isaiah Berlin "People often speak of their faith, but act according to their instincts." Nietzsche - Bayesian Empirimancer - wizardry |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Singularity
Messaggi: 894
|
![]() Ho scritto la formula impestatissima e crasha il database Comunque mi ricordo un f = 2^b con b da 1 a 63, N = 1000000 e h = 20 giusto? La morale (se non hai fatto in tempo a leggere il mio messaggio) è che con b abbastanza alto devi sommare fino a 50000 termini che a loro volta sono sommatorie... non escludo che troncando la somma a un certo punto esca una buona approssimazione ma non ci giurerei Sarebbe da provare con modelli approssimati, quelli che mi vengono in mente sono Poisson e normale. Se trovo la voglia provo a buttare giù qualcosa di preciso
__________________
echo 'main(k){float r,i,j,x,y=-15;while(puts(""),y++<16)for(x=-39;x++<40;putchar(" .:-;!/>"[k&7])) for(k=0,r=x/20,i=y/8;j=r*r-i*i+.1, i=2*r*i+.6,j*j+i*i<11&&k++<111;r=j);}'&>jul.c;gcc -o jul jul.c;./jul |Only Connect| "To understand is to perceive patterns" Isaiah Berlin "People often speak of their faith, but act according to their instincts." Nietzsche - Bayesian Empirimancer - wizardry |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Mar 2001
Messaggi: 1910
|
azz mi è costato caro sto recupero di freeman.... fortuna che avevo la copia del mio messaggio di stamattina
Quote:
Per essere esatti detta s(h) la probabilità che una determinata faccia compaia <=h volte (mi è comodo rappresentare questa) la probabilità che tutte le faccie compaiano meno di h la posso esprimere come s(h)^f e quindi la probabilità che cerco sarebbe 1-s(h)^f oppure posso considerare nulla la probabilità dell'evento congiunto dei singoli 1-s(h) e quindi sommare (1-s(h))*f Di sicuro (1-s(h)) =<P(h)=<(1-s(h))*f Viene fuori direttamente dalla legge della somma... |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:08.




















