返回
美食餐饮
计算机随机发,计算机随机的原理
更新时间:    发布时间:3小时前0
信息概况
星级品牌介绍

1 计算机其实不会真随机,它是靠一套公式算出来的,每次算之前拿个种子数,比如当前时间,然后套公式跑出结果。

2 你在游戏里抽卡,看到的那个转圈圈,背后就是程序在跑伪随机算法,你看它跳来跳去,其实每一步都有规律。

3 大厂用的随机数,一般是拿硬件噪声或者鼠标移动轨迹这些真随机源当种子,然后混合算法,这样猜不中。

4 你写代码直接调random函数,默认种子是当前时间,如果同一毫秒调两次,结果一模一样,别问我怎么知道的。

5 现实里最接近真随机的是物理过程,比如大气噪声、放射性衰变,但计算机太干净了,自然界那点乱它学不来。

6 随机数算法大部分是线性同余法,就是套个公式一轮一轮算,看起来没规律,但周期到了就循环,所以也叫伪随机。

7 有人觉得随机就是无规律,其实不是,计算机随机是“短时间看不出规律”,不是你脑子里那种乱扔骰子。

8 加密系统用的随机数必须够硬,得用真正的熵源,不然你猜出种子,就把整个系统的密钥都推出来了。

9 你手机里的随机数生成器,其实一直在收集你触摸屏幕的间隔、陀螺仪抖动之类的,攒够熵值才吐一个真随机数。

10 别信什么“随机抽取”,只要是程序写的,就一定有规律,只是人眼看不出来,算力够的人能逆向推出来。

计算机随机数生成器有好几种,怎么选更靠谱啊?

数学上有一个叫“梅森旋转算法”的,周期特别长,适合一般场景,但你要是做加密,还是得用操作系统自带的加密级随机数。

为什么游戏抽卡有时候连抽几个一样的?

因为伪随机算法有“聚集性”,你连续抽的时间段刚好落在它的某个小周期里,看起来就像在重复,其实不是真随机。

用时间做种子容易出问题,那怎么改进?

可以加多点熵源,比如混合鼠标位置、键盘输入间隔、网络延迟,种子复杂了,结果就难猜了。

为什么说芯片里的随机数是真随机?

因为利用的是量子隧穿效应或者热噪声,这些物理过程本质就是随机的,和软件算出来的不同。

0点赞
0反对
0举报
0收藏
0评论
0分享
海报
分享到:
联系方式
扫一扫访问当前网页
关闭
/ 5