吟遊詩人のDeep Learningその3〜Bonanzaに挑戦した話〜

どうも~、吟遊詩人です。今回もDeep Learning、やっていきますよ。

前回グラボも新調して、初めて作ったAIと対局しました。

(前回:吟遊詩人のDeep Learningその2〜はじめて将棋AIを作った話〜

前回作ったAIは、本に書いてあった最初に作成するやつで、方策ネットワークのみを持っていて、学習した棋譜も1000局程度でした。

本の最後に作成するAIは、方策ネットワークと価値ネットワークをマルチタスクで学習して、並列でモンテカルロ木探索を行うものです。

このAIに3万局ほど学習させて、今回Bonanzaに初挑戦してみました。

対吟遊詩人戦

Bonanzaと戦う前にまずは自分で実際に戦ってみます。

先手が吟遊詩人、後手が作ったAIです。

(GILBEYは私が24将棋で使っているアカウント名です。ウォーズではforestmartというアカ名です。ザコですが見かけたら対戦お願いします。)

KIF形式棋譜ファイル

Generated by Shogidokoro

手合割:平手
先手:GILBEY
後手:parallel_mcts_player
手数—-指手———消費時間–
1 7六歩(77) (00:05 / 00:00:05)
2 3四歩(33) (00:24 / 00:00:24)
3 2六歩(27) (00:07 / 00:00:12)
4 8四歩(83) (00:08 / 00:00:32)
5 7八金(69) (00:08 / 00:00:20)
6 8五歩(84) (00:11 / 00:00:43)
7 2五歩(26) (00:11 / 00:00:31)
8 8六歩(85) (00:08 / 00:00:51)
9 同 歩(87) (00:02 / 00:00:33)
10 同 飛(82) (00:06 / 00:00:57)
11 2四歩(25) (00:09 / 00:00:42)
12 同 歩(23) (00:04 / 00:01:01)
13 同 飛(28) (00:06 / 00:00:48)
14 3二金(41) (00:04 / 00:01:05)
15 5八金(49) (00:27 / 00:01:15)

15手目

15手目、自分のAIの横歩とるのが怖くて5八金としたところです。

横歩も取れないような男に負けては御先祖様に申し訳ない

(故)米長邦雄 永世棋聖


16 7六飛(86) (00:08 / 00:01:13)
17 2二角成(88) (00:26 / 00:01:41)
18 同 銀(31) (00:07 / 00:01:20)
19 6五角打 (00:09 / 00:01:50)
20 8六飛(76) (00:09 / 00:01:29)
21 2二飛成(24) (00:10 / 00:02:00)
22 同 金(32) (00:09 / 00:01:38)
23 4三角成(65) (00:05 / 00:02:05)
24 8九飛成(86) (00:10 / 00:01:48)
25 4二銀打 (00:41 / 00:02:46)
26 6二玉(51) (00:01 / 00:01:49)
27 5三銀成(42) (00:10 / 00:02:56)

27手目

27手目5三銀成とした局面はすでに後手良しらしいですね。25手目は銀打ちではなく8四歩打としたほうが良いそうです。王手は追う手の典型的な疑問手ですね。


28 7二玉(62) (00:11 / 00:02:00)
29 4四馬(43) (01:45 / 00:04:41)
30 8六桂打 (00:14 / 00:02:14)
31 6八金(58) (00:34 / 00:05:15)
32 7八桂成(86) (00:09 / 00:02:23)
33 同 金(68) (00:06 / 00:05:21)
34 5六歩打 (00:08 / 00:02:31)
35 6六馬(44) (00:46 / 00:06:07)
36 5七歩成(56) (00:10 / 00:02:41)
37 同 馬(66) (00:08 / 00:06:15)
38 6二銀(71) (00:16 / 00:02:57)
39 5四成銀(53) (00:34 / 00:06:49)
40 9九龍(89) (00:18 / 00:03:15)
41 7五桂打 (00:17 / 00:07:06)
42 7四歩(73) (00:13 / 00:03:28)
43 8四歩打 (00:44 / 00:07:50)
44 7五歩(74) (00:13 / 00:03:41)
45 6六馬(57) (00:10 / 00:08:00)
46 8九龍(99) (00:14 / 00:03:55)
47 2二馬(66) (00:13 / 00:08:13)
48 8六桂打 (00:21 / 00:04:16)
49 5五馬(22) (00:45 / 00:08:58)
50 8二歩打 (00:16 / 00:04:32)

50手目

45手目は馬を引いて自陣の守りに利かせました。

馬の守りは馬一枚分

将棋の上手いゴリラ

49手目5五馬は粘った詰ろでしたが、見逃してくれるはずもなくちゃんと歩で受けられました。


51 5八玉(59) (02:55 / 00:11:53)
52 7八桂成(86) (00:14 / 00:04:46)
53 同 銀(79) (00:21 / 00:12:14)
54 同 龍(89) (00:12 / 00:04:58)
55 投了 (00:57 / 00:13:11)
まで54手で後手の勝ち

投了図

投了図以下は11手詰めらしいです。

54手目は同龍とせずに5九飛打で7手詰らしいので、まだ詰みを読むのは苦手のようです。(本にもそう書いてありました。)

対Bonanza戦

さて、前座はこのくらいにしていよいよ真打の登場です。

Bonanza_v6.0

Bonanza(ボナンザ)は、コンピュータ将棋のプログラム。Windows用のフリーウェアとして公開されており、誰でも無償でダウンロードして利用できた。ソースコードも公開されている。

作者は公開当時カナダ在住だった日本人の化学者保木邦仁。作成当時は将棋についてはほとんど知らないことも話題となった。後に発行した本では、自らの棋力を「11級」と評した。

2005年6月にver.1.0が公開。その棋力の高さは公開直後から渡辺明が自身のブログで「プロが平手で餌食になった」「奨励会有段者クラスがコロコロ負けているらしい」とたびたび話題にし、渡辺自身も「10秒将棋だと10回に1、2回はやられる」と述べた。また、コンピュータらしくない自然な手を指すとの評が確立した。棋力の指標となる将棋倶楽部24でのレイティングは2006年当時で2400以上(アマチュア五段相当=主要アマチュア棋戦の県代表争いレベル)に達した。

メジャーアップデートされたver.2.0は2006年5月に行われた第16回世界コンピュータ将棋選手権大会にBonanzaとして初出場し、歴戦の将棋ソフトが居並ぶ中で初優勝した。高性能なワークステーションで参加する者も多い中、Bonanzaは一般向けのノートパソコン (VAIO SZ-90S)、筐体を冷却するのは小型USB扇風機と、低スペックの環境での優勝であった。この赤い扇風機は、後に市販された初回限定版に同梱されるなどBonanzaの象徴となり、後述する渡辺との対局でも、Bonanzaのシンボルマークとして筐体の上に設置された(風は送っていない)。既に草創期を脱し強豪ソフトが固定化されてきた中、初出場での優勝、ノートパソコンでの優勝、フリーウェアの優勝という三重の「初づくし」は、コンピュータ将棋界に巨大な衝撃を与えた。

出典:Wikipedia 「Bonanza」

Bonanzaは当時将棋AIとしては主流でなかった全幅探索というチェスAIの考えを取り入れたのが強さの秘訣だったようです。

開発者の保木さんは化学専門だったんですね。私も博士号は化学系で取りました。

奇遇ですね。(一緒にしたら怒られそう)

では、将棋AI界のレジェンド、ボナンザに挑みましょう。実戦!!

対局風景はこんな感じ。お互いの指し手を私が代理で入力します。(アナログだなぁ……)

先手が私のAIです。

KIF形式棋譜ファイル

Generated by Shogidokoro

手合割:平手
先手:parallel_mcts_player
後手:Bonanza_v6.0(代打ち)
手数—-指手———消費時間–
1 7六歩(77) (00:08 / 00:00:08)
2 3四歩(33) (00:01/00:00:01)
3 6六歩(67) (00:06 / 00:00:14)
4 8四歩(83) (00:01/00:00:02)
5 7八銀(79) (00:08 / 00:00:22)
6 6二銀(71) (00:01/00:00:03)
7 4八銀(39) (00:07 / 00:00:29)
8 6四歩(63) (00:10/00:00:13)
9 3九金(49) (00:08 / 00:00:37)

9手目

先手AIは角道を止めて持久戦の構えです。3九金はあまり見ない形ですかね?


10 6三銀(62) (00:17/00:00:30)
11 5六歩(57) (00:08 / 00:00:45)
12 3二銀(31) (00:10/00:00:40)
13 5七銀(48) (00:07 / 00:00:52)
14 4二玉(51) (00:10/00:00:50)
15 2六歩(27) (00:07 / 00:00:59)
16 5二金(61) (00:10/00:01:00)
17 2五歩(26) (00:07 / 00:01:06)
18 8五歩(84) (00:10/00:01:10)
19 7七角(88) (00:08 / 00:01:14)
20 7四歩(73) (00:10/00:01:20)
21 4六銀(57) (00:07 / 00:01:21)
22 3一玉(42) (00:10/00:01:30)
23 3六歩(37) (00:08 / 00:01:29)
24 5四銀(63) (00:10/00:01:40)

24手目

対するボナンザはボナンザ囲い……ではなく、左美濃に構えてから腰掛銀の形。

AIは居玉のまま早繰り銀の形です。速さで勝負という事でしょうか。


25 3五歩(36) (00:08 / 00:01:37)
26 6五歩(64) (00:10/00:01:50)
27 同 歩(66) (00:10 / 00:01:47)
28 3五歩(34) (00:10/00:02:00)
29 同 銀(46) (00:09 / 00:01:56)
30 7七角成(22) (00:10/00:02:10)
31 同 銀(78) (00:12 / 00:02:08)
32 5七角打 (00:10/00:02:20)

32手目

3筋から仕掛けていったAIですが、5七角とカウンターを喰らってしまいました。

これでボナンザは角を成ることができました。


33 3八飛(28) (00:11 / 00:02:19)
34 7三桂(81) (00:10/00:02:30)
35 4六銀(35) (00:13 / 00:02:32)
36 8四角成(57) (00:10/00:02:40)
37 5五歩(56) (00:09 / 00:02:41)
38 6五銀(54) (00:10/00:02:50)
39 3七飛(38) (00:13 / 00:02:54)
40 3三歩打 (00:10/00:03:00)
41 2四歩(25) (00:12 / 00:03:06)
42 同 歩(23) (00:10/00:03:10)
43 2三歩打 (00:13 / 00:03:19)
44 同 銀(32) (00:10/00:03:20)
45 6八金(69) (00:12 / 00:03:31)
46 7五歩(74) (00:10/00:03:30)
47 同 歩(76) (00:09 / 00:03:40)
48 7六歩打 (00:10/00:03:40)
49 8八銀(77) (00:06 / 00:03:46)
50 7五馬(84) (00:10/00:03:50)
51 2五歩打 (00:11 / 00:03:57)
52 同 歩(24) (00:10/00:04:00)
53 4八金(39) (00:13 / 00:04:10)
54 5六銀(65) (00:10/00:04:10)
55 5八金(48) (00:12 / 00:04:22)
56 6五桂(73) (00:10/00:04:20)
57 6七歩打 (00:13 / 00:04:35)
58 2二玉(31) (00:10/00:04:30)
59 2七飛(37) (00:12 / 00:04:47)
60 8六歩(85) (00:10/00:04:40)
61 同 歩(87) (00:07 / 00:04:54)
62 同 馬(75) (00:10/00:04:50)
63 8七歩打 (00:10 / 00:05:04)
64 同 馬(86) (00:10/00:05:00)
65 7三角打 (00:13 / 00:05:17)
66 6九馬(87) (00:10/00:05:10)

66手目

63手目8七歩には同馬!、7三角打にも構わず6九馬!とボナンザ馬を大胆に切ってきした。

う~ん、これは決まっているっぽい。

次に8八飛成を受けることができず、7三に打った角がからぶってしまいました。


67 同 金(68) (00:11 / 00:05:28)
68 8八飛成(82) (00:10/00:05:20)
69 2五飛(27) (00:17 / 00:05:45)
70 5七銀打 (00:10/00:05:30)
71 2八飛(25) (00:17 / 00:06:02)
72 2七歩打 (00:10/00:05:40)
73 同 飛(28) (00:10 / 00:06:12)
74 5八銀成(57) (00:01/00:05:41)
75 同 金(69) (00:01 / 00:06:13)
76 同 龍(88) (00:01/00:05:42)
77 同 玉(59) (00:01 / 00:06:14)
78 5七金打 (00:01/00:05:43)
79 同 銀(46) (00:12 / 00:06:26)
80 同 銀成(56) (00:01/00:05:44)
81 5九玉(58) (00:02 / 00:06:28)
82 5八金打 (00:01/00:05:45)
83 投了 (00:01 / 00:06:29)
まで82手で後手の勝ち

投了図

まで、82手目の頭金で詰みです。

74手目からボナンザは1手1秒で指しているので、詰みを読み切った様子。

詰みを読む力の差が表れていますね。

善戦はしましたが、まだまだボナンザさんにはかなわない様子。

今後は強化学習とかやっていきたいですね~。

またそのうち更新したいと思います。

ではまた。

吟遊詩人のDeep Learningその3〜Bonanzaに挑戦した話〜” への1件のフィードバック

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中