random | Aléatoire |
---|---|
Langage C++ |
Description
Cet entête contient une présentation des fonctionnalités de génération de nombres aléatoires.
Cette bibliothèque permet de produire des nombres aléatoires en utilisant des combinaisons de générateurs et de distributions :
- Générateurs : objets générant des nombres uniformément distribués.
- Distributions : objets transformant des séquences de nombres générées par un générateur en séquences de nombres suivant une distribution de variable aléatoire spécifique, telle que uniforme, normale ou binomiale.
Liste des classes
Nom | Description |
---|---|
bernoulli_distribution | Cette classe contient une distribution de nombres aléatoires produisant des valeurs booléennes selon une distribution de Bernoulli. |
default_random_engine | Cette classe contient un moteur de nombres aléatoires générant des nombres pseudo-aléatoires. |
knuth_b | Cette classe contient un adaptateur de moteur renvoyant des séquences mélangées générées avec le moteur générateur de nombres pseudo-aléatoires simple minstd_rand0. |
minstd_rand | Cette classe contient un simple générateur de nombres pseudo-aléatoires congruentiels multiplicatifs (un type de linear_congruential_engine). |
minstd_rand0 | Cette classe contient un simple générateur de nombres pseudo-aléatoires congruentiels multiplicatifs (un type de linear_congruential_engine). |
mt19937 | Cette classe contient un générateur pseudo-aléatoire Mersenne Twister de nombres 32 bits avec une taille d'état de 19937 bits. |
mt19937_64 | Cette classe contient un générateur pseudo-aléatoire Mersenne Twister de nombres 64 bits avec une taille d'état de 19937 bits. |
ranlux24 | Cette classe contient un générateur pseudo-aléatoire de soustraction avec retenue de nombres 24 bits avec avancement accéléré. |
ranlux24_base | Cette classe contient un générateur pseudo-aléatoire de soustraction avec retenue de nombres de 24 bits, généralement utilisé comme moteur de base pour le générateur ranlux24. |
ranlux48_base | Cette classe contient un générateur pseudo-aléatoire de soustraction avec retenue de nombres de 48 bits, généralement utilisé comme moteur de base pour le générateur ranlux48. |
random_device | Cette classe contient un générateur de nombres aléatoires produisant des nombres aléatoires non déterministes, s'il est pris en charge. |
ranlux48 | Cette classe contient un générateur pseudo-aléatoire de soustraction avec retenue de nombres de 48 bits avec avancement accéléré. |
seed_seq | Cette classe contient une séquence d'amorçage, soit un objet utilisant une séquence de valeurs entières pour produire une série de valeurs entières non signées avec 32 bits significatifs pouvant être utilisés pour amorcer un moteur de générateur pseudo-aléatoire. |
Liste des gabarits
Nom | Description |
---|---|
binomial_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des entiers selon une distribution discrète binomiale. |
cauchy_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des valeurs à virgule flottante selon une distribution de Cauchy. |
chi_squared_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des valeurs à virgule flottante selon une distribution du chi carré. |
discrete_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des valeurs entières selon une distribution discrète. |
discard_block_engine | Ce gabarit contient un adaptateur de moteur adaptant un type de moteur de générateur de nombres pseudo-aléatoires en utilisant uniquement r éléments de chaque bloc de p éléments de la séquence qu'il produit, en supprimant le reste. |
exponential_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des valeurs à virgule flottante selon une distribution exponentielle. |
extreme_value_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des valeurs à virgule flottante selon une distribution de valeurs extrêmes de type I. |
fisher_f_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des valeurs à virgule flottante selon une distribution F de Fisher. |
gamma_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des valeurs à virgule flottante selon une distribution gamma. |
generate_canonical | Ce gabarit permet de convertir les valeurs générées par g en une valeur à virgule flottante dans l'intervalle [0,1] en préservant les propriétés d'uniformité des séquences générées avec g. |
geometric_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des nombres entiers selon une distribution discrète géométrique. |
independent_bits_engine | Ce gabarit contient une classe d'adaptateur de moteur adaptant un type de moteur de générateur de nombres pseudo-aléatoires pour produire des nombres aléatoires avec un nombre spécifique de bits (w). |
linear_congruential_engine | Ce gabarit contient un moteur générateur de nombres pseudo-aléatoires qui produit des nombres entiers non signés. |
lognormal_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des valeurs à virgule flottante selon une distribution log-normale. |
mersenne_twister_engine | Ce gabarit contient un moteur générateur de nombres pseudo-aléatoires produisant des nombres entiers non signés dans l'intervalle fermé [0,2w-1]. |
negative_binomial_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des entiers selon une distribution discrète binomiale négative (également connue sous le nom de distribution de Pascal). |
normal_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des valeurs à virgule flottante selon une distribution normale. |
piecewise_constant_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des valeurs à virgule flottante uniformément réparties sur chacune des séquences de sous-intervalles contigus. |
piecewise_linear_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des valeurs à virgule flottante distribuées sur une séquence de sous-intervalles contigus, dont la densité de probabilité à ses limites est spécifiée. |
poisson_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des nombres entiers selon une distribution de Poisson. |
shuffle_order_engine | Ce gabarit contient un modèle d'adaptateur de moteur adaptant un type de moteur de générateur de nombres pseudo-aléatoires afin que les nombres soient livrés dans une séquence différente. |
student_t_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des valeurs à virgule flottante selon une distribution T de Student. |
subtract_with_carry_engine | Ce gabarit contient un moteur générateur de nombres pseudo-aléatoires produisant des nombres entiers non signés. |
uniform_int_distribution | Ce gabarit contient la distribution de nombres aléatoires produisant des valeurs entières selon une distribution discrète uniforme. |
uniform_real_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des valeurs à virgule flottante selon une distribution uniforme. |
weibull_distribution | Ce gabarit contient une distribution de nombres aléatoires produisant des valeurs à virgule flottante selon une distribution de Weibull à 2 paramètres. |
Remarque
- À l'exception de random_device, tous les générateurs standards définis dans la bibliothèque sont des moteurs de nombres aléatoires, étant un type de générateurs utilisant un algorithme particulier pour générer des séries de nombres pseudo-aléatoires. Ces algorithmes ont besoin d'une graine comme source de caractère aléatoire, et cette graine peut être soit une valeur unique, soit un objet avec une fonction membre generate() très spécifique. Une source typique de caractère aléatoire pour les tâches triviales est le temps, comme les informations fournies par time ou system_clock::now (pour un exemple typique, voir uniform_int_distribution::operator()).
Dernière mise à jour : Lundi, le 18 novembre 2024