ハード講義

テーマ:

先月頃からハードの教養・入門レベルの巧い解説書が何処かにないかと時々internet検索を掛けて調べていたのだが、心の底からお奨め出来る講義ノートを見つけたので以下に紹介する。


講義のページ 琉球大学 情報工学科 和田 知久


この講義を行っている人物は琉球大学の教授である。が、全くそんなふうに見えないところが最先端計数将棋学的に気に入ってしまった。東大や京大の教授なら「切れる先生」だろうが、彼の場合は「完全にキレてる先生」である。自らを「ファイヤー和田 」と名乗り、「ファイヤ和田先生! と呼んでください」と、学生にやや強要しているところが微笑ましく感じる。付加えて、彼は元M[*1]の人のようで、Pen2や初期Athlonの外付けL2キャッシュ(PBSRAM)の設計をやっていたようだ。つまりは実務経験の豊富な技術屋が書いたドキュメントであるからこそ、お奨めできるというわけである。一通り読んでみて「彼の授業を受けた生徒達は、必ずや明日の日本を支える技術屋になってくれるだろう[*2]」と、何やら目頭が熱くなるものを謎電の作者は感じたのだった。


[*1] Mitsubishiの略号(場合によってはDiamondのD)。Hなら日立、Fなら富士通、Nは日電、Tは東芝、Pは松下、SあるいはSOでソニー、SHでシャープ、以下省略。

[*2] 確信は、全くない。

AD

Hydraプロジェクト

テーマ:

以前、Xcell journal online/Generalの中に、"The Hydra Project " というタイトルの記事があることを紹介したが、いつの間にか日本語に訳されていた。しかし、探索を専門とする人が訳してないような文章になっているのが残念で、リライトしたくなる。


Hydraプロジェクト


和文:-) 要AdobeReader。

AD

勝率・レイティング換算表

テーマ:

レイティングの話のオマケ。勝率・レイティング(相対差)換算表。勝率0.50以上、0.01単位で表にしてみた。

なお、計算式は次の通りで、Wr(win rate)が勝率を意味する。

Wr ΔRating   Wr ΔRating   Wr ΔRating   Wr ΔRating   Wr ΔRating
0.50 0.00   0.60 70.44   0.70 147.19   0.80 240.82   0.90 381.70
0.51 6.95   0.61 77.71   0.71 155.54   0.81 251.89   0.91 401.92
0.52 13.90   0.62 85.04   0.72 164.07   0.82 263.42   0.92 424.28
0.53 20.87   0.63 92.46   0.73 172.78   0.83 275.45   0.93 449.35
0.54 27.85   0.64 99.95   0.74 181.70   0.84 288.06   0.94 477.99
0.55 34.86   0.65 107.54   0.75 190.85   0.85 301.33   0.95 511.50
0.56 41.89   0.66 115.23   0.76 200.24   0.86 315.35   0.96 552.08
0.57 48.96   0.67 123.02   0.77 209.91   0.87 330.23   0.97 603.86
0.58 56.07   0.68 130.94   0.78 219.87   0.88 346.12   0.98 676.08
0.59 63.23   0.69 138.99   0.79 230.16   0.89 363.20   0.99 798.25

更にレイティングに関する参考資料:

レーティングと段級位について

縁石のデータ保管庫

AD

参考資料

テーマ:

思うところあってちょっと調べてみた。瀬川晶司アマは昭和45年3月23日生である。その±1年間に生まれたプロ棋士(故人含む)は次の通り。なお、括弧内は棋士番号。これは「プロになった順」も意味する。


s44. 4. 2 飯塚祐紀  (203)
s44. 6. 3 畠山鎮    (192)
s44. 6. 3 畠山成幸  (193)
s44. 6.15 村山聖    (180)
s44.10. 1 佐藤康光  (182)
s45. 2. 3 中座真    (219)
s45. 6.22 先崎学    (185)
s45. 9. 5 丸山忠久  (194)
s45. 9.27 羽生善治  (175)
s45. 9.29 藤井猛    (198)
s45.10.10 森内俊之  (183)
s46. 2. 7 増田裕司  (225)
s46. 3.17 郷田真隆  (195)

よく見ると、これは相当な激戦区である。また、個人的に何かしら縁のあるプロ棋士も次にメモしておく。


s32. 4.29 田中寅彦  (127)
s34. 3. 1 神吉宏充  (160)
s37. 1.17 飯田弘之  (159)
s37. 4. 6 谷川浩司  (131)
s44. 3.21 勝又清和  (215)

余談だが、50音順で並べると田中(寅)の直後に谷川がくる。また、神吉と飯田先生が殆ど同期というのには驚いた。奨励会卒業順位で言えば、飯田先生の方が上だ。因みに私は谷川とカスパロフを足して2で割ったあたりの生年月日なのだが、選手権での実力は、神吉並である(笑)

The Chess Monster Hydra

テーマ:

Hydra について再度調べなおしている最中に見つけた。Xcell journal online の "The Hydra Project" の大元だと思われる。こちらの方がやや正確な記述であるように感じる。


The Chess Monster Hydra


初代Hydraについてなので重視するほどではないのだが、念の為ここに置いておく。


これまでの最新情報を元にデータを修正すると、次の様になる。

・旧Hydraの探索コアは33[MHz]動作

 つまりはPCIバスクロックと同期している(おかしいと思っていた)。

・現Hydraの探索コアは55[MHz]動作

 PCIバスのクロックを3分の5逓倍しているのかもしれないが詳細は不明。

それ以外にも解決していない疑問が多々ある。大きな声では言えないが次のことがハッキリ判った。これを念頭に置いとかないと混乱する。


Chrillyは、十進数で1桁の精度しかない 大雑把な数字を語る男である。

Marc Boulé Move Generator

テーマ:

Marc BouléのHPはここ 。ハードウエア指手生成に関する論文とHDLソースがある。

--
1) CICCpaper.pdf : An FPGA Based Move Generator for the Game of Chess
2) ICGApaper.pdf : An FPGA Move Generator for the Game of Chess
3) MBThesis.pdf  : An FPGA Move Generator for the Game of Chess
--

以上、論文。これらは基本的に全て同じだが、1)簡易版 2)詳細版 3)その改訂版という感じになっている。ハードウエア探索での模範的指手生成デザインが詳解されており、教科書とも言えるし非常に参考になる。逆に、ハードウエアだからこそ出来る、この過激な高速生成手法が理解できないと、先に進めない。


論文にある指手生成回路のソース:MoveGenVHDL.zip (125KB)


回路はVHDLで記述されている。基本的にはXilinxのISEでそのままビルド出来ると思われる。詳しくは、notes.docとreadme.txtを参照のこと。
因みに、自分で一部ソースを書けば[*1]、AlteraのQuartusII 5.0 WebEdition でもビルド出来ることを確認済み。TopLevelEntityはchess_chip[.vhd]。デバイスはStratixII、CycloneIIどちらでもビルド可。全ビルド時間は、最適化オプションがデフォルトのままならBarton/3000+で20分前後で終了する。また、ビルド時に約100MBの空メモリが必要[*2]


[*1] component RAM32X1Sとbufを自分で追加すればOK。

[*2] 激しく最適化を行う場合は時間も掛かるし、メモリも倍以上喰うので注意。

Chrilly's articles

テーマ:

Computer-Go ML でのChrillyの発言について、表形式でここにまとめておく。 なお、今後関係しそうもない内容の記事については独断で省いた。


No. Date Subject
1 Dec 3 23:20:36 2003 A chess programmer at the Go-Olympiad
2 Dec 4 10:37:54 2003 1-Dan bet
3 Dec 4 21:49:46 2003 Saving Go for bad Tricks
4 Dec 4 22:31:18 2003 The 50-Liter beer bet.
5 Dec 5 09:31:47 2003 FPGA
6 Dec 8 13:40:05 2003 Re: Chess Programmer at the Olympiad
7 Dec 30 09:31:50 2003 Purpose of Neural-Nets?
8 Jan 11 17:38:12 2004 Re: Weights are not very important was: ANNs as potentially useful in the computer goproblem
9 Feb 6 10:45:39 2004 Re: What is thought
10 Jul 7 14:57:27 2004 Moyoman, a Go playing program
11 Jul 8 02:13:17 2004 Moyoman, a Go playing program
12 Jul 8 10:17:48 2004 Moyoman, a Go playing program
13 Jul 14 01:10:55 2004 Good-citation
14 Jul 14 01:29:05 2004 citation
15 Jul 14 03:01:46 2004 Interesting?/Strange-Game of Many Faces
16 Jul 22 16:30:20 2004 Cellular automata
17 Jul 23 01:44:03 2004 Cellular-Automata
18 Jul 26 09:40:28 2004 Cellular automata
19 Aug 8 01:55:16 2004 Score estimating
20 Aug 8 14:49:56 2004 Speed and ladder bracker
21 Sep 8 01:41:12 2004 Statistical Significance (was: SlugGo v.s.ManyFaces, newest data)
22 Sep 10 00:11:47 2004 Statistical significance (was: SlugGo vs Many Faces, newest data)
23 Sep 12 14:01:17 2004 Dynamic-memory in Go?
24 Sep 17 06:02:24 2004 Tesuji solver
25 Sep 17 10:47:58 2004 Tesuji solver
26 Sep 20 09:14:10 2004 Tesuji solver
27 Sep 23 08:19:26 2004 Statistical Significance
28 Sep 24 04:43:39 2004 Statistical Significance
29 Oct 17 09:49:23 2004 Computer Go hardware
30 Oct 17 13:28:39 2004 Computer Go hardware
31 Oct 18 02:10:23 2004 Computer Go hardware
32 Oct 18 13:30:35 2004 Computer Go hardware
33 Oct 18 13:33:14 2004 Computer Go hardware
34 Oct 18 13:37:04 2004 Computer Go hardware
35 Oct 18 23:49:32 2004 Computer Go hardware
36 Oct 19 04:55:54 2004 Computer Go hardware
37 Oct 19 09:29:48 2004 Computer Go hardware
38 Oct 22 06:02:39 2004 M.Boon-Library
39 Oct 23 16:50:46 2004 Superko detection (was Re: [computer-go] M.Boon-Library)
40 Oct 24 01:20:40 2004 Superko detection (was Re: [computer-go] M.Boon-Library)
41 Oct 24 01:53:42 2004 Re: GHI
42 Oct 24 07:59:15 2004 question regarding Hydra Chess Supercomputer
43 Oct 24 12:08:51 2004 question regarding Hydra Chess Supercomputer
44 Oct 24 17:06:41 2004 question regarding Hydra Chess Supercomputer
45 Oct 25 01:05:47 2004 question regarding Hydra Chess Supercomputer
46 Oct 25 01:47:51 2004 question regarding Hydra Chess Supercomputer
47 Oct 26 02:10:55 2004 question regarding Hydra Chess Supercomputer
48 Oct 26 04:12:07 2004 question regarding Hydra Chess Supercomputer
49 Oct 26 06:47:26 2004 question regarding Hydra Chess Supercomputer
50 Nov 2 00:03:36 2004 Self-play is bad
51 Nov 2 00:30:31 2004 Hardware-Instruction.
52 Nov 3 00:59:36 2004 Hardware-Instruction.
53 Nov 4 00:19:41 2004 Hardware-Instruction.
54 Nov 4 03:57:40 2004 Hardware-Instruction.
55 Nov 4 23:59:36 2004 Hardware-Instruction.
56 Nov 6 08:15:58 2004 Hardware-Instruction.
57 Nov 6 13:02:38 2004 Hardware-Instruction.
58 Nov 6 13:17:01 2004 Hardware-Instruction: Effort of parallization.
59 Nov 6 13:39:23 2004 Hardware-Instruction.
60 Nov 7 08:04:14 2004 Modern brute force search
61 Nov 8 02:38:23 2004 Modern brute force search (Gods handicap)
62 Nov 9 10:35:25 2004 Pattern Matcher, Excellent book on optimization
63 Nov 28 15:11:49 2004 Pattern matching - example play
64 Nov 29 01:12:10 2004 Pattern matching - example play
65 Nov 29 10:53:32 2004 Pattern matching - example play
66 Nov 29 13:12:07 2004 Pattern matching - example play
67 Nov 29 14:07:09 2004 Pattern matching - example play (Quotes from de Groot)
68 Jan 7 01:46:30 2005 Using floating point sounds very strange to me
69 Jan 9 09:34:52 2005 Using floating point sounds very strange to me
70 Jan 18 03:25:16 2005 Using floating point sounds very strange to me
71 Jan 18 07:48:25 2005 Scalability Odd-Even Effect

K8系最適化手引書

テーマ:

K8系プログラマ必携[*1]のドキュメント。AMDのHPに行けばあるのだが、判り難い場所なのかもしれない。あまり知られていないような気がしたので、ここで(も)紹介する。

 

Software Optimization Guide for AMD Athlon™ 64 and AMD Opteron™ Processors

 

文書#25112。現時点で、Rev.3.05(Nov.2004)。英文。要AdobeReader。


[*1] と書きつつ今年の選手権もK7系(Barton/3000+)で参戦。当然Singleである(号泣)