草庐IT

随机性

全部标签

c++ - MPI中每个进程的随机数

我正在使用MPICH2来实现“奇偶”排序。我做了实现,但是当我随机分配给每个进程他的值时,相同的数字被随机分配给所有进程。这里是每个进程的代码,每个进程随机化了他的值..intmain(intargc,char*argv[]){intnameLen,numProcs,myID;charprocessorName[MPI_MAX_PROCESSOR_NAME];intmyValue;MPI_Init(&argc,&argv);MPI_Comm_rank(MPI_COMM_WORLD,&myID);MPI_Comm_size(MPI_COMM_WORLD,&numProcs);MPI_Ge

C++ 线程安全的均匀分布随机数生成

我有一个循环。在循环内部,在每次迭代中,我需要从U[0,1]中提取一个数字。如何使用openmp,并且保证随机数生成过程不被污染?有人建议我需要一个线程安全的随机数生成器,这可能是也可能不是我的问题的解决方案。我的问题与另一个问题非常相关,但我想从连续统U[0,1]中得出一些细微差别。另外,我不知道如何通过线程播种生成器,有人可以写一行代码吗? 最佳答案 基于已经mentionedsolution,这里有一个适合您特定需求的版本:doubledoubleRand(doublemin,doublemax){thread_localst

c++ - 如何使用 boost random 生成随机 64 位整数

我正在尝试使用boostrandom生成一个随机的64位无符号整数,但是我遇到了uniform_int的断言失败。structtimevaltv;boost::mt19937randGen(tval.tv_usec);boost::uniform_intuInt64Dist(0,std::numeric_limits::max());boost::variate_generator>getRand(randGen,uInt64Dist);uint64_tclock_seq_=getRand();这是第3行的输出。main:/usr/include/boost/random/unifor

c++ - 在 C++11 中保存随机数生成器状态

我希望能够将随机数生成器的状态保存在.txt文件中并读回。我听说在c++11中,这可以使用>运营商。但是,我不确定我将如何做到这一点。我有一个随机数生成器初始化如下:mt19937myRandomGenerator(1);normal_distributionmyDistribution(0.0,1.0);我希望能够将myRandomGenerator的状态保存在文件save.txt中。我该怎么做? 最佳答案 正如所描述的那样,用operator来写并使用operator>>读取状态.#include#include#include

c++ - 连续创建一个0到1之间的随机数

我正在尝试用C++为股票价格变动建模。我需要创建一个介于0到1之间的随机数。但似乎随机数生成器的值一直在增加,并不是真正随机的。代码如下所示:#include#include#include#includeusingnamespacestd;intmain(){doublestockPrice=25;intstart=0,end=0;start=clock();srand(time(NULL));cout18){if(stockPrice==20){doubleprobability=(rand()/(double)RAND_MAX);if(probability不确定如何解决这个问题

c++ - 实现之间的随机输出不同

我用libstdc++、libc++和dinkumware试过这个程序:#include#include#include#include#include#includeintmain(){std::vectorv(10);std::mt19937rand{0};std::uniform_int_distributiondist(1,10);std::generate_n(v.begin(),v.size(),std::bind(dist,rand));for(autoi:v)std::cout输出分别是:668979695761448104635510414108484每次运行的输出都

c++ - 如何从 C++ 中的集合中随机选择一个元素?

给定一组整数:std::setitemInTest;这个集合中有大约4000个整数,我想循环100次,每次它可以从集合中随机选择100个不同的元素。此外,所有整数都是正数。如何每次随机抽取其中一个?我知道stackoverflow中有很多答案,但有些太复杂,有些则不是那么随机。 最佳答案 首先,将您的项目放入一个vector中,因为您需要多次随机访问它们:vectoritems(itemInTest.begin(),itemInTest.end());然后,如果您需要100个项目并且不想两次选择相同的项目,您还不如将整个项目洗牌:s

c++ - C++11 : is there a simple way to seed the generator in one place of the code, 中的随机数然后在不同的函数中使用它?

在C++11之前,我使用rand()来自选择在main()中播种(或不播种)生成器非常简单函数(例如),然后在libraryA中使用由libraryB中某个函数生成的随机数。代码如下所示:LibraryB(生成随机数,老式的方式):#include//rand,RAND_MAXdoubleGetRandDoubleBetween0And1(){return((double)rand())/((double)RAND_MAX);}主程序:#include//srand#include//time,clockintmain(){booliWantToSeed=true;//orfalse,

c++ - 在 C++ 中找出随机数生成器的种子

我有一个非托管C++控制台应用程序,我在其中使用了srand()和rand()。我不需要它来解决特定问题,但很好奇:传递给srand()的原始种子是否存储在我可以查询的内存中的某个位置?有没有办法弄清楚种子是什么? 最佳答案 不需要存储种子,只需要存储最后返回的随机数。这是手册页中的示例:staticunsignedlongnext=1;/*RAND_MAXassumedtobe32767*/intmyrand(void){next=next*1103515245+12345;return((unsigned)(next/65536

随机森林模型及案例(Python)

目录1集成模型简介1.1Bagging算法简介1.2Boosting算法简介2 随机森林模型基本原理3 使用sklearn实现随机森林模型4 案例:股票涨跌预测模型4.1 股票衍生变量生成4.1.1 获取股票基本数据4.1.2 生成简单衍生变量4.1.3 生成移动平均线指标MA值4.1.4 用TA-Lib库生成相对强弱指标RSI值4.1.5 用TA-Lib库生成动量指标MOM值4.1.6 用TA-Lib库生成指数移动平均值EMA4.1.7 用TA-Lib库生成异同移动平均线MACD值4.2 模型搭建4.2.1 引入需要搭建的库4.2.2 获取数据4.2.3 提取特征变量和目标变量4.2.4 划