線上抽籤 – 抽獎轉盤・隨機抽名字
免費的線上抽籤工具。逐行輸入名字,轉動轉盤就能隨機抽出得主。支援一次抽多人、把得主從候選中移除後繼續抽、保留抽籤紀錄,並使用瀏覽器的密碼學亂數,結果公平沒有偏差。
什麼是線上抽籤工具
線上抽籤工具只要逐行輸入名字、獎品等候選,轉動轉盤就能隨機抽出得主。聚餐和活動的抽獎、課堂上的隨機點名、交換禮物的順序、社群活動的得獎者等以往需要做紙籤的場合,現在當場就能完成。也可以一次抽出多人;勾選「把得主從候選中移除」後,依序抽頭獎、二獎、三獎時不會有人重複抽中。
得主並不是由轉盤的外觀決定,而是先用瀏覽器的密碼學亂數(crypto.getRandomValues)選定,再讓轉盤停在對應的格子上。把亂數換算成候選位置時,也用「拒絕取樣」去除取餘數造成的偏差,因此每個候選被抽中的機率完全相同。輸入的候選不會傳送到伺服器,全部在您的瀏覽器內處理。
線上抽籤的使用方式
- 每行輸入一個候選 以換行分隔輸入名字、獎品或號碼。空白行會自動略過,可以直接從名單貼上。支援 2~1000 個候選。
- 設定每次抽出人數 只抽一人時維持 1 即可。要抽 3 人時設為 3,一次就會不重複地抽出 3 人,並依抽中的順序標上 1、2、3。
- 需要時勾選「把得主從候選中移除」 從頭獎開始逐一抽出時,勾選後得主會自動從候選中消失,同一個人不會抽中兩次。
- 轉動轉盤並分享結果 按下「轉動轉盤」,轉盤會轉幾秒後停下並顯示得主。結果可以複製到群組聊天,也能分享到 X 或 LINE。
用好本工具的小技巧
線上抽籤的使用情境
聚餐與活動抽獎
不用賓果卡,輸入參加者的名字轉一轉就能決定誰拿獎品。分享畫面後大家可以一起看轉盤轉動,既熱鬧又能展現公平。
課堂與會議點名
需要隨機決定報告人、主持人或值日生時可以使用。勾選「把得主從候選中移除」,就能轉到每個人都輪到一次為止。
社群抽獎活動
貼上參加者的名字或帳號即可抽出得獎者。多人得獎也能一次決定,結果可以直接複製用於公布。
日常的選擇難題
午餐吃什麼、週末去哪裡玩、遊戲誰先開始等,難以決定的事情可以交給轉盤。把同一個選項多寫幾次,還能提高它被選中的機率。
線上抽籤相關用語
- 密碼學亂數
- 為了無法預測而設計的亂數,也用於產生密碼和加密金鑰。本工具以瀏覽器 crypto.getRandomValues 取得的值來決定得主。
- 取餘數偏差
- 直接用亂數除以候選數的餘數來選人時,部分候選會稍微比較容易被選中的現象。本工具以拒絕取樣消除了這種偏差。
- 拒絕取樣
- 當亂數落在會造成偏差的範圍時,丟棄它重新抽取的方法。幾乎不增加額外負擔,卻能保證每個候選的機率完全相同。
- 不放回抽籤
- 已經抽中的候選不會再被抽中的方式,就像從籤筒抽出的籤不再放回去。抽出多人或依序抽各獎項時使用。
線上抽籤常見問題
閒話 ― 用「餘數」來抽籤,籤就不公平了
讓電腦「從 6 個人中選 1 個」,最直接的方法是把亂數除以 6 取餘數。但這個方法藏著不容易察覺的偏差。例如把 0~255 的亂數除以 3 取餘數,因為 256 不能被 3 整除,餘數為 0 的數有 86 個,餘數為 1 和 2 的各有 85 個,第一個人就會稍微比較容易被抽中。這稱為「取餘數偏差」。
偏差的大小取決於亂數的範圍與候選的數量,使用 32 位元亂數時差異非常小。不過在抽籤這種「機率完全相同」本身就是價值的場合,仍然不能忽視。常用的解法是「拒絕取樣」:亂數落在會產生偏差的範圍時就丟棄重抽。需要丟棄的機率通常極小,幾乎不會連續重抽好幾次。
不重複地選出多個人,也有很長的歷史。統計學家費雪與葉茨在 1938 年發表了用亂數表把數列隨機重排的方法;1964 年,德斯滕費爾德發表了適合電腦的高效版本,如今以「費雪–葉茨洗牌」之名廣為使用。本工具的不放回抽籤也以同樣的想法為基礎,每選出一人就把他從候選中移除。