| 既然兩位高手問到, 看來不修改是不行了, 這個秘密(?)也埋藏了數年(03年日本bbs看到的論文, 已失傳), 因為某人很懶+不太理會個體遺傳而不更新網站... 不過, 現在仍然很懶, 以下內容不會整理及更新到某網站的, 記得就記吧... 以下內容可能會令人感到噁心, 請將腦頻率調至接近電腦的思維模式, 敬請留意. 一. 個體是隨機抽 3 次, 得出 2~3(Emerald 1~3) 項會遺傳的個體, 再隨機選父或母的該項個體遺傳 ie: 即是可能 3項父, 3項母, 2項父1項母, 2項母1項父, 2項父, 2項母, 1項父1項母, (Emerald 另外有機會 1項父 或 1項母) 二. 抽個體的原理 先講Emerald以外的版本, 能力的排列序為最傳統的攻防速特, 即要留意速(SP)是03: HP AT DF SP SA SD 00 01 02 03 04 05 遺傳會抽3次, 第1次為隨機0~5, 第2次為隨機0~4, 第3次為隨機0~3, 每抽1次後, 會將排列中的該項抽走成為遺傳的項目, 並在最後補上FF(很不重要) 最初排序: 00 01 02 03 04 05 第1抽,假設(2): 00 01 03 04 05 FF ------ 由0開始數, 排第2的是02(DF), 抽走, 即會遺傳父或母的防 第2抽,假設(2): 00 01 04 05 FF FF ------ 又隨機到(2), 排第2的是03(SP), 抽走, 即會遺傳父或母的速 第3抽,假設(2): 00 01 05 FF FF FF ------ 又再隨機到(2), 排第2的是04(SA), 抽走, 即會遺傳父或母的特攻 就這樣, 理論上完美的不重複隨機, 將會遺傳了防, 速和特攻, 隨機由父或母中遺傳. 可是, 只是理論上, 不幸的是遊戲內的split函數是有病的...... 三. 重複bug的原因 承上, split(抽出)函數的bug是重複個體的元凶, 現在我們看看它的犯罪過程, 案件重演繼續由"Emerald以外的版本"為藍本. 為了方便觀眾了解行凶手法, 會在遇害人被抽出後打上虛擬格仔, 絕不是因為18禁. (虛擬格仔在記憶體上不存在, 是為了方便觀看split函數的出錯原理) (另外, 在排序最後補上FF實在不重要, 因為每下一次抽時, 隨機上限已減1, 不會遺傳到FF, 遺傳FF就真的hang機了; 所以, 以下不寫補上的FF) 最初排序: 00 01 02 03 04 05 第1抽,假設(2): 00 01 口 03 04 05 ------ 由0開始數, 排第2的是02(DF), 抽走, 即會遺傳父或母的防 (跟上次一樣) 第2抽,假設(2): 00 01 口 03 口 05 ------ 又隨機到(2), 排第2的是03(SP), 即會遺傳父或母的速; 直到這一刻仍然沒有問題, 會遺傳速, 因為遺傳數的數目是正常, 只是刪除的動作有問題. 因為split函數假設了"口", 認為不存在的"口"是危險的, 數到它時, 如果剛好停了, 便會進入虛無; 所以split函認為見到"口"時自己要停1次不計; 但是實際上"口"不存在, 只會停1次其後的數值, 於是它數出了 0, 1, (看到口), 1(停一次), 2, 所以刪除了04(SA) 第3抽,假設(2): 00 01 口 03 口 05 ------ 又再隨機到(2), 排第2的是03(SP), 即會重複遺傳父或母的速... 而split函數數出了 0, 1, (看到口), 1, (看到口), 1, 2, 刪除了一個FF(沒有影響, 因為最後又會加上一個FF) 結果上, 將會遺傳防和速, 隨機由父或母中遺傳. 四. 個體遺傳組合的機會率 首先, 要欣賞你捱到這裏仍然未放棄, 現在要說組合機會率了. 不過, 如果是想明白Emerald版本的組合機會率的話, 要在下一章才看到Emerald的病態變種. 聰明的看倌, 大概已想到, Emerald以外的版本: 1. 最少會遺傳2項, 因為第1抽是沒有"口", 即沒有bug, 不會重複地被抽出. 2. 要遺傳SD, 只有在第1抽中有機會抽出, 換句話說, 遺傳到SD的機會率較少, 但遺傳到SD時, 一定是3項遺傳 機會率嘛, 底數當然是 6 x 5 x 4 = 120 (3次抽的隨機上限, 不要說不明白, 請讀中四數學課程) 2項遺傳時, 有SD的是0/120(沒機會), 其他1/120 3項遺傳時, 因為bug的問題, 逐個案例計算, 會得出 5/120 或 6/120; 當然, 有人計了, 附列表: http://www.pokedex.jp/rs/breeding.html (一表列出版) http://www.geocities.jp/kairyus_ballpark/column/iden5.html (分開列出版, 最後一表是指不論遺傳了1項還是3項, 總之會遺傳某項例如HP時就可以的機會率) 五. Emerald的惡搞文化, 及其個體遺傳組合的機會率 大概已看了上面的表, 會看到Emerald完全是另一回事, 但看到這裏, 腦袋應該跟電腦同調了吧? 一看會遺傳1項, 但HP和防的1項遺傳機會率卻是0, 以及HP+DF的2項遺傳機會率都是0, 加上3項遺傳時, 有HP和防的遺傳機會率都比較低下, 便知Emerald是病變了: 1. 排列序改變成 SP SA SD AT DF HP 2. 放棄split函數, 盲目地隨機3次 0~5, 0~4, 0~3... 看到這裏, 便會明白, 第1抽以後, 最尾HP不會出現, 第2抽以後, 連尾二的DF也不會出現; 所以該兩項很自然地低下了, 而且因為是可重複隨機, 1項遺傳亦有可能. 至於機會率亦是中四的程度, 自行看表領悟吧... 六. 總結 只想遺傳HP或者DF的話, Emerald以外有較高機會率; 但是, 餘下4個(AT,SA,SD,SP)中想有1 ~ 3項遺傳, Emerald有較高機會率; 不過, 只是想一定有3項遺傳, 還是Emerald以外有較高機會率.
[ 本帖最後由 mentholatum 於 5/12/2007 09:59 AM 編輯 ] |
|