ドメイン名の抽選

株式会社日本レジストリサービス(JPRS)の2001年の汎用JPドメイン名の導入経緯とその評価(PDF)という歴史的な文書のp.22には、1つのドメイン名に複数の申請があった場合の抽選方法として、日経平均株価を用いたと記されている。また、これとは若干違うようであるが、初等中等教育機関などの名称の登録について都道府県型JPドメイン名についてに、やはり日経平均株価を用いる方法が書かれている。

後者2つの方法は、まず、「事前に予測できない数字」と、当該ドメイン名に割り振られた「ドメイン名番号」の和を「鍵番号」とする。「事前に予測できない数字」は「基準日の翌日に東京都千代田区内に配達される、日本経済新聞朝刊に記載された日経平均株価の終値を100倍した数字」である。申請者には1から始まる抽選番号が割り振られる。「鍵番号」を競合数(最大の抽選番号)で割った余りに1を加えた抽選番号が当選する。

例えばドメイン名番号が1、日経平均株価の終値が27824.29円だとすると、鍵番号は 1 + 2782429 = 2782430 である。申請者が3人(抽選番号が1〜3)ならば、2782430 を 3 で割った余り 2 に 1 を加えた 3 の抽選番号が当選する。

日経平均株価終値の末尾は十分ランダムか、調べてみよう。

日経平均プロファイルの指数一覧のダウンロードセンターから、日経平均株価の日時データ(CSV)が得られる。

df = read.csv("https://indexes.nikkei.co.jp/nkave/historical/nikkei_stock_average_daily_jp.csv",
              fileEncoding="CP932")
x = round(na.exclude(df[["終値"]]) * 100)

まず偶数と奇数を比べるテスト:

binom.test(sum(x %% 2), length(x))

あるいはカイ2乗検定:

chisq.test(table(x %% 2))
chisq.test(table(x %% 3))
chisq.test(table(x %% 5))
chisq.test(table(x %% 7))

[2022-07-19 追記] 1回で決着がつくジャンケンを考えて下さい! というツイートに対して 参加者数をnとする。参加者が0~n-1本のうち好きな本数だけ指を出す。指の合計をnで割ったときの余りで勝者を決める。 という解答があった。これは賢い。ドメイン名の抽選も、これでいいのではないか:

参加者数を n とする。参加者に 0 以上 n 未満の整数の番号を振っておく。各参加者は 0 以上 n 未満の整数を紙に書いて提出する。その合計を n で割った番号の参加者が当選する。

ただし、じゃんけんと同様、参加者が結託すれば、特定の参加者を当選させることができる。それが問題であれば、日経平均株価のようなものを使うほうがよい。


Last modified: