LabVIEW伪随机数生成器
这将生成一128位伪随机唯一标识符(PRNG)。
注意:这与全局唯一标识符(GUID)或通用唯一标识符(UUID)不同,因为它不会确保计算机的唯一性。
测量随机性
随机性的度量称为熵。熵衡量对值的不确定性。可以将熵视为可以使用理想的压缩算法时需要指定值的平均位数。对一个值了解得越多,它的熵就越小。
对于有n个可能结果的分布,概率为p1, p2,…, pn熵(H)为
对于上面的示例,首先考虑一个由128位组成的序列,每个序列以相等的概率从0,1开始随机选择。有n = 2128可能的结果,每个结果的概率都是p = 1/n。将这些值代入得到公式
我们开始的位数。现在考虑一个由16个字节组成的序列的情况,每个字节仅从0x00或0xFF中随机选择。我们有n = 216可能的结果,每个结果的概率=1/n。这给出了熵H=16。换句话说,128位的序列可以用只有16位的位串编码(即唯一表示)。
结论
虽然在机器之间不是绝对唯一的,但伪随机数生成器(PRNG)在同一台机器上提供了非常高的唯一性概率。使用“互联网工程任务组”URN规范,通过在随机生成的值中添加两个变体,即使随机数产生相同的16位值,也可以提高生成的熵。
需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。
LabVIEW程序,如下附件所示。