随机(Random)

随机(Random)
随机是智能的基础,人工智能的很多技术都需要用到随机,因此有必要把这个提到前面谈谈
一考虑基于C/C++,般我们都是使用的rand ()等函数实现随机,当然我们也有吊炸天的boost库可以实现各种伪随机
#include <boost/random.hpp>
uniform_int<> distribution(1, 100) ;
mt19937 engine ;
variate_generator<mt19937, uniform_int<> > myrandom (engine, distribution);

// uniform_smallint:在小整数域内的均匀分布 
// uniform_int:在整数域上的均匀分布 
// uniform_01:在区间[0,1]上的实数连续均匀分布 
// uniform_real:在区间[min,max]上的实数连续均匀分布 
// bernoulli_distribution:伯努利分布 
// binomial_distribution:二项分布 
// cauchy_distribution:柯西(洛伦兹)分布 
// gamma_distribution:伽马分布 
// poisson_distribution:泊松分布 
// geometric_distribution:几何分布 
// triangle_distribution:三角分布 
// exponential_distribution:指数分布 
// normal_distribution:正态分布 
// lognormal_distribution:对数正态分布 
// uniform_on_sphere:球面均匀分布 


但是这个取到的数据都是伪随机数,或依靠系统时间,或依靠日期等,显然这个对于人工智能是不够的,我们需要真随机,C++11的std ::random_device给了我们希望,如名这个的随机石使用的硬件,linux是读取dev/urandom硬件设备,但是windows居然还是调用的rand_s()函数!这个没什么太多说的,买点专业硬件即可。

posted @ 2015-06-25 17:54  u0mo5  阅读(354)  评论(0编辑  收藏  举报