Soyez le premier à donner votre avis sur cette source.
Vue 11 224 fois - Téléchargée 481 fois
'************************************************************************* ' TRUERND - Obtenir de VRAIs nombres aléatoire grâce au service random.org ' ' NECESSITE UNE CONNEXION INTERNET ' 'Auteur : Egyde (sendoval_fr@yahoo.fr) 'Date de création : 28/02/06 '************************************************************************* Option Explicit Private strmem As String Private truernd() As String Private Sub Command1_Click() 'on se connecte à Random.org Winsock1.Close Text1.Text = "" Winsock1.Connect "random.org", 80 End Sub Private Sub Winsock1_Connect() Dim cmd As String 'raz du buffer de réception strmem = "" 'on formate la requête cmd = "GET /cgi-bin/randnum?num=" & txtTotalNb.Text & "&min=" & txtSmallest.Text & "&max=" & txtLargest.Text & "&col=1" & vbCrLf & _ "Accept: text" & vbCrLf & _ "Referer: http://www.random.org" & vbCrLf & _ "Host: www.random.org" 'note : le contenu des textbox devrait être vérifiés mais bon... 'envoi de la requête Winsock1.SendData cmd End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim Buffer As String Dim Reconnect As Boolean Winsock1.GetData Buffer strmem = strmem & Buffer If IsAllReceived Then truernd = Split(strmem, vbLf) ' à convertir en Double éventuellement Text1.Text = Replace(strmem, vbLf, vbCrLf) strmem = "" Winsock1.Close End If End Sub 'fonction qui retourne vrai ssi on a reçu tous les nombres aléatoires Private Function IsAllReceived() As Boolean Dim i As Long Dim nboccur As Long 'chaque nombre retourné par random.org est séparé par le caractère 'VbLf. Pour déterminer si la page a été reçu dans son intégralité, 'on compte simplement le nb d'occurence de ce caractères. i = 1 nboccur = 0 While InStr(i, strmem, vbLf) > 0 nboccur = nboccur + 1 i = InStr(i, strmem, vbLf) + 1 Wend If nboccur = CLng(txtTotalNb.Text) Then IsAllReceived = True End If End Function
6 févr. 2008 à 22:25
Juste pour dire que, une mesure physique de ce genre (audio, bruit sur une ligne, etc...) même s'il sont très difficile à reproduire ne sont pas pour autant aléatoire (au sens mathématique du terme) ! Ohn est juste dan sle domaine de l'imprévisible. Il y a juste trop de paramètres pour pouvoir être modéliser mathématiquement, mais c'est en théorie possible. On aborde alors le sujet des "théories du chaos".
Il semble qu'il n'existe qu'un moyen de faire du véritable "aléatoire" ... en utilisant les lois de la physique quantique (et encore, tous les physiciens quantiques ne sont pas de cet avis !)En tout cas, c'est ce qui se rapproche le plus de l'aléatoire mathématique : Par exemple, lorsqsu'on lance un photon contre un mirroir semi-transparent selon un angle de 45°, soit le photon traverse le mirroir, soit il est réfléchit par ce même mirroir, repartant à 90° de se direction initiale. Des générateurs de nombres aléatoires fonctionnant sur ce principe existe : http://www.randomnumbers.info/
Mais encor eune fois, tous les physiciens quantiques ne sont pas de cet avis !
13 mai 2006 à 20:56
1 mars 2006 à 21:52
1) la suite des nombres générés est équirépartie (i.e : lim Card {k <= n, a <= u(k) <= b} /n -> b - a
(en gros ca dit que la probabilité de la suite de tomber dans un intervalle est proportionnelle à la largeur de l'intervalle)
2) on ne peut pas connaissant u0, u1, ... u(n) deviner u(n + 1)
pour DarkSidious : oui je pense comme toi que mesurer les variations d'un capteur c'est THEORIQUEMENT non aléatoire puisqu'il suffit de s'acheter le même capteur et de le faire fonctionner bien que PRATIQUEMENT à cause des effets chaotiques, ca marche
comme le chaos existe au niveau atomique, on peut cependant supposer qu'il existe une machine permettant de créer des nombres aléatoires. (puisque 2 particules dans le même état strictement ne donneront pas 2 mêmes effets)
1 mars 2006 à 09:52
Bon, allez, je fais un petit effort :
http://www.random.org/users.html
Ca recense plus de 100 exemples d'utilisations... Des utilisateurs qui expliquent pourquoi ils utilisent random.org (un site web qui existe depuis 1998 tout de même).
1 mars 2006 à 08:59
C'est pas toujours une question d'algo de cryptage et de sécurité... Si la fonction de nombres aléatoires n'est pas correcte, tu te retrouveraas soit à cycler, soit à avoir une période de sortie différente pour chaque nombre lors de grands tirages.
@DarkSidious
Désolé, mais je crois que tu en fais un peu trop. Si ton capteur ne peut capter qu'entre -5.00 et +5.00, il captera totu de même des nombres imprévisibles. Le bruit est, par définition, un signal non prévisible.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.