「そういえば、windows 10 pro ならば、Hyper-V に Ubuntu 載せられるから、当然、ORCA も走るよなあ」と思いつき、やってみた。MS windows 環境ならば、VMWare の方がつきあいは長いんだが、まあ、やってみよう。
確かにできることはできる。 “Hyper-V で ORCA” の続きを読む

本業回帰中
「そういえば、windows 10 pro ならば、Hyper-V に Ubuntu 載せられるから、当然、ORCA も走るよなあ」と思いつき、やってみた。MS windows 環境ならば、VMWare の方がつきあいは長いんだが、まあ、やってみよう。
確かにできることはできる。 “Hyper-V で ORCA” の続きを読む
空き時間などで将棋ウォーズを楽しんではいるが、対局していて不愉快な戦法の筆頭格は『振り飛車穴熊』ではないだろうか?
棒銀くん、中飛車くん、早石田くんのバ○の一つ覚えみたいに一つの戦法に固執する指し方も食傷気味だが、これらの戦法を採用する級位者は、それでも
・こちらの出方に反応して指し方を微妙に変えてくる
・ネット将棋は短期決戦という前提を守ってくれている(勝っても負けても短手数で終わる場合が多い)
という尊重すべき基本理念に沿った指し方をしてくれている。なので、「あー、またか」とは思っても悪い気はしない。少なくとも人として間違ってはいない(笑)。
これに対し、振り穴はどうだろう?
まず、きちんと指そうとすると「穴熊には穴熊」の格言(?)通り、こちらも穴熊に組まなてはならない。が、そうすると手数が延びて居飛車側の時間切れ負けになりやすい。まあ、ウォーズなどでこの囲いを採用する人は基本これを狙っているわけですね。性格悪いというか。。。
それに加え、振り穴くんにはコミュニケーション回避の傾向があるように思う。駒組みしやすい振り穴を選ぶ時点で、下地はあるんだろうが、エスカレートすると、正直、気持ち悪い。
参考棋譜を上げときます。この指し方、相当、気持ち悪いと思いません?
タイトル通り。YaneuraOu や 技巧がオープンソースになってるからそれを使えばいいという説もあるが、私のC++力では読解するのに大変そうだ。もっと簡単にあつかえる将棋エンジンはないか物色していたら‥‥、ありましたよ!
not さんが開発した、CNNShougi 。パイソンで書かれているから、実行は楽ちん。
ソースもわずか4ファイルながら、学習機能やUSI インターフェイスも備えている。上手い人が書くと、こうなるものなのかと感心。
そして注目すべきは、いわゆるミニマックス戦略式の探索機能はまったくなしで、ニューラルネットのみで指し手を決定している点。ニューラルネットも勉強したかったのでちょうどよい。なお、ニューラルネットは Chainer の CNN (畳込みニューラルネット)というヤツらしいのが、現時点でここらへんのモデルの差異はよくわかってない。
とりあえず、落として実行させてみたが、若干の修正でしっかり動く。将棋ブラウザQにエンジン登録して対戦したら、なかなか将棋っぽくなった。探索なしでこれはなかなか。
・解説記事は、こことか。
・(おそらく)Chainer のバージョンアップにともないソースは若干の修正の必要あり。構文的なものと型のキャスト。(→ Chainer 2 用に修正したものを github にあげておきました)
・学習を 20 エポック(デフォールトの倍)にしてみたら、指した感覚としてはけっこう将棋っぽくなった。
・将棋ブラウザQへの登録は、エンジンとしてパイソンそれ自体を、引数として usi.py を与えるというかなり乱暴なやり方。でも、しっかり動いている。
windows 環境で GCC を使うとすると、MinGW が有名だが、現時点で、公式には gcc 6.3くらいまでしか対応してない。
もうちょっと最新版が使えないか調べたら、MinGW Distro というのを見つけた。version は驚きの 7.1 。
すぐに使うことはないだろうが、紛れないように記録。
もちろん動く。
だからどうしたって話なんですけどね。
でんも、なんかルック&フォールが洗練されてるんだよなあ(嘆息)。
(追記)Mac へのインストール解説記事書きますみたいなこと言ってましたが、先に ANN2bさんが『OpenDolphin-2.7(m) を Mac OSX にインストールする』を書いてくれました。最新環境への対応のため、一部ソースにも手が入ってます。
棋士伝説ネタをもう一つ。
今でこそ、藤井といえば藤井聡太名人だが、ちょっと前までは藤井猛九段のことを指していた。藤井システムのインパクトがあまりに強かったため、旧来からの将棋ファンには依然支持されているように思う。
ところで、藤井伝説の一つに逆転負けがあまりにも悔しく「投了時、駒台の持ち駒を盤上にぶちまけた」というのがある。
事実関係は調べやすかった。ネット上にもそのときの写真が流通されている。ここで出しても問題ないと思うので、掲げておくと、これだ。
リアルですね。。。
棋譜を調べてみると、このいきさつがすごくよくわかる。
藤井九段、得意の四間飛車+序盤戦略で初手から着実にリードを広げていく。ちなみに95手目の局面はこうなっていた。
先手の囲いは4枚穴熊で固いものの、後手は馬が二つできていて攻守のバランスが良い。すぐに決め手がある局面ではないと思うが、素人目にみても堅実に指していけば、勝ちきれる将棋という印象はある。
この次の手が▲2三金打。さすがにこれでは間に合わないと思われるが、こういう一種の手渡しに藤井センセは弱い。いわゆるファンタな応手が増えていく。
評価値的(エルモで10秒検討)には
こうなってしまった。8二になにを合駒してもそれぞれ詰みがあります。
確かに感情の矛先をどこにぶつけていいかわからなくなるような進行ですね。なんか納得。
なお、このエピソードはけっこう有名なためか将棋漫画『3月のライオン』にも使われているようです。

「絶対にやってはいけません」なんでしょうが、藤井センセなら許される?
ひふみんこと加藤一二三九段は、伝説が多いことで知られているが、有名なものとして「名人戦で詰みを発見してうひょーと叫んだ」というのがある。
実際、どういう局面だったのか興味を持ち少々調べてみた。 “ひふみん の うひょー” の続きを読む
将棋ソフトが整ってくると次に欲しくなるのが棋譜だ。
連盟の将棋中継アプリの通信内容からなんとか kif 形式に落とすことはできないか考えてみましたが、がっつり ssl かかってました。
ところで、ssl の筋に入っていく前にアプリはhttp://kak.o.oo7.jp/ShogiLive/ann/iphone.txt というところに GET リクエストを送っている。 “カッコーはウェブに卵を産むか” の続きを読む
また将棋ネタ。
メインで使っている XPS 13 の調子が悪く、ここのところ移動時には MacBook を携えている。困るのは将棋ソフトが充実していない点。
なので elmo (というか YaneuraOu)や技巧2をソースからコンパイルしてみた。
技巧2の方は、Mac オリジナルの gcc でコンパイルできないので(OpenMP とやらでひっかるみたい)、GCC の gcc49 で置きかえてコンパイル。導入には homebrew より macports の方が簡単のようで、私はそうしました。
【Tips!】
$ port search gcc
でインストールできるパッケージを確認。
$ sudo port install gcc49
でインストール。
$ port contents gcc | grep /bin/
でパッケージの実体の path を調べる。私の場合は /opt/local/bin 以下にありました。
$ which gcc
でオリジナルの gcc g++ の path を確認して(私の場合は /usr/bin )
$ sudo ln -sf /opt/local/bin/gcc-mp-4.9 /usr/bin/gcc
$ sudo ln -sf /opt/local/bin/g++-mp-4.9 /usr/bin/g++
で、リンクをはる(※)、という手順。要するに Mac がコンパイルするとき、/usr/bin 以下の gcc を使うので、リンク貼ってそこから gcc-mp-4.9 に飛ばすという理屈。
エンジンができたら、将棋ブラウザQ などに登録。無事 Mac 環境下でも強豪将棋ソフトが使えました。
実際の elmo VS 技巧2のバトルは YouTube で。
※‥‥直リンなのでターミナル上で誤操作をするとオリジナルの gcc/g++ が消える可能性もあります。操作は自己責任でお願いします。なお、Mac に不慣れな私もこれをやってしまいましたが、OS X のマイナーアップデートで修復されます。こういうのが嫌な場合は、おとなしく makefile を編集しましょう(コメント欄参照。こっちの方が簡便か)。
? 関連して新しい記事があります。