タグ

ブックマーク / yaneuraou.yaneu.com (52)

  • 将棋ソフトを開発して3000万円損した話 | やねうら王 公式サイト

    「大人の数トレチャンネル」(YouTube)に私が出演した時の後編の動画があまり再生回数が伸びてないので改めて紹介をさせていただく次第である。 このブログでも以前ちらっと書いた、「将棋ソフトを開発して3000万円損した話」が出てくる。(詳しい内容については動画をご覧いただきたい) それとは関係ないのだが、動画の内容に関連して、いくつか補足しておきたいことがある。 AI界隈では、「プロ棋士 VS 将棋AI」という構図が「人間 VS AI」の縮図だと言われることが多々ある。例えば、これは「将棋AIのようにAIが人間を打ち負かしたあとは、○○○な未来になっていく」みたいな文脈で用いられる。 しかし、人間が将棋AIに抵抗してきた歴史について当事者視点で語ってあるブログや書籍はあまりに少なく、そのへんの情報がまるで伝わっていないように思う。 そこで、記事では私が当事者視点でだらだらと書いていく。

    khtokage
    khtokage 2024/05/20
  • 詰将棋アルゴリズムdf-pnのすべて | やねうら王 公式サイト

    将棋AIで用いている詰将棋ルーチンにdf-pnというアルゴリズムがある。 これは、proof number(証明数)、disproof number(非証明数)を用いて効率的に探索を行い、その局面が詰むか、詰まないかを判定できるとても強力なアルゴリズムである。 将棋ファンなら『脊尾詰』と言う「ミクロコスモス」(1525手詰)を解く詰将棋専用ソフトについて一度ぐらいは聞いたことぐらいあるだろう。これは、脊尾さんが大学時代に作成されたプログラムである。そこに使われていたのが脊尾さんが考案されたdf-pnというアルゴリズムである。 df-pnに関しては、脊尾さん自身の論文(1998年)があるものの、要点しか書かれておらず、いまのようにGitHubにソースコードがあるわけでもなく、その詳細については長らく謎に包まれたままであった。(この脊尾さんの論文では、証明数のみを用いており、非証明数は陽には出

    khtokage
    khtokage 2024/05/09
  • Winnyの金子さんのED法について | やねうら王 公式サイト

    Winnyの金子勇さんが考案された機械学習アルゴリズムED法を再現して実装した人がいていま話題になっている。 『Winny』の金子勇さんの失われたED法を求めて…いたら見つかりました https://qiita.com/kanekanekaneko/items/901ee2837401750dfdad いまから書くことは私の記憶頼りなので間違ってたらコメント欄で教えて欲しい。 1998年ごろだと思うのだが、私はWinnyの金子勇さんのホームページの熱心な読者だった。(ページも全部保存してたので私のHDDを漁れば出てくると思うが、すぐには出せない。) Winnyのβ版が発表されたのが2002年なのでそれよりはずいぶん前である。 当時、金子さんはNekoFightという3D格闘ゲームを公開されていた。そのゲームには、自動的に対戦から学習するAIが搭載されていた。 当時の金子さんのホームページの

    khtokage
    khtokage 2024/04/22
  • 羽生先生の発言は何が開発者の反発を招いたのか? | やねうら王 公式サイト

    2つ前の投稿で羽生先生のインタビュー記事の発言を取り上げたらプチ炎上しました。私は特に炎上を狙ってやっているわけではなく、羽生先生の発言が将棋AI界隈に悪い影響が残り兼ねないので書いたのですが、開発関係者からは一定の同意が得られたものの、将棋ファンからは殺害予告やら、こんなツイートやらが届く始末です。 まあ、一線を越えているものに関しては関係各所と連携しつつ、粛々と対応させていただく次第です。(念のために言っておきますと、将棋ファンのすべてがこういう人たちばかりだとは私は思っていません。極一部にちょっとややこしい人がいらっしゃるという認識です。) この記事は大変長くなるので、「最新版のやねうら王が(お金を出してでも)欲しい!」と言う方や、「やねうら王の開発に支援してやる!」と言う方は、とりあえず、この記事の末尾のリンクから御支援くださいませ。 今回は、前回の羽生先生の発言を再度取り上げ、何

    khtokage
    khtokage 2024/01/01
  • オセロの必勝法が見つかった件 | やねうら王 公式サイト

    すごいニュースが飛び込んできた。オセロの必勝法が見つかったのだ。正確に言うとオセロが弱解決された。まずはその論文を紹介する。 Othello is Solved : https://arxiv.org/abs/2310.19387 「弱解決(weakly solved)」を簡単に言うと、初期局面からの双方最善手を打つ時の結論(勝敗)がわかったと言う意味である。8×8のオセロの結論は引き分けなのだそうだ。「必勝法が見つかった」と記事のタイトルで書いたが、その結果として双方最善を尽くした時のオセロの結論が引き分けだったことが判明したので正しくは「必勝法(必ず勝てる方法)が存在しないことが証明された」とでも言うべきか。 今回は、初期局面から到達できるあらゆる局面についての結論(勝敗)がわかったわけではない。こちらは「強解決(strongly solved)」と呼ばれる。 弱解決と強解決とでは、

    khtokage
    khtokage 2023/11/07
  • 最高峰将棋AIによる長時間対局、プロ棋士3名が解説 | やねうら王 公式サイト

    先日、将棋ソフトの大会である第2回世界将棋AI電竜戦TSECが開催され、やねうら王チームのたややんさんの将棋ソフトである水匠が総合優勝を果たした。 dlshogiは予選落ち(戦には2ソフトしか残れない)したのだが、dlshogiは予選落ちした48チームのなかで優勝を果たした。dlshogiの開発者の山岡さんによると、「予選は学習が間に合わずいまいちな成績でしたが、選では調整が間に合いR+150くらい強くなっていました。」とのことらしいが、「まだあそこから+R150も上がるのか!」と周囲を驚かせている。 // 第2回 電竜戦TSEC 結果報告 : https://tadaoyamaoka.hatenablog.com/entry/2021/07/18/173459 今回、総合優勝した水匠とこの+R150も強くなったdlshogiとの親善試合が開催されることになった。それも長時間での対局で

    khtokage
    khtokage 2021/08/04
    めっちゃ楽しみだ!
  • 【速報】WCSC31、PALの優勝を阻止したドラマについて | やねうら王 公式サイト

    WCSC31(第31回世界コンピュータ将棋選手権)で6回戦の時点でPALが5勝1負。もはやPAL優勝か、さすがHEROZのA100×72基(たぶん使えるのは8基程度?)使えるだけのことはあるな!指し手にすごく安定感があります!などとPALの優勝を誰も疑ってはいなかったのですが…。 何せ、8回戦、PALの相手はRyfamate。Ryfamateはここまで2勝3敗。Ryfamateのマシンは、GPUはRTX 3090 1基のみ、CPUは16コア(Ryzen 2950X)らしいのでスペックはしょぼしょぼです。常識で考えれば、到底勝てる相手じゃないです。 しかしRyfamateには昨晩、たややんさんと私がチームに「(主要ではない)開発者」として参加して、評価関数ファイル(modelファイル)を提供しています。 // 【速報】WCSC31決勝に進出したRyfamateチームにたややんさんと私が加わる

    khtokage
    khtokage 2021/05/06
  • GCTチーム、前回電竜戦から激つよになった評価関数を公開する | やねうら王 公式サイト

    惜しくも二次予選敗退となったdlshogi with GCTですが、その評価関数、実行ファイルが公開されました。 // dlshogi with GCT(WCSC31バージョン)のWindows版ビルド済みファイル公開 : https://tadaoyamaoka.hatenablog.com/entry/2021/05/05/121233 私の計測では、昨年の電竜戦で優勝したGCTから+R260ほど強くなっています。電竜戦の持ち時間(10分1手2秒加算)であれば、NNUEを圧倒しているはずです。 今回のWCSC31で分かったように長時間で、NNUEのほうが棋力の伸びが良いのは、評価関数の仕上がりというよりは探索の問題もかなりあるように思います。まあ、短時間でGCT+R260も強くなっていれば、dlshogiの探索の仕上がり次第で一気にDL勢の天下になると思います。 また、わりと安いGPU

    khtokage
    khtokage 2021/05/06
  • GCTの学習メソッドは強化学習の常識を覆すかも知れない | やねうら王 公式サイト

    昨年の将棋ソフトのオンライン大会である電竜戦で優勝したGCT。最近、floodgate(コンピュータ将棋のオンライン対局場)にgcttest_x6_RTX2080tiという強いソフトが登場した。これはそのGCTの開発者である加納さんが放流されている評価関数の育成中のGCTである。このソフトが2080TiというGPUの性能からすると強すぎるので、2080Tiの6枚刺しではないか、シングル(1枚刺し)だろという議論(罵り合い?)がなんとかちゃんねるでさかんに行われている。 429 名無し名人 (ワッチョイ a301-xfeT)2021/04/06(火) 13:32:52.91ID:1YM8Ydqj0 加納さんのツイートを見たけど、どこにもgcttest_x6_RTX2080tiが2080Tiシングルっていう ツイートは見当たらないよ。 前に序盤定跡を少しだけ使用してレート4100くらいのgct

    khtokage
    khtokage 2021/04/08
  • 俺氏、将棋が二人零和有限確定完全情報ゲームでないことに気づいてしまうwww | やねうら王 公式サイト

    このブログをご覧の方は将棋が二人零和有限確定完全情報ゲームであることはご存知でしょう。これは、ゲーム理論や探索アルゴリズムの教科書にでも載っています。「二人零和有限確定完全情報ゲームって何?」って方は、Wikipediaでも見ていただくことにして話を先に進めます。 零和とは? この「零和」というのは、和が零。英語で言うとゼロサムです。 零和(「ゼロ和」と読むのが一般的だが「レイワ」とも読む):プレイヤー間の利害が完全に対立し、一方のプレイヤーが利得を得ると、それと同量の損害が他方のプレイヤーに降りかかる https://ja.wikipedia.org/wiki/二人零和有限確定完全情報ゲーム つまり、自分が勝ちなら、相手は負け。相手が勝ちなら自分は負け。勝ちを+1点、負けを-1点、引き分けを0のように定めるなら、(ゲーム終局後に)自分と相手の点数を足すと0になる。なので、ゼロサムゲーム

    khtokage
    khtokage 2021/02/20
  • 渡辺明名人と東大教授で日本の脳研究の第一人者である池谷裕二先生との対談記事が間違いだらけである件 | やねうら王 公式サイト

    ここまでひどい記事は久しぶりだ。 渡辺明名人の疑問「将棋の初手でこれを指したら負けという“必敗”の手はありませんか?」 脳研究者の答えは… https://number.bunshun.jp/articles/-/846635 この手の対談は、編集側が元の発言とは異なる意図で解釈して、誤った書き方にしてしまうことが多々あるので、誰が悪いのかということはここでは問題としないことにする。ただ、内容が間違いだらけではあるので、ここではそれを指摘するに留める。 14年前のAIは「奨励会1級とか初段ぐらいだった」 池谷 渡辺さんのすごいところは、転換期を迎えた時に「じゃあAIに学んでみるのも面白いかもしれない」と思ったことですね。柔軟な適応力で発想の着火点をスムーズに転換されています。渡辺さんはかなり早い時期からAIと対戦されていましたよね? 渡辺 あれは2007年ぐらいでしたが、まだAIが全然強く

    khtokage
    khtokage 2021/01/15
  • 2020年、将棋ソフト界隈のまとめ | やねうら王 公式サイト

    年末なので、2020年の将棋ソフト界隈のことを自分目線でまとめておきたい。自分目線なので全然まとめになってないとは思うけども、その点は御容赦願いたい。 今年は、コロナ禍のために毎年5月のゴールデンウィークに開催されていたWCSC(世界コンピュータ将棋選手権)が開催されなかった。 WCSCは、その代わりに「世界コンピュータ将棋オンライン大会」となり、オンラインで開催され、たややんさんの『水匠』が優勝した。 私(やねうら王チーム)は、このオンライン大会には参加しなかった。賞金もでないことだし(この時点でやる気9割ぐらいダウン)、単純に面倒くさかったからである。 将棋ソフトは何のために作っているのか?とよく尋ねられるのだけど、私の場合、それ自体が楽しいからであって、盆栽いじりにも似たものがあると思う。これは、Aperyの平岡さんも全く同じことを言っている。 最近ちょくちょくapery_rust

    khtokage
    khtokage 2021/01/01
  • NNUEがStockfish本家masterブランチのマージされた件 | やねうら王 公式サイト

    「Stockfishからアイデアをもらいっぱなしで、いつか恩返しがしたい」と考えていた将棋AI開発者や、あるいは「いつかあいつらにひと泡吹かせたい」と考えていた開発者の悲願を達成しました。 コンピュータチェスの世界は引き分けになることが多く、R(レーティング)差の重みが将棋の世界とは違います。近年のStockfishのプルリクでは、R5も上げればそれは素晴らしいとみなされます。 今回のプルリクはR90以上あがるとされており、R5が「ひと泡吹かせる」であるとすれば、今回、「18泡ほど吹かせてやった」ことになります。 Stockfishの開発にはコンピュータ将棋の開発者とは異なり、そこに(一つのソフトに)多くの人が参加しているので、そこで荒波に揉まれたコードがまた我々の元に還ってくるかも知れませんね。

    khtokage
    khtokage 2020/09/01
  • OSSの将棋ソフトは何故一つになれないのか? | やねうら王 公式サイト

    やねうら王系の将棋ソフトで採用されているNNUE評価関数がコンピューターチェスの代表格であるStockfishにportingされ、Stockfishのほうで驚異的な強さを発揮し、Stockfishに正式にマージされるのではないかというまでの勢いを見せている。WikipediaにNNUEの項目まで誕生した。 https://en.wikipedia.org/wiki/Efficiently_updatable_neural_network Stockfishのその開発態勢には学ぶべきものがあり、多くの人が一つのソフトの開発のためにコントリビュートしている。逆に将棋ソフトでは何故そのような開発態勢にならないのであろうか。 まあそう出来たら、開発時の比較検証の結果も随時オープンにしていっただろうし、新しくそこへ誰かが加わるのも容易になった気はする(´・_・`)知らんけど(´・_・`) — 平岡

    khtokage
    khtokage 2020/09/01
  • 機械学習エンジニアのための将棋AI開発入門その1 | やねうら王 公式サイト

    最近、機械学習を勉強している人が増えてきたので、簡単な機械学習ならわかるよといった人たち向けに将棋AIの開発、特に評価関数の設計について数学的な側面から書いていこうかと思います。線形代数と偏微分、連鎖律程度は知っているものとします。 3駒関係 3駒関係はBonanzaで初めて導入された、玉と任意の2駒との関係です。この線形和を評価関数の値として用います。評価関数とは、形勢を数値化して返す数学的な関数だと思ってください。 この3駒関係を俗にKPPと呼びます。King-Piece-Pieceの意味です。将棋の駒は40駒ありますので、{先手玉,後手玉}×残り39駒×残り38駒/2 通りの組み合わせがあります。この組み合わせは1482通りあります。Cをコンビネーション記号とすると、次のようになります。 $$ 2 \times {}_{39}C_{2}= 2 \times \frac{39 \tim

    khtokage
    khtokage 2020/05/14
  • dlshogi強すぎクソワロタ | やねうら王 公式サイト

    AlphaZeroの再現実験として、YSSの山下さん、Bonanzaの保木さん、Ray(囲碁ソフト)の小林祐樹さんのゴールデンコンビがタッグを組んだAobaZeroというソフトがあるのですが、ここ最近は棋力が停滞気味であります。 http://www.yss-aya.com/aobazero/ 対して、AlphaZeroのようにDeep Learningを用いている将棋ソフトではあるものの、山岡忠夫さんのdlshogiのほうは、AlphaZeroの再現にはこだわってないようで、C++で高速化したり、終盤用にdf-pnによる詰将棋ルーチンを搭載したり、LeelaChessZero(AlphaZero型のオープンソースのChessのソフト)の改良点を取り込んだり、TensorRTを用いた高速化を行うなど、様々な改良を意欲的にされていて、ずいぶん強くなっているようです。 将棋AIの進捗 その42

    khtokage
    khtokage 2020/05/01
  • あやねるサーバー、あやねるゲート出来ました | やねうら王 公式サイト

    先日、pythonからやねうら王を操作できるアダプター、Ayaneをリリースしたばかりですが、これを用いたスクリプトがいくつか完成したのでご報告させていただきます。 ※ Ayane : https://github.com/yaneurao/ayane ・1 VS 1の対局クラス → あやねるサーバー(クラス) ・並列自己対局クラス → マルチあやねるサーバー(クラス) ・並列自己対局スクリプト → あやねるサーバー(スクリプト) : ayaneru-server.py ・N VS Nの対局スクリプト → あやねるゲート(スクリプト) : ayaneru-gate.py まだ作りたてなので何か大きなバグがあるかも知れませんので何かあれば教えてください。 あやねるゲートのほうは、enginesフォルダに複数のエンジンをぶちこんで置くと、「任意の二つを取り出して自己対局をloop回行う」という

    khtokage
    khtokage 2019/07/09
  • pythonからやねうら王を駆動できるアダプターAyane、公開しました | やねうら王 公式サイト

    みなさん、python使ってますかー?私、久しぶりにpython使ったら文法とか全部忘れてるんですよ。リハビリを兼ねて、pythonからやねうら王を使うためのアダプターを書いてみました。1000行近い意外と大きなソースコードになってしまいましたが、かなり綺麗な設計になっていると思うので、使いやすいと思います。 Ayane https://github.com/yaneurao/Ayane Ayaneとは、python Adaptor to YaneuraOuの略で、やねうら王をpythonから呼び出して便利に使えてしまうアダプターです。 ※ AdaptorのAと、YaneuraOuのYaneの部分でAyaneです。また、YaneuraOuのYane-r–uの部分を取って、Ayaneru(あやねる)の愛称で呼ぶことがあります。 サンプルのコードなのですが、凄くシンプルだし、たったこれだけ書く

    khtokage
    khtokage 2019/06/30
    あやね…る……
  • AWSに思考エンジンを配置してssh経由で使う方法 | やねうら王 公式サイト

    今回のWCSC29(第29回世界コンピュータ将棋選手権)では、AWSを利用するチームが目立った。ハイスペックなPCを持ち込んで戦うよりは、軽量なノートPCだけ持ち込んでAWSを使ったほうが機材の搬入が楽だし、スペックも悪くない。しかし、普段sshを使うこともないような人にとっては知らないことだらけでどうやって良いのか戸惑うことも多かった。かくいう私もその一人であった。そういう人の助けとなるように記事にまとめておく。 WCSC28でelmoが反則負けした件 まず、この原因を書いておくところから。この原因を知らないと怖くてsshが使えない。 elmoの瀧澤さんにWCSC29で尋ねたところ、「あれはMicrosoft製のsshを使っていて、1年以上更新していなかったもので、そのバージョンが古く、1行のバッファが1024文字までだったのが原因です。」とのことであった。 1行が1024文字までなので

    khtokage
    khtokage 2019/06/19
  • 1手1秒で強い将棋ソフトは1手10秒でも強いのですか?その3 | やねうら王 公式サイト

    前回の続き。探索部について深い理解が得られるように、ここで時代を遡り原始的な探索部として、昔の将棋ソフトについて見ていこう。 太古の将棋ソフト 世界で最初に作られた将棋ソフトは、瀧澤武信さん(現CSA会長)が1975年に作られた将棋ソフトだと言われている。 WCSC28の懇親会で私とQhapaqの澤田さんが瀧澤会長に「あれは何の言語で書かれたのですか?」と尋ねたところ、「Fortranで…」とお答えいただいた。Fortranが死ぬほど嫌いな澤田さんはその瞬間「ヒェッ」と毒蛇を踏みつけたときのような奇声を上げ、Fortranに親を殺されたかのような恨みしかない私は「ムグゥ」とヤンキーにカツアゲされてボディーブローをお見舞いされたかのような奇声を上げた。瀧澤会長に対して失礼極まりない態度の二人であったが、二人にとってはそれぐらいの衝撃であった。 ちなみに小谷善行さん(現CSA副会長)は、当時

    khtokage
    khtokage 2019/06/19
    内藤九段出てきて笑ったw