PENGUIN LAB ← 回到解謎基地
Field guide / 觀察紀錄 No. 04

把原理,
放進手裡試試。

數字可以點亮,字母可以移動,路線可以比較。跟著四份野外筆記,親手觀察資訊如何改變。

每次只改一個條件,看看結果發生了什麼。

八盞燈,一個數字

OBSERVE THE BITS

每盞燈有自己的「重量」。把亮著的重量加起來,就是這組二進位的數值。

點一下 0/1 切換;鍵盤可用 Tab 選取、空白鍵切換。

0
0x00

0 = 0

位元(bit)只有 0、1 兩種狀態。8 位元能表示 0~255。十六進位用 0~9、A~F 表示一位;A 代表 10、F 代表 15。

字母的環島旅行

TURN THE ALPHABET

把英文字母往後推幾格,Z 之後繞回 A。反方向推同樣的格數,就能回到原文。

Hasoruh wkh vkruh!
A → D · Z → C保留大小寫、中文、空格與標點

凱撒位移(Caesar shift)是固定偏移字母表的替換方式。這裡只移動 A~Z、a~z;它適合觀察編碼,不能用來保護真實秘密。

一樣是 0,不同是 1

SPOT THE DIFFERENCE

讓兩列位元一對一比對。XOR 不做進位,只在每一格回答:「你們不一樣嗎?」

每列輸入 4 個 0 或 1。縮短時保留右側位元,加長時在左側補 0。

0 ⊕ 0 = 01 ⊕ 1 = 00 ⊕ 1 = 11 ⊕ 0 = 1
1100 · 十進位 12

互斥或(XOR,符號 ⊕)在輸入不同時輸出 1。試著把 B 改成全 0:A 會保留下來。若兩列相同,結果就是全 0。

從 A 出發,找到 F

FOLLOW THE SHORTEST PATH

路上的數字代表距離,所有路段都能雙向通行。每次選出目前距離最小、尚未確定的地點,再看看能不能替鄰居找到更近的路。

六個地點的路線圖A 是起點,F 是終點。各條路的距離寫在路線中央。詳細距離及狀態也會出現在表格。
本步選取已確定待比較

操作:按「下一步」逐步觀察;「上一步」可以重看。所有按鈕可用 Tab 與 Enter 操作。

DIJKSTRA / 觀察步驟0 / 6

從起點 A 到各地的目前最佳距離
地點距離經由狀態

節點是地點,邊是連接地點的路段,權重是路段距離。Dijkstra 演算法適用於沒有負權重的圖;當一個節點被確定,就找到了到它的最短距離。∞ 表示目前還沒有找到路線。