Newsgroup: it.hobby.enigmi
Titolo: Dado Continuo Uniforme

Pensate ad un "Dado Continuo Uniforme" con infinite facce numerate con tutti
i numeri reali tra 0 ed 1.
(Se trovate difficolta' ad immaginare un dado siffatto, pensate ad un
generatore di numeri casuali tra 0 ed 1; la cosa funziona ugualmente).
Il gioco consiste in una serie di lanci del dado (o in una serie di
estrazioni) che si interrompe quando si ottiene un valore minore di quello
del lancio (estrazione) precedente.
Ripetete il gioco mooolte volte (cioe' un numero mooolto grande di serie di
lanci).
Quale sara', in media, il numero di lanci (estrazioni) di una serie?
ciao
paolo

Paolo Licheri wrote:


La probabilita' di fare piu' di n lanci e' 1/(n!) infatti tale probabilita' e'
pari al volume (n-dimesionale) dell'insieme T_n={(x1,x2,...,xn):  x1<=
x2<=x3<=....<=xn} che non e' altro che una piramide di altezza 1 e base T_{n-1}
dunque Area(T_n)=1/n Area(T_{n-1}). Sapendo che T_2=1/2=1/(2!) si ottiene la
formula voluta.
Dunque la probabilita'di ottenere esattamente n lanci e'
1/(n!)-1/(n-1)!=(1-n)/(n!)
La media del numero di lanci ottenuti e' dunque
Somma per n>0 di  n*(1-n)/(n!) = Somma per n>1 di n*(n-1)/(n!) =
= Somma per n>=0 di 1/(n!) = e =~2.7
(giusto?)
ciao,
Em*

Em*
Ciao.
________________________________________________________________
Il campo stellare di Windows sopra di me,
la legge di Murphy dentro di me.
                                                 Nicola Gaudenzi
   /\  /                                    
gaud...@cs.unibo.it
  /  \/ I C R O S               
http://www.cs.unibo.it/~gaudenzi

 Questo risultato poi e' negativo!
Ops, ho sbagliato a scrivere. Intendevo il numero opposto:
P(n)= 1/(n-1)! - 1/n! = (n-1)/n!
Nella riga successiva il conto torna di nuovo giusto e quindi il risultato e'
corretto.
ciao,
    E*ele

    E*ele


che ci sara' sicuramente qualcuno di voi in grado di farla al volo.
Anchi'io non ricordo come si calcola una serie (a mia parziale discolpa il
fatto che ho dato analisi oltre 35 anni fa :-), pero' puoi facilmente
calcolarla numericamente, per esempio con Excel:
nella prima colonna scrivi 2,3,4,5,6,....
nella seconda 2,4,8,16,32,....
nella terza calcola (per ogni cella) il rapporto prima/seconda
sommando i valori della terza colonna si trova che la somma converge
rapidamente a 3
ciao
paolo

 visto che avevi ragione mi fidero' della tua formula.
Anche a me risulta difficile immaginarmi la formula in dimensioni piu' alte. Ma
anche il fatto che la piramide abbia volume pari ad un terzo del prisma con la
stessa base non e' molto intuitivo.
Posso comunque dirti come si ricava la formula, conoscendo gli integrali.
In generale, se hai un insieme B di dimensione (n-1) di cui sai il volume (n-1)
dimensionale (ad esempio un triangolo di cui sai l'area), ti puoi calcolare il
volume n-dimensionale del "cono" di base B e altezza h.
Matematicamente il cono C(B,v) di base B e vertice v e' l'insieme di tutti i
segmenti che congiungono il vertice ad un qualsiasi punto della base B. Se la
base e' un cerchio il "cono" e' quello che viene comunemente chiamato cono, se
invece B e' un poligono, il cono viene usualmente chiamato piramide.
In ogni caso, se tagli un cono di base B e altezza h (l'altezza del cono e' la
distanza del vertice dal piano contenente la base) con un piano parallelo al
piano contenente la base ma a distanza d dal vertice, ottieni un insieme
omotetico alla base. Per la precisione ottieni un insieme grande d/h volte la
base (e quindi piu' piccolo supponendo d<h). Dunque tale sezione ad altezza d
ha area (d/h)^(n-1) volte l'area della base. (bisogna ricordarsi che se
raddoppi un segmento la sua lunghezza raddoppia, se raddoppi un quadrato la sua
area quadruplica, se raddoppi un cubo il suo volume ottuplica... e cosi' via).
Dunque il volume del cono e' dato dall'integrale:
Int_0^h (x/h)^(n-1) * Area(B)  dx = [Area(B) * h/n (x/h)^n]_0^h = Area(B) * h /
n
Dunque il fattore 1/n che compare nell'area dei coni (1/2 per i triangoli, 1/3
per le piramidi e i coni) viene proprio dall'integrazione di x^n, e vale in
qualunque dimensione.
ciao,
    ?manu*

ecc.
OOPS
C'e' un errore, le ultime due affermazioni non sono esatte.
In realta' la probabilita' p(n) di effettuare ESATTAMENTE n lanci, vale
p(n)=a(n)*t(n)
dove
a(n) e' la probabilita' di effettuare ALMENO n lanci
t(n) e' la probabilita' che il lancio n_esimo, se effettuato, sia quello
TERMINALE.
Nel precedente post avevo considerato implicitamente (sbagliando) che fosse
sempre t(n)=1/2, indipendentemente dal valore di n.
Invece, se arrivo ad effettuare il lancio n_esimo, vuol dire che ne ho gia'
effettuato n-1, che avranno dato diversi valori distribuiti in un certo
modo.
Se suppongo che questi n-1 valori siano distribuiti uniformemente,
l'intervallo 0-1 risulta suddiviso in n intervalli uguali, ciascuno pari ad
1/n, e pertanto avrei la probabilita'
t(n)=(n-1)/n di trovare un valore "basso".
Poiche' an=1-somma(p2...p(n-1)), e p(2)=1/2, posso calcolare (io utilizzo
Microsoft Excel) tutti i valori di a(n), quindi i valori di p(n) ed i
prodotti n*p(n).
La somma di questi prodotti converge al valore notevole 2.718...=e, che e'
il primo risultato trovato da Manu.
Purtroppo mi pare che anche qui ci sia un errore.
Considerando meglio la distribuzione dei primi n-1 lanci, dobiamo tener
conto del fatto che questi sono crescenti.
Possiamo dire che il primo lancio avra' (mediamente) il valore 0.5=1/2.
Il secondo (nel caso che non sia Terminale), sara' maggiore del primo, e
possiamo assumere che mediamente valga 0.75=3/4.
Cosi via, il terzo vale mediamente 7/8, il quarto 15/16, poi 31/32, 63/64
....
quindi il lancio (n-1)_esimo avra' mediamente il valore (2^(n-1)-1)/2^(n-1),
e questo valore e' la probabilita' t(n).
Procedendo come prima, calcolo la somma dei prodotti n*p(n), e trovo il
valore, per niente notevole, 2.6416...
Fatemi sapere cosa ne pensate
ciao
paolo

...

Io ho seguito il tuo stesso approccio (mi capita quasi sempre, d'altronde;
uso excell e spesso uso anche le tue stesse lettere! questione di feeling
:)
Quindi il risultato che ho trovato e' il medesimo... pero' sono sempre
molto scettico, ed ho buttato giu' qulche riga di codice in VBA per Excell
per simulare i lanci:
Function Lancia(n As Long) As Single
    Somma = 0
    For i = 1 To n
        UltimoLancio = Rnd()
        Lanci = 2
        Do
            Lancio = Rnd()
            If Lancio > UltimoLancio Then
                UltimoLancio = Lancio
                Lanci = Lanci + 1
            Else
                Exit Do
            End If
        Loop
        Somma = Somma + Lanci
    Next i
    Lancia = Somma / n
End Function
ho inserito in diverse celle la formula = Lancia(1.000.000) ed il valore
restituito era sempre mooolto vicino ad e :(((
2,719248056	
2,718115091	
2,718914032	
2,718102932	
2,719016075	
2,718632936	
2,717926979	
2,717102051	
2,719254971	
2,718166113	
2,718394041	
2,718178988	
2,719357014	
2,716525078	
2,718252897	
Ciao, Silv:o)

Ciao, Silv:o)
ciao
paolo