タグ

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

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

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

  • 将棋プログラムK1.5の無駄合判定アルゴリズムについて | やねうら王 公式サイト

    前回記事で柿木将棋の柿木さんが考案された無駄合判定アルゴリズムとして以下のを紹介したのですが、このが絶版になっていて悲鳴のような声を受信したのでフォローしておきます。 コンピュータ将棋―あなたも挑戦してみませんか[サイエンス社 , 1990年 アルゴリズムは書籍の第4章で書かれており、この章は柿木さんが執筆を担当しておられます。 章ではK1.5という柿木さんの作成された将棋プログラムの解説として、無駄合の処理について書かれています。その部分を以下に引用します。 この無駄合判定アルゴリズム自体は、柿木の無駄合判定アルゴリズムとして複数の論文で引用されているのですが、この一次ソースである書が絶版になっているため、ニュアンスが変わって伝わっていたりして学術的な研究の妨げになっているように思いましたので、上に引用させていただきました。

  • 詰将棋の無駄合の定義について(長文) | やねうら王 公式サイト

    将棋ルーチンを書いていると詰将棋の無駄合のルールがとてもややこしいことに気づきます。当にややこしいので、無駄合を考慮する詰将棋ルーチンはプログラマーなら誰も書きたがらないことが多く、一部の開発者以外この問題と正面から向き合おうともしていません。 それでたまたまツイッターで見かけた3手詰めの次の問題です。 無駄合ありなら手順としては、27銀、36合、同香、35合、同香、25玉、36馬までの7手詰めです。(作意はおそらく27銀、25玉、43馬まで。) さて、この時の36合、35合を当に無駄合と言えるのかについてです。 詰将棋の初心者に向けた説明 王手に対して「合駒」ができるということは遠方駒(飛車、角、香のこと)による王様から2升以上離れた升からの王手です。 また、両王手の場合は「合駒」はできません。ゆえに無駄合は両王手の時には出てきません。 いま王手する遠方駒を飛車とします。飛車で王手

  • Qugiyの飛び利きのコード、完全解説 | やねうら王 公式サイト

    WCSC31(第31回 世界コンピュータ将棋選手権)でQugiyは、飛び利き(飛車や角、香のように遠方まで利く駒の利きのこと)に関して、新しいテクニックを披露しました。そのQugiyのアルゴリズムをやねうら王に取り込む予定だったのですが、作業は難航し、なかなか取り込めませんでした。 関連記事) 【速報】Qugiyのコードが速攻でやねうら王に取り込まれることになる https://yaneuraou.yaneu.com/2021/05/05/qugiys-code-will-be-quickly-merged-into-the-yaneuraou/ 取り込めなかった理由を書いていきます…が、それぞれの用語を簡単に解説しつつ、順番に話を進めていきます。 Bitboardとは やねうら王では、Bitboardを用いています。これは、駒のある升に対応するbitが1であるようなbitmap(画像)だ

  • 先日の電竜戦、長時間マッチで現れたやねうら王のバグについて | やねうら王 公式サイト

    二日前に電竜戦 dlshogiと水匠の長時間マッチが開催された。 最高峰将棋AIによる長時間対局、プロ棋士3名が解説 : https://yaneuraou.yaneu.com/2021/08/03/long-time-game-by-the-best-shogi-ai/ イベント的には大成功で、多くのニュースメディアでも取り上げていただいたようである。 水匠のバグについて さて、その1局目で水匠がバグと思わしき読み筋が現れた。成れないところに飛車を成るというものだ。水匠の読みの錯覚であり、それによって大きく形勢を損ねて敗北を喫した。 水匠 vs dlshogi、先手番をともに制す(コンピュータ将棋協会blog) : http://blog.computer-shogi.org/denryu-sen_channel_opening-matches_and_conference/ 水匠の探索

    sugyan
    sugyan 2021/10/21
  • やねうら王公式からクリスマスプレゼントに詰将棋500万問を謹呈 | やねうら王 公式サイト

    開発者の皆さん。詰将棋ルーチンをせっかく作っても、そのベンチマークの方法に悩んでいませんか?詰将棋問題集を手打ち入力なんていまどきナンセンスです。 やねうら王公式が、詰将棋問題にお困りの開発者さんたちに、ドドーンっと500万問プレゼントしちゃいます! アンケートの結果は? クリスマスプレゼントにやねうら王公式から欲しいもののアンケートを取ったところ、半数ぐらいの人から、「そんなに解けねぇよ!ヽ(`Д´)ノウワァァン!!」でしたが、逆に言えば残り半数の人は欲しいということですよね? 3手詰め、5手詰め、7手詰めに加えて、さらに、9手詰め、11手詰めがそれぞれ100万問ずつSFEN形式で収録されています。 https://drive.google.com/file/d/1nJbFFaQeOx3gFafiVIR_oDIcG8iCOHf4/view?usp=sharing ここに収録されている5手

  • 【連載】評価関数を作ってみよう!その1 | やねうら王 公式サイト

    将棋AIと言えば、探索と評価関数で構成されています。探索と評価関数が車輪の両輪のようなもので、その2つがうまく合わさって初めて強い将棋AIが完成します。 ところが、やねうら王系の最新の評価関数であるNNUEは浅い層からなるニューラルネットを採用しているので、新たに将棋ソフトを作ろうと始めた人がいきなりNNUEの実装をやろうとすると普通、挫折します。 そもそも評価関数が完成してもパラメーターが多すぎるので機械学習によってチューニングせねばなりません。機械学習を行うには、教師データが必要で、将棋AIの場合、自己対局により教師データを生成してそれを用いるのですが、そのためには大量の計算資源が必要になります。あと強化学習をするためのコードを書かないといけません。機械学習の理論を学ばなければなりません。 そのように、ちょっと中高校生ぐらいの人がご家庭のPC趣味将棋ソフトを作ろうと思った時に、いき

    sugyan
    sugyan 2020/11/25
  • 1