いものおと

やまいもの将棋ノート

戦法の速度と相性の話

カードゲームだとデッキを「アグロ」「ミッドレンジ」「コントロール」といった種類に分類することがある。 これはざっくり説明すると、

  • アグロ:序盤から積極的に攻撃して勝つタイプ(高速型)
  • ミッドレンド:中盤にかけて勢力を整えて攻撃して勝つタイプ(中速型)
  • コントロール:相手の狙いを消しながら最後には勝つタイプ(低速型)

といった感じで、基本的な相性として三すくみの関係になっている:

  • ミッドレンジはアグロに強い(高速型<中速型)
  • コントロールはミッドレンジに強い(中速型<低速型)
  • アグロはコントロールに強い(低速型<高速型)

どうしてこうなるかというとデッキに入れるカードのコスト分布と関係してくるんだけど、将棋の場合も攻めと守りにかける手数のバランスで同様のことが言えそうと思っている。

お互い、同じ手数を指すので、相対的なものになるけど、

  • アグロ:守りは最低限にして攻めを目指す(急戦)
  • ミッドレンジ:攻めと守りにバランスよく手数をかける
  • コントロール:守りに手数をかけて細い攻めをつなげる(持久戦)

みたいな。

アグロは攻めに手数をかけるので玉が薄くなりやすい。 なのでミッドレンジでアグロの攻めを捌けてしまえば、玉の堅いミッドレンジの方が勝ちやすくなる。

一方で、コントロールが守りを堅めきる前にアグロで攻め倒せてしまえば、一方的に攻める展開になるのでアグロが勝ちやすい。

ちなみにミッドレンジとコントロールの関係はアグロとミッドレンジの関係と同じ。

この観点で振り飛車を眺めた場合、振り飛車はミッドレンジ(もしくはコントロール)と言える。 攻撃陣は相手の攻めを捌けるように整えつつ、玉を堅めてカウンターを狙う。

そして、対抗形の居飛車は、急戦ならアグロ、持久戦ならコントロールと言える。 そうやって眺めた場合、急戦がやや勝ちづらく、持久戦(というか穴熊)が勝ちやすいのも納得しやすい。

あとはこれに先後の関係を絡めて考えたりもできるんだけど、それはまた今度で。

よく見る将棋チャンネル(その2)

前回の続き。

棋士中村太地将棋はじめch

将棋の勉強になるというわけではないけど、面白い動画をたくさん見れるのが、棋士中村太地将棋はじめch。

中村太地八段と元奨三段の鈴木肇さんのチャンネルで、この二人で面白い動画をいろいろ出している。

自分がとくに好きなのは「10分研究シリーズ」で、いろんな変わった戦法を「でもプロなら10分研究すれば勝てるよね?」という無茶振りで、10分の時間制限の中で研究して将棋ウォーズの実戦に挑むという企画。 本当にいろんな戦法にチャレンジしてて、「穴角」とかいう完全にハンデでしかない戦法もやってたりするけど、「魔界四間飛車」や「間宮久夢流」とかは独創的で面白かったし、地味に有力な「九間飛車」は将棋ウォーズのエフェクトに採用されてたり、「一間飛車」はプロ棋戦にも出てきたり。

女流棋士 山口恵梨子ちゃんねる

最近更新がないけど、地味にいい動画が上がってるのが山口恵梨子ちゃんねる。

山口恵理子女流三段のチャンネルで、将棋ウォーズでの実況動画や将棋講座の動画が主にアップされている。

藤井猛九段がゲストで来てる動画がけっこうあり、その動画での掛け合いが面白く、またすごく勉強になる。 藤井猛九段といえば「藤井システム」に代表される序盤研究が有名だけど、棋理をうまく言語化して捉えられるようにしてるのがありそう。 独自の格言とかすごく参考になった。

その他

その他にも以下のようなチャンネルを見たりする:

二刀流・鈴木大介【 Dの流儀 】

鈴木大介九段のチャンネルで、将棋ウォーズの実況動画とか。 ちょっとやる気ない感じがアレだけど、指し回し自体はさすがという感じ。

女流棋士香川愛生チャンネル

番長こと香川愛生女流四段のチャンネル。 動画というよりライブ配信が多い印象で、けっこう珍しいかも。 将棋ウォーズでの実況を楽しめたりする。

なるるのゆっくり将棋実況

ゆっくり音声で将棋ウォーズの実況をする動画がたくさんアップされている。 いろんな戦法の動画を見れるのもいいし、ゆっくり霊夢とゆっくり魔理沙の定番の掛け合いが心地いい。 「実家のような安心感」 「分かる」

だれでも将棋は上手くなれる | 岡山将棋教室

将棋ウォーズでの実戦を通して、振り飛車の指し方のコツを解説している動画が多数アップされている。 けっこう淡々としていて、変化の細かい解説とかもあまりない感じだけど、流れや勘所を掴むのにいい感じ。 何より動画の数がとても多いのが魅力的。

島ノ葉尚

ちょっと変わったところで、江戸時代の頃の将棋がどうだったのかを調べて動画にしているチャンネル。 振り飛車や美濃囲いの歴史の話などもあって、とても面白い。


とりあえず今回はここまで。 また面白いチャンネルを見つけたら紹介していきたい。

よく見る将棋チャンネル(その1)

昔は将棋の勉強といえば本を読むか実戦を積むくらいだったけど、最近はYouTubeに動画がたくさん上がっているので、本を読むよりも気軽に勉強できるようになってる。 本当にいい時代になったよなぁ。

そういった動画も今後取り上げていきたいんだけど、今日はよく見る将棋チャンネルを挙げてみたい。

将棋放浪記

将棋チャンネルといったらまずはこれでしょということで、将棋放浪記。

藤森五段が将棋ウォーズで実況しながら将棋を指していくチャンネルで、ほぼ毎日お昼くらいに動画が上がるのでたくさんの動画を見ることができる。 指される戦法も振り飛車から居飛車まで幅広く、変化やポイントを解説しながら進めてくれるので、見るだけでとても勉強になる。 「見るだけで将棋が上達できる」というのは伊達じゃない。

中終盤でどう指したらいいかがやっぱり将棋の難しいところで、本だと勉強しづらいし、棋譜並べとかも難しいところがあるけど、将棋ウォーズでのアマとの実戦が使われてるので、プロだとなかなか出てこないような局面でどう指したらいいかの解説を聞けるのが嬉しい。

戸辺チャンネル

石田流や中飛車を指すなら押さえておきたいのが戸辺チャンネル。

戸辺七段のチャンネルで、将棋ウォーズでの実況対局の動画を中心に、戦法の解説動画や企画みたいな動画も上がってて面白い。 振り飛車一辺倒で、「戸辺攻め」の名で知られるとおり、強烈な攻めがとにかく凄い。 定跡書では取り上げられないような変化も実戦では出てきて、そのときの指し回しを見れるのもいい。

勉強になる動画がたくさんあるので、そのうち取り上げていきたい。

藤倉勇樹チャンネル

藤倉勇樹チャンネルも振り飛車党にはとても勉強になる。

藤倉六段のチャンネルで、講座形式の動画がたくさんアップされている。 YouTubeの将棋チャンネルだとちょっと珍しいスタイルかも。

藤倉六段といえば『美濃囲いを極める77の手筋』や『美濃囲いを極める終盤総手筋』が有名。

この本のように振り飛車党に役立つ内容をいろいろ学ぶことができる。 けっこう基本的な内容も多いけど、戦法の指し方を取り上げてる動画だと知らなかった筋とかも紹介されてて勉強になったり。

他にもいくつかあるんだけど、長くなったので一旦ここまで。

AI棋譜分析サービス

パソコンを使える環境なら、ShogiHomeを使って棋譜を検討できる。

ただ、出先でパソコンがない場合には使えないし、スマホで将棋ウォーズを指したあとにちょっと分析したい場合にはちょっと面倒。

そんなときに便利なツールを紹介したい。

AI棋譜分析サービス

AI棋譜分析サービスは将棋倶楽部24で提供されている棋譜分析サービス。

ブラウザで使える棋譜分析サービスで、パソコンで見れるのはもちろん、スマホでも見れるのが嬉しい。

スマホでも使える

動作もサクサクかつ意外と高性能なので便利。

棋譜の入力と解析

棋譜の入力は「棋譜入力」ボタンから。

ダイアログが開くので、そこに将棋DB2将棋ウォーズ棋譜検索からコピーしてきたKIF形式の棋譜をペーストして、「更新」ボタンを押せばいい。

棋譜が取り込まれると自動的に解析が走って、評価値のグラフが表示される。

局面の検討

将棋盤の下の「<」ボタンや「>」ボタンで棋譜を見ていくことができて、その局面でのAIの評価値を確認できる。 そして、その局面での指し手、AIが検討した最善手と読み筋、さらには指し手の善し悪しまで教えてくれる。 これがかなり分かりやすい。

AIの分析結果が見れる

このAIの読み筋も指し手をクリックすると盤面に再現されて、簡単に確認できる。 読み筋が途切れたあとも「分析」ボタンを押すとその続きを読み直してくれたり。

さらに凄いことに、「この局面で相手にこう指されていたらどうだったんだろう?」というのがよくあると思うけど、なんと将棋盤の駒はタップやクリックで動かせて、分岐した局面を作ることができる。 そうやって確認したい局面にしたら、「分析」ボタンを押せば評価値や読み筋を確認できる。 これがかなり便利で、「なるほど、そのときはこう指せばよかったのね」と勉強になる。

オンライン対戦だと感想戦が難しいというのがあるけど、今はこうやってAIにいろいろ教えてもらえるのが嬉しいよね。

ShogiHomeでの棋譜の検討

ShogiHomeの導入については前回記事を参照。

棋譜の入力

棋譜は普通に将棋盤をポチポチすれば入力していける。 対局者の情報とかを入力したい場合は「棋譜情報」タブから。

ただ、一から手で入力していくのはけっこう大変で、棋譜並べや検討が面倒くさい一因となっている。

でも今はいい時代で、ネットで簡単に棋譜を入手できる。

プロ棋戦の将棋なら、将棋DB2で見つかることが多い。

検索して並べたい棋譜を見つけたら、その棋譜のページを開き、「棋譜の書き出し」にある「KIF形式」のボタンをクリック。 するとダイアログに棋譜が表示されるので、それをコピーすればいい。

将棋DB2から棋譜をコピー

将棋ウォーズで指した将棋は、SHOGI-EXTENDの将棋ウォーズ棋譜検索を使うといい。

検索で一覧が表示されたら「コピー」ボタンで棋譜をコピーできる。

将棋ウォーズ棋譜検索から棋譜をコピー

余談だけど将棋ウォーズ棋譜検索だとプレイヤー情報から戦法ごとの勝率とかも見れるので面白い。

コピーした棋譜は「編集」メニューの「棋譜・局面貼り付け」で貼り付けたり、「ファイル」ボタンを押して表示される「貼り付け」ボタンで貼り付けたり、あるいは単に貼り付けのショートカット(macOSの場合は「⌘+V」)でも貼り付けられる。

棋譜の解析

一局を通しての形勢をざっと見たいときには、棋譜の解析を使うといい。

「解析」ボタンを押すとダイアログが表示されるので、使う思考エンジンと1手あたりの思考時間(必要なら他の項目も)を指定して、「解析実行」を押す。 すると1手ずつ解析が走り、「評価値」タブ(もしくは「期待勝率」タブ)に各局面での評価値が表示される。

ちなみに自分はとりあえず1秒で解析してる。 けっこう時間かかるし、ちゃんと検討するときには次の検討機能を使うので、解析は検討する局面のあたりをつけるのに使うくらいがいいと思うので。

局面の検討

局面を検討したい場合、「検討」ボタンを押す。 するとダイアログが表示されるので思考エンジンと1手あたりの思考時間を指定し、「検討開始」を押せばいい。

検討すると次のような感じになる:

局面検討の様子

「読み筋」タブに評価値と候補手が表示され、盤面には候補手の上位が矢印で表示される。 ちなみに「評価値」タブのグラフも必要に応じて更新されているっぽい。

各候補手の読み筋は「再現」ボタンを押すと別の将棋盤で表示されるので、そこで並べて確認することもできる。 より細かく検討したい場合は「棋譜に挿入」ボタンで分岐を追加するとよさそう。

検討は「検討終了」ボタンを押さない限りずっと走っているので、次の手に行ったり分岐の手を指したりしてずっと検討を続けることができる。 一時的に止めたい場合は「停止」ボタンを押しておくといい(再開したい場合は「再開」を押す)。

あとは局面にコメント書いたりもできるし、面白い機能として「しおり」をつけておくこともできる。 書籍とかで「第1図」とかなっているのをしおりとして設定しておくと分かりやすい。

局面図の出力

ちなみにShogiHomeでは局面図の出力もできる。 これはブログなどで将棋を紹介したいときに便利。

「ファイル」メニューから「局面図を出力」を選んだり、「ファイル」ボタンの「局面図」ボタンを押すとダイアログが表示されるので、そこで設定を調整して局面図を出力できる。

局面図出力のダイアログ

出力した局面図

いやー、出力がキレイ。 いい時代になったものだ。

ShogiHomeの導入

棋譜並べやソフトでの検討をするときに必要となるのが将棋アプリ。

macOSで使える将棋アプリとしては将棋所が有名。

ただ、最近ShogiHome(旧名:Electron将棋)というアプリも出てきて、これがよさげだったので導入してみた。

ShogiHomeの特徴

まず、WindowsだけでなくmacOSでもLinuxでも動作する。 どの環境でも同じように使えるというのは地味に嬉しい(Windowsでよく使われているShogiGUImacOSだと動かないのが残念)。

そして、将棋所だと棋譜解析結果が別ウィンドウに分かれていて、これが地味に使いにくかったんだけど、ShogiHomeでは1つのウィンドウで完結するようになっているのがいい。

将棋所は棋譜解析結果が別ウィンドウ

ShogiHomeは1つのウィンドウで完結

また、ShogiGUIと同じように上位の候補手の読み筋を表示できるのも嬉しい機能。

「読み筋」タブで複数の候補手を確認できる

あとは見た目やレイアウトをカスタマイズできたりもする。

ShogiHomeのインストール

ShogiHomeのサイトで「最新版」もしくは「安定版」のボタンをクリックしてGitHubのReleasesページに移動し、使ってるOSのzipファイルをダウンロード。 自分はmacOSなので"-mac"とついているファイルをダウンロードした。

ダウンロードしたzipファイルを解凍するとmacの場合は.dmgという拡張子のファイルが入っているので、それをダブルクリックしてディスクイメージを展開し、アプリをApplicationsにドラッグ&ドロップすればインストールが完了する。

アプリをApplicationsへドラッグ&ドロップ

初回起動時はOSに起動をブロックされるかもしれないので、そのときはシステム設定から許可を与えたりが必要かも(ちょっと覚えてない)。

思考エンジンのダウンロードと設定

ソフトで検討したい場合、思考エンジンをダウンロードして設定しておく必要がある。

ここでは思考エンジンとして水匠5の評価関数を同梱したやねうら王をダウンロードしてみる。 (公開してくれてる開発者に感謝!)

macOSの場合、上記ページでSuisho5-YaneuraOu-v7.5.0-macos.tar.xzというファイルをダウンロード。 適当なソフトで解凍しておく。

ShogiHomeを起動し、「エンジン設定」からエンジンの追加を行う。

「エンジン設定」を選ぶとエンジン一覧が表示される

「追加」ボタンを押すとファイル選択ダイアログが開くので、解凍後のフォルダを選択し、IntelのCPUのマシンではSuisho5_YaneuraOu-macos11-clang++-tournament-applesse42もしくはSuisho5_YaneuraOu-macos11-clang++-tournament-appleavx2、AppleシリコンのマシンではSuisho5_YaneuraOu-macos11-clang++-tournament-applem1というファイルを選択して追加する。

追加したら追加したエンジンの「設定」ボタンを押して設定値を調整。 基本的にはデフォルトのままでいいけど、「表示名」とかを変えておくと分かりやすい(自分は「水匠5」という表示名にしている)。 あと、一つ重要な設定として、複数の候補手を表示させたい場合、「マルチPV」の値を増やしておく必要がある。

エンジンを追加して設定もできたら、「保存して閉じる」ボタンを押してエンジン設定を終わらせる。

ちなみに、初めて思考エンジンを使ったときもアプリと同様に起動をブロックされるかも。 その場合はアプリと同様にシステム設定から許可を与えること(これも必要だったか覚えてない)。

ブログでの将棋盤表示

ブログで将棋の記事を書くにあたって、ほしいのが将棋盤の表示。 符号だけ並んでいても難しいからね。

調べてみるとKifu for JSというJavaScriptのライブラリがお手軽でよさげだった。

設置方法

Kifu for JSはCDNが用意されているので、ファイルをアップロードしたりせずに簡単に設置できる。

一番簡単なのは記事の中で以下のコードを書いておくだけ:

<script src="https://cdn.jsdelivr.net/npm/kifu-for-js@5/bundle/kifu-for-js.min.js" charset="utf-8"></script>

これだけで将棋盤を表示できるようになる。

ただ、これを毎回記事に書いていると面倒なので、はてなブログでは設定であらかじめ埋め込んでおくといい。

ブログのダッシュボードを開き、「設定」から「詳細設定」を選び、「<head>要素にメタデータを追加」に上記のコードを追加しておく。 すると記事にコードを書くことなくいきなり将棋盤を表示できる。

表示方法

表示するには<script type="text/kifu"></script>の間にKIF形式の棋譜を書いておけばいい。

たとえばこんな感じ:

<script type="text/kifu">
開始日時2019/08/15 14:00:00
終了日時2019/08/15 15:31:00
棋戦朝日杯将棋オープン戦
場所東京都渋谷区シャトーアメーバ
持ち時間40分
消費時間754040
手合割平手
先手戸辺  七段
後手青野照市 九段
戦型三間飛車
手数----指手---------消費時間--
1 7六歩(77) (00:00/00:00:00)
2 3四歩(33) (00:00/00:00:00)
3 7五歩(76) (00:00/00:00:00)
4 4二玉(51) (00:00/00:00:00)
5 6六歩(67) (00:00/00:00:00)
6 6二銀(71) (00:00/00:00:00)
7 7八飛(28) (00:00/00:00:00)
8 6四歩(63) (00:00/00:00:00)
9 4八玉(59) (00:00/00:00:00)
10 6三銀(62) (00:00/00:00:00)

長いので省略

71 4六香打 (00:00/00:00:00)
72 4五香打 (00:00/00:00:00)
73  (46) (00:00/00:00:00)
74  (33) (00:00/00:00:00)
75 3五金打 (00:00/00:00:00)
76 投了 (00:00/00:00:00)
</script>

すると次のように表示される:

ちなみに分岐にも対応しているしコメントも表示される。

オプション指定

開始局面を指定する場合、data-plyオプションで手数を指定する。 たとえば3手目を開始局面として表示したい場合、<script type="text/kifu" data-ply="3">のように指定する。

そして盤面を反転して表示したい場合、data-reverseオプションを指定する。 <script type="text/kifu" data-reverse>といった具合。

スタイルの設定

スタイルを調整したい場合、CSS.kifuforjs-liteに対して指定すればいい。

はてなブログの場合、ブログのダッシュボードを開き、「デザイン」から「カスタマイズ」を選び、「デザインCSS」で設定する。

このブログでは、将棋盤の背景を白くして記事の中央に配置されるように、次のように指定している:

.kifuforjs-lite {
  display: block;
  margin-left: auto;
  margin-right: auto;
  background-color: white;
}