Newsgroup: it.comp.lang.visual-basic
Titolo: Ancora numeri RANDOM (Vitriol, help me :-) )

Ciao a tutti,
riprendendo la soluzione del gentilissimo Vitriol sui numeri random, ho
fatto una form dove ho 2 command button che in un ciclo da 0 To 1 mi
restituisce 2 numeri random per ogni button
Il problema è che a me, sembrano poco random, ho parecchie ripetizioni di
numeri e questa volta la matrice è diversa (addirittura nel ciclo 1 gli
faccio fare uno sleep di 1000 milliecondi)
Si può migliorare la sequenza di numeri random ???
Qesto è il codice :
PRIMO BUTTON : 2 NUMERI DA 1 A 90
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BntElaRuota1.Click
        ' Genero 2 numeri casuali da 1 a 90
        Dim rnd As New Random(CInt(DateTime.Now.Ticks And Integer.MaxValue))
        Dim j, numero As Integer
        For j = 0 To 1
            Threading.Thread.CurrentThread.Sleep(1000)
            numero = rnd.Next(1, 91)
            If j = 0 Then
                Me.TxtRuota1.Text = numero.ToString
            Else
                Me.TxtRuota2.Text = numero
            End If
        Next
    End Sub
SECONDO BUTTON : 2 NUMERI DA 1 A 90
 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
        ' Creati 2 numeri Random da 1 a 90
        Dim rnd As New Random((CInt(DateTime.Now.Ticks And Integer.MaxValue) /
Now.Millisecond))
        Dim j, numero As Integer
        For j = 0 To 1
            ' Private rnd As New Random(CInt(DateTime.Now.Ticks And Integer.MaxValue))
            numero = rnd.Next(1, 91)
            If j = 0 Then
                Me.TxtRuota3.Text = numero
            Else
                Me.TxtRuota4.Text = numero
            End If
        Next
Thanks
Zorro
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Si può migliorare la sequenza di numeri random ???
Lo Sleep non serve a niente, perché tanto il seme lo generi solo una 
volta alla pressione dl pulsante... ma come fai a dire che "sembrano 
poco random"? A impressione, oppure ne hai generati qualche migliaio e 
hai calcolato che hanno una distribuzione non casuale?
A occhio su poche uscite è difficile dirlo. Se escono due numeri uguali 
vicini o consecutivi ti salta subito all'occhio, ma non è detto che sia 
statisticamente rilevante.
-- 
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Saluti, VITRIOL

 Si può migliorare la sequenza di numeri random ???
Prova a vedere se ti puo' dare qualche spunto
http://www.codeproject.com/KB/recipes/Random.aspx
ciao
stefano

 statisticamente rilevante.
Poi magari è una paranoia mia, se a te sembra corretto il mio codice, mi
metto il cuore in pace.
Ti stampo il Log dei numeri usciti in base ad alcune prove :
29 45 IL mercoledì 20 febbraio 2008
16 29 IL mercoledì 20 febbraio 2008
1 85 IL mercoledì 20 febbraio 2008
15 90 GIORNO mercoledì 20 febbraio 2008
34 42 GIORNO mercoledì 20 febbraio 2008 20/02/2008 14.43.01
43 80 GIORNO mercoledì 20 febbraio 2008
48 30 GIORNO mercoledì 20 febbraio 2008 20/02/2008 14.51.10
63 42 IL 20/02/2008 14.52.36
21 8 IL 20/02/2008 15.03.13
74 4 IL 20/02/2008 17.34.19
19 41 IL 20/02/2008 17.35.01
grazie mille


 19 41 IL 20/02/2008 17.35.01
Beh, io non sono un esperto, ma credo che i numeri siano davvero troppo 
pochi per fare qualsiasi considerazione statistica.
Comunque, se dovessi dire, non ci vedo assolutamente nulla di strano. 
Dove le vedi tutte queste ripetizioni? Solo 2 numeri sono usciti due 
volte in 22 estrazioni.


 volte in 22 estrazioni.
Da altri tentativi me ne sono uscite un pò di più di ripetizioni.
Soprattutto tanti numeri dal 40 al 49.
allora ho deciso di modificare il codice :
        For j = 0 To 1
            Threading.Thread.CurrentThread.Sleep(1000)
            Dim rnd As New Random((CInt(DateTime.Now.Ticks And Integer.MaxValue)) /
Now.Millisecond)
            numero = rnd.Next(1, 91)
hli faccio fare una Random nuova nel ciclo ma ogni volta con matrice diversa
...
sembrerebbe andare meglio.
Thanks
