随机种子 Random seed
来源:互联网 发布:java截取字符串前两位 编辑:程序博客网 时间:2024/04/29 01:42
http://blog.sina.com.cn/s/blog_4b3120470100k96z.html
Random类的基值seed是什么意思?
比如:
Random ran1=new Random();
Random ran2=new Random(12345);
这两个有什么区别啊?运行结果没区别啊!
生成随机数 Random random = new Random(); Random random = new Random(100);//指定种子数100 random调用不同的方法,获得随机数。 如果2个Random对象使用相同的种子(比如都是100),并且以相同的顺序调用相同的函数,那它们返回值完全相同。如下面代码中两个Random对象的输出完全相同 import java.util.*; class TestRandom { public static void main(String[] args) { Random random1 = new Random(100); System.out.println(random1.nextInt()); System.out.println(random1.nextFloat()); System.out.println(random1.nextBoolean()); Random random2 = new Random(100); System.out.println(random2.nextInt()); System.out.println(random2.nextFloat()); System.out.println(random2.nextBoolean()); } }
====================================================================
一般计算机的随机数都是伪随机数,以一个真随机数(种子)作为初始条件,然后用一定的算法不停迭代产生随机数,下面介绍两种方法:
一般种子可以以当前的系统时间,这是完全随机的
。
算法1:平方取中法。
1)将种子设为X0,并mod 10000得到4位数
2)将它平方得到一个8位数(不足8位时前面补0)
3)取中间的4位数可得到下一个4位随机数X1
4)重复1-3步,即可产生多个随机数
这个算法的一个主要缺点是最终它会退化成0,不能继续产生随机数。
算法2:线性同余法
1)将种子设为X0,
2)用一个算法X(n+1)=(a*X(n)+b) mod c产生X(n+1)
一般将c取得很大,可产生0到c-1之间的伪随机数
该算法的一个缺点是会出现循环。
=====================================================
Random类的基值seed是什么意思?
比如:
Random ran1=new Random();
Random ran2=new Random(12345);
这两个有什么区别啊?运行结果没区别啊!
生成随机数 Random random = new Random(); Random random = new Random(100);//指定种子数100 random调用不同的方法,获得随机数。 如果2个Random对象使用相同的种子(比如都是100),并且以相同的顺序调用相同的函数,那它们返回值完全相同。如下面代码中两个Random对象的输出完全相同 import java.util.*; class TestRandom { public static void main(String[] args) { Random random1 = new Random(100); System.out.println(random1.nextInt()); System.out.println(random1.nextFloat()); System.out.println(random1.nextBoolean()); Random random2 = new Random(100); System.out.println(random2.nextInt()); System.out.println(random2.nextFloat()); System.out.println(random2.nextBoolean()); } }
====================================================================
一般计算机的随机数都是伪随机数,以一个真随机数(种子)作为初始条件,然后用一定的算法不停迭代产生随机数,下面介绍两种方法:
一般种子可以以当前的系统时间,这是完全随机的
。
算法1:平方取中法。
1)将种子设为X0,并mod 10000得到4位数
2)将它平方得到一个8位数(不足8位时前面补0)
3)取中间的4位数可得到下一个4位随机数X1
4)重复1-3步,即可产生多个随机数
这个算法的一个主要缺点是最终它会退化成0,不能继续产生随机数。
算法2:线性同余法
1)将种子设为X0,
2)用一个算法X(n+1)=(a*X(n)+b) mod c产生X(n+1)
一般将c取得很大,可产生0到c-1之间的伪随机数
该算法的一个缺点是会出现循环。
=====================================================
0 0
- 随机种子 Random seed
- Random设置随机种子
- Random种子
- java Random seed
- np.random.seed()
- np.random.seed()
- numpy.random.seed()
- Python.random.seed()用法
- 随机种子
- 随机种子
- 随机种子
- 随机种子
- 随机种子
- np.random.seed(0)的作用:作用:使得随机数据可预测。
- np.random.seed(0)的作用:作用:使得随机数据可预测
- Random类以及Random种子
- numpy.random.seed()的使用
- python笔记---random.seed()应用
- 企业资信评级
- API测试利器——Postman(2. 理解和处理响应)
- 两个时间大小比较
- Linux NFS服务器的安装与配置
- Android之点滴常识
- 随机种子 Random seed
- phalcon-入门篇1(基本介绍与环境搭建)
- 求职,你需要一个漂亮的GitHub账号!
- Sql操作之一:备份和还原
- js中argument
- phalcon-入门篇2(HelloWord与PhalconTools)
- 如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion
- 工作中一定用的到的小知识点
- P,NP,NPC,NP-hard问题