2011-01-11 4 views
1

J'écris une applet Java où je devrais pouvoir simuler une connexion entre deux hôtes. Par conséquent, je dois générer des temps aller-retour de paquets au hasard. Ces RTT peuvent aller de ~ 0 à l'infini, mais oscillent généralement autour d'une valeur moyenne (c'est-à-dire qu'une valeur extrêmement grande ou petite est très improbable mais possible). Je me demandais si quelqu'un avait une idée de comment je pouvais faire ça?Générer des valeurs RTT

Merci à l'avance

Répondre

3

Vous allez devoir choisir un disribution raisonnable permettant de tirer (pseudo) valeurs aléatoires. Un gamma distribuition pourrait avoir un sens car il semble satisfaire vos besoins. Vous pouvez également utiliser un (left) truncated normal distribution.

La bibliothèque Apache Commons-Math pour Java contient du code pour les distributions gamma et normales (alias Gaussian). Lorsque vous utilisez un RNG de distribution normale pour sélectionner des valeurs à partir d'une distribution normale tronquée, il suffit de rejeter les tirages non désirés (c'est-à-dire lorsque vous sélectionnez x < = 0, sélectionnez à nouveau).

+0

La distribution gamma est exactement ce que je cherchais. J'ai utilisé l'algorithme donné sur wikipedia (Générer des variables aléatoires distribuées gamma) pour générer les RTT et ça marche bien. Merci beaucoup –

Questions connexes