2022年12月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

tweet

  • tweets

« 2009年2月 | トップページ | 2009年4月 »

2009年3月

Spearに初勝利!

Kshogiばかりとだと戦型がかたよるので、最近Spearとも対戦させています。小宮さんがSpearとやってるというのを読みまして。CSA2008と同じ、という版です。Spearは前回大会で私より順位3つうえで、目標としてはまあ適当なところ。3週間くらい前からはじめて、最初まったく勝てなかったのですが、今日コンパイルしたAリーグで先ほどやっと勝ちました。しかも先手ながら2戦して2連勝!いやー今夜は祝杯です。学習さまさま、でしょうか。

SpearはLv10で、2008年大会とまったく同じとのこと。高田さんサーバを使っているのですが、時間設定ができないようで、25分になってしまい、Spearは25分前提でじっくり考えるので時間かかるのが難点です。Kshogi中級だとせいぜい2,3秒で指してくれるんですが。SpearのGUIは将棋所ですが、これは使いやすいですね。投了されてもひと目でぱっとわからないのがちょっとあれですか。

哀愁の Can't fit design in device


  いつかはこの日が来るなんて
  そんなのわかっていたけれど
  こんなにすぐに出食わすたぁ
  全然思っちゃいなかった
  どうしてあなたは あぁ神様 
  私に更にこのような
  試練を丸投げされるのか

… <ショックで頭おかしくなってます。

2月末頃キラー手を実装しました。最初まともないわゆるキラー手を実装しようとしたのですが、ハードの制約で思うようにいかず、いちおう作ったもののノード数が増えてしまい、挫折。ここで1週間ほど無駄にしてしまいました。で次、例によってハードでできる範囲のサボった実装でキラー手とあとMVV-LVAもいっしょに実装。「もどき」のため効果はいまいちですが、問題集ベースでノード数2割程度減ったのでまっいーか、と。

で3月初めから、学習まわり。少しずつ特徴を考えては追加、学習させてパラメタチューン、をやってました。今パラメタ数191。学習と言いつつ自動ではなく、「アドバンスト」です。量子化があるためどのみち自動化は難しいし、また200個とかならはっきり言って手で十分なので。J'は、「正解より良いと判断した手」(つまり、T()が階段)の意味で、ハードの設定値に対しては9.0くらい。floatで学習させると8.5くらいまで行きます。T()をシグモイドにするとさっきのより約1ふえて、10ちょっと。シグモイドはGPSをまねて 1/(1+exp(-3x/128)) にしてます。歩が128、がいっしょなので。なおこれは、ルート局面から1手指した後すぐ静止探索、でやっての値。1手指した後からさらに全幅1手で探索すると、J'でもう1くらい下がりました(T()がどちらの意味でも)。ただこのとき1000局面で13時間とかかかったので、なかなかできません。先日の金子さんの話では「gps_lがnormalを抜いたあたりで、J'(シグモイド)が6か7くらいだった」とのことなので、あと2くらい下げたいなー、などと呑気なことを考えてます。

特徴増やす/変えるときは、ハードとCモデルを同時に変更してます。2倍手間がかかるうえ、時々両方ダンプして比較したりするので、かなりめんどい。ハードならではの頭痛いとこのひとつです。

現在の強さは、スパーリングでKShogi中級と勝ったり負けたり、というところ。以前(11月以前、評価改造開始前)はKShogi初級といい勝負で、中級に勝てたことは皆無だったので、強くなってるとは思います。ただfloodgateでは、gps500にはほぼ全部勝つ、Blunderにはまったく勝てない、という状況で、この2つの間が広すぎるため、上達してるのかどうかさっぱりわかりません^_^;対戦相手増えてよもっと…

さてそんな調子でやってた先週のある日。いつものように特徴を増やしてコンパイルを流しました。4時間ほどかかるので、だいたい寝る前か会社に行く前に流してく、というパターン。で、起きてだったか帰ってだったか結果を見ると、何やら不吉な赤い文字のメッセージが。血で書いてあるのか?

Can't fit design in device

はァ!?まあ物量があふれて入りません、ということなんですが。特徴を増やすと物量も少しずつ増えてくるのはまあ当然。ただ、LE数はまだ83K/110K。80%くらいまでは大丈夫のはず、と思ってたので、予想外の事態にパニックってしまいました。

まずはどっか簡単にゲート削減できそうなとこないかな、と論理をざっと見直して、手のかからなそうなとこをいくつか修正して再合成。けどまだあふれる。次、今までフロアプランはまったくやってなかったので、やってみようと思いメニューのあちこちを覗いたりヘルプ見たりして調べるが、よくわからず。フロアプランでなくピンアサインでも同様の効果があるのでこちらも試してみたが、やはりCan't fit。あとツールの設定。Design Assistanceというメニューがあって、設定をどう変えるべきかをサジェストする機能がありまして、これに従っていくつか設定変更。Placement Effort Multiplierを上げたり、Aggressive Routability Optimizationsをオンにしたり。(使ってるQuartus IIはv8.0。)がこれもダメ。

♪Can't get enough of your gates, Huh! (ちょっと違う)

♪I can't get no (ダダダダン) Compilation (ダタダダダン) (これもちゃうって)

で結局断念し、最後に入れた修正(特徴)を外して元に戻しましたorz この特徴、Cモデルには入れててけっこう効果あったんですが、泣く泣く外しました。ここでまた1週間棒に振ってます。何やっとんねん自分。

このLE数で入らないのは、配線リソースが少ないんでしょうかね。それとももう少しP&R工夫すれば入るものなのか。といってもやること山積みのうえに、P&Rでツールいじるのにあまり時間かけられないし。

この状況だと、今後少なくとも5月までは、もう特徴はあまり増やせそうにないです。まあ物量少ないものならできるかもしれませんが。今はStratix III EP3SL150 のボードでやってますが、これをアップグレードするという手はあります。ただ5月前はもう無理なので、来年の話。特徴は、今までは思いついたものをとりあえず入れてみるという感じに近かったですが、もっと取捨選択して、効果の少ないものは削っていかないとだめなのかも。

あと5月までにできることというと、探索の延長、末端近くの枝刈り、手生成の順番、既存パラメタのチューニング、くらいでしょうか。ただこれらは既にある程度やってあるので、大きな効果はあまり期待できない。うーん、困った…

♪(チャッ チャッ チャッ チャーーーー~~~~ラララーラッ)
   <いやこれじゃ意味不明だって。「哀愁のヨーロッパ」のつもり

あそうそう、一個だけ収穫が。Quartusをいろいろいじってメニューを見てるとき、Incremental Compilationというのが目につき、これを試してみました。いや前から存在は知ってたんですが、まあ後で試そうと思ってそれっきりになってて。まずDesign Partitionを作る。これはまあ適当にモジュール単位で。でフロアプランする前に、まず合成かけてみたんですが、何と!これだけで合成時間が3時間から30分になりました。いや一部スキップしたんじゃなくて、全部合成しなおしても、ですよ。フロアプランはなんもしてないんですけど。よくわからんですが、合成単位が小さくなったからかな?周波数は落ちてません。Fitter(P&R)は変わらず1時間強ですが、通しても4時間だったのが1時間40分に。これなら1日2ターンも可能か。今まではハードの修正になるとコンパイルだけで1日仕事だったのですが、この点はけっこう楽になるかも。

 * * *

話変わりますが、先日OSLコードレビューに行ってきました。まあレビューというより講演ですけど。とても中身の濃い内容で、ためになりました。私も図々しくいろいろ質問させていただいたのですが、丁寧に答えてくださいまして。どうもありがとうございました。保木さんはなんと仙台から新幹線でかけつけてました。すごい熱意ですねぇ。質疑のときは保木さんと金子さんで熱く議論されていました。この2人は興味対象というか方向性というかが似てるようで、そのうえ2人とも実力者ですんで、互いに尊敬し合い認め合ってる、という雰囲気でした。議論のなかでも互いにヨイショしあってたりとか。うーんなんかいい感じ…(<腐女子かぉ前ゎ)

あと書いてて思い出しましたが、囲碁プロセサは(もう半年以上止まってますが)名前は"Badu Company"にしようか、などと思ってました。いやエリカじゃないですよ。囲碁ですんで。

« 2009年2月 | トップページ | 2009年4月 »