分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
通过这篇短文想说明两个道理:
- 看似高大上、神秘兮兮的算法,都是paper tiger;
- 计算机的计算方式(动辄几Ghz的主频)简直就是为蒙特卡洛度身定做;
一、 准备
1.1 生成任意区间任意大小的伪随机数
C语言中的
rand()更深远的意义在于其对应于数学(概率论)中的均匀分布(uniformed distributed)。
C语言生成伪随机数的函数:
int rand(void);
- 1
该函数随机生成0~RAND_MAX之间内的整数:
#define RAND_MAX 0x7fff // 0x7fff == 32767
- 1
产生随机数需要设置种子:
void srand(unsigned int _Seed);
- 1
这两个函数所在的头文件是stdlib.h或者cstdlib,后者又被包含在iostream头文件中。
有了rand()这个可以生成0-RAND_MAX随机数(整数)的函数,经过一定的四则运算和取模运算,便可很容易地得到任意区间的随机数。
以生成(2, 5)之间的随机数(可整可小)为例:

本文介绍了如何在C语言中生成伪随机数,并探讨了蒙特卡洛算法的基本概念。通过示例展示了利用蒙特卡洛方法估算π的简单实现,强调了计算机高速计算对蒙特卡洛算法的重要性。
最低0.47元/天 解锁文章





