随机高斯函数的时间复杂度
Time complexity of Random Gaussian Function
我已经在C++中创建了一个交叉熵最小化方法的实现,它引用了给定的Ruby代码http://www.cleveralgorithms.com/nature-inspired/probabilistic/cross_entropy.html
我无法理解随机高斯函数是如何与正态分布相关的,以及它到底在做什么。此外,我无法找出这个函数的复杂性。请帮我做这两件事。
double random_gaussian(double mean , double stdev)
{
double u1,u2,w;
do {
u1 = 2*((double)rand()/RAND_MAX) - 1;
u2 = 2*((double)rand()/RAND_MAX) - 1;
w = u1*u1 + u2 * u2;
} while( w >= 1 );
w = sqrt(( -2.0 * log(w ))/w);
return mean + ( u2* w ) * stdev;
}
这是C++代码http://pastebin.com/Q4c73Kdi。该程序用于求解AX=B,并且运行良好。
do...while
块在带角的正方形中生成一个点(±1,±2),直到该点适合以原点为中心的半径为1的圆。期望的迭代次数是面积比;,或在big-O表示法中的O(1)。
至于过程如何与高斯分布相关,这是Box-Muller变换的一个应用。这是另一个页面,其中也包含您的代码。
相关文章:
- 函数的时间复杂度是多少?
- 如何计算此排序函数的时间复杂度?
- 如何计算函数的时间复杂度?
- 在确定函数的时间复杂度时需要帮助
- C++ 数学库 pow() 函数的时间复杂度
- 递归函数的时间复杂度计算
- 一个清晰的函数的时间复杂度是多少,根据大 O,是 std::map
- 加泰罗尼亚数字,递归函数时间复杂度
- 递归函数的渐近时间复杂度
- 这个函数的时间复杂度是多少
- C++中strstr()函数的时间复杂度、空间复杂度和算法是什么
- std::deque::erase函数的时间复杂度是多少
- 当一个std::vector对象在堆栈中而另一个在堆中时,vector的交换函数的时间复杂度为O(1)或O(n)
- 用大0符号表示函数的时间复杂度
- 下面这个函数的时间复杂度应该是多少?
- 这个递归函数的时间复杂度是多少?
- CUDA 的"推力::min_element"函数的时间复杂度是多少?
- 这个递归函数的时间复杂度是多少?
- c++中调用虚函数的时间复杂度
- 随机高斯函数的时间复杂度