WILDCAT(コンピュータ将棋ソフト)

コンピュータ将棋の開発日誌

実現確率探索(その2)

取り組みを始めて最初に出会ったのが水平線効果問題であった。読み延長は、いろいろな場面で行なったことがあるが、読み短縮で生じる問題とは、私自身、初めての遭遇であった。「進歩の3」で、その理由と対策が述べられていることから、ここではその詳細は省くが、実際にWILDCATでやってみて、かなり高度な調整技術が必要な印象を受けた。「進歩の5」で、TACOSの橋本さんが、最初は戸惑ったと書かれているように、確立打ち切り探索の最大の課題のように感じた。

また、http://www.sodan.org/~penny/blosxom.cgi/2005/05/ では、実現確立探索の課題として「実現確率の低い良い手を見逃す」「 実現確率の低い手による水平線 」「実現確率の高い手によ
る無駄な探索」をあげている。まったくの同意見だ。この3つも、乗り越えなければならない課題だろう。そして、時間制限試合で、1秒モードに突入した際の、「それなりに良い手」を探しだすのも、結構、難しい気がする。最後に、これは、他の原因によるバグによるものと思うが、メチャクチャな超大悪手を大事な場面で指してしまうこと。これは、致命的である。

久しぶりのアップ

17回選手権申し込みを行ったことを機会に、ブログを一時中断していたブログ更新を再開することとしました。11月開催のGPWでの「第2次ボナンザショック」以降、いろいろと試してみましたが、結局のところ、「〜の考え、休むに似たり」の如く、ことごとくうまく行きませんでした。しいて言えば、読み打ち切りを、深さ優先から実現確立打ち切りにしたことぐらいです。読みの実現確立打ち切り探索は、先人が多くの資料を残してくれているので、比較的取っ組みやすかったですが、なんと言っても、「進歩の3」に載っていた探索打ち切り深さと探索数のグラフの美しさには、芸術性を感じていました。「強いものは美しい」とよく言われますが、綺麗な正規分布は、芸術的でした。いきあたりばったり方式で、自分の感覚に基づいて、読み延長を決めていたWILDCATのそれは、なんともギコチナイ見苦しいものなのです。「なんとかしないといけないな」とは思いつつ、何もしていなかったのです。
(続く)

休息


ということで、暫くは、いろいろなことを考えることにしました。

GPW(その3)

(GPW杯)
 結果は、予想どおり酷いものであった。大ソッポの場所への駒打ち、目先の利益ばかりを追求した「しかけ」、その結果の攻め切れ。そんな自滅パタンばかり目立つ対局の連続であった。下位にあまりに低迷したため、「激指」「yss」「Bonanza」には、今回も当たらずじまい。唯一の収穫は、今の開発方針の延長では、天敵であるk-shogi (4連敗中)、マイムーブ(3連敗中)には勝てないことを思い知ら されたことだけであった。少し根本的に考え直さなければいけない。

GPW(その2)

(将棋以外の発表)
 1日目の13時から3日目のお昼まで、すべての発表を聴いた。これは、自腹で参加したから元をとるために、一所懸命出席したのではなくて、すべての発表が面白かったのである。ただ外国人の方の英語方言が強く、ほとんど何を言っているのかわからない講演もあったが、、、、、、。
 囲碁、ゲーム。どれもこれも、興味深く聴かせていただいた。囲碁では、電気通信大学の矢野さんの発表(連数最大化問題)。パズルでは東京農工大の五十嵐さんの発表、ユニークさでは、九州工大の梅津さんの発表と、私にとって初めての話であり、とても楽しく聴かせていただいた。特に、五十嵐さんの「裁ち合わせパズルの重複解なし全解探索システム」は、10年以上前に私も、ほんの少しであるが、考えたことがあり、結局、やめてしまった。それが、GPWの場で、偶然に完璧な形で全解が求まるシステムについて聴かされたことはうなってしまった。
 九州工大の梅津さんは、学習ゲームを自動的に作ってしまおうというとても面白い内容であった。また、説明がとてもうまく、発表方法の仕方の勉強にもなった。梅津さんのOHPの1枚に、今、やっている仕事にとても参考なる資料が1つ入っていた(実は、ずっと探していた資料)。ラッキー。(続く)

GPW(その1)

(保木さんの講演)
 座長の方が、「今回のGPWの目玉です」と紹介して講演が始まった。参加者の数も今回のGPWで最高に多かったようだ。保木さんは、本業関係で講演には慣れておられるようで、すっきりとよくまとまった説明をされた。上品なすばらしい講演であったが、数学的なバックグランド知識の乏しい私にとっては、おおまかな概念的な把握しかできなかった。でも、BONANZA自身が、このような講演内容をもとにして創られているのであれば、選手権に優勝したこともうなすける内容でもあった。データを取るのに何日もコンピュータを動かしたり、思考錯誤を繰り返されたとのこと。恐らく、これは、どのような将棋ソフトにも言えることであろうが、土台の開発ポリシー、開発方向性がしっかりしていて、それに基づいてわき目もふらず突き進むことの大切さを保木さんは言われているようであった。
 保木さんの講演終了後、マイムーブさん、みさきさんと食事をしていると目前にたまたま、講演を終えた保木さんが目の前に座られた。食事をしながらいろいろお話をうかがうことができた。数十分間であったが、貴重な時間であった。
 総じて言えば、今回の講演は私にとって、2度目の「BONANZAショック」であった。今回の衝撃は1度目より大きい。WILDCATの開発を、しこしこやっていることが、むなしくなり、実は、途方に暮れてしまったのである。(続く)

明日からGPW

(対局サーバーが休止中)
 先週の半ばまで、正常に動いていたコンピュータ将棋協会の対局サーバーが、突然つながらなくなってしまった。ちょうど、通信関係の確認を行おうと考えていたところであった。メールで問い合わせをしたところ、トラブルで止めているとのこと。トホホ。
 結局、通信関係のところは、最終的なチェックができずじまい。うまく動くかどうかは一発勝負。通信関係は、基本的には16回バージョンとほぼ同じものを持ってきているから大丈夫と思うが、修正も若干している。こればかりはやってみないとわからない。
 ということで、RS232c通信は大丈夫かいなと思って調べてみる。ところが数局指したところで止まってしまう。RS232C通信と並列探索は相性が悪いのだろか。まあ一局指すことができたらそれでOKだから気にしないことにした。不安を多くもったままのGPW杯である。なんとかなるでしょう。

(折り返し)
マイムーブさんのBLOGに書いてあったが、11月は、折り返し地点とのこと。まったくそのとおりだ。あと6ヶ月。今年の春、夏、秋と開発に十分な時間をさけながったが、今からは、細切れ時間を大切にして、方向性を持って、少し、やってみよう。明日からのGPWが良い刺激になれば幸いである。

(紅葉)
箱根は今が紅葉の盛りという。明日は、少し、早めに川崎を出発して紅葉の写真を撮ってから会場に向かう予定。蕎麦も新蕎麦の季節だから、お昼は蕎麦を食べるつもり。今から楽しみだ。自分が発表をしないセミナーは気がすごく楽だ(完全に観光気分!!)。

今から出勤します。

WILDCATの現況

(GPW杯2006用WILDCATの現況)
 今回は、オープン戦とのこともあり、事前に現在のWILDCATの調整状況を書くことにした。以下は、昨夜10時から今朝の9時までの連続対戦の結果です。 
 まだまだ、この程度です。小宮さん、マイムーブさんのBLOGを読む限り着実に強くなっている様子。今回は、お手柔らかに御願いします。


・対 激指2の4級
 134戦69勝65敗 勝率514
 (Athlon4800+ X2、2Gメモリ、WILDCATの思考制限時間は5秒固定)

・対 AI将棋2004の3級
 109戦74勝35敗 勝率678
 (P4/2.66G,512メモリ、WILDCATの思考制限時間は5秒固定)



(GPW杯2006用に持っていくマシン)
 デスクトップのAthlon4800+ X2と4〜5年前に買ったp4/2.66のノートマシンを持っているわけだが、どちらを持っていこうか迷っている。デスクトップは、CPUでp4/2.66Ghの1.5倍。また、並列探索で1.5倍の差がでている。総合で見れば2倍強の思考時間が確保できるが、なんといっても重い。車で会場まで行くつもりだが、あの重さにはヘキヘキしている。


(娘とハイキング)
 文化の日(11月3日)に中学2年になる娘と、神奈川県三浦半島で一番高いという大楠山(標高241M)に登る。妻は仕事で休めないので2人だけで行くことになった。当方は、仕事から帰ってくるのがだいたいは深夜、また娘は、クラブ活動や習い事で土曜日・日曜日は、ほとんど家にいない。したがって、小学生の頃は、いろいろな場所に家族で出かけたが、この1年〜2年は、まったく出かけていなかった。
 天気に恵まれ頂上からの眺めは最高で、また頂上で食べたチキンラーメンがとてもうまく私も娘も大満足であった。


 
 

朝日新聞10月22日号

(朝日新聞)
 龍馬将棋さんのブログによると、「be」の表紙に龍馬将棋さんの将棋盤が載ったとのこと。おめでとうございます。これ、全国版の日曜朝刊ですので、国民の10%は見ていると思いますよ、きっと。CSAの盤面ではなくて、どこかで見た盤面だなあとは思いましたが、まさか、龍馬将棋さんとは思いませんでした。商標の関係で市販ソフトを載せると問題が生じるから、市販ソフト以外で羽生3冠の熟考イメージに一番合うということで抜擢されたのでは。。。。

(GPW)
申し込み終わりました。あと20日。なんとかプログラムを仕上げないといけない。

(WILDCAT)
ボロボロとバグが見つかる。基本の基本のところでも。自玉まわりの評価がぜんぜんだめだ。

(伊勢原の大山)
昨日は、運動不足解消のために、4時起きで、伊勢原の大山へ。標高760メートルの見晴らし台まで登って、頂上を眺めると、今から登る頂上がガスですっぽり覆われていたので登るのはやめた。帰りに、原生林の中をゆっくり歩いて帰る。

GPWの申し込み

<近況>
 先週の3連休。後ろ二つは、結局、会社に出勤してしまった。連日、終電帰りが続く最近だ。明日朝、午前4時起きして、山登りに行く元気は、とてもない。一日、ぐっすりと寝ていたい雰囲気だ。

<GPW>
 箱根のGPWの参加申し込みが始まったとのこと。今年は、なんとしてでも参加するつもり。忘れないうちに、早めに予約をしてしまおう。金曜日は。会社を休まないといけない。さて、どんな理由にするかだな。何があっても呼び出されない理由を考えないといけないので、昔の友人あるいは恩師の命日参加のために、九州に旅行くらいにするつもり。携帯電話を連絡先にしておけば、九州にいようが、箱根にいようがわからんからな。携帯電話に感謝。

<GPW杯>
 夜は、コンピュータ将棋大会がもようされるとのこと。これも参加するつもり。そのためには、いろいろと準備をしないといけない。
(1)LAN対戦対応
 これは、昨年のバージョンがあるので、それを引っ張ってくれば、試験を含めて、1〜2時間程度の作業ですみそうだ。
(2)読み時間制御
 今回は、並列探索でやるつもり。並列探索の読みを途中で中断する方法について、思考錯誤が必要か。作業量としては、1〜2日を見込む。
(3)序盤定跡
 アナグマは飽きた。何か、ほかのをやってみるつもり。まあ、戦法は絞るつもりなので、1日目用と2日目用の2戦法で十分か。
 
この3つを準備すれば、何とか参加できそう。ただし、現在のバージョンは、16回参加バージョンと5局指して、0勝5敗の状況だから。まだまだ弱い。GPW杯では、いろいろなことを試してみるつもり。

おっと、書き忘れ。

 実は、マイムーブの活躍を書き忘れてしまった。
NHKのBSで1時半。「将棋と囲碁の時間」を観ていた。終わってからしばらくして、インタネットで観戦を始めた。結果、k-shogi*マイムーブ戦を見逃してしまった。両者とも、接続がうまくいったみたいで、かなり早い段階で、勝負がついてしまったようだ。棋譜を観るか入り、いい将棋を指しているなあ。もう一歩で、k-shogiに土をつけることが可能ではないか。なんでも2勝1敗の4位とか。WILDCATの戦績は、k-shogiに0勝4敗。マイムーブに0勝2敗。天敵の2ソフト同士の対戦は観たかった。

 龍馬将棋の中尾さんに拾われていたが、みさき*マイムーブ戦が、なかったのは残念。。。CSAの香山さん。次回はよろしくお願いします。
 

第4回オープン戦を終えて

お昼過ぎから今まで、インタネットで観戦していました。
 圧巻は、TACOS*BONANZA戦かな。途中、ソッポのところに両者が桂馬を打って、これはどうなるものかと思ったが、さすがにBONANZAの粘りにはうならされた。最後は、ギリギリのところで詰め上げ。保木氏に拍手。
 また、「みさき」がTACOSといい将棋をしていたことも印象的だった。ゆうちゃんとの対局も、もう少し。そしてHIT将棋には、鮮やかな逆転勝ち。筋の良い手を指す。まだまだ、強くなる予感だ。
 K-shogiがTACOSに一歩およばず。ちょっと指し手が甘い気がしたが、どんなものだろう。まだまだ調整段階の初期あたりかな。
 
 大会を終えて、やっぱり、自分が出場できなかったことが、少し、さびしい。11月は、出場できるように頑張ろう。
 

本日の第4回オープン戦

参加チームは少数ですが、面白い対局になりそうだ。

<Bonanza * TACOS>
 ビットボード、全幅探索、局面学習と3つの技法を極めて、16回選手権を征したBonanza,一方、7月の始めには、北陸先端大学での練習試合で1対1の成績を収めた決勝戦進出ソフト。この一戦は見ごたえある熱戦になりそうだ。


<K-shogi * マイムーブ>
 選手権で決勝進出まで、あと1歩まで近づいたk-shogi。今回は、念願の並列探索で参加か?またビットボード、全幅探索というbonanzaの長所をあっという間に取り入れて意気込むマイムーブ。バージョンが古いながら、k-shogiと対の成績を残しているというマイムーブの活躍がみもの。


<みさき * マイムーブ>
 選手権では、プログラムの不調により、敗退したが、そのくやしさをバネに、全幅探索、各種の枝がり手法を取り入れて成長著しいみさき。両者のブログでは、すでに、前哨戦が始まっており、どのような展開になるかが楽しみだ。


<みさき * HIT将棋>
 先読みなしで人間の感性を取り入れているという独特のアルゴリズムを持つHIT将棋。高速マシンを使ったじゅうたん爆撃型戦法が主流の現代コンピュータ将棋の流れに反旗を振りかざす侍ソフト。今回も先読みなしで推しとおすかが、勝負の鍵だろう。


 今回、WILDCATは。開発が間に合わず残念ながら参加できませんでした。インタネット中継で観戦させていただきます。参加者の皆様、頑張ってください。



朝早く目覚めてしまった日曜日

(WILDCAT)
150局以上の連続プレイで「落ちる」という症状だが、いろいろ調べてみると、かなり、根の深いところに原因があるらしいことが判明。その書きなおしに、とりかかる。しかし、この作業が、どんどん大掛かりになり、ドツボにはまってしまっている。いつまでつづくことやら、頭がいたい。

(ハッシュ表)
若干、時宜を逸した話題だが、「GA将!開発ぺえじ」に、ハッシュ表の実装の話が載っており、そこで文字列表現の話が書かれていた。それを、マイムーブさん、小宮日記さんが、不思議に思われて、結局、その理由が、「GA将!開発ぺえじ」に、説明されていた。
WILDCATは、開発を始めた当時、「ハッシュ表」の実装の仕方がわからず、情報処理関係の教科書をみたり、文献を読んだり、チェスのソースを読んだりしたが、将棋に特化した実装方法が、いまひとつしっくりこなかった。情報処理関係の教科書は、ハッシュの衝突ばかりに、ページを割いて、「じゃあ、実際、実装するときは、どうするの?」という疑問に、しっかり答えてくれる教科書はなかった(あるのかもしれないが、出会えなかった)。近くに、相談できる人もおらず、我流でやっていたが、ある日、NTTの研究者が、暗号処理の論文について書かれているのをWEB上で発見。それを読んだ時に、やっとそれなりの実装法が理解できた。(ただし、今の方法がベストかどうかは、まったく不明。恐らく、もっと良い方法があるのだと考えているが。)それを思うと、「ハッシュ表で文字列処理」の言葉を聞いたときに、マイムーブさんと、まったく同じ印象を持った。「私の知らないハッシュの世界(ホラーみたいじゃん)が、基本的なところでもまだあったのかなぁ。」、この表現いいですねえ。

(ハッシュ表、その2)
類似ハッシュ(疑似ハッシュ?)という言葉があって、いろいろな将棋文献を読むと、これがよく出てくる。しかし、これもわからなかった。「これはなんぞえ」と疑問に思いながら日々過ごしていた。ところが、ある日、通勤電車の中から、窓の外をボヤっと眺めてていると、ふっと、その実装方法が、頭に浮かんだ。その方法を試してみると、それなりに動いた。これも、もっともっと、よい実装方法があるのかもしれない。

(ハッシュ表のおまけ)
「私の知らない〜の世界」といえば、なんと言っても、野下教授(電通大)の持駒の集合関係を判定するアルゴリズムに初めて出会ったときだ。これには驚いた。こんなことを、思いつく人が、この世の中にいるのかと、感心してしまった。WILDCATで、数十行かかっていた複雑な処理を、単純の極みとも言えるたったの数行で、しかも、メチャクチャ高速に、このアルゴリズムは処理してしまう。これにはぶったまげた。

(ぶったまげ)
「ぶったまげた」といえば、もうひとつ。先日「詰めろ確率」についてブログに書いたところ、小宮日記さんに、三輪誠氏が書いた東大修士論文を紹介していただいた。早速、ダウンロードして読ませていただいた。しかし、これもすごい論文である。この論文には、「私の知らないSVMの世界」が広がっていた。通勤電車の中や、昼休みにじっくりと読まさせていただいている。しかし、東京大学の大学院生は、すごいことをするなあとつくづく関心させられる。そして、こう言う訳のわからない凄い理論に基づいて創られている「激指」には、「ぶったまげ」である。

情報ありがとうございます。

(詰めろ評価関数)
 「フダンの記録」の tawake さんが、詰めろ評価関数について、くわしくHP上で説明されていた。なるほどと感心すること多いですね。詰めろ評価用の条件のみならず、試験した評価値まで、紹介していただいた。ありがとうございます。ゆっくり検討させていただきます。
 昨年の王座戦で、勝又五段から、「数字の値がしょぼいよ」と突っ込まれていましたが、当方、GPS戦が、スクリーンに紹介されているときには、必ず、この数値がどのように変わるか、興味を持って見ていました。局面が終盤になれば、結構、敏感に変わっていたような気がしますが、、、残念ながら、今は、使われていないとのこと、。。
 棚瀬さんが、旧HPで、この詰めろ関数の評価値で、詰めルーチンに投下する時間(ノード数)を、自動的に割り振ることを書いていましたが、やはり、「詰めルーチン」は、時間の大食家。取り扱いはむつかしそうですね。ただ、非常に限定した局面ならば有効な気がします。ご教示ありがとうございました。WILDCATは、実装に挑戦します。

(同一局面評価)
 マイムーブさんが、HPで拾ってくれていました。ありがとうございました。極端に出現が多くなければ、無視しても問題ないですよね、同一局面の出現は。また、これを行うことで、直接的に強くなることには結びつきませんので。
 ただし、どうも、こだわってしまうのですよね。
 その後、いろいろと工夫(自己対戦の初期画面のサンプルリング方法にランダム性を加える)して、同一局面の出現を少なくすることに成功しています。プロの棋譜では、たとえば、初手から20手程度くらいまでですと、同じ指手で進む棋譜が無数に存在していますよね。それも気をつけないといけないようです。
 しかし、150局くらい指すと落ちてしまうバグは、いまだ治せません。辛いのは、150局目にいくまでに3〜4時間もかかってしまうことで、途方に暮れています。落ちた駒配置局面そのものを評価しても異常は出ないため、どうしたもんかと、ソースを眺めています。突然の「閃き」を待っています。

(大山)
 先日、大山のことを書いたら、マイムーブさんの指摘で、日本全国に多数の「大山」があることを知りました。当然で、中国地方には、有名な大山があったことを忘れていました。私がよく登る「大山」は、神奈川の伊勢原にある大山です。実は、今日も、朝4時に起きて登ってきました。
 頂上から眺めが非常によいこと。麓から頂上まで登りきる時間がゆっくり登っても2時間程度であること。山道に巨木が多いこと。
 別に、変な宗教に入っているわけではありませんが、運動不足の解消には、絶好のフィールドです。過去、10回程度、登頂しています。

(NHKの将棋放送)
 ということで、NHKの10;20からの将棋放送は、ビデオに撮りました。酒をちびりちびりやりながら、これを観ること。これが最高です。私にとって、日曜日の至極の時間です。今から観ます。

自己対戦

(詰めろ確率)
 某氏から、メールをいただいた。それによると、「GPWの過去の論文に、それと同じような試みをした論文が出ているよ」と教えてくれた。残念ながらGPWの論文集を持っていないので確認できない。11月のGPWでは、もしかしたらバックナンバーが手にはいるかもしれないので、それを期待しよう。あるいは、事務局に連絡するかだな。たしか、15回の選手権の時には、入り口のところでバックナンバーを売り出していたと思うが、そのとき、まとめて買っておけばよかった。今年の16回選手権の時には、なぜか、売り出していなかった。

(WILDCAT)
 自己対戦ができるようにした。16回大会バージョン(昨年版)を鍛える時には、初期局面から、指手に乱数値を加えて自己対戦をやっていた。これでは、悪手をチェックする際に再現性の問題があり、なんとかせねばと考えていた。
 17回大会用バージョンでは、乱数発生の必要性がなくなることを期待して、プロの棋譜で20手〜40手の任意局面から始めることにした。
 ところが、この方法を試してみると、100局を超えたあたりから、同一局面指しが、何度も出てしまうのである。同一局面の判定は、投了時の盤面の駒配置(ハッシュ値)をすべて記憶しておいて、過去と同じ局面で投了したときには、同一局面と判定する方法をとっている。プロの任意局面の選定が悪いのか、原因は不明。
 ところで、上の作業を進めていると、150局面程度指したところで、エラーで止まってしまうことに築いた。かならず150局面程度で止まってしまうのである。不思議だ。こういうバグは、退治しにくいバグで、頭が痛い。

 


 

第4回オープン戦

(第4回オープン戦)
10月に開催すると知らせを読んだ。残念ながら、今のWILDCATは、対戦できる状態とはいえないありさまである。今回は、パスする方向かな。11月の箱根には、なんとか、対戦できるまでに調整したいものと考えている。急がず、あわてず、ゆっくりと。

(進行度評価)
成美堂出版の「これだけできればシリーズ」の3冊(田中寅彦プロ監修)の序盤144題、中盤144題、終盤144題とのマッチ度を計ってみた。進行度の評価は、16回大会バージョンは、かなりいいかげんに、自分の感覚でエイヤーと評価関数を創ってやっていた。今回は、少し、思考錯誤を繰り返して、田中九段流の局面評価を客観値として、この評価にいかに近づけるかという課題で挑戦してみた。結果は、以下のとおりである。


16回大会出場バージョンによる進行度評価
0〜120点 120〜600点 600点〜
序盤 112題 32題 0題
中盤 52題 77題 15題
終盤 1題 12題 131題

新バージョンによる進行度評価
0〜120点 120〜600点 600点〜
序盤 112題 32題 0題
中盤 30題 95題 19題
終盤 0題 6題 138題

なお、WILDCATは、終盤を4つに分けて、(1)普通の終盤、(2)敵玉が入玉の可能性がある状態、(3)自玉が入王できそうな状態、(4)敵玉、自王ともに、入玉しそうな状態にわけて、攻撃、防御の評価方法をかえています。(ちょっと、細かすぎるかも。。。)

(詰めろ確率)
昨年の王座戦を観戦したときに、GPSチームが、「詰めろ確率」について、試用していた。これを一見したときにおもしろそうだなあと感じた。なんとかWILDCATにも、使えないか、検討中。盤面の駒配置、持ち駒、ききの状態だけで、おおざっぱに、詰めろ確率が評価できたら面白いと思う。

近況

 (青森)
 先週金曜日に青森市に出張。東京発9時の新幹線に乗って、帰ってきたのは、午後10時を過ぎていた。往復8時間の列車の移動はつらく、疲れてしまった。列車に乗っているだけで、あんなに疲れてしまうとはびっくり。体力、落ちているなあ。青森は、快晴で、カラッとしたすがすがしい天気だった。それに比べて、東京の蒸し暑さは、やりきれない。

 (WILDCAT)
 他ソフトとの対戦棋譜を、激指や東大将棋に解析させて大悪手の拾い出し作業を進めている。人間が棋譜を見てチェックしていけばよいのであろうが、自分の棋力もあてにならないし、時間的節約も含めて、ソフトに御願いしている。プログラムを修正したときには、修正したルーチンの「重さ」もチェックしている。これは1096題の次の1手問題を解かせることで対処。おおよそ10分〜20分くらいの作業なので、風呂に入っている時間、食事している時間、休憩時間を使っている。他ソフトとの対戦は、寝ている時間(だいたい午後11時頃〜午前7時頃)にやらせている。今のバージョンなら、時間制限なしの7手基本読みで、8時間あれば150局くらい指す。それで勝率をチェック。自己対戦は、現時点では行なっていない。

(微思考時間獲得処理)
マイムーブさんのブログで面白いことが書かれていた。プログラム内での思考打ち切り時間を、5秒、10秒というという区切りのよい時間ではなくて、4.8秒や9.9秒という半端な数字にするとのこと。それを動的に対処するれば、0.数秒の思考時間を稼ぐことが可能になる。思考時間において、1秒以下の小数点は切り捨てられるというルールを、最大活用する技(?)であり、なるほどと感心してしまった。マイムーブさんは、これを「セコイ」と表現していたが、とんでもない。これは、「相手の時間を使って考える」のような大技にはおよばないが、中技くらいには分類されるのではないだろうか。
 実は、WILDCATでは、このような細かいことはまったくやっていない。読みの打ち切り時間は、例えば18秒なら18000ms、25秒なら25000msということにしている。考えてみれば、0.数秒あれば、数万ノードの探索ができるわけで、チリも積もれば効果。結構、この実装は、効果があるかもしれない。実装自体もそんなに、むつかしくないであろうから、面白い。

大山登山

(大山登山)
7月下旬以降、体調悪く、8月末までは、会社以外ほとんど家から出なかった。どうも運動不足気味で、お腹も、ちょっとたるんできた印象。これでは行けないと、9月になり、ライフスタイルを昔に戻した。日曜日は、WILDCATの開発はせずに、遊ぶことに専念する生活に戻す。
ということで、今朝は、午前4時に起床して、車で大山の麓まで、6時ちょっと前から登り始める。1ヶ月程、激しいスポーツをやっていないため、登りの階段がとてもつらい。何回も休む。水をがぼがぼのむ。滝のような汗をかく。と、くるしみながらも、午前9時には、山頂へ。気持ちのより風が吹いていた。2時間ほど、のんびりと休む。山登りは楽しい!

(WILDCAT)
 WILDCATの第16回バージョンは、Null move forward pruning は実装していなかった。最終的に、実装しようかしまいか迷ったが、結局、やめた。致命的な悪手を指すような感じがして、実装をためらった。恐らく、実装に問題があったのであろう。
しかし、最近、いろいろ情報を集めてみると、Null move forward pruning を実装すると、劇的にスピードアップするとのこと。それではと、今回は、WILDCATに慎重に実装して、試しにスピードを測ってみた。

 1096題の次の一手試験問題を解くのに要する時間と正解を図ってみた。条件は、1手目のみ合法手全部、2手目から選択的探索。時間制限なし。読み延長は原始的なものを少し。athlon 4800+ シングル探索

基本読み5手、ヌルムーブあり。   113秒(正解370題)
同           なし。   159秒(正解376題)

基本読み6手、ヌルムーブあり。   225秒(正解440題)
同           なし。   418秒(正解478題)

基本読み7手、ヌルムーブあり。   625秒(正解505題)
同           なし。  1807秒(正解506題)

基本読み8手、ヌルムーブあり。  2508秒(正解554題)
同           なし。  9502秒(正解551題)

基本読み9手、ヌルムーブあり。 11157秒(正解574題)
同           なし。  実測せず

 やはり、null move forward pruning はすごい。これで基本読み9手〜10手が視野に入ったぞ。

情報処理学8月号(その2)

(情報処理8月号)
研究所の方に外勤する機会があり、昼休みに図書に行って調べたら、目的の8月号が置いてあった。ラッキー。それで、保木氏の論文を読む。感想は次のとおり。
(a)futility prunningって、こんなにすごいのだろうか。これはびっくり。
(b)「静的評価関数の自動調整は変分法の手続きに従い、目的関数を最大にするパラメタを求めることにより行われた。。(中略)。6万局から。。」のところの方法論が、何度考えても、わからない。ここのところ、一番、知りたかったことであるが。例えを1つか2つ挙げてもらえば、わかりやすいのであるが。。これがBonanzaの核心とおもうのであるが、、、。

(WILDCAT)
(a)パラパラとバグが、出てくる。驚くのは、昨年作ったソースの中にもバグがあったこと。もう、何百回と検査しているのに、まだまだ潜んでいるとは、しつこいものだ。今週、3つのバグを退治。まだまだあるなあ。
(b)多ソフトとの連続対戦を可能にした。久しぶりにAI2004と対戦。AI2004は4級。WILDCATは、基本6手読み。結果は33勝27敗。今の段階で、悪手排除などの調整を行っていない段階を考えれば、まあまあかな。ちなみに、昨年バージョンは、この程度の成績を出せたのが1月頃であったことから、今のところ、昨年バージョンよりは、開発の進捗状況は良い。

(秋葉原散策)
昨日、土曜日午後、秋葉原を散策。驚いたのは3つ。
(1)250Gの外付け、HDが1万円以下で売られていた。
(2)1Gのフラッシュメモリーが2000円以下で売られていた。
(3)AMD athlonX2 4800+が、4万円以下で売られていた。
4800+が39800円とは酷い。半年前は、8万円していたのに。これもcore duo2ショックが。

(衝動買い)
秋葉原の帰りに、東京の丸善で、本を2冊購入。「初級必修次の1手、105」「中級必修次の1手105」。共に週刊将棋編。通勤の電車の中で読むつもり。ゆくゆくは計算機にも入力して、WILDCATにも解いてもらおう(入力は骨が折れる作業だけど)。

(再検査)
月曜日。会社を午前休。病院へ再検査へ。結果は、「問題なし」とのこと。タバコを吸わない私が、肺ガンで死んでしまうなんて泣くになけない話だ。よかったよかった。これで、もうしばらくは生きていられそうだ。
Categories
訪問者数
  • 今日:
  • 昨日:
  • 累計:

  • ライブドアブログ