評價資源
我們能夠直觀的以資源的稀有程度去抽象的衡量資源的價值;越稀有的資源越有價值,反之亦然。但是經濟學上的價值是透過供需市場產生的,並不能作為有明確定義的綱量。我們能獲得的是資源生成在地圖上的機率,但是僅有資源機率並不能夠適當直接作為 agent 的評價手段,需要一些額外的處理。
夏農熵與夏農資訊 (Shannon Entropy and Information)
夏農熵本質上是對我們司空見慣的「不確定現象」的數學化度量。1
其中 為夏農資訊,被定義為:
我們可以注意到當中的 所描述的意義為:「事件發生的機率越低,則當該事件發生時所夾帶的資訊越大」,因此夏農熵也是對不確定的夏農資訊的期望值,亦可寫作:
合成式 (Formular of Crafting)
為了方便描述合成或其他遊戲機制使資源 (items) 發生變化的過程,我借用了化學反應式的形式來表達:
:原料或產物的數量 :原料,合成過程會被消耗的物品 :產物 :合成途徑,參與合成但是不會被消耗的物品。
資源的資訊量 (Information of Items)
Minecraft 世界在本質上就是一團數位資料,因此將其視作一串由方塊構成的資訊,並用夏農熵或夏農資訊去衡量其資訊量是十分合理的作法。對於一個不確定狀態的方塊來說,其值為:
其 中 為某種類型的方塊出現在地圖中的機率,換句話說我們可以得知特定種類方塊其資訊量為:
合成的資訊量 (Information of Crafting)
天然資源能夠以其在地圖生成的機率來計算熵,但是 Minecraft 中的大部分物品需透過合成途徑獲得,當我提到合成是指:「能夠被合成式所表示的所有遊戲機制」,這些非天然物品的熵需透過計算取得。
以一個合成為例:
分別代表三種不同類型的方塊,我們可以視作三個隨機事件,而這三者出現在地圖的機率分別為 並且互為獨立事件,因此我們可以得知事件 發生的機率為三者的機率相乘,也就是三者資訊量的加總:
數量的變化 (The ratio between resource and product)
當原料與產物的比值不為 1 時,物品的總數量發生了變化。
則:
合成途徑 (Crafting Path)
作為合成途徑的物品不會被消耗,因此:
多重途徑 (Multiple Crafting Path)
當一個物品有多種取得途徑時可以視作一個並聯 系統 (parallel systems),因此該物品的資訊量可以寫作:
零資訊的資源 (The Items with Zero Entropy)
怪物掉落物仰賴怪物的生成,但是怪物生成的機率並不是與空間關聯,而是與時間關聯的,以空間機率考慮:
若或是考慮其在無窮的時間中能夠被無限生成,事件發生的機率為 1,因此:
環境的資訊量 (Information of Environment)
當我 們要量化系統的資訊量時,必須先界定所謂的「系統」。要定義一個系統,我們要給定一個範圍(空間大小)以及具體包含了多少方塊或物品。以下有三種定義應該是我們比較常用的系統類型:
- 完整系統
- 在一劃定的範圍內,所包含的方塊、收納方塊內容物、掉落物與玩家物品欄(裝備欄)內容物。
- 方塊系統
- 在一劃定的範圍內,所包含的方塊與收納方塊內容物。
- 玩家系統
- 玩家物品欄(裝備欄)內容物。
透過到目前為止建立的規則,我們可以量化一個系統的熵,而該值能透過統計地圖中的方塊與實體取得。隨著 agent 在環境中活動,我們可以預期環境的熵會因此發生改變,這個變化量便可做為評量 agent 的指標之一。
資訊量表 (Table of Items Information)
以下的資訊量評估值僅供參考,過程並不嚴謹並且沒有對所有的物品進行計算。目的只是透過實做示範如何實踐本文建構的理論,有興趣的人可以自行用更嚴謹的方式建構完整的遊戲物件資訊量表。
天然資源 (Natual Resource)
使用 Cuberite 1.7.X-linux642 生成地圖並搭配插件3統計方塊數量。總共抽樣 10 次,每次都會將地圖檔案刪除以生成新的種子。為了簡化數據,將紅花與黃花視為同樣的東西,並將流動水、流動岩漿、鵝卵石、火把、火焰、生怪磚、箱子與枯萎灌木移除並用空氣取代。統計資料如下表:
方塊 | 數量 | 生成機率 | 資訊量 | 熵 |
---|---|---|---|---|
Air | 151464079 | 0.7506049 | 0.4138744 | 0.3106562 |
Bedrock | 788224 | 0.0039062 | 8.0000287 | 0.0312495 |
Brown Mushroom | 648 | 0.0000032 | 18.2484248 | 0.0000586 |
Cactus | 11 | 0.0000001 | 24.1288432 | 0.0000013 |
Clay | 8790 | 0.0000436 | 14.4866274 | 0.0006310 |
Coal Ore | 345962 | 0.0017145 | 9.1880208 | 0.0157526 |
Cobweb | 1998 | 0.0000099 | 16.6239340 | 0.0001646 |
Diamond Ore | 19629 | 0.0000973 | 13.3275758 | 0.0012964 |
Dirt | 2347857 | 0.0116352 | 6.4253617 | 0.0747603 |
Double Plant | 14242 | 0.0000706 | 13.7904107 | 0.0009733 |
Fence | 8543 | 0.0000423 | 14.5277478 | 0.0006151 |
Flower | 4014 | 0.0000199 | 15.6174499 | 0.0003107 |
Gold Ore | 43697 | 0.0002165 | 12.1730282 | 0.0026360 |
Grass | 471646 | 0.0023373 | 8.7409299 | 0.0204303 |
Gravel | 534501 | 0.0026488 | 8.5604417 | 0.0226750 |
Iron Ore | 395336 | 0.0019592 | 8.9955550 | 0.0176237 |
Lapis Lazuli Ore | 17690 | 0.0000877 | 13.4776284 | 0.0011815 |
Leaves | 382779 | 0.0018969 | 9.0421227 | 0.0171522 |
Lily Pad | 122 | 0.0000006 | 20.6575375 | 0.0000125 |
Obsidian | 2390 | 0.0000118 | 16.3654799 | 0.0001938 |
Rail | 2528 | 0.0000125 | 16.2844941 | 0.0002040 |
Red Mushroom | 974 | 0.0000048 | 17.6604969 | 0.0000852 |
Redstone Ore | 160117 | 0.0007935 | 10.2995079 | 0.0081725 |
Sand | 272220 | 0.0013490 | 9.5338613 | 0.0128615 |
Sandstone | 109888 | 0.0005446 | 10.8426005 | 0.0059045 |
Snow | 3033 | 0.0000150 | 16.0217451 | 0.0002408 |
Still Lava | 158088 | 0.0007834 | 10.3179065 | 0.0080834 |
Still Water | 3281908 | 0.0162640 | 5.9421715 | 0.0966437 |
Stone | 40812030 | 0.2022507 | 2.3057837 | 0.4663463 |
Sugar Canes | 41 | 0.0000002 | 22.2307228 | 0.0000045 |
Tallgrass | 66818 | 0.0003311 | 11.5603257 | 0.0038279 |
Vines | 1179 | 0.0000058 | 17.3849268 | 0.0001016 |
Wood Plank | 12762 | 0.0000632 | 13.9487080 | 0.0008822 |
Wood | 55614 | 0.0002756 | 11.8251144 | 0.0032591 |
加工品 (Products)
木板
工作台
木棒
木鎬
鵝卵石
為了簡化計算,下列過程不考慮其他材質的鎬挖掘的情況。
熔爐
石鎬
鐵礦
為了簡化計算,下列過程不考慮其他材質的鎬挖掘的情況。
煤
為了示範並聯系統的計算,以下僅考慮木鎬與石鎬的挖掘途徑。
鐵錠
資訊量總表 (The Table)
正如我提過得,本文並沒有計算所有物品的資訊量,僅是將先前統計或計算得到的數值做個整理,因此這個表並不完整。
方塊/物品 | 資訊量 | 方塊/物品 | 資訊量 |
---|---|---|---|
Iron Ingot | 324.66 | Lapis Lazuli Ore | 13.48 |
Furnace | 219.08 | Diamond Ore | 13.33 |
Iron Ore Item | 101.48 | Gold Ore | 12.17 |
Stone Pickaxe | 92.48 | Wood | 11.83 |
Coal | 32.78 | Crafting Table | 11.80 |
Cobblestone | 25.91 | Tallgrass | 11.56 |
Cactus | 24.13 | Sandstone | 10.84 |
Wooden Pickaxe | 23.60 | Still Lava | 10.32 |
Sugar Canes | 22.23 | Redstone Ore | 10.30 |
Lily Pad | 20.66 | Sand | 9.53 |
Brown Mushroom | 18.25 | Coal Ore | 9.19 |
Red Mushroom | 17.66 | Leaves | 9.04 |
Vines | 17.38 | Iron Ore | 9.00 |
Cobweb | 16.62 | Grass | 8.74 |
Obsidian | 16.37 | Gravel | 8.56 |
Rail | 16.28 | Bedrock | 8.00 |
Snow | 16.02 | Dirt | 6.43 |
Flower | 15.62 | Still Water | 5.94 |
Fence | 14.53 | Wood Plank | 2.95 |
Clay | 14.49 | Stone | 2.31 |
Wood Plank | 13.95 | Stick | 1.48 |
Double Plant | 13.79 | Air | 0.41 |
結語
就如像詹姆斯·拉夫洛克(James Lovelock)所說的4:
I’d look for an entropy reduction, since this must be a general characteristic of life.
我們可以透過 agent 對環境進行改造從而造成的熵減量,作為衡量策略的方法:
Footnotes
-
信息熵是什么? - 知乎. (返朴). Retrieved 2020-05-31, from https://www.zhihu.com/question/22178202/answer/667876061 ↩
-
Releases · cuberite/cuberite. (cuberite). Retrieved 2020-05-31, from https://github.com/cuberite/cuberite/releases/download/1.7EOL/Cuberite-linux64.tar.gz ↩
-
FlySkyPie/cuberite-block-counter: To make statistics of blocks. Retrieved 2020-05-31, from https://github.com/FlySkyPie/cuberite-block-counter ↩
-
Lovelock, James (1979). GAIA – A New Look at Life on Earth. Oxford University Press. ISBN 978-0-19-286218-1. ↩