はてなキーワード: やねうらおとは
やねうらおうがやってるやつやな。
プログラミング未経験から1ヶ月ほどで、将棋の評価値の新たな方法でのグラフ化を行うPythonツールを作った。
https://github.com/k-the-p/notherscore
この記事は2本立てです。プログラミングより結果のグラフや将棋に興味がある方はもう一方の将棋編から読むことをおすすめします。
未経験から1ヶ月!Pythonで観る将ライフを向上させた話(将棋編)
AIはわれわれアマチュアの将棋への親しみを大幅に向上させてくれた一方で、棋士が悩みに悩んだ結果として評価値が下がる手を指してしまったときに、「悪手きたwwww」と騒ぐ主にABEMAのコメント欄には忸怩たる思いがあった。
とはいえ、もう評価値を知らなかった時代に後戻りするなんてことは誰にもできないだろう。そして、電王戦から将棋にハマった自分自身としても、AIを否定はしたくない。
であるなら、AIを用いた新しくよりよい将棋の楽しみ方を探っていくしかないのではないか。
以前から私は、「AIの手を指せるなら人間も苦労しないんだよなあ」と思っていた。あるとき藤森哲也先生がYoutubeチャンネルで言っていたことを聞いて得心がいった。「AIの一手は最強の一手なんです。確かにプラス1000点になるけど一手間違えた瞬間にマイナス何百点になるような綱渡りの手。それよりもアマチュアの皆さんにはプラス数百点で得は少ないけど安全な道、最善の一手を学んで欲しい」(大意)と。
ここで言う「最強の一手」に人間にして最も近いのは紛れもなく藤井聡太四冠であろう。藤森先生はアマチュアに向けて喋っていたが、その葛藤は間違いなくプロの中でもあるはずである。渡辺明三冠が言うように「藤井くんと全く同じスタイルを今から目指しても絶対藤井くんより強くなれない」のは自明であるからして。
私はここにドラマがあると思う。また、最強の一手と最善の一手が等しく「いい手」に見えてしまうわれわれアマチュアとしては、そこを機械に教えてもらえるのであれば、棋力向上にも繋がりそうである。
第1候補手と第2候補手の評価値の差を取ってグラフ化すればよさそう?
(差が小さければ手が広い、差が大きければ絶対手に近い、綱渡り)
目指すのはあくまで便利な将棋ツール。将棋AIを作りたいわけではないので、将棋AI自体は局面を入れたら評価値を吐く謎の箱という扱いでよい。
グラフ化や数値の扱いだけでなく、将棋AIとのやりとりをやってくれるあれこれもあるようなので。
あと習得が楽だと聞いた。その話を教えてくれた人はもう10年間英語学習法をブクマし続けてるけど。
あと「読みやすいコードじゃないと動かない」って設計思想がかっこいい。ついでに言うといわゆる「おまじない」が少なそうなのも魅力。(CのHello worldで挫折した経験あり。studio.hって何……)
プログラム講師をやっている?方が音楽制作を初歩からやってみる、という(残念ながら)リアルタイム視聴者が俺だけしかいないような配信があったので、音楽の基礎(についての知識は持っていた)を教えてあげたお返しのような形で、「pythonでこういうことがしたくてこういうライブラリがあるのはわかった。経験はHTML+CSS(変数導入前、Bootstrapなんてなかった)のみ。どうしたらよいか」という質問をしたら、「progateは簡単すぎると思うのでPaizaが丁度いいのではないか」というアドバイスを頂き、比較もせずに即登録したのだが結果的にはこれがドンピシャだった。
最近流行りの、環境構築不要で講座の内容を書いて覚えるタイプのサイト。
無料で入門講座の序盤を受けていたらふと目に入ったのが、「対象者:これからプログラミングを学びたい方。HTMLがどのようなものかを知っている方。」でYoutuber先生のオススメ完璧か?と思った。そして実際に完璧だった。
基本的に1講座3分+演習1~2問+やりたければ問題集たくさんという形式なのだが、これが簡単すぎることなく難しすぎることもなく、俺の知識レベルにベストマッチだった。基本的に毎回何か書くことになるので、変数とは~みたいな解説だけで終わる回がほぼ無いのも飽きなくてよい。
Python入門(と言ってはいるがまだこれだけで発展編はない)の見出しは「プログラミングとは」「条件分岐・比較演算子」「ループ処理」「リスト」「辞書」「多次元リスト」「関数」「クラス」「クラス発展」「例外処理」に各5~8講座*3分+演習、という感じ。クラス発展の途中で行けそうだと思ったのでドロップアウトして実製作に移った。実際関数まで理解していれば、この程度の小さなツールには十分だった(もしかしたらクラスを使えば多少楽になった場面はあったかもしれないけど)。
また、これは書いてる今気づいたことだが、上のコースで学んだことで、実際に役立たなかったものはほとんどなかった(強いて挙げれば辞書くらい?使えてないだけかも)。このこともコース構成の優秀さを示している。
ここまででだいたい2週間くらい。
もともとこのサービスは知っていたのと、谷合先生が実際に使っていたように、便利そうなライブラリのcshogiが主にcolab(jupyter)上で動かすことを意図しているようだったので、まずここから入った。最初はcshogiが列挙してくれる特定局面での合法手をリストに入れて、そのリストの項目数=その局面での合法手の数を出力することから始めた。これは本当に簡単にできて興奮した。
学習と好きなことが直結してると、こんなサンプルコードみたいな簡単なことで喜べるのでコストパフォーマンスがよい。
cshogiのチュートリアルで紹介されているレサ改というAIがどうもmultipv(有望な候補手を2手以上挙げる)に対応してないらしく、強さ的な問題でいずれ手を出すつもりだった予定を繰り上げてやねうら王との連携を試みる。
makeって何?あー、もりかしてMakefileが無いと動かない?(これを書いている今もこんな理解である)みたいな人間でもなんとかやねうら王をビルド?することはできた。レサ改をcshogiに読ませる数行のサンプルコードがとても役に立った。今でもあの完成品らしき拡張子が無いファイルがなんなのか分かってない。(なお、評価関数nn.binが無いと怒られたのでどこのご家庭にもある水匠4のそれをぶち込んだら動いた。評価関数とやねうら王の分担は今もって理解があやふや)(また、途中でAyane[やねうらお氏謹製ライブラリ]も使おうとしたがcolab上では上手く動かす方法が分からなかった)
一応これでcshogiで局面の最善手と次善手およびそれらの評価値を呼び出せるようになったのだが、単にdebugでずらずらと余計なものまで出力するのではなく、重要な指し手周りのinfoだけ出力するようにしようとしたが、上手いやり方がわからず、結局こうなった。
sys.stdout = open('out.txt', 'a') engine.go(listener=print)
ここは絶対もっとマシなやり方があるはずなので、識者の教えを請いたい。
Colab上でまあまあ目処がついたので、この辺りでPythonの環境を作った。ここまでそれをやっていなかった理由は、「おま環」トラブルの可能性をなるだけ遠ざけておきたかったからである。環境が悪いのか俺が悪いのか分からない、というのは初心者にとって限りなきストレスである。あーネットが繋がらなくてルーターの設定や接続とか支払いとか文字通り部屋をひっくり返しながら調べてたら実はフレッツ自体が落ちてた件を思い出してイライラしてきた。cshogiはJupyter上で動かすことを意図しているようなので、それで動かなければ自分の書き方が間違っているのだとほぼ確実にわかる。
まあこの辺りはいろんなサイト見ながら仮想化などしつつ普通に。仮想化が何か分かってないんですけど。
これまでColab上で書いてきたものは多少の書き換えで動いたので、ローカルにJupyter notebookをインストールして、数字の計算とグラフ化を試みる。
ちなみにこの時点で得られているデータはこんな感じ。
go info depth 1 seldepth 1 score cp -47 multipv 1 nodes 483 nps 241500 time 2 pv 3c3d info depth 1 seldepth 1 score cp -86 multipv 2 nodes 483 nps 241500 time 2 pv 4a3b info depth 2 seldepth 2 score cp -53 multipv 1 nodes 847 nps 423500 time 2 pv 3c3d 9g9f info depth 2 seldepth 2 score cp -68 multipv 2 nodes 847 nps 423500 time 2 pv 8c8d 7g7f info depth 10 seldepth 17 score cp -78 multipv 1 nodes 100163 nps 1963980 time 51 pv 8c8d 2f2e 4a3b 7g7f 3c3d 2e2d 2c2d 2h2d 8d8e 6i7h 8e8f 8g8f info depth 10 seldepth 17 score cp -111 multipv 2 nodes 100163 nps 1963980 time 51 pv 3c3d 7g7f bestmove 8c8d ponder 2f2e go info depth 1 seldepth 1 score cp 117 multipv 1 nodes 206 nps 206000 time 1 pv 2f2e info depth 1 seldepth 1 score cp 78 multipv 2 nodes 206 nps 206000 time 1 pv 7g7f ...
今回の小目標は、goで区切られた中から下から2行目と3行目のcpほにゃららを取得していい感じのリストにする、というものだ。この辺りは正規表現でなんとかなるだろうと見通しを立てたが、実際そうなった。
ただ、後手が見たときの評価値が後手目線なので、それだけにマイナスをかけるのはどうするか(そうしなければ、先手+3000点の次が「後手から見て」-2900点だったりして綺麗にグラフにならないのだ)を調べるのに結構時間が掛かった。
また、詰み周りでまたプラスマイナスやカンストの絡む計算をしたくないのもあり、数値にNaNを入れてグラフ表記を省略することにしたのだが、そうするとnumpyの関係で整数(とNaN)しか扱わないのに浮動小数点で計算しなければいけなくなって若干気持ち悪かったり。まあ動くのでヨシ!
この時点で、ローカルにKIFファイルを保存し、pyファイルでcshogiと水匠を動かし、Jupiter notebookを開き評価値グラフと手の広さのグラフを重ねて表示する、というそれなりのものは出来上がった。
簡単に言えばpyファイルで1手10万局面(森内チャンネルに出てたHEROZの方が使ってた数字をそのまま使っているので特に意味は無い)探索させ、最善手と次善手についての生の評価データを吐き出させ、ipynbでそれを整形し、グラフ化している。
基本的に全部VSCode上でできるので、慣れれば計算時間も含めて10数秒で結果が出るのだが、このワークフローはいかにも美しくない。
なので、Flaskという簡単らしいフレームワークを使ってローカルでWebアプリとして使えるようにしようと思った。inputとoutputをどうにかするだけだから余裕やろ。
Google colabを触り始めてからここまで1日。圧倒的成長!
Paizaラーニング再び。後半ではデータベースとか本格的な話もあるようなのだが、txtに書き込む一行掲示板を作るまでの前半部を高速で履修(演習は全部飛ばした)。なるほどー、こうやってやりとりするのね、と最低限は完全に理解した。
Jupyter向けのコードを普通のPythonに直してあっちで数字を出してこっちでそれを受けて元に戻して……とかやってると循環参照か何かで怒られることに。その対策に細かく部分を分けて関数にしたのだが、その場合ってもしかしてdefの内部しか読まれない?(共通部分も読まれると思ってた)(いや、共通部分は読まれるけど他のdef内が見えないのか?何も分からん)なるほど。こうなると関数の内部から上に戻るためにクラスとか欲しくなるのかなーという感想。
最終的にWebに公開しようとこの時点では思ってたので、txtに一旦出力するのが安全性的にどうかとか考えてたのだが、テキストの読み取り周りでハマる。結局抜け出せず諦めた。
以降は、HTMLにダブルクオートが抜けてるのに一時間気づかないとか、FlaskのXSS対策の対策をするとか、ファイルの書き込み設定をミスって2万手くらい蓄積されて評価値グラフが大変なことになったが、原因に気づかずひたすらグラフ生成部を調べ続けるなど、非本質的な問題にかかずらっていたので書くことは特にない。
なので、最初にgitignoreしてなかったせいで1万ファイルくらい上げそうになったけど、それ以外は特に問題も無く。中間報告からここまで2日ほど。結局1ヶ月かけずにプログラミングをそれなりに身につけることが出来た。「プログラムを覚えたければ作りたいものを見つければいい」というのは本当だな、と改めて思った。
https://anond.hatelabo.jp/20220107060727
どれくらい書けるようになったのか、を見たい方は主にvalue_output.py(将棋AIに思考させてデータを取り出す)とgraph.py(データを整形してグラフを書き出す)を見ていただければいいかと思います。
最初にPaizaを教えてくださったYoutuberの方、cshogiを初心者でも使いやすいように作って展示してくださったTadaoYamaoka様、水匠開発者のたややん様、水匠含めこんにちの将棋AIの基盤を作ってくださったやねうらお様、cshogiを通して利用したpython-shogiのKIFパーサーを書いてくださったTasuku SUENAGA様に、厚く御礼申し上げます。
どうも、id:BigHopeClasicです。
本当はこんな内容、自分ではてなブログに投稿したほうが見た目もきれいになるしいいんでしょうが、持続できないブログを作るのも気後れするので、増田を使います。
さて、掲題の件、はびこりそうな誤解がいくつかありそうなのが将棋ファンとして気になったので書こうと思ったものです。
「日本将棋連盟が三浦九段に対して、カンニングをしていないという悪魔の証明を求めた」
としか解釈できません。つまり、将棋連盟は三浦九段に対して、決定的な物証などを何一つ押さえないまま
この点については続報を待つ必要がありますが、あくまでも現段階での私個人の感想としては
「下策中の下策、愚の骨頂」
なるほど確かに、三浦九段が疑わしいとする複数の棋士からの申し立てはあったのでしょう。
連盟がそれを黙殺すれば、その疑惑が文春砲などで火を噴いた可能性も否定できません。
しかしながら、決定的な物証がなければ、いくら週刊誌が書きたてようが大きなダメージにはならないのは日本相撲協会と週刊ポスト、週刊現代の顛末を見れば明らかです。
大相撲八百長問題が警察からの情報提供で明らかになる前、週刊ポストは30年にわたって角界の八百長を告発する記事を書き続けてきましたが、その内容は元力士らの極めて具体的かつ迫真性のある証言に基づくものとはいえ、決定的な物証をおさえたものではなく、大相撲はそれによってはなんら決定的ダメージを負うことはありませんでした。
週刊ポストに対しては、日本相撲協会は徹底的に無視をし続けることで対応したのです。
また、週刊現代の八百長報道に関しては相撲協会と各力士は、週刊ポストとの対応とは一転して大量の名誉毀損訴訟を起こしそのことごとくに勝訴しています(週刊現代の八百長報道は週刊ポストと比較してもあまりにお粗末だった)。
日本将棋連盟は、こうした大相撲の八百長問題におけるリスクの評価と対策から何も学ぶことなく、あくまでも現段階の報道に基づくところからは、およそ愚劣な対応をしたと言わざるを得ません。
さて、上記とは別にこの問題が深刻なのは、自宅にあるパソコンを遠隔操作するまでもなく、2016年7月におけるスマホ将棋アプリの棋力は、渡辺明竜王、佐藤天彦名人、羽生善治三冠といったトップ棋士の棋力をすでに上回っているという有力な推測があるからにほかなりません。
「対局室へのスマホを含む電子機器の持ち込み禁止、昼食休憩時における将棋会館外への外出禁止」
を定め、これに違反したものは除名を含む厳しい処分を課すことを決め、さらに今週末から開幕する竜王戦では、対局者に対し対局前に金属探知機で持ち物チェックをするという対応を決めていたわけです。
(新聞報道ではこの金属探知機での調査については渡辺竜王、三浦挑戦者双方の同意の下とされています)
(なお、上記のルールは12月中旬から適用とある通り、仮にこの時点で将棋連盟が不正に関する動かぬ物証をつかんでいたとしても、それを三浦九段に対して遡及適用できないことは当然です)
この件を報じた朝日新聞の記事についていたブコメからいくつか代表的な反応を取り上げます。
b:id:temtex 仮に事実としてもだ、たかがスマホアプリでどうにかなるものなのか…と思ったら、別のとこで走らせたソフトの結果さえ判れば良いのか(但し"スマホ搭載"と記事にはある)。プロに勝てる有力なソフトってどんなの?
b:id:namnchichi スマホのアプリでタイトル取れるのか?
b:id:symbioticworm 現時点でスマホで走らせられる将棋ソフトなんてたかが知れてるから、不正があったとすれば外部との通信が必要なはずだけど。現段階では情報が少なすぎる……。
b:id:buu さすがにスマホ搭載のアプリじゃ参考にならないだろうが、協力者と連携すればカンニングは可能だろう。人間よりもソフトが強くなるとどういう将棋界になるのかと興味深かったのだが、こうきたか。
b:id:kaitoster 『対局中、スマートフォンなどに搭載された将棋ソフトを使って不正をした疑い』←スマホの将棋ゲームすでにプロのタイトルホルダーより強いソフトあるのかな?
なるほど、確かにプロ棋士とコンピュータ将棋が戦う電王戦ではコンピュータ将棋が大きく勝ち越しているとは言え、最新の事情を詳しくご存知でなければ上記のような反応は出てくるのが自然かもしれません。また、今回の当事者である三浦九段が電王戦に出場した際の対戦相手が、東大駒場の情報基盤センターの学生用iMac680台をクラスタリングしたGPS将棋であったことも、上記のような反応につながるかもしれません。そこで、これらの誤解を解消するため、コンピュータ将棋の現況について説明したいと思います。
まず、上記の三浦vsGPS将棋が行われて以降、ドワンゴ主催の電王戦では使用されるCPUが制限されています。この制限に基づき電王戦で使われたCPUは、2014年がcorei7 4960X(6コア12スレッド)、2015年がcorei7 5960X(8コア16スレッド)とここまではその時点で調達可能なcorei7シリーズのエクストリームエディションを使用していますが、今年2016年は世代こそ最新のskylakeとなったものの4コア8スレッドのcore i7 6700K、そして来年2017年の使用CPUは同じく4コア8スレッドのcorei7 6700と、使用するハードウェアの性能は年ごとに抑制されるフェーズに入りました。
ではそれによってコンピュータ将棋のパフォーマンスの伸びに制約がかかっているかというと、全くそんなことはありません。将棋ソフトponanzaの開発者の山本一成さんは、2016年電王戦開幕前に「corei7 6700K1台で動くponanzaは、iMac680台をクラスタリングしたGPS将棋より遥かに強くなった」と宣言しています。これは根拠のないことではありません。
現在フリーで入手できる将棋ソフトについては、有志が統計的に有意な手法を用いてその相互間の強さをeloレーティングを用いて計測しています。その一例として、こちらのウェブサイトがあります。eloレーティングの仕組みについては[wikipedia:イロレーティング]を参考にしていただくとして、目安としてはレート上位から見て下位に100差あれば期待勝率64%、以下同じく200差で75%、300差で85%、400差で91%、500差で95%、600差で97%、となります。
ponanzaはフリーで公開されていないため、上記のウェブサイトにはレートは計算されていません。しかし、2016年に電王戦に出場したponanzaは、このウェブサイトで「Apery twig」として掲載されているソフトに対し勝率97%を上げていることが、電王戦に出場した山崎隆之八段をサポートした千田翔太五段の調査によりわかっています。つまりこのponanzaのレートは「Apery twig」の3250に600を足した3850前後であろうと推定できます(なお、上記のサイトで検証に用いているハードウェアはIvybridgeおよびskylake世代の4コア8スレッドメモリ16GBであり、これは2016年電王戦における使用ハードと大きな差はありません)。
一方、2013年に電王戦に出場して三浦九段と対戦したGPS将棋は、この表に掲載されているGPSFish(レート2879)をスレーヴとしてこれを680台クラスタリングしたものでした(厳密に言えば電王戦に出場したGPSfishはこれより一つ前のエディションですが大きな棋力向上はないものと仮定します)。この680台クラスタリングした際の棋力向上幅については、GPS将棋開発チームの田中哲朗東大准教授が、根拠は全く無く経験に基づく推測にすぎないとしながらもレートにして400程度と語っており、これを採用します。
そうすると2013年電王戦のGPS将棋の推定レートは3279となり、2016年電王戦ponanzaとのレート差はおよそ570、ponanzaから見た期待勝率は96%となります。わずか3年の間に、コンピュータ将棋は1台のデスクトップPCで、680台のパソコンをクラスタリングした将棋システムに96%勝利する成長を遂げたのです。
(なお、コンピュータ将棋がかくも異常な速度で成長したのは、ドワンゴが電王戦において「使用ハードウェアの制限」と「提出後対局まで6ヶ月間一切のアップデート不可その間棋士は研究し放題」という条件をつけてしまったからだと考えています。こんな条件をつけなければ開発者はここまでしゃかりきに強化はしなかったはずです。ドワンゴがコンピュータ将棋の大会に出してる優勝賞金の300万円なんて開発費の元手にもなりゃしないし、強いコンピュータ将棋を作ったって売り物にはならないので、モティベーションはこんな厳しい条件のもとで恥をかかないためにはひたすら強くするしかない、ってとこだけなんですから)
もうひとつ、これらの将棋ソフトとプロ棋士の強さの関係はどうなのだということも前提として必要になります。まず、プロ棋士のレーティングについては、こちらのウェブサイトが現在最も信頼され参考にされています。eloレーティングは、基準となる値を何点に設定するかで絶対値はいくらにでも設定できますが、上記の点差と期待勝率の関係は基準値を何点にしようが変わらないので、異なる基準値をとる異なるレート表間での比較が可能になります。
さて、コンピュータ将棋の公開対局場として、GPS将棋の開発チームが開設しているfloodgateというサイトがあります。ここでも参加者の対戦成績に基づいてレーティングが計測されています。また、この対局場は、コンピュータ将棋だけでなく人間も参加することができます。このfloodgateに、一時期上記の千田五段が参戦されていました。その際に記録されたレートは2800ほどでした。千田五段が参戦されていた時期のプロ棋士レーティングにおける数値と、その当時の羽生三冠との数値の比較から、羽生三冠がfloodgateに参戦した場合の予測されるレートは3000から3100程度だろうと見込まれています。また、先に紹介したコンピュータ将棋レーティングサイトのレートは、floodgateのレートの数値と大きく変わらないようにする工夫がされています。なお、羽生三冠のここ数年のプロ棋士レーティングは時期による前後はあれど概ね1900プラスマイナス50程度であり、佐藤天彦名人や渡辺竜王の棋力もほぼこの幅に安定していて、現時点ではこの3人が名実ともにほぼ拮抗した最高レベルの棋力といえます。
ここから考えた際に、2016年電王戦ponanzaと羽生天彦渡辺といったトップ棋士の棋力差はおよそレート差800、ponanzaの期待勝率は99%超、という推測になります。第2期叡王戦本戦PVで千田五段が、羽生のponanzaに対する勝率を0.5%と仮定しているのは、まずこの推測に基づくものと考えて相違ないでしょう。もちろんすべての基準となるfloodgateでの千田五段の数値は、普通のプロ棋士の公式戦ではありえない短い持ち時間の下で行われたものであるため、実際の羽生とponanzaの実力差はこの通りではない、という反論は容易ですが、そもそも持ち時間が9時間に増えたからと言ってレート800の差は埋まるものではなく、コンピュータ将棋も持ち時間を長くすればそれだけ強くなることを考慮すれば本質的な議論とは言い難いでしょう。
ここまで長い前置きを置かないと、なかなかこの本題に説得力が出ないと思いましたが、いよいよここからが現在のスマホ将棋アプリの話題です。
これだけ強くなったコンピュータ将棋ではありますが、これまでは基本的にパソコン上で動かすものでした。スマホ用の将棋アプリも多数出てはいましたが、プロ棋士の最上位に匹敵すると見られているものはありませんでした。
ところが今年の7月、android用の将棋アプリとしてshogidroidがリリースされます。これ自体は将棋ソフトのGUIであって思考エンジンはないのですが、このshogidroidの売りは、今年の6月に一般公開された当時の最強フリー将棋ソフト「技巧」をandroidスマホの上で動かせるようにしたことでした。技巧の強さは先のコンピュータ将棋レーティングサイトで4コア8スレッドで動かした際に3578。ponanzaの3850には及ばないとは言え、今年6月当時ではponanzaに次ぐ2番めに強いソフトで、人間から見れば驚異的な棋力です。
もちろん、この技巧といえど、その棋力がCPUの能力に依存することは言うまでもありません。しかし、スマホも今日日クァッドコアは当たり前、Huawei P9のようにオクタコアを搭載してGeekbenchを用いたベンチマークテストで高い数値を出すスマホもある時代です。第4回将棋電王トーナメントで3位になったやねうら王の開発者で、皆様もよくご存知のやねうらおさんは、2016年9月時点のハイスペックのスマホに、一切のスマホ用のチューニングを行わずに思考エンジンを搭載しても、レートの落ち幅は400程度と推定しています。この推定を当てはめて技巧をshogidroidで動かした時のレートを推定すると3178。やはり羽生天彦渡辺を上回っていることになります。実際にはもちろんやってみないとわかりませんが、あくまでも推測上では、すでに電王戦はプロ棋士対スマホで十分に成立し、それでもプロ棋士の分が悪いことが予測される段階に突入しているのです。
※ちなみに、先の電王トーナメントで優勝し来年の電王戦に出場する最新のponanzaは、今年の電王戦に出場するponanzaに9割勝つとの開発者山本さんの発言がありました。これを信じるならponanzaのレートは4200となり、スマホに積んでも3800で、やはり羽生三冠の期待勝率は1%に満たないことになります。
これが2016年10月における、スマホで動かすコンピュータ将棋の現状になります。恐ろしいことには、shogidroidは無料のアプリであり、その思考エンジンの技巧もフリーウェア。それを最高スペックで動かすHuawei P9は54000円で買える、というところにあります。この状況をどう考えるかは皆様のご想像におまかせします。
さて、お気づきの方もいるかもしれませんが、疑われた三浦九段の棋譜をソフトで検証してみれば白黒はっきりするのでは?と思われるかもしれません。しかしそれは極めて困難であると申し上げましょう。
まず、Shogidroidの上で動かせるソフトは技巧に限りません。その他のソフトも動かすことが可能です。次に、同じ将棋ソフトであっても、ある局面を検討させたときに導く最善手は、CPUの性能や検討させる時間によって異なります。そもそも将棋ソフトにはある特定の局面において常に同じ結果とならないよう検討においては乱数も使用されており、一局の将棋の棋譜からではその人がカンニングしたかを導くのは容易ではありません。
さらに、将棋は二人零和有限確定完全情報ゲームである以上、ある局面における最善解というのが必ず存在します。ということは、その最善解を自力で導いたかカンニングしたかの区別は、着手から「だけ」では判定できないことになります。
以上の理由から、カンニングしたか否かの実験を第三者が行っても、その結果についてはいくらでも疑義をつけることができ、有効ではないと言えましょう。
その昔2000年頃に、ドジ研という3D・プログラミング・ゲーム開発関連の緩いコミュニティがあった。その頃はインターネット黎明期で、ブログやSNSといったものはなく、各人がホームページを作って日記を書いている時代だった。そして、omo氏がドジ研アンテナという、ホームページの更新を調べるアンテナサイトを立ち上げていた(steps to phantasien t(2003-12-13))。その後、omo氏のアンテナは閉鎖されてしまったが、Imagire氏が引き継いでt-potアンテナというアンテナサイトが動いている。
このアンテナに登録されたページがどういう基準で選択されたかはわからないけど、今となってみると、それらのサイトのオーナーたちはなかなかにすごいことになっている。その昔、見始めた頃には無名(ないしは駆け出し)だった若者たちが、10年経って成長して活躍されているところを見るのは感慨深いものがある。
omo: Google.co.jp → Google.com ?
Imagire: バンナム, CEDECでIMAGIRE DAY開催, GREE
shi3z: UEI, 未踏・天才プログラマー/スーパークリエイター, enchantMOON
ABA: インディーゲームでコアなファンに大人気 → Wiiに逆移植
Kaneko: Winny
Bee: NVIDIA Fellowship, Siggraphで公演
Masa: Double STEAL, GDC・CEDECで公演, シリコンスタジオ
Mitani: MSR 日本情報学研究賞
kuni: ゲームの賞多数、Wii, DSや、その他プラットフォームでのゲーム開発
(他、あげてない方々も活躍されてることと思うが、把握している方々だけ列挙しました。また、もともと有名だった人は除外しました)
私も尊敬していました。BM98もそうですし、やねうらお氏がLS3600を名乗っていた2009年頃からのブログは当時から何度も見ました。Bonanzaの解説は参考になりましたし、プログラムの高速化への造詣の深さには感銘をうけたものでした。特に「YaneLisp」「Redundant Bitboards」の2つは本当に素晴らしい技術成果だと数年経った今でも思っています。(最近は局後学習などいろいろ言っていますが、この2つに比べたら他の技術は眉唾もののように感じられます。)
だからこそ今回行ったこと(ソフトの入れ替え、ミスリードの塊のような記事)については本当にがっかりしています。
ああいったPVを作ることでもしないと(ルール違反で失格にせざるを得ないので)対局自体がそもそも成立しなかったとさえ思えています。
って瞬発的に沸騰するんじゃなくてさ、
そのルールを決めた側が今回の改定を依頼したってことをまずは飲み込めよ。その上で、
将棋連盟側もそれを承諾したんだろうが。
なーーーーーーーーーーーにが、「口が裂けても言えない」だ。
リスクがあるんなら断りゃいいんだよ。
ルールに従っててそのルールが変わることが認められないならそれを理由に断ればいいんだよ。
サトシンは自分で判断したんだろうが。それとも何か?サトシンは将棋連盟の傀儡なのか?
自分で判断もできないのか?
本人が「ふざけたことしやがって!負けてたまるか!やってやる!!!」って判断したんだろうが。
その後もグダグダグダグダグダグダグダグダお前らが一番気持ち悪いわ。
やねうら王側は勝とうが負けようが叩き続けられるんだよ。
ただ、こういう結果に導いたのは興行側なんだよ。
叩くなら興行側を叩け。それもドワンゴだけじゃねえぞ。
http://d.hatena.ne.jp/yaneurao/20140227#c1393510021
http://d.hatena.ne.jp/yaneurao/20140227#c1393567501
ただまあ、上記依頼内容以外のバグについてどのタイミングで直したか、
またやねうらお側が上記依頼以前にバグ対応を申し出たかなどの時系列は不明ではあるけども
ぜんぜんフェアじゃないだろ。
ドワンゴがデバッグOK出したから、プロ棋士側には新バージョンを拒否する権利も与えていたから、って本気で言ってんの?
ドワンゴとしては本番でフリーズされても困るし「じゃあプロ棋士側にデバッグしてもいいか聞いてみますね」と言うしかないだろ。
プロ棋士側も「棋力に影響はない。ただのフリーズ対策」と要求されたら認めざるを得んだろ。
やねうらおとしては「フェアな戦いを求めている。よって古いバージョンに戻すことも提案した。なのにプロが拒否してきた」ってことらしい。
あのさ「デバッグを許した結果棋力が向上したため、元の弱いバージョンと戦います」なんて口が裂けても言えないでしょ。
佐藤六段が勝っても「弱いバージョンだから」と言われ、負ければより叩かれる。リスクしかない。
もうフェアとかどうとか関係ないだろ。プロ棋士のプライドとかそういう問題じゃねえだろ。リスク管理だろ。損得の問題だろ。
本当にフェアな戦いを望むのなら、バグのことは一生黙っていればよかったのでは?
はてブは糞実装すぎて害悪でしかない件 - やねうらお−俺のブログがこんなによっちゃんイカなわけがない
既に気付かれたようだが、カテゴリは手動で変更できる。
ブログモードにすべき(設定>記事の設定>表示モードの選択)。
「課金したらエントリーページで商品を紹介できるようになる」機能であって、
「自動で表示される商品のアフィIDをブロガーのIDに変える」機能ではない。
書籍・音楽・映画の紹介リンクを挿入する(isbn/asin記法) - はてなダイアリーのヘルプ
※もしやエントリーページの話だろうか。ヘルプページには「ASINコードを書き込む欄が表示されます」とあるが。
ひとつひとつのブコメに固定URLが割り振られているので反論できないわけではない。
URLを張ってコメントを引用してidコールで通知すればOK。
あるいはメタブだ。
嫌いなものに立ち向かう努力と嫌いなものから逃げる努力、どっちの方が楽だとか考えた場合に、「嫌いなものに立ち向かう努力」の方が楽だと思ったのかね。そりゃ殊勝なこった。
違います。目的を達成するために避けて通れないのです。目的は固定で動かすことはないので。
やねうらお…the "プログラミング好きな人"という感じで、あの世界にどうしても馴染める気がしないんですよねえ…。わんくまとか…。
啓蒙書的なのは何冊も読みましたが(CODEとか結構いいんじゃないだろうか)、正直苦行ですね…。
でもその本はきちんと読めればためになりそうですね。ありがとうございます。
OllyDbgとかインストールするだけで面倒臭くて発狂しそうですが。(環境依存でコンパイルできないとか何故か上手く動かないとか、そういうのが死ぬほど嫌いです)