火山软件开发平台

标题: [开源]水淼随机数类,实现真随机效果 [打印本页]

作者: shuimiao    时间: 2022-5-9 21:58
标题: [开源]水淼随机数类,实现真随机效果
本帖最后由 shuimiao 于 2022-9-18 09:43 编辑

因为发现易语言和火山的取随机数()方法是伪随机,总是取最小值附近的值(低域值),而不是随机低或高。
如想取5万到900万的随机值,结果都是5到8万的随机值,完全不存在9万到900万之间的值。
为了解决这个问题,水淼经过研究后发现可以使用取随机数和取随机小数进行结合,实现接近真随机的效果。

经过测试,在调试版下,水淼真随机耗时是火山伪随机的6倍左右,为了真随机效果,这点性能牺牲是可以接受的,一般情况下根本看不出来,尤其是现在配置越来越好。



(, 下载次数: 25)

(, 下载次数: 34)

作者: shuimiao    时间: 2022-5-9 21:58
正在启动被调试程序
50268
70573
78477
60007
70810
78636
67749
72345
64467
59474
78338
75871
67630
75899
77590
77999
51160
55791
55968
80544
73628
73759
70874
67022
61365
81196
77556
71680
64224
76969
火山自带伪随机,三百万次耗时, 218
54803
767969
2779948
544350
2860272
252158
948078
6318851
816006
1408608
1366611
57398
53433
601255
54314
1171024
283396
50048
2542838
50277
65675
1249003
50355
51587
62541
74499
554614
5055576
2002821
51021
水淼真随机,三百万次耗时, 1547
50944.6707134799
176336.367218553
93479.3653984782
1192588.4421913
2736497.36727589
125093.078068755
4646869.4531262
162375.889579124
8130866.42048402
3963702.3501876
180557.130466203
3390757.09387301
93432.3031590019
316121.317383113
2042202.03842091
329315.732475671
65701.8345302108
2558889.84668637
77064.3257203909
5039460.43275246
68566.574063054
2089826.58445389
52559.7964710848
748150.494035917
4575966.29075787
201388.399598609
5418004.46667072
6787287.51487777
561043.00201504
493903.849308914
水淼真随机(取小数),三百万次耗时, 1672
5
22
21
7
24
20
29
3
17
30
14
9
25
27
2
23
8
15
4
10
11
6
13
18
12
1
16
26
28
19
上面是30次不重复效果
水淼不重复随机,三百万次耗时, 6313
以上测试为调试版,水淼真随机三百万次耗时是火山自带伪随机的6倍左右。

作者: hcwanz    时间: 2022-5-9 22:33
学习一下
作者: 伟业    时间: 2022-5-9 23:01
学习....
作者: 芒g一号    时间: 2022-5-10 00:16
感谢分享
作者: 苏紫龙    时间: 2022-5-10 00:20
这个很实用,随机数确实不够随机
作者: 网猫    时间: 2022-5-10 00:25

作者: 小蜗牛    时间: 2022-5-10 01:06
计算机里,没有真随机的概念..全部都是伪随机的...
作者: suyan    时间: 2022-5-10 08:12
把取随机数的范围缩小,再加个算法来放大就行了,

作者: shuimiao    时间: 2022-5-10 08:32
suyan 发表于 2022-5-10 08:12
把取随机数的范围缩小,再加个算法来放大就行了,

缩小范围有啥用,人家就是要这个范围啊。不能在最大值和最小值那里改变,而应该算法内部去改变
作者: shuimiao    时间: 2022-5-10 08:34
小蜗牛 发表于 2022-5-10 01:06
计算机里,没有真随机的概念..全部都是伪随机的...

所以我通过算法实现了真随机,至少也是接近真随机了。火山和易语言是伪随机,只能在很小范围浮动
作者: 米粒    时间: 2022-5-10 08:35
谢谢分享!
作者: 创世魂    时间: 2022-5-10 09:51
感谢大佬
作者: zqiz    时间: 2022-5-10 10:17
水淼随机数类,实现真随机效果
作者: htpmcj    时间: 2022-5-10 10:37
看看
作者: smk718    时间: 2022-5-10 10:39
谢谢大佬分享~~
作者: jiaozhu    时间: 2022-5-10 11:18
学习下了
作者: 伟业    时间: 2022-5-10 14:34
学习....
作者: Hui    时间: 2022-5-10 16:39
随机随机
作者: 朕的    时间: 2022-5-10 17:18
水淼 很厉害,每次开源都是干货满满
作者: aycap    时间: 2022-5-10 17:21
随机或接近真随机
作者: 网络注册会员    时间: 2022-5-10 21:10

感谢分享
作者: SilverS    时间: 2022-5-10 21:32
不重复就是“真随机”,嗯 这结论真不随机
作者: SilverS    时间: 2022-5-10 21:34
小蜗牛 发表于 2022-5-10 01:06
计算机里,没有真随机的概念..全部都是伪随机的...

就是,真不知道什么是 “真随机”,第一次听说 这词
作者: shuimiao    时间: 2022-5-10 22:09
SilverS 发表于 2022-5-10 21:32
不重复就是“真随机”,嗯 这结论真不随机

不重复类是另一回事,跟真随机无关。不重复类只是在随机数类上的一个应用类,随机数类才是真随机的核心
作者: shuimiao    时间: 2022-5-10 22:11
SilverS 发表于 2022-5-10 21:34
就是,真不知道什么是 “真随机”,第一次听说 这词

本身c库只有伪随机,我都测试了数据对比难道不看的吗。都没人研究真随机,我也就是假借一个概念用来区分原来的伪随机罢了,你当然第一次听说。
作者: SilverS    时间: 2022-5-10 23:17
本帖最后由 SilverS 于 2022-5-10 23:19 编辑
shuimiao 发表于 2022-5-10 22:11
本身c库只有伪随机,我都测试了数据对比难道不看的吗。都没人研究真随机,我也就是假借一个概念用来区分 ...

佛说:真 | 假 ,于你心

哈哈
作者: shuimiao    时间: 2022-5-11 08:13
SilverS 发表于 2022-5-10 23:17
佛说:真 | 假 ,于你心

哈哈

阴阳怪气
作者: xiaowin    时间: 2022-5-11 09:45

作者: 羡羡    时间: 2022-5-11 10:48

下载干货学习下,感觉大佬分享!
作者: zhaliumia    时间: 2022-5-13 09:45
谢谢谢谢谢谢谢谢谢谢谢谢
作者: windkey    时间: 2022-5-13 22:43
大佬弄个易语言版的~~~
作者: shuimiao    时间: 2022-5-13 23:44
windkey 发表于 2022-5-13 22:43
大佬弄个易语言版的~~~

易语言没有取随机小数()..
作者: langui8899    时间: 2022-5-14 22:06
感谢分享
作者: urenai    时间: 2022-5-14 23:18
必须支持。
作者: 68731812    时间: 2022-6-4 14:00
学习下看看
作者: 浮云    时间: 2022-6-29 20:11
支持,收藏了

作者: 李小龙2    时间: 2022-7-6 23:39
赞!!!!
作者: kyozy    时间: 2022-7-7 13:45
你这叫随机均匀分布
作者: shuimiao    时间: 2022-7-7 14:58
kyozy 发表于 2022-7-7 13:45
你这叫随机均匀分布

均匀分布的是那个不重复随机类。里面有2个类,一个真随机类,一个基于真随机类的应用类(不重复随机类)
作者: Creator    时间: 2022-7-18 15:25
好东西支持下
作者: 1600445187    时间: 2022-7-21 04:41
11111111111
作者: 韦贝贝    时间: 2022-8-20 14:38
学习一下     
作者: 水常流    时间: 2022-8-31 08:59
感谢分享
作者: 上等兵    时间: 2022-8-31 09:02
谢谢分享,下载收藏,说不定哪天就用到了
作者: lxasd    时间: 2022-9-3 10:05
学习学习
作者: Huoyan    时间: 2022-9-18 08:37
谢谢大佬!
作者: qaz2428119    时间: 2022-9-21 08:32
需要几万值的随机真不多见,大多数都是几百几千
作者: 糯米    时间: 2022-10-2 07:47
看看接近真随机
作者: bill815    时间: 2022-10-17 16:25
感谢楼主~
作者: 小弟弟    时间: 2022-10-25 22:25
看看怎么随机
作者: 奇亿Reno    时间: 2022-10-30 14:52

这个很实用,随机数确实不够随机
作者: hackerjpj    时间: 2022-11-9 15:14
很需要,因现在的随机 确实不算随机!随机性太低!
作者: 医手遮天    时间: 2022-11-10 13:42
感谢分享
作者: hardy    时间: 2022-12-14 01:22
真随机耗
作者: lu9944    时间: 2023-1-12 02:46
下载看看
作者: alanwoo    时间: 2023-1-15 13:41
好好学习
作者: cdmmye    时间: 2023-1-16 20:52
水淼随机数类,实现真随机效果
作者: ixiadao    时间: 2023-1-19 06:19
感谢开源

作者: ziv    时间: 2023-1-19 09:46
如果您要查看本帖隐藏内容请回复
作者: qcyxq1    时间: 2023-4-6 08:48
厉害 学习
作者: q472448760    时间: 2023-4-29 11:58
6666666666
作者: zlk    时间: 2023-5-1 19:11
源码回复可见啦
作者: huoshan333    时间: 2023-6-13 21:01
谢谢分享
作者: alexqj    时间: 2023-6-26 13:09
学习了
水淼大佬可以准备个水淼模块,走起来
作者: 008    时间: 2023-6-26 19:53
66666666666
作者: boom    时间: 2023-6-30 10:11
谢谢分享
作者: zengchuan    时间: 2023-7-1 17:27
下载学习学习
作者: yhcyhy2010    时间: 2023-10-2 12:24
看看怎么解决的
作者: xjihua    时间: 2023-10-2 14:03
如果您要查看本帖隐藏内容请回复
作者: oxvvox    时间: 2023-10-11 09:14
正好需要
拿走了
作者: 枫叶    时间: 2023-10-22 22:30
感谢分享
作者: veryhigh2014    时间: 2023-10-23 06:35
均匀分布的是那个不重复随机类。里面有2个类,一个真随机
作者: 梦雨    时间: 2023-11-7 23:12
卡卡卡卡卡卡卡卡




欢迎光临 火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4