行シャッフルツール
暗号学的に安全な Fisher–Yates シャッフルで、リストの行をランダムな順序に並べ替えます。ワンクリックで再シャッフル。データは送信されません。
すべてブラウザ内で実行されます。データがアップロードされることはありません。
行のシャッフルとは?
リストの行をランダムな順序に並べ替えます。シャッフルのたびにブラウザの暗号学的に安全な乱数生成器を使うため、可能なすべての順序が等しい確率で現れ、何度でもシャッフルし直せます。
行のシャッフルの使い方
- リスト(1行に1項目)を入力欄に貼り付けます。
- シャッフルされたリストがすぐに出力に表示されます。
- もう一度シャッフルを押すと、新しいランダムな順序になります。
- 空行を無視するには、空行を削除をオンのままにします。
例
a b c
c a b
結果の一例です。実行のたびにランダムに変わります。
行のシャッフルを使うべき場面
名前、質問、プレイリストの項目、テストケースの順序をランダムにするのに使えます。公開の監査記録が必要な当選者の抽選には、乱数性を他の人が検証できる方法を選んでください。ブラウザ上のシャッフルは、あとから再確認できません。
行のシャッフルの仕組み
このツールは Fisher–Yates(Knuth)シャッフルを実行します。最後の行から最初の行へ進みながら、各行をそれ以前の位置からランダムに選んだ行と入れ替えます。乱数のインデックスは、棄却サンプリングを使った crypto.getRandomValues から得ます。これにより、単純な剰余を使うと生じるわずかな偏りが取り除かれ、n! 通りのどの順序も同じ確率になります。
一般的な使用例
- 発表者やチームの順序をランダムにする
- クイズの問題や単語カードをシャッフルする
- ランダムなプレイリストの順序を作る
- テストデータやアンケートの選択肢の順序をランダムにする
よくある質問
シャッフルは本当にランダムですか?
Web Crypto API を通じて、オペレーティングシステムの暗号学的に安全な乱数生成器と、偏りのない Fisher–Yates シャッフルを使います。
同じ順序が2回出ることはありますか?
はい。シャッフルは毎回独立しています。行数が少ないと繰り返しやすく、3行なら順序は6通りしかありません。
ランダムに1行だけ選べますか?
リストをシャッフルして先頭の行を取ってください。どの行も等しい確率で先頭に来ます。