基本 Algorithm R:串流前 k 項直接放入蓄水池;第 i 項(i>=k)擲 j = randInt(0..i)(含 i),
j < k 則以本項取代第 j 槽,否則捨棄——每項終態入選機率皆為 k/n。加權版 A-Res:每項取
u∈[0,1),算 key = u^(1/w),依 key 降冪取前 k 大者入選,權重愈大 1/w 愈小、key 傾向愈接近 1,
入選機率隨權重上升,但屬「方向性」關係而非精確線性比例。兩者皆用 LCG next(x) =
(1664525·x + 1013904223) mod 2^32、取值一律用高 16 位,並先 burn-in 3 步消除小種子單步高位窄帶偽影。
已決策數(decisions):
階段:reservoir
基本 R 段:列 0 = 串流值(固定不變)、列 1 = 蓄水池槽位(k=3,非槽位或尚未填入的欄位皆為空)。
A-Res 段:列 0 = label(w=權重)、列 1 = 目前 key 值。藍色外框(active)= 當前處理項;
粉紅(pivot)= 被填入/替換的槽位,或本次計算 key 的項。
誠實揭露:seed=42 單一種子決策軌跡的終選結果只反映該次 u 的運氣,並非「權重排序保證」;
多種子頻率是有限次數(200 / 2000)重跑的統計量,存在抽樣波動,不會與理論值精確相等;
A-Res 只驗證「權重大 → 入選頻率高」的方向性,不宣稱頻率與權重成線性比例(精確機率涉及聯合分佈);
A-Res 原規劃與基本 R 一樣重跑 200 種子,但實測發現 A(w=1)/B(w=2) 兩項頻率因二項噪音而反轉
(A=0.225 > B=0.21),故改用 2000 種子重跑消除此雜訊——是誠實調整,不是湊數。
單種子決策軌跡(seed=42,opLog)
(空)