組合せについて

2009/02/13 
 2009年2月までの組合せは、幹事が、できるだけ公平な組合せとなるよう偏見と独断で決めていましたが、人によっては、随分偏った組合せだと感じた人もいると思います。
 2月初めからさくらインターネット株式会社のレンタルサーバを使い始めました。このサーバは、CGIが使えるので、ランダム組合せを実施してみることにしました。以下これについて説明します。
 ランダム組合せは、意外にむずかしいです。ランダム組合せ作成プログラムを作っても、一人では、何回でもトライできるので、他の人から公正と判断されません。そこで、誰かに依頼して作成してもらいそれを幹事へ連絡してもらうことになります。しかし、依頼された人も何回でもトライできれば、ダメです。また、作成した組合せを手書きでメールすれば、故意に変更することもできるので、公正とは判断されません。この辺を考慮して、以下のプログラムを作成しました。

1.ランダム組合せ作成プログラム
 ゴルフの参加者は、通常12名以下なので、1〜12の数字を perl のランダム関数を使ってダブらないようにランダムに並べ、これを表示するようにしました。
 一日に1回しか出せないフリーの「おみくじ」プログラムの吉凶文を上のランダム数字列に置き換えました。これにより、「おみくじ」プログラムを立ち上げると数字列がランダムに表示されます。この数字列をフォームメールで幹事へメールするようにしました。フォームメールでは、数字列は変更できないようにしました。

【 Up Grade 】
 上記の「おみくじ」プログラムは、一日に1回出すために、生成した数列をクッキーに保存しています。このため、パソコンをよく知っている人は、クッキーを削除して好みの数列を作ることができます。これはよくないので、Perlを再度勉強し、生成した数列をテキストファイルに保存するようにプログラムを変更しました。これによりパソコンに詳しい人でも、数列の変更は不可能になりました。以下にプログラムの動作を記しておきます。
  1. [組合せ作成]ボタンを押すと1〜12の数字をランダムに並べます。
  2. テキストファイルを開き、文字があるかどうかを調べ、空ならば、上記の数列を書き込みファイルを閉じ、このランダム数列を画面上に表示します。
  3. テキストファイルに文字が存在するときは、この文字を読み出し、この文字を画面上に表示します。
  4. 以上の動作により、1回数列を作成すると、後は何回操作しても同じ数列しか表示しません。
(2010/05/27) 

2.使い方
(1)幹事が、ある任意の申込者へ「ランダム組合せ」のURLをメールで連絡します。
(2)メールを受けた人は、URLをクリックすると、下の画面が表示されます。ただし、数字は、まだ表示されていません。次に「組合せ作成ボタン」をクリックすると、組合せ番号が生成されます。ブラウザの「更新」をクリックしてやり直しても番号は変わりません。
(3)名前を入力し、「送信」ボタンを押します。すると、この情報は、幹事へメールされます。「組合せ」の数値は、変更できないようセットされています。


(上は、説明用の画像です。)

3.留意事項
(1)組合せ作成依頼は、適当な時期に申込み者の中の任意の人にメールで依頼しますが、分散してお願いするようにします。
(2)組合せは、例えば、申込みが10人のときは、上の数値を使うと、第1組は、9,7,1番の人、第2組は、10,2,6番の人、第3組は、5,8,4,3番の人となります。
(3)従来、幹事は、原則として、最後の組に入っていましたが、今後は、ランダム組合せに従います。
(4)女性が、二人以上いる場合は、申込み順に組を分けます。2組で3人参加のときは、申込み順に2人、1人とします。
(5)夫婦が同じ組になるのは、原則として避けます。同じ組になるときは、夫婦の番号は、ランダム数列から外しますが、順序はそのままとして、1組と2組に分けます。ただし、3組の場合は、1組と3組とします。
(6)2人組のメンバーは、ランダム組合せに従います。従来は、5番目の申込者と幹事が組になっていました。
(7) 申込者が12名を超えたときは、ランダム数列の後に申込者の番号を付けます。例えば、14名の申込者があった場合は、上記の数列で説明すると、数列は、
 9、7、1、10、2、11、6、5、8、4、12、3、13、14
とします。
12名を超えるのが常態化したときは、数列を1〜16に変更します。