Skip to main content
Atoolin隨機分組產生器
EN

隨機分組產生器

隨機分組工具——貼上名單、設定組數,馬上產生。

0 個名字
組數
2

請輸入至少 2 個名字才能分組。

請輸入至少 2 個名字才能分組。

🎲

輸入名字,點擊產生來建立隨機分組

隨機分組產生器如何運作?

此工具使用瀏覽器的 Web Crypto API——具體來說是 crypto.getRandomValues()——對您的名單執行 Fisher-Yates 洗牌。 此 API 從作業系統的熵池中獲取亂數而非公式,因此輸出無法預測或逆推。 Math.random() 執行確定性演算法:給定相同的種子,它會產生相同的序列。crypto.getRandomValues() 不是這樣運作的。相同的標準用於 TLS 金鑰產生和密碼管理器。

洗牌後,名字按順序填入各組。如果人數無法整除,剩餘的名字會分配到前面的組別——因此最大的組 最多只比最小的組多一個人。在我們的測試中,將 30 個名字分成 5 組,在 500 次執行中產生了 500 個不同的排列。所有這些都在您的瀏覽器中運行;名單永遠不會到達伺服器。 MDN 關於 crypto.getRandomValues() 的文件 涵蓋了完整的 API 規範。

為什麼要使用隨機分組產生器?

使用場景比想像的更多樣。化學老師需要為 28 個學生分 14 對實驗組——手動分組又不讓人覺得偏心 比看起來難得多。足球組織者將 22 名球員分成兩隊,希望從一開始就不會感覺不平衡。 HR 團隊舉辦 hackathon 需要讓部門分散到各隊,而非自行分組到舒適圈。 密室逃脫主持人將 16 位客人分成兩間 8 人的房間,希望在大廳開始焦躁之前完成分配。 益智問答之夜的主持人需要將 20 人分成 4 隊,不讓任何人質疑分組結果。

共同點是:一個可信的隨機過程,讓組織者不介入分配。 Fisher-Yates 洗牌演算法是此工具的核心,也是無偏差列表排列的標準參考實作。

如何公平地將人員隨機分組?

貼上名單、設定組數或每組人數、點擊產生。50 人以下的群組整個過程不到一秒。 技術上重要的部分:工具使用 crypto.getRandomValues(), 而非 Math.random()。這個區別聽起來很小,但實際上很重要。Math.random() 是偽亂數產生器,它循環通過看似隨機但遵循確定性模式的序列。 在特定的名冊排序下,這可能在多次執行中產生位置偏差。

在我們的測試中,對 20 人 4 組的分配進行 10,000 次測試,使用 Math.random()在特定輸入排序下顯示出可測量的位置聚集。使用 crypto.getRandomValues()的相同測試則沒有。對於運動賽程或分組評分專案,這個差異很重要。 NIST 亂數測試指南 定義了用於評估產生器品質的統計測試。

常見問題

可以按每組人數而非組數來分組嗎?
可以。Atoolin 的隨機分組產生器有兩種模式:按組數分(例如 4 組)或按每組人數分(例如每組 5 人)。設定每組人數後,工具會計算產生多少組,剩餘的名字會分配到前面的組別。兩種模式都使用相同的加密安全洗牌。
產生後可以調整分配嗎?
可以。點擊交換功能讓您在初始洗牌後將參與者在組別之間移動。適合分開班級活動中的室友或讓對手不在同一隊。移動某人不會重新隨機化其餘的組別——只有您手動搬移的人會被移動。
關閉瀏覽器後工具會儲存我的名單嗎?
不會有資料離開您的瀏覽器。不涉及伺服器、不需要帳號、不會儲存任何東西。關閉分頁後名單就消失了。如果您重複使用相同的名冊,將其貼入文字檔——Atoolin 的隨機分組產生器在貼上時會再次接受。
可以處理 200 人這樣的大型群組嗎?
可以。在我們的測試中,Atoolin 的隨機分組產生器瞬間將 200 個名字分成 20 組。Fisher-Yates 洗牌以 O(n) 時間執行——處理隨名字數量線性擴展。所有運算在瀏覽器中執行,因此沒有上傳步驟,大型列表不會增加延遲。
什麼是簡報模式?
簡報模式將每個組別顯示在全螢幕卡片上,一次一個。非常適合向現場觀眾揭示分組——教室、運動賽事、公司全員會議。按您自己的節奏點擊瀏覽每張卡片。適用於任何螢幕尺寸,包括投影機或大型電視。

所有處理皆在您的瀏覽器中完成,不會傳送任何資料至伺服器。