2005.3.1
●
今日も詰み探索。だいぶ解けるようになったが、合駒関係やっぱり弱すぎるので
合駒の処理を開始。
● 新たにファイルOuteFusegi.cppを追加。王手防ぎ関係は全部generator.cppから移動。
● 佐野君にプログラミングの魂を注入。
2005.3.2
● 詰め将棋用の王手防ぎ関数enumOuteFusegiForTsumeShogi(Sashite*
Move, int& aigomaigainum, int& chuaiigainum)
を作成。合駒以外の手の数、中合い以外の手の数も返すようにした。
● 詰み探索と通常のツリービューで、いつもウィンドゥが裏に出てうっとうしいので
メイン画面の真右に出るよう変更した。
● 棚瀬さんのブログにあった局面をやらせてみた。ISは8五馬と逃げて負け、その後改良したらしい。
TACOSは難無く正解の5二歩成。良かった。
後手の持駒:歩三
9 8 7 6 5 4 3 2 1
+---------------------------+
|v玉v桂v金v銀 ・ ・ ・ 龍v香|一
|v香v銀 ・ ・ ・ ・ ・ ・ ・|二
| ・v歩v歩 全 歩v歩 ・ ・ ・|三
|v歩 ・v桂 ・ ・ ・v歩 ・ ・|四
| 馬 ・ ・ ・ ・v桂 ・ ・v歩|五
| 歩 ・ 歩 歩 ・v角 歩 ・ ・|六
| ・ 歩 銀v歩 ・ ・ ・ ・ 歩|七
| 香 金 ・ ・ ・ ・ ・ ・ ・|八
| 玉 桂v金 ・ ・ ・ ・ ・ 香|九
+---------------------------+
先手の持駒:飛 金 歩
先手番
先手:IS将棋
後手:YSS
2005.3.3
● 今日は雛祭り
● 合駒の処理でちょっといい事思いついた。
ループが多くて無駄なようでも、証明数を一気に上げないので効率的
ノード数が劇的に減った。我ながらいいアイデアだ
● デバグだと解けるのにリリースだと変な解を出すのがあった。
調べると、一手詰み判定関数のバグみたいだ。
下の局面で▲3一銀で詰みと言ってる。
後手:
後手の持駒:飛 角 金 桂 歩四
9 8 7 6 5 4 3 2 1
+---------------------------+
|v香 ・v金 ・v歩 ・ ・v桂v香|一
| ・ ・ ・ ・ ・ 圭 銀v玉 ・|二
|v歩v龍 歩v歩 ・v歩 ・v角v歩|三
| ・ ・ ・ ・ ・ ・v歩v歩 ・|四
| ・ ・ ・ 歩 ・ ・ ・ ・ ・|五
| ・ ・ ・ 銀 ・ 歩 ・v香 ・|六
| ・ ・ ・ 銀 ・ 銀 歩 ・ 歩|七
| ・ ・ 金 ・ ・ 玉 ・ ・ ・|八
| ・vと ・ ・ ・ 金 ・ 桂 香|九
+---------------------------+
先手:
先手の持駒:歩
手数=0 △2二玉 まで
先手番
● 通常探索でツリーを見たら、ルートの最善手も全部「l」(最小値)になってる。
要チェック。
● RPNegamax.cppにいつの間にやら関数がいっぱいくっついててでかくなってたので整理。
このファイルはNegamax本体だけにしてほしい。RPIDSearch.cpp,RPYosoku.cppを追加。
● 村田君に実験依頼。
パス手確率 現在 logp= 10 ⇒20か30に変更したほうが強いかも?調べる。
損する成り手は生成してないので、やってみる。
ksNARI2、損攻撃の前か?
ksALL 今は nokoriP <= 80
終盤以降うんと読まなくしてみると?
例えばdepth > 0 && nokoriP <= 120
序中盤も nokoriP <= 100 ぐらいにできないか?
2005.3.4
●
考えてみたら進行度直したのに確率を取り直していない。早速羽生600局から取って
実験中。
● 通常探索ツリールートの最善手も全部「l」問題は、どうも時間打ち切りのせいかいもしれない。
この表記だとわかりにくいので、正、上、下、探
にしようかと思う。
● どうも TACOS
が弱くなってる。いろいろ調べた結果、佐野君が改良したisKiki()のせいだった。
家で佐野君と長時間チャットして修正した。enum1ttedumi()もまだまだ実用に足る段階ではないことが
だいぶわかってきた。以前確認したといってたのは、Releaseなのにassert()を使って止まらないから
いいと思っていたらしい!これを機にきちんと確認する癖と方法を身につけてほしい。
2005.3.7
●
村田君とこれからの作業など色々話した。
序盤でenumNariがβカットすごく多いというのは面白い話だ。
● AI12と金沢将棋2005購入。
● 詰んでないのに表示が詰みだった原因を探った。
2005.3.8
● TACOS会議 今後の展開など話し合う
● 不可解な手を指したのを調べたら、詰みでもないのに勝ちを返してるのがあった。
一手詰みを疑ったがどうも違うみたい?
● チャットで佐野君と夜話す。闘魂を入れる。
● dfpn MIDの最初でハッシュ見てるの無駄な感じがするので修正してみたがうまくいかない。
例の問題は、どこかで∞を入れちゃってるせいだったがまだ究明できず。難しい。
2005.3.9
● 子供が風邪引いて家にいるので自宅作業。午後少しだけ学校に来た。
● 今日はいい話が多い。TFBで進行度による区別をなくし、飛車の状態を少し細かく分類したのが
かなり成績がいいみたいだ。キラー50%はだめみたい。損する成りもいいみたい。
● 昨日の不可解局面しらべたけど普通の値だった。どうもおかしいが、やはり一手詰みがらみか?
● 絶対テーブルを少し修正。昨日無駄に1三竜と歩を取った手があったので、竜の敵陣の価値を飛車と同じにした。
昨日の手はそれだけでは変わらないと思うけどとりあえず。
2005.3.10
● Athlon64 3800
のマシンを開発に使うことにした。そんでついでに掃除。このマシンDドライブのフォーマットもしてなかった。
当面は詰み探索関係以外はこのマシンで作業する。
● 市販ソフトとの自動対戦の結果がどうも怪しい。100局以上指したらTACOSがリソース不足になるらしいので、
232Cで対戦すると最後の方はメモリちゃんと使えなくて弱くなってるのかも。長嶋君が直してくれることになった。
東大6以外は木偶の坊が途中で止まるみたいだが、10局ぐらいの将棋を見ると東大7とAI12
はほぼ互角、激指4には
かなり負け越しみたいだ。
● 詰み探索ようやくバグ原因の糸口が見えてきた。手順依存の詰み不詰みで普通に証明数の優越関係を使った計算をしていたせいっぽい。
● 重い形評価のやり方がちょっとわかってきた。長嶋君と話をしてだいぶすっきりした。うまくやると強く出来そうだ。
2005.3.11
● 詰み探索バグがかなりわかってきた。優越関係で詰み不詰みの結論が出たのにreturnしてなかったのも原因の一つだった。
しかしこれ気付きにくい問題だなあ。なかなか解けなかった日浦10番が簡単に解けた。
● 後手番でもちゃんと詰み解けるか調べる。後手用の表示関係でバグをつぶす。だいたい大丈夫だがたまに後手だと
解けないのがあった。日浦10番が解けなくなってる。証明駒みないと。ああしんど。
● 一手進め関係で全部movehashの更新をするよう変更。それに伴い主にboardクラスに関数をいろいろ追加。
気をつけないとバグが出そうなところだ。
2005.3.14
● 体調悪いので自宅で作業
● 次に大駒が成る手を生成。確認作業は村田君に投げる。問題なかったらしい。
● 今日も詰み探索の問題点を探しつつちょこちょこ直す。
● 最近良く選手権の夢を見る。まだ時間があると思っていたら何故かもう大会当日だという夢。
心の底でよほどあせってるのだろう。予想以上に詰み探索の修正に時間がかかっているせいか。
経験上詰み探索の性能を上げても実際の勝敗には大して影響しないとわかっているものの、
詰み探索に間違い「詰まないのに詰み」があってはえらいことになるのでちゃんとしないといけないのが
つらいところ。詰み探索を呼び出す部分を改良するためやってるのだが、そこのところ改良しないと
寄せ合いで勝てないのであせりは募る一方。
2005.3.15
● 今日も体調不良で自宅作業。
● 今日も詰み探索。
● 恒例の夜の佐野君とのチャット。一手詰み関数は完成して、一手詰めろ防ぎがもうすぐできるらしい。
彼との話でひょっとしてインフルエンザではないかとびびる。
2005.3.16
● 詰みツリービューで証明駒を表示するよう改良。表示から差し手を選ぶコードが証明駒を指し手と勘違いするという
予想外のバグに苦しむ。文字列操作系の関数をいろいろ調べてなんとか直した。
● 午後に高熱と強烈な寒気が来た。やはりインフルエンザだったみたいだ。
● しんどいが夜に少し落ち着いたので詰み探索をいじる。ようやく問題点がいくつかわかった。
● 再ハッシュが異常に多くなってることに気付く。バグのせいでそれは直したが、それでもまだ十分に多い。
設計の問題だ。改良しないと。
2005.3.17
● 昨晩から頭痛がひどくなる。猛烈な頭痛と顔面痛。風呂に入ってずいぶんましになった。
● 夜ちょっと落ち着いたのでまた証明駒関係の修正。
● みんな研究室の引越しの準備をだいぶしてくれてるみたい。
2005.3.18
● しんどい。今日は研究室の引越しだが休ませてもらった。
● 証明駒と反証駒で駒を取る場合の問題点がだいぶわかってきた。
しかししんどいときにこの辺いじってると余計しんどくなりそうだ。
2005.3.19
● ましにはなったがまだしんどい。
2005.3.21
● 休日だが久しぶりに研究室に顔を出した。松原君がいた。彼の修士論文の題名について話す。
タイムコントロールを彼にやってもらうことにした。本はほとんどなくなっていたが、マシンがそのまま
なので部屋はあまり変わらない気がした。
● なんと今の部屋は二つとも明け渡さないといけないらしい。4階の部屋に引越し。
ただでさえ時間が惜しいこの時期にちょっと痛い。
2005.3.22
● 詰みの類似ハッシュで詰んだ局面を追いかける方法をどうするか悩む。前と同じように
詰みのハッシュにポインタ代わりのインデックスを覚えさせて追いかけるか、通常探索の方で
局面更新しまくりでやるべきか。前者は詰み探索自体がやや遅くなるのと、類似ハッシュ使わない
ところではまったく無駄な情報なので少しもったいない気がする。類似ハッシュ呼ぶ回数なんて
そんなには多くないし。ただ詰みでシミュレーション呼ぶときはこれまた使いそうだし、類似ハッシュ
呼ぶ回数増えれば増えるほどこっちの方がよくなるだろうからやっぱりこっちかな。
2005.3.24
● 駒の評価値で無茶苦茶な値が表示されていた。デバグモードでだけだが、調べたら駒組みのせいだった。
getKomagumiHyokaChuban()のところでkakoi=-51となっていた。
● 船囲い7六歩の価値が高すぎ。無意味に7六歩を打ってたので修正。5七銀左も7六歩と7五歩が高すぎるので
修正。
2005.3.25
● 中盤駒組み角換わり銀の値を少し変更。
● 4階に引越し。机の移動が多く、部屋も汚くてなかなか大変だ。
● 類似ハッシュのところをだいぶ修正。
● 初段の終盤を解かせてみるが、やはりきちんと整備しないと捨てる詰めろはなかなか読めてない。
2005.3.26
● 類似ハッシュ用に詰んだ場合次の手を登録してるところでバグ発見。childtableが空の場合がある。
別手順で詰みがあって値だけ持ってきた場合か。そういう場合ハッシュに新たに登録することにする。
● m_MaxHashSize2
がちゃんと値を登録してなかったので、DfPnのコンストラクタで設定することにした。
● 初段の終盤 8 で止まる。
2005.3.27
● 家族でパルパルに出掛けた。マジレンジャーのショーを見たが、なかなか良かった。
2005.3.28
● 今日から新しい部屋。ネットワークがつながらないので悩んでいたら、ハブがマシンにつながってるだけという落ちだった。
引越し作業の仕上げをしたかったが、なかなか誰も来ないのであまり出来なかった。それでも多少は良くなった。
● 詰みを呼ぶあたりと、詰めろを防ぐ手あたりを直す。選手権前にバグが見つかってルートのごく近く以外では
ほとんど詰めろを見ていない事を思い出した。これでレーティング2200ぐらいまで来たのだからやはり詰めろを内部で呼ぶのは
しなくてもこのレベルぐらいならなんとかなるということだろう。
2005.3.29
● 濱田君が自動対戦をしてくれていたのを見る。AIはちゃんと動いているが激指は2局目で止まってた。
一局目もまだまだこれからのところで終わってるし、木偶の坊がおかしいのかも。負けた将棋を見ると、
中盤かなりいいのに逆転されてる。調べたらそっぽを刈ってるせいみたいだ。
● 形問題:
矢倉で色々と問題見つけた。
● AIとの対戦で表示が止まったままになってる。東大7の方は大丈夫。
2005.3.30
● 詰めろ防ぎ手の実装中。探索の中で見つけた詰めろ(詰み探索を呼ばない)の処理を
どうすればいいのか難しい。gyokustatus
に詰めろの区別をどう入れるかも悩ましい。
2005.3.31
● 保育園がお休みで一日子供の相手をした。