[#44066] Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Urabe Shyouhei <shyouhei@...>

Hi all.

18 messages 2007/10/04
[#44067] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Takahiro Kambe <taca@...> 2007/10/04

こんにちは。

[#44068] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Shugo Maeda <shugo@...> 2007/10/04

前田です。

[#44090] Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...>

こんにちは。

19 messages 2007/10/07
[#44091] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — Nobuyoshi Nakada <nobu@...> 2007/10/09

なかだです。

[#44097] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/10

こんばんは、中田さん。

[#44098] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "U.Nakamura" <usa@...> 2007/10/10

こんにちは、なかむら(う)です。

[#44103] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/11

こんにちは、中村さん。

[#44104] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — Nobuyoshi Nakada <nobu@...> 2007/10/11

なかだです。

[#44105] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/12

そうなんですか。

[#44106] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "きむらこういち" <hogemuta@...> 2007/10/12

木村です。

[#44108] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — pegacorn <subscriber.jp@...> 2007/10/12

From: "きむらこういち" <hogemuta@gmail.com>

[#44109] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "Nobuyoshi Nakada" <nobu@...> 2007/10/13

なかだです。

[#44125] ruby-tk with tcltk8.5b1 — Ryutaro Amano <wn9r-amn@...>

天野竜太郎と申します。

14 messages 2007/10/19

[#44147] 2個づつの組を作る方法のすべて — "142QN4969@..." <ohrs@...>

小原と申します。御世話になっています。

15 messages 2007/10/27

[ruby-list:44159] Re: 2個づつの組を作る方法のすべて

From: "142QN4969@..." <ohrs@...>
Date: 2007-10-30 03:48:02 UTC
List: ruby-list #44159
小原です。返信ありがとうございます。

申し訳ありません。具体的なイメージが浮かびません。

> ・この二つの要件を評価関数にする。
>     ・この関数は会員同士の対戦履歴を持っていて
>      「日にちが開いている」ことを評価できる。
>      開いているほうがよい評価値を出す。
>     ・この関数は会員の強さを持っていて、
>      「差がない」ほうがよい評価値を出す。

どんな関数になるのでしょうか?

> ・会員をランダムにカップリングして、対戦表を作る。
> ・好きな個数だけ対戦表を作り、評価関数がもっともよいものを選ぶ。

「会員をランダムにカップリングする」とは、どういうことなのでしょうか?
定例会に出席している会員同志の、対戦表が欲しいのですが、、、。
対戦相手が決まれば、早速囲碁を打って楽しみます。
私は、なにかとんでもない勘違いしているのでしょうか?


[44157]の私の説明も具体的ではないので、もう一度トライします。

システムでは、以下の情報をfileに保存しています。

 *members :会員情報file  
   レコード形式 →  会員コード:氏名:段級位:rank-seq(+改行コード)
           例         102:山川 草木          :1段:51
 *taisen  :対戦履歴file  
   レコード形式 →  日付+ラウンド:会員コード+会員コード:0(+改行コード)
           例       0708041:102123:0
 *presents:出席者file (これは定例会当日に作る。= 出席をとる)
   レコード形式 →  日付:会員コード:会員コード:.....:会員コード(+改行コード)
           例       070915:102:103:105:107.....:123

  (members、taisen のレコードは固定長です。)

上記の file の 例を使って作業を進めます。

作業の目的は、対戦配列 match=[] を完成することです。

 1。presents を読み 070915 の出席者の配列を作る。
    mem0=["012","103",105",....,"123"]
 2。members の情報と会わせて、各要素の頭にrank-seqを付けた配列を作る。
    更に、(降順に)ソートする
    mem1=["54112","54115","52108".....,"47121"]
 3。mem1 の各要素の頭2文字を取ったものを要素とする配列を作る
    mem2=["112","115","108",....,"121"]
 4。x=mem2[0];a=mem2[1,10] とし、対戦履歴ファイルを参照して
    x+a[0] 、x+a[1]、、、、x+a[9]の対戦日を調べ(注)、最も対戦日の古い者 y 
   を x の 対戦相手とする。該当者が複数人いたときは、最初の者を y とする。
   つまり   macth.push(x+y)
      (注)x+a[0]の対戦日は、a[0]+xとして記録されているかもしれない。
      #一日一回の対戦をする場合は、配列 a のなかには少なくとも一人、
      #九日以上前に対戦した人がいるはずです。
      #一日二回の対戦をする場合は四日以上、、、、。
      #ただし、棋力の差は、最大で 10 になりますが、仕方ないと思います。
      #会員構成、出席者により、色々な結果になると思われますが、
      #私達の場合、約1月の試行では、納得してもらえる範囲と考えています。
      #棋力差を小さくするには、配列 a の size を小さくする。
 5。men2 より x,y を削除して 4。の操作を mem2.size=10 
    となるまで繰り返す。
 6。10人をカップリングする方法全てにわたり、最新の対戦日を調べ、
    これが最も古いものを、best のカップリングとし、macth[]に加える。

10人ではたいへんなので、4人でやります。

 6ー1。mem2=["116","117","118","119"] から
       対戦の組を要素とする配列 mmmを作る。
 6ー2。mmm=[["116117","118119"],
            ["116118","117119"],
            ["116119","117118"]]
          =[ mm1,mm2,mm3] と略記します

 6ー3。mmm の各要素のペアの対戦日を対戦履歴fileで調べその
       最新のものを、各要素の対戦日とし、それを各要素に push する

       117、116 の対戦日= 0705051、118、119 の対戦日= 0706051、なら
       mm1.push(0706051) => mm1=["116117","118119","0706051"]    です。

       同様に mm2,mm3 に付いても調べて

      mmm=[["116117","118119","070651"],
           ["116118","117119","0801232],
           ["116119","117118","0707071]]
 6ー4。mmm のうち、最も古い対戦日のくみを best として選ぶ。
       best=["116117","118119","070651"]
 6ー5。best の対戦日を削除したものを、match に加える。
       macth=match+best



 以上 よろしく




In This Thread