オープンソース化され無料で使える将棋ソフトAperyの使い方。あと△2八角打つか実験してみた

2015年3月14日に行われた将棋電王戦FINAL第1局に登場した、コンピュータソフト・Aperyがオープンソース化されたのは以前お伝えしたとおりです。

このように配布されている将棋ソフトは「将棋所」という別のソフト上で動かすのですが、将棋初心者の方は慣れていないと思います。

そこで、この記事では無料で使える将棋ソフトとしては最強(おそらく、2015年4月15日時点)であるAperyを将棋所で使用する方法をご紹介したいと思います。

動作条件は64bit版Windows、メモリは最低600MB程度です。高性能なPCなら電王戦FINALと同じAperyを、そうでもないPCでもちょっと弱いAperyを動かすことが出来ます。

対局をしてみたり、棋士同士の対局を検討してみたり、自分の棋譜の評価値の推移を見てみたりと使い方はいろいろあります。

Aperyのダウンロード

まずはAperyの開発者である平岡拓也さんのブログからAperyをダウンロードします。

apery_blog

「バイナリ」をクリックするとGitHubというプログラマさん御用達のサイトへ飛びます。

aperyzip

bin.zipをクリックして、以下からダウンロード。

aperyraw

ZIPを解凍(Windows7だと右クリックして「全て展開」)すると、「bin」というフォルダがありその配下にいろいろファイルやフォルダがあります。この「bin」のフォルダは名前を変えないようにしましょう。移動させるときは、binフォルダごと移動させましょう。

動作条件のチェック

詳しくは、GitHub上の注意書きでチェックしていただきたいのですが、お使いのコンピュータの性能(CPU、メモリ)によって、あとで使うファイルが違います。平岡さんは親切な方のようで、いろんな性能のPCで動作するように、いろんなバージョンのApery(実行ファイル)を用意しています。

よくわからない方、お持ちのCPUに自信がない方は、「apery_nosse.exe」もダウンロードします。これの動作条件は64bit 版 Windows、ほとんどの CPU で問題なし、600MB程度の空きメモリです。

aperynos

apery_nosse.exeをダウンロードしたら、先に解凍した「bin」フォルダに入れます。

将棋所をダウンロード

次に、将棋所を配布しているサイトから「将棋所」というソフトをダウンロードして解凍します。

shogidokorotop

将棋所はGUI(ユーザが見たり操作したりするもの)を提供します。Aepryは将棋所の「エンジン」として動きます。エンジンだけだと人間が見たり操作したりできません。クルマでいうと、将棋所はアクセルとかハンドルとかだと思っていただければ。

ここからダウンロードします。

shogodokorodownload

解凍して、Shogidokoro(Shogidokoro.exe)をダブルクリックします。場合によっては警告がでるかもしれません。実行します。すると以下の画面がでます。

shogidokoroopen

エンジンとしてAperyを登録

ここで、画面上にあるメニューから「対局」をクリックしそのなかの「エンジン管理」をクリック。

「追加」のボタンを押し、先ほどダウンロードしたAperyの「bin」フォルダから、ご自分のPCのスペックに合ったエンジン(実行ファイル)を選びます。apery_denousen_final.exeは電王戦FINALで使用したものと同じだそうですが、性能が良いPCでないとだめです。
(よくわからない方は「apery_nosse.exe」をダウンロードして「bin」に入れていると思うので、それを選びます)

enginemanage

上記の画像のようになればOK。エンジン設定ではいろいろ設定できますが、わからない場合はそのままでもOK。これも詳しくはGitHub上にある使用の際の注意点をご覧ください。電王戦FINALでの設定値も記載されています。

対局して評価値や読み筋を見てみる

さて、後は将棋所の画面上にある「対局」→「対局」から対局をしたり、「ファイル」→「棋譜を開く」から棋譜を読み込んで「対局」→「棋譜解析」をして棋譜を検討したりします。

画面の下にはAperyの評価値や読み筋が出ます。

対局では、以下のようにいろいろと設定ができます。持ち時間とか、先読みさせるかとかですね。私だけかもしれませんが、対局が動作しないときもありました(Aperyさんが動かない・・・)。でもやり直すとうまくいきました。

shogidokorosetting1

残りの設定や将棋所の使い方は、将棋所のサイトに色々書いてありますのでご覧ください。ほとんど直感的に操作できると思います。

△2八角打たせてみた

せっかくなので、対局してみました。エンジンはapery_nosse.exeを使い、設定はデフォルト。持ち時間なしで、秒読みは10秒。

先手が私。後手がApery。そして、一直線に角交換して△2八角を打たせることを目指しました。

△2八角の話はこちらの記事で。

電王AWAKEに勝利し100万円ゲットした山口直哉さんの必勝法

将棋電王戦FINAL第5局は△2八角でAWAKEが投了

そして・・・・

apery28kaku

打っちゃったよ。打っちゃった。(本当にこれで合っているかはわかりません。とにかく打たせたかったんで・・・)

画面の下の方に、複数の読み筋が表示されています。探索局面数を見ると、数百万という数字が。そして、それぞれの順に進んだ時の評価値、および読み筋が表示されています。

右の青い部分のグラフは、初手からの評価値の変動を示したグラフ。見方としては、上に伸びていれば先手が、下に伸びていれば後手が有利。300点ぐらいでちょっと有利、1000点ぐらいだと明らかな優勢、2000点ぐらいだと勝勢、といったところでしょうか。

この例だと、この△2八角を打った時点で、Aperyさんは自分が有利だと思っていることがわかります。

もちろん、もっと長い時間読ませれば、打たないかもしれませんが。以下の記事もご参考まで。

将棋電王戦FINAL、ハメ手を使用すればプロ棋士側が全勝した可能性

平岡拓也さんありがとうございます

開発者の平岡拓也さんはこのオープンソース化の狙いについて「プログラムに興味をもつきっかけになれば」と述べています。もし興味があればソースコードなども覗いてみてはいかがでしょうか。

ソフト開発者の平岡拓也さん、Aperyをオープンソースに

以上、ありがとうございました。

将棋ワンストップをご覧いただきありがとうございます。ぜひシェアをお願いします

記事の追記や更新の通知はツイッターで行います。フォローをよろしくお願いします!

スポンサーリンク

コメント

  1. カッシー より:

    初めてコメントします。
    今日初めて将棋所、およびaperyをダウンロードしました。
    さっそく今話題の28角を打たせようとしたのですが、こちらの初手76歩に52玉など変わった手をしてきてなかなか誘導できません。どのように誘導されたのでしょうか?
    パソコンなどの知識に疎いためどうすればよいかわかりません。
    教えていただければ幸いです。

    • 管理人 管理人 より:

      コメントありがとうございます!

      確率の問題だと思いますが、△5二玉とは珍しいですね。

      対局の設定はどうでしょうか?
      私は記事中にあるように、持ち時間0時間0分、秒読み10秒としました。その他はデフォルト(初期設定から変えていないということです)です。
      あと、エンジンはapery_nosse.exeを使いました。

      棋譜は、記事中の△2八角を打っている図を参考にしてください(見づらくてすみませんが、右のほうに見えると思います)。
      初手は▲7六歩で、その後△3四歩としてきたら▲6八飛と振ります。ここで相手が△8四歩としてきたらしめたものです。

      角交換して銀冠を目指しつつ、1筋の歩を突き、あの形にもっていきます。(先に1筋を突いたほうがいいかも)

      私の方でも実験してみました。思い通りに誘導できるのは10回中1、2回ぐらいでしょうか。
      PCのスペックによっても、Aperyが読む速度が違ってくるので、同じような確率にはならないかもしれません。
      (私のPCは結構古いです)

      ▲7六歩、△3四歩、▲6八飛、△8四歩ぐらいまで思いどおりに進まなければ、やり直した方がいいと思います。

      いかがでしょうか?お試しいただければ幸いです。
      コメントありがとうございます。

  2. カッシー より:

    返信ありがとうございました。
    コメントで言われた通りしてみましたが、駄目でした。
    52玉だけでなく、62金 72金など様々な手を指してきました。
    試しにそのまま続けてみましたが、お世辞にも強いとは言えないものでした。
    私が使っているパソコンはそんなに古いものではなく、問題があるとは思えません。
    また、読み筋を確認してみてもアマチュア初段の私でもおかしいと思うような手順を読んでいます。
    そこでお願いなのですが、初手76歩に対する読み筋をみせていただけませんか?
    スクリーンショットなどでコメント欄にのせていただければ幸いです。

    • 管理人 管理人 より:

      再コメントありがとうございます。

      今確認してみました。Aperyは2手目では定跡を使っていました。

      そこで、ご確認いただきたいのですが、apery_nosse.exeをエンジンとしてお使いということだと思いますが、以下はされているでしょうか?

      apery_nosse.exeをダウンロードしたら、先に解凍した「bin」フォルダに入れます

      記事中の「将棋所をダウンロード」の項の直前に書かれているものです。

      binフォルダには(たぶん)定跡のファイルが格納されており、このフォルダのなかでapery_nosse.exeを使うことでAperyが定跡の手を指すようになります。
      もしされていない場合は、apery_nosse.exeを、先に解凍したbinフォルダに入れ、将棋所でエンジンを登録しなおしてみてください。

      私の方でも確認しました。binフォルダに入れていないapery_nosse.exeを使うと、△5二金とか△7二金とかを読み始めました。
      ですので、おそらくこれが原因ではないかと推測しました。

      binフォルダに入れて、お試しいただければ幸いです。

      コメントありがとうございます。

  3. カッシー より:

    返信ありがとうございました。
    さっそくやってみます。

  4. カッシー より:

    言われた通りしてみるとできました!
    ちゃんと強かったです(笑)
    丁寧に教えていただきありがとうございました。
    これからもブログ楽しみにしています。

    • 管理人 管理人 より:

      結果のご連絡ありがとうございました。

      なるべく将棋やパソコンに詳しくない方でもわかるように記事を作成していますが、こうやって質問いただけると、
      何かわかりづらい点があったかなと反省材料になってよかったです。

      また、お役に立てたようで、よかったです。

      それでは今後とも宜しくお願い致します。

コメントをどうぞ

メールアドレスが公開されることはありません。