标签:
随机(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()函数!这个没什么太多说的,买点专业硬件即可。
标签:
原文地址:http://www.cnblogs.com/u0mo5/p/4600541.html