由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教随机数生成问题
相关主题
请教个rng的问题问个随机数的问题
怎么在FreeBSD内核里面实现随机流函数问一道面试题
如何使用这个template?有没有能在单台机子上调试mpi程序的simulator? (转载)
请教个C++程序设计苦寻VNI Numerical Lib...
请教一个C++中function pointer的问题。现在还有哪些大公司用c++比较多
[合集] 请教一个大公司的笔试题,关于c++随机数的c++ typedef 一问
问个multiple core的问题how to initialize this struct.
如何用C++产生随机Poisson分别的随机数?为啥有人喜欢把_s结尾的结构typedef成_t结尾的,有讲究么?
相关话题的讨论汇总
话题: pnl话题: myrandom话题: generator话题: 随机数
进入Programming版参与讨论
1 (共1页)
x******a
发帖数: 6336
1
我要生成1m的随机数,用什么seed比较好?
谢谢
t******i
发帖数: 2688
2
什么样的随机数? binary,还是uniform,还是搞死?
x******a
发帖数: 6336
3
exponential,beta 和gaussian/student t
我现在在C++里用time(0),每一个loop生成4k上面三种分布,
大概需要200-500k个loop。这样是不是每个loop的相关了?
多谢.

【在 t******i 的大作中提到】
: 什么样的随机数? binary,还是uniform,还是搞死?
t*****n
发帖数: 4908
4
我不是很懂。但是你不必自己造轮子吧。gsl和boost都有。

【在 x******a 的大作中提到】
: exponential,beta 和gaussian/student t
: 我现在在C++里用time(0),每一个loop生成4k上面三种分布,
: 大概需要200-500k个loop。这样是不是每个loop的相关了?
: 多谢.

x******a
发帖数: 6336
5
我用boost,我就想知道次数太多会不会导致随机性下降,相关性变大?
谢谢

【在 t*****n 的大作中提到】
: 我不是很懂。但是你不必自己造轮子吧。gsl和boost都有。
c*********e
发帖数: 16335
6
en.到stackoverflow上search一下,就有答案了。别自己造。

【在 t*****n 的大作中提到】
: 我不是很懂。但是你不必自己造轮子吧。gsl和boost都有。
O*******d
发帖数: 20343
7
如果需要真正的随机数,最好的办法是用硬件的发生器。 网上有卖的,USB 接口, 因
为是用电子电路的热涨落来产生随机数,所以产生速度有限制,大概每秒1万个随机的
比特。

【在 x******a 的大作中提到】
: 我要生成1m的随机数,用什么seed比较好?
: 谢谢

l*y
发帖数: 21010
8
硬件的好像也不是真正的随机

【在 O*******d 的大作中提到】
: 如果需要真正的随机数,最好的办法是用硬件的发生器。 网上有卖的,USB 接口, 因
: 为是用电子电路的热涨落来产生随机数,所以产生速度有限制,大概每秒1万个随机的
: 比特。

l*******m
发帖数: 1096
9
1million 小case. 你不放心,可以run autocorrelation 看看peaks

【在 x******a 的大作中提到】
: 我用boost,我就想知道次数太多会不会导致随机性下降,相关性变大?
: 谢谢

O*******d
发帖数: 20343
10
热涨落是真正的随机。 但是热涨落噪音的频率有限,所以用硬件产生随机数,bit
rate不能太高,否则两个bit的产生会落在同一个涨落中,就不是随机的了。 硬件随机
数的好处之一就是不需要seed,过程是不可重复的。 加密用的key,要求高时,要用硬
件随机数。

【在 l*y 的大作中提到】
: 硬件的好像也不是真正的随机
相关主题
[合集] 请教一个大公司的笔试题,关于c++随机数的问个随机数的问题
问个multiple core的问题问一道面试题
如何用C++产生随机Poisson分别的随机数?有没有能在单台机子上调试mpi程序的simulator? (转载)
进入Programming版参与讨论
x******a
发帖数: 6336
11
多谢,更正一下,是大概1-3billion。
6k/loop * 200~500k loops

【在 l*******m 的大作中提到】
: 1million 小case. 你不放心,可以run autocorrelation 看看peaks
d****i
发帖数: 4809
12
热噪声一般认为是真正的随机的,数字电路产生的都是伪随机的。

【在 l*y 的大作中提到】
: 硬件的好像也不是真正的随机
l*******m
发帖数: 1096
13
最好先估计一下project是不是很对随机数质量sensitive。不要overdesign.

【在 x******a 的大作中提到】
: 多谢,更正一下,是大概1-3billion。
: 6k/loop * 200~500k loops

x******a
发帖数: 6336
14
谢谢,例如,我要simulate一个portfolio的var,
这个portfolio有1000-6000positions,
对每个position,要simulate一个random number,计算it的pal
然后所有pnl的和作为这个portfolio的pnl,
我simulate 100000次,记下来每次的pnl,会得到一个pnl的分布,然后取1%的
quantile。
我用time(0)做seed, 发现下面两种写法,Myrandom randn的位置不同导致结果有20%
以上的差异。
1.
vector PnL;
Myrandom randn;
for(i=0; i double sum=0;
.......
for(j=0; j .....
getpnl();
sum+=getpnl;
}
PnL.pushback(sum);
}
sort(PnL.begin(), PnL.end());
cout< 2.
for(i=0; i Myrandom randn;
double sum=0;
......
for(j=0; j ....
getpnl();
sum+=getpnl();
}
}
sort(PnL.begin(), PnL.end());
cout< class MyRandom
{
private:
// Types
typedef boost::mt19937 Engine;
typedef boost::normal_distribution<> Distribution;
typedef variate_generator Generator;
// To hold the generator
Generator* _gen;
public:
MyRandom( int seed, float minVal, float maxVal )
{
_gen = new Generator( Engine( seed ), Distribution( minVal, maxVal )
);
}
~MyRandom()
{
delete _gen;
}
float next()
{
return (*_gen)();
}
};

【在 l*******m 的大作中提到】
: 最好先估计一下project是不是很对随机数质量sensitive。不要overdesign.
m****s
发帖数: 1481
15
难道不是找一个周期比较大的随机数产生器然后随便选个seed就行了么,numerical
recepie上面我记得有个2^53的,大概10^16了,比你需要的billion高出好多个量级了
,应该足够用了吧。实在不行,再拿一个小随机数生成器和这个两个结合起来应该够了
1 (共1页)
进入Programming版参与讨论
相关主题
为啥有人喜欢把_s结尾的结构typedef成_t结尾的,有讲究么?请教一个C++中function pointer的问题。
about typedef[合集] 请教一个大公司的笔试题,关于c++随机数的
Why the number is not exact in C++问个multiple core的问题
sizeof()的问题如何用C++产生随机Poisson分别的随机数?
请教个rng的问题问个随机数的问题
怎么在FreeBSD内核里面实现随机流函数问一道面试题
如何使用这个template?有没有能在单台机子上调试mpi程序的simulator? (转载)
请教个C++程序设计苦寻VNI Numerical Lib...
相关话题的讨论汇总
话题: pnl话题: myrandom话题: generator话题: 随机数