コンピュータ将棋3

〜〜〜機械仕掛けの将棋指し〜〜〜

工学部3年 山下 宏

1.「YSS」、市販される!

 1993年12月中旬、(株)サムシング・グッドより私のプログラム「YSS」(Yamashita Shogi System)が「AI将棋」として販売された。

 現在98版、Macintosh版、MS-Windows版が販売されており近々ファミコン版でも「羽生善治のおもしろ将棋」という名前で出る予定である。

 しかも結構売れているらしく世の中には誇大広告にだまされて買う人がなんと多いことか、としみじみ思ったものである。

(もちろんこの陰には(株)サムシング・グッドの営業マンの方々の必死の努力があったからこそなのだが)

 ちなみに私が学生大会で勝手にYSSの即売会をやった時には一部200円の破格のお値段だったにもかかわらず(AI将棋は定価9800円)、わずかに買ってくれた人は岩手大学の山田さんと千葉大の及川さんの二人だけであったので(しかも二人ともかなり無理に買ってもらった)なおさらであった。

 ま、そんなわけで印税もがっぽり入ってきて、一時は食パンと紅茶で3日間過ごしたような食生活も、今では生協でババロアシュークリームをついでにとれるぐらいにリッチになっている。

2.コンピュータ将棋選手権 序章

 コンピュータ将棋の日本一を競うこの大会も今年で4回目を迎える。もう初めて参加したときのような緊張感はなかったが、それでも同じ特異な趣味を持つもの同士が一同に会するのは1年に1度この時だけで心躍るものがあった。

 この大会のルールはスイス式7回戦で、持ち時間は30分切れ負け、千日手は引き分け、300手以上も引き分け、そして持ち込むコンピュータは自由(スーパコンピューターでも可)。切れ負け制なので速いコンピュータ程限られた時間で多くの手を読むことが出来るため、プログラムの工夫はもちろん、参加者の経済状態にも左右されるという厳しい大会である。

 ちなみに過去の私の参加機種を見ると最初が8年間使っていたPC−6601(大会当時5000円ぐらい?)次がバイトで買ったPC−386V(同じく16万)そして今回が会社から(サムシンググッドから)無理に持ち出したPC−9821Ap(30万)と如実に反映されている。

 後、協賛の古河インフォメーション・テクノロジー(主催はコンピュータ将棋協会(CSA))から賞金として優勝に30万、2位に15万、3位に5万円与えられる。

 今回の私は以前までとは違ってほぼ優勝を確信していた。と、いうのは大会前のスパーリングとして森田将棋4や極と対戦させてみた結果、普通に戦えば勝つ、という確信があったのである。(ただし極とはうまくかみ合えば勝てるかな、という感じだった)そのため、どんなに悪くても3位までには入り東京までの交通費は稼げるだろうともくろんでいたのであった(当時は貧乏だった)

3.コンピュータ将棋選手権 自戦記

 1993年12月5日(日)、東京将棋会館に於いて第4回コンピュータ将棋選手権が開催された。今回は初参加が5チームもあり全14チームの参加である。

 私の第1局の相手は「高田将棋ver2.0」。作者の高田淳一さんは「詰め将棋パラダイス」紙上において自作のプログラムで詰め将棋を解かせていることで有名である。

 将棋の方はYSSが着実に駒得を重ね、ちっとも寄せに行かないコンピュータの大好きな指し回しで勝利を収めた。

 第2局は「森田将棋4」。バージョンは「4」なのだが「3」は実際には市販されていないので市販品としては「3」である。森田さんには定跡などコンピュータに教えなくてもコンピュータは独自の力で定跡を見つけだすはずだ、という考えがあってか以前までの森田将棋は中住まいにすることが多かった。

 なお、棋譜をなんにも考えずにただなぞるだけ、というのは私に言わせれば断じて定跡ではない。たまにありったけの定跡をコンピュータにぶち込めば強くなるのではないか、と言う人もいるが、その方法ではコンピュータはその指し手の意味をまったく理解していないためほとんど意味がない(これは人間にも当てはまることではあるが)。例えば高美濃に組んだ後にコンピュータは49の金を48に上がったりする(王に近い方が価値が高いから、といった理由で)そんなことなら最初から組まない方がさわやかであるし、やられた人間も興ざめしないであろう。

 それはさておき、森田将棋の初手は96歩!

定跡をはずすためか、森田さんのユーモアなのか分からないが意表を突かれた。こういう時、某古沢さんならば咎めてやろうと10分ぐらい長考して94歩などと指すであろうが、動揺などという人間的弱点を持たないYSSはノータイムで34歩。

 以下、森田将棋は銀冠、YSSは総矢倉に組み第1図。YSSが不用意に8五歩と合わせたため7四歩と桂を殺されて困っている局面である。この時の私は「なーにやってんだこいつはー」といった気持ちであったが次のYSSの好手で俄然元気が出た。5六歩の突き捨てがそれで、以下25飛から28飛成が実現し有利に。ちなみに言うと、この手を指したのは、たまたまこの局面になったから指せた、のであって8五歩の合わせからの読みでは断じてない。YSSに運があったといえる。

第1図

題名:第74手、▲7四歩打に△5六歩です。

後手:YSS

後手の持駒:歩四 

先手:森田

先手の持駒:歩二 

手数=74 △5六歩 まで



第2図

題名:第145手、△8八歩打に▲同 金です。

後手:YSS

後手の持駒:飛 歩九 

先手:森田

先手の持駒:金 銀 歩 

手数=145 ▲8八金 まで

 長い中盤を経て(意味不明の手を含みながら)YSS優勢のまま終盤に入った。途中森田将棋が地平線効果のため(後述)やたら歩を叩いてくれて(成り捨ててくれて)かなり助かっている。

 さて、終盤のクライマックスは第2図で、同桂成、同玉、7八飛でいいかな、と見ていたらYSSはここから3手1組みで必死をかけてしまった。

 結構難しいので皆さんも考えて頂きたい。(20秒で初段、かな?)

正解は8七歩、同金、7八飛。までで見事に受けがなくなり以下森田将棋の王手攻撃をくらったものの無事に詰まして終わった。この必死は操作していて全然気づいていなかっただけに感激であった。

 この勝利によって将棋プログラムを作り始めた頃からの「打倒!森田将棋」の夢が叶うこととなった。作り始めたのが高校2年の時だから実に6年間かかったことになる。

 4年前、友人と共同で作っていたプログラムが森田将棋1のレベル1に勝った時には、夢が1%の現実になったと、喜んで日記に記してある。ただ、100%の現実となった今、それにもかかわらず優勝出来なかったのは時間の流れか。

 YSSに破れた直後の森田さんの落ち込み様は近寄りがたいほどであった。私としてはまだもうしばらくは「森田将棋」は超えられない壁であって欲しいと思う。やはり森田将棋を倒して優勝、というのがピッタリくるから。

 ちなみに今の夢はさらにずうずうしくなって名人をぶっ倒すことになってはいるが。

第3局、対「柿木将棋Ver3.0」戦。

 ここまでお互い連勝できていて優勝戦線に残るためにも、また柿木さんにとっては前回YSSに1発喰らって優勝を逃しているだけに雪辱もかかっている大きな1戦であった。

 柿木義一さんは普通の会社に勤めるかたわら趣味で将棋プログラムを作っている人で、身分としては私と同じアマチュアである。(プログラムは市販されているのでプロとほとんど変わりないが)

 私はもちろん当然勝つつもりでいたのだが、この対局が予想外の展開となった。

 

 YSSの先手で始まった対局は柿木将棋が角がわりに持ち込み第3図。一昔前ならとてもコンピュータ同士の対局とは思えない局面である。ここから柿木将棋は仕掛けてくる。69角!なかなかに鋭い。これに対する正着は47角と受けて1手損するしかないのであるが、YSSは欲張って27角。後日聞いた柿木将棋の読み筋では18角なら16歩、27角なら78角成から26金で良し、というしっかりしたものであった。だが、以下78角成、同飛、62飛?と進む。これは恐らくYSSの角が逃げる手を読まなかったため、いつでも26金は打てる、と判断したためであろう。

第3図

後手:柿木

後手の持駒:角 

先手:YSS

先手の持駒:角 

手数=45 ▲6七金直 まで

 ここで、柿木は▽6九角と打ちました。後日、調べた読みの内容は、▲1八角なら ▽1六歩、▲2七角なら▽7八角成から▽2六金〜▽3七金で有利というものでした。  実際、以下、▲2七角▽7八角成と進みました。

35手進んで第4図。YSSの陣形は78の金をはがされた割には随分まともに回復している。これは落とし穴効果(位置による点数付加法。青葉譜7号参照)のたまもので、作った方から見れば笑っちゃうくらいちゃちな事なのだが知らない人が見ると感心する便利なものである。いい形を暗記するというのは人にも機械にもかなり効果がある事がわかる。が、そんな事とはうらはらに46歩と打たれて未だ不利である。同銀だと同金、同飛に57銀を喰らうのでじっと48銀と耐えた。

第4図

後手:柿木

後手の持駒:歩二 

先手:YSS

先手の持駒:歩 

手数=80 △4六歩打 まで

 ここでの▽4六歩がうまい手でした。▲同銀は▽同金▲同飛に▽5七銀があり、YSSも▲4八銀と引きました。

 そして痛恨の悪手が第5図での57金。以下68龍と1つ寄られてあっと言う間に絶望的になってしまった。この手の原因は読みの深さが浅かったことに尽きる。YSSは今回基本的に6手の深さまでしか読んでおらず、また6手目は末端処理をしていたため王手は読んでいなかった。YSSの読みは57金、68龍、67金、79角、87玉で次の88金は王手なので読んでおらず、そこで龍が逃げるのならば56の歩が取られずに良し、というものだった。本譜は以下84桂、69角!(好手)までで受けなしになり、ここでかっこよく投了している。(ほんとは97玉、78角成、87桂というくそ粘りを見つけきらなかったため)

 この対局に関して言えばYSSが不出来だったのではなく柿木将棋が出来すぎていた、というしかない。他の対局も見てみたが対YSS戦が一番会心の指し回しであった。完敗である。

第5図

題名:第108手、▲3七銀に△5八飛成です。

後手:柿木

後手の持駒:角 金 歩 

先手:YSS

先手の持駒:金 桂三 歩五 

手数=108 △5八飛成 まで

消費時間

YSS : 5:56

柿木: 18:16

がっくりきた後の対局は初参加の「スーパー橋本将棋」。X68Kで動いていたのだが特注すべきは指し手、将棋盤を表示するはずのディスプレイがなく、代わりにプリンター!に指し手を印刷させて対戦させていた事である。確かにプリンターならば軽くて便利かもしれないが、もしもの時にプリンターでは・・・。しかも結構いい動きをして第6図、67銀と子供攻めをされてピンチ。初心者なら受け間違いそうで多分YSSも間違うだろうと冷や冷やしながら見ていたら最善手の69香。以下勝ち。

第6図

題名:第56手、▲9二とに△6七銀打です。

後手:橋本

後手の持駒:歩二 

先手:YSS

先手の持駒:桂 香 

手数=56 △6七銀打 まで


次の対局は100手を超える詰め将棋を解くプログラムを作って新聞でいろいろと紹介されていた伊藤琢巳さんの「電脳解人MK−U」。現在は629手詰めの「寿」をすら解いてしまっている。もはや詰将棋の世界は完全にコンピュータの支配下に入ってしまった。苦労して作った問題をコンピュータにかけて余詰めを指摘されるか否や、という瞬間がこれからは頻繁に起こるだろう。編集者は楽だが・・・。

しかし、本将棋の方にはそう簡単に同じアルゴリズムは適用できなかったようで向飛車から2枚金にがっちり組まれて途中悪くなったものの相手の疑問手連発に助けられて第7図、ここより36歩、26銀に37金とぶち込んで(詰まないのだが)詰まして勝っている。

第7図

題名:第89手、△1五角に▲3七銀です。

後手:YSS

先手:電脳解人

先手の持駒:なし

手数=89 ▲3七銀 まで

 ここで最大の難関、対「極」戦を迎える。極はここまで危ない将棋を乗り越えつつ全勝、対するYSSも4勝1敗でここで勝てばまだ優勝の可能性もあった。

 ここで話は1日前に戻る。私は東京でパソコンを借りながら恐らく極は前回のように振飛車穴熊でくるに違いないと思っていた。しかるにYSSは角がわりと矢倉の定跡しか入れていない。常々穴熊は汚い戦法だと考えていた私はYSSだけには穴熊はさせるまいと考えていた。が、向こうがやってくるなら「目には目をだ!」というわけで急きょ対極用として相手が10手以内に飛車を振ればガチガチの居飛車穴熊に組むようにプログラムした。それは高々30分くらいだったが組んでみると実によく動く。これで少なくとも互角には持ち込めるはずだ、と一人ほくそ笑んでいた。

 だが当日、極は序盤怪しげな動きでなかなか飛車を振らない。結局極は12手目にしてようやく飛車を振り、相手を居飛車だと思っているYSSは平然と矢倉模様に組む。

もし、事前にこのような事を予測し、簡単に形を決めないようにプログラムされていたとするならば、くやしいが極の方が一枚上手だったことになる。

 しかし、なぜか将棋の方は第8図の28銀打ちが大悪手で以下、33飛成、同桂、44角で、あっと言う間に勝勢に。

第8図

題名:第42手、▲6六歩に△2八銀打です。

後手:極

後手の持駒:歩 

先手:YSS

先手の持駒:銀 歩二 

手数=42 △2八銀打 まで

 それから、少し進み51香とひもを付けて頑張る極に対してYSSが77の桂を65に跳ねた局面が第9図。この手で私は完全に勝利を確信した。ちょうどこの時OBの渡辺慶朗さんと太田哲也さんがわざわざ応援に来てくださったので、有頂天になって「これは勝ちますよ」と吹聴していた。まさかこの将棋がひっくり返るとは・・・、極の強さを甘く見ていたのは他ならぬ自分であった。

第9図

題名:第63手、△5一香打に▲6五桂です。

後手:極

後手の持駒:銀 桂 歩四 

先手:YSS

先手の持駒:飛 歩 

手数=63 ▲6五桂 まで

YSSの方にやや疑問手が連発して第10図。極が苦し紛れに57歩と叩いてきたところである。ここで人間ならノータイムで同銀だがYSSは67金右、部分的には悪手ではない。もし相手が以前のコンピュータ将棋ならば。しかし、極はここから最強と言われるべく強さを発揮するのである。

69桂成り!同玉、67金、同金、88角成り!、駒得に走らずに詰めろを掛けてきた。(第11図)

しかもこれをどう受けても87馬の王手桂取りで65の桂を取られてしまう。

もはや、最近のコンピュータ将棋では69桂成りの様なただ捨ての手まで読まなければならないのかと思うとうんざりする。

 この後YSSは62金、82玉、71銀、同金、72金、同金、57銀と悪手を指せるだけ指して手を戻す。これは前述した地平線効果によるもので62金のYSSの読みは以下82玉、72金、同金、53桂成り、で次の58金の1手詰めが6手目の王手なので読んでおらず、この変化を飛車得と判断したのである。つまり王手を連発することで自分に不利な手を地平線の奥に?見えなくしてしまったのである。これはコンピュータ将棋全般に言えることで解決しがたい難問題として残っている。この効果はよく歩を無意味に叩く手としても現れる。YSSは対策として無駄にただで駒を捨てる手に対して、それを取る手の探索を無条件に2手深くすることで部分的に対応していたが王手の対策は難しくてしていなかった。

第10図

題名:第72手、▲5五歩打に△5七歩打です。

後手:極

後手の持駒:歩三 

先手:YSS

先手の持駒:飛 銀 

手数=72 △5七歩打 まで

第11図

題名:第78手、▲6七金に△8八角成です。

後手:極

後手の持駒:金 歩三 

先手:YSS

先手の持駒:飛 金 銀 桂 

手数=78 △8八角成 まで

 負けを確信したのでさっさと寄せてくれればいいものを極もご多分に漏れず王手々々を繰り返してかなり怪しくなって第12図。ここに至る前、私はいつ極がノータイムで指してくるかと冷や冷やしぱなっしだった。というのも普通詰将棋は一番最初に読むので詰みがあれば1秒以内に(11手詰めくらいなら)指してくるからである。と同時にYSSに早くノータイムで指して欲しいと思ってはいたのであるが。

 この桂打ちは詰めろだが週刊将棋の解説ではここで極玉に82飛以下の即詰みが(最短で23手(森田4で検証))あるとのこと。あの記事を書かれた方はかなり強いですね。(私は無論気づいていない)

 当然YSSにも読み切れるはずもなく(13手まで)45金と防ぐ。だがこの瞬間極はノータイムで55香!対してYSSもノータイムで投了した。詰である。

第12図

題名:第108手、▲5七玉に△5四桂打です。

後手:極

後手の持駒:銀 香 歩四 

先手:YSS

先手の持駒:飛二 銀 香 歩二 

手数=108 △5四桂打 まで

先手:YSS

後手:極

▲7六歩 ▽3四歩 ▲4八銀 ▽4四歩 ▲2六歩 ▽3二銀

▲7七角 ▽4三銀 ▲8八銀 ▽3三角 ▲6八金 ▽2二飛

▲2五歩 ▽5四歩 ▲2六飛 ▽6二玉 ▲8六角 ▽7二銀

▲5六歩 ▽5二飛 ▲7七角 ▽4二金 ▲6九玉 ▽5三金

▲5八金上 ▽7一玉 ▲7八金 ▽6四金 ▲6八角 ▽5五歩

▲同 歩 ▽4五歩 ▲7七銀 ▽2二飛 ▲6六銀 ▽4四銀

▲3六飛 ▽5五銀 ▲3四飛 ▽6六銀 ▲同 歩 ▽2八銀打

▲3三飛成 ▽同 桂 ▲4四角打 ▽6二飛打 ▲5三銀打 ▽1九銀成

▲6二銀成 ▽同 飛 ▲6五歩 ▽同 金 ▲7七桂 ▽7六金

▲3三角成 ▽2九成銀 ▲5四桂打 ▽5二飛 ▲5三歩打 ▽同 飛

▲4四馬 ▽5一香打 ▲6五桂 ▽3三銀打 ▲3五角 ▽4四銀

▲同 角 ▽7七桂打 ▲6八玉 ▽6六角打 ▲5五歩打 ▽5七歩打

▲6七金右 ▽6九桂成 ▲同 玉 ▽6七金 ▲同 金 ▽8八角成

▲6二金打 ▽8二玉 ▲7一銀打 ▽同 金 ▲7二金 ▽同 金

▲5七銀 ▽5四飛 ▲1一角成 ▽7七桂打 ▲5九玉 ▽6九金打

▲4九玉 ▽3九金打 ▲4八玉 ▽5九銀打 ▲5八玉 ▽5五飛

▲7三桂成 ▽同 桂 ▲5六香打 ▽同 飛 ▲7四桂打 ▽9二玉

▲5六銀 ▽同 香 ▲同 金 ▽6八金 ▲5七玉 ▽5四桂打

▲4五金 ▽5五香打 ▲投了

 最終戦は「隠岐」とであった。この対局はYSSの会心の1局であったのだが、実の所を言えばもう少し勝ち星の多い相手と当たってソルコフを上げたい、というのもあった。

結果論になるが、大会結果は極が全勝優勝。そして柿木、森田、YSSがまた前回同様三つ巴の形で星を潰しあって(前回とは逆だが)5勝2敗で並び、森田とYSSはソルコフ、SBまで一緒でMDとかいう訳のわからん評価でYSSが4位になっているだけあって少し納得できないものがあった(交通費があったし)。まあ、優勝出来なければ全部一緒ではあるが。

 さて、隠岐との将棋は序盤早々隠岐が筋の悪い王手(第13図)。これに対して普通は33銀と受けるがYSSの応手はずる賢く52玉。次に14歩で取る駒がありませんよ、というわけである。以下、▲2五歩▽3三桂▲2四歩▽3二金▲2三歩成▽同 銀▲2四歩▽1四銀▲2六角▽2五歩で結局角は死んでしまうが。

第13図

題名:第7手、△2二銀に▲1五角打です。

後手:YSS

後手の持駒:角 

先手:隠岐

先手の持駒:なし

手数=7 ▲1五角打 まで

で、見せ場が第14図。ここから3手1組の好手が出る。見ていて感心してしまった。44角、88銀に95角!。受けがないことを読み切るのはコンピュータの得意分野である。ここを先に95角では68金、44角、96歩、68角成、同銀で少し損をする。

実戦は以下、77銀、同角左成、同桂、同角成、68飛に56歩!と、かっこいい手を指してさわやかに勝っている。

第14図

題名:第23手、△5三銀に▲1六歩です。

後手:YSS

先手:隠岐

先手の持駒:歩 

手数=23 ▲1六歩 まで

先手:隠岐

後手:YSS

▲7六歩 ▽3四歩 ▲2六歩 ▽6二銀 ▲2二角成 ▽同 銀

▲1五角打 ▽5二玉 ▲2五歩 ▽3三桂 ▲2四歩 ▽3二金

▲2三歩成 ▽同 銀 ▲2四歩打 ▽1四銀 ▲2六角 ▽2五歩打

▲2三歩成 ▽同 金 ▲5三角成 ▽同 銀 ▲1六歩 ▽4四角打

▲8八銀 ▽9五角打 ▲7七銀 ▽同 角左成▲同 桂 ▽同 角成

▲6八飛 ▽5六歩打 ▲同 歩 ▽5七銀打 ▲3一角打 ▽6八銀成

▲同 金 ▽9九馬 ▲3二銀打 ▽4二銀 ▲2三銀成 ▽8九飛打

▲6九金 ▽3一銀 ▲2四金打 ▽5七桂打 ▲1四金 ▽6九飛成

▲4八玉 ▽4九桂成 ▲5七玉 ▽6八角打 ▲中断



4.コンピュータ将棋選手権 終わって

今回の敗因の一つに読みの浅さがあった。しかも実際の消費時間も

消費時間

森田: 21:15

YSS : 10:28

YSS : 5:59

柿木: 18:16

YSS : 7:55

極 : 26:52

となっておりYSSは全体的にほとんど持ち時間を10分も使っておらず、もう少し(後1手は)読みの深さを上げれたであろうだけに残念であった。

これは実際に調整したのが遅いPC-386Vだったため、どのくらい借りたパソコンで速くなるのかよく分からなかったためである。

つけ加えると森田、柿木、極はいずれも当時最速のPC-9821Afを使っており私の使ったPC-9821Apとは2倍程度の差がある。

まあ2〜3倍の処理速度の差はアルゴリズムで簡単に克服できるのであまり関係ないが。

 また、今回大会に参加して強く感じたのはプログラムの棋力の向上である。もう、以前のように大ポカをやる確率が(上位のソフトでは)極めて少なくなっている。有段者でも10秒将棋なら全勝するのは難しいかもしれない。終盤の力不足は否めないが序盤においては60万手!の定跡を記録していたソフトもありヘタに定跡どうり指すと詰みまでもっていかれかねない。考えてみれば日本将棋連盟に蓄積されている全ての棋譜を記憶して対局に望むのならば序盤20手程まではプロ級になってしまう。しかも終盤では詰将棋の分野においては記したとうり、もう人間では勝てない。

 例えば第15図。ここから森田4が即詰みに討ち取る。78龍、同玉、67金、同玉、58角、同玉、48飛、同玉、47金、以下である。

 こう書いているともうめちゃくちゃコンピュータは強いのか、と思われるが「一貫した目的を持った直線的な思考」をする人間の敵にはまだなっていない。勝てる対象はせいぜい5、6手しか読めない初中級者である。今は・・・

第15図

題名:第95手、△7七歩打に▲同 銀です。

後手:森田将棋4

後手の持駒:飛 角二 金二 香 歩 

先手:永世名人 L3

先手の持駒:銀 歩二 

手数=95 ▲7七銀 まで

5.将棋方程式を解く。

 将棋プログラムを強くするにはまず第一にバグがないこと(まあこれは冗談として)、次に正しい手を読ませることである。どんなに多くの手を読ませても正着が欠けていれば絶対にプログラムはその手を指さない。そしてその読んだ結果の局面が良いと正しく判断できることも大切である。

 プログラムが強くなってきたのはパソコンのスピードが上がったのも一つだが、やはり人間的な考え(ヒューリスティック)を多く取り入れてきたところが大きい。局面の評価(大局観)については今の所、駒得くらいしかはっきりした基準がないので工夫するところは読む手を選択するところである。

YSSでは次の様に分類している。

まず、攻める手、受ける手に分ける。

攻める手としては駒を取る手、成る手、次に駒を取りに行く手(両取りも含む)に分ける。

受ける手としては、取られる駒に対して逃げる手、合駒する手、ひもを付ける手、相手の駒を取る、飛角香の利きが足しているならそこに合駒、また、先にその升目に駒を打つ、利きを付ける、等である。

面倒だがこれらの場合分けをして処理している。

これだけか!と、言う人もいるかもしれないが人間だってこの程度しか考えていない人は多い。

 また、このように分類しているのでコンピュータも人間と同様に攻めは好きで受けが下手となっている。(受けの方が手が多い)

この生成法の致命的欠点は1手の読みに基づいてしか指し手を生成しない点である。つまり考えが浅いのである。

そこで受ける手に対してはもっと深い生成ができるようにした。

YSSにおいて工夫しているところを述べると、最善の応手を求めてから、その後、その指し手(応手)を反駁する手をそれまでの各深さにおいてさらに生成している点である。

ちょっと人工知能っぽく言うならば推論できるようになったのである。

ざーっと読んでみてその結果「6手目に割銀がかかるからあらかじめ飛車を逃げておこう」とか、「角が追われて死ぬから5手後の逃げみちを開けておこう」といった事が可能になってきた。

また、これは攻めにもつながる。例えば「飛車を追い回すと34に逃げられるから34に歩で利きをつけよう」といった感じに。

まだ現在のYSSには1手の推論しかさせていないが。

逆に攻める手の深い生成は難しい。例えば「ここで歩を突いておけば5手後には王手飛車がかかる」、といったことは5手後の局面を想定して、そこで歩を突いて王手飛車がかかる事を理解しなければならない。実際にその局面が出てこなければいけないのである。できないことはないかもしれないが、さらに処理が面倒で時間がかかる。

「中合の歩を取ったら両取り」なんてのも面倒そうな処理である。こういったものは種類が多いので大変だが少しづつ取り入れようと思っている。

また終盤においてはまだ作っていないので確かな事は言えないが1手1手の状態(受けが効かない)であることを見つけるプログラムを制作中である。

これができると11手詰を防ぎつつ13手の詰めろをかける、なんて事が可能となる。

 ただし、これも凝りだしたらキリのないところで本当の意味での「必死」をかけようと思えば、かかった瞬間の相手からの無謀な王手王手からの絶望的な受けまで考慮に入れねばならず、どこまで上手に端折るかが問題となる。

 将棋プログラムの作成というとキーボードをカタカタ叩いている姿を想像されるだろうが、実際に1番大変なのはアイデアを考えるところであって、実際に打ち込むのはバグを叩き潰す時間のかかる単純作業をしているにすぎない。

 現在のYSSの、総じてはコンピュータ将棋の棋力は1級はあるであろう。

AI将棋の最高レベル(6手目まで王手を読んで8手まで駒取りを読む)の6枚落ちでは東北大将棋部のA級の人間でも初めてやって勝つのは難しい。(何度かやれば無意識に特徴をつかんで必ず勝つため、最初の勝負だけが対象である)

初段ではまず勝てない。ちなみに私も1度真剣にやって負けた(笑)、なお勝ったのは鈴木さんのみである。

 後、思考時間を増やしさえすれば無限に強くなるのではないか、という人のために言うと、ある意味でそれは正しい。だが2倍の時間をかけたところで決して2倍強くなりはしない、ほんとに2倍強くしようと思えば100倍(将棋の平均の枝分かれ)時間をかけねばならない。つまりあっと言う間に天文学的数字になってしまうのである。まあ、実際はαβ法のため10倍ぐらいですむが。なお、上記の2倍というのは気分の数字である(2倍・・・相手より1手深く読める)棋力は測れないので。

 これから先は理想論、いわば私の大ボラと聞き流してもらってかまわない。

 8年後。これを読んでいるあなた、もしあなたがプロでない限り、あなたはコンピュータに破れます。そして2010年、たとえ羽生であろうと誰であってもコンピュータに勝てないつまらない時代がやって来ることをここに記す。

 その対局は中終盤では問題にならず、いかに序盤で差をつけるか、が唯一人間が勝てるチャンスとなろう。

 コンピュータはミスをしない。何手先でも確実に正確に再現できる。将棋方程式に解はあり、今は近似解だがコンピュータはより真の解を見つけだすだろう。

 単なるシリコンのチップが最も才能のある者の創造力、想像力を超え、彼が到達した最高の地位に居座る日がそこまで来ているのである。それまでせいぜい長生きしていただきたい。

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

YSS Ver 4.0仕様

ソース     16668行 400KByte

実行ファイル         200KByte

言語 C

コンパイラ Turbo−C 2.0を使用

製作マシン PC−386V(20MHz)(CPUをCx486DLCに交換)

ハードディスク 内蔵20MByte

RAM 1.6MByte

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

参考文献

1.コンピュータ将棋 小谷善行 吉川竹四郎 柿木義一 森田和朗共著 サイエンス社1990

2.コンピュータチェス 小谷善行他訳 サイエンス社 1994

3.人工知能ハンドブック(第1巻) Avron Barr著 共立出版 1983

4.人工知能 P.H.ウィンストン 長尾真 白井良明共訳 培風館 1980

5.機械知能論 志村正道 昭晃堂 1983

6.月刊「アスキー」1984年10月号 ”ゲームの木の探索の新しい方法” 森田和朗

7.月刊「マイコン」1985年5月号 ”第2期「名譜戦」実況レポート” 若林宏

8.日経サイエンス1990年12月号 ”コンピューターはチェス名人に勝てるか” 実近憲昭訳

9.日経サイエンス1992年5月号 ”初段を目指すコンピュータ将棋” 飯田弘之 小谷善行

10.コンピュータ将棋協会(CSA)資料集 vol.2〜6

11.bit 1992年4月、93年4月 ”コンピュータ将棋選手権”

12.将棋マガジン 1992年2月、93年2月 ”コンピュータ将棋選手権” 角建逸

13.MICRO 1984年3月号 新紀元社 ”将棋プログラム「ESS」”若林宏、”詰将棋「王手」”田中遊一“