跑跑車首頁

當(dāng)前位置:首頁攻略秘籍單機(jī)攻略 → 我的世界命令方塊教程平方取中法產(chǎn)生四位偽隨機(jī)分?jǐn)?shù)

我的世界命令方塊教程平方取中法產(chǎn)生四位偽隨機(jī)分?jǐn)?shù)

作者:佚名來源:本站整理 發(fā)表時(shí)間:2016/2/29 9:32:16 評(píng)論(1)

小編為大家?guī)砹恕段业氖澜纭访罘綁K教程平方取中法產(chǎn)生四位偽隨機(jī)分?jǐn)?shù),自然界中的理想隨機(jī)便是:進(jìn)行無限次執(zhí)行后一種情況出現(xiàn)的頻率=這種情況的概率。

計(jì)算機(jī)中的隨機(jī)的原理都是算法,往往結(jié)果都有一種特定的趨勢(shì),因此都被歸類為偽隨機(jī)。

偽隨機(jī)算法有很多,計(jì)算機(jī)中常用的隨機(jī)函數(shù)往往都是取隨機(jī)效力較高(趨勢(shì)趨近真隨機(jī))并且資源消耗少的算法

而偽隨機(jī)算法中有幾個(gè)不變的模式:種子 公式 迭代

種子:一段變化量;

公式:使種子不按照特定規(guī)律得到另一個(gè)或一組值的公式;

迭代:重復(fù)執(zhí)行公式獲得最終不可預(yù)料的值。

馮·諾伊曼在1946年提出的平方取中法就是一種例子。在效率不高的當(dāng)年這種隨機(jī)公式效率高,但是隨機(jī)效力不怎么樣,適用于數(shù)值積分計(jì)算機(jī)

具體算法:

百度百科 - 平方取中法

展示


 

模塊全部

 

按下按鈕等待計(jì)算

 

得到最終隨機(jī)值

模塊


 

Main():調(diào)用產(chǎn)生模塊

Time():一個(gè)默認(rèn)周期7的時(shí)鐘,產(chǎn)生迭代次數(shù)并產(chǎn)生補(bǔ)數(shù)數(shù)值(就是補(bǔ)充后確保讓最終數(shù)值能夠順利繼續(xù)按照法則執(zhí)行)

Seed():一個(gè)默認(rèn)周期23的時(shí)鐘,產(chǎn)生基數(shù)種子(在現(xiàn)代計(jì)算機(jī)中往往運(yùn)用系統(tǒng)時(shí)間、文件路徑、計(jì)算機(jī)名等作為種子)

 

SubS():截取平方的后9位

SubT():截取平方的后8位

SubD():補(bǔ)數(shù)

SubF():最終值

特殊原理


1.算法

 

算法整體原理就是把n位種子平方后的值(必須為2n位)取中間n位(n為偶數(shù))

2.取中

為了避免20次枚舉,我使用了兩個(gè)模塊取中,具體原理就是:

-a . +a-b . -a+2b . +a-3b ……到小于指定位數(shù)為止

3.雙種子

構(gòu)建方法為兩個(gè)質(zhì)數(shù)周期時(shí)鐘。如果實(shí)在是嫌模塊效率將Time每次增量設(shè)為5或3,Seed每次增量設(shè)為31以上質(zhì)數(shù)。

具體方法詳見模塊

模塊因?yàn)榛ハ嚓P(guān)聯(lián),為了簡(jiǎn)化所以邏輯比較復(fù)雜,因此無法一條一條分析

但是提供存檔供研究:

http://pan.baidu.com/s/1pKrmFxh


玩家評(píng)論
我要點(diǎn)評(píng)

網(wǎng)名 注:您的評(píng)論需要經(jīng)過審核才會(huì)顯示出來。

已有 1 位玩家參與點(diǎn)評(píng)
下載排行