タグ

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

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

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

    rryu
    rryu 2024/05/09
    論文の内容だけでは盤面のループ・合流に対応できず使い物にならないが、その対応方法が記載されている本があったということらしい。
  • 将棋のような先手必勝のゲームで後手番定跡を作るには? | やねうら王 公式サイト

    将棋は先手必勝のゲームである。将棋AIの大会上位チームの開発者でそのこと自体を疑っている開発者はたぶんいない。とりあえずは、この記事を読むにあたって、これを事実として飲み込んでいただきたい。それで、このような先手必勝のゲームにおいて、後手はどのような戦略を取ればいいのかというのを書いていく。 例えば、以下の動画の概要欄からダウンロードできる『水匠定跡』は、角換同型腰掛銀の必勝定跡であるが、後手番の時はどうすればいいのかという問題がある。(水匠定跡の後手番問題) 先日、このブログでペタショック定跡という超巨大定跡を掘っているという話を書いた。(1年かけて1億局面掘る予定。AWS換算で700万円ほどかかる見込み。) 将棋AIの2024年は大規模定跡時代 : https://yaneuraou.yaneu.com/2024/01/14/the-era-of-large-scale-book-in

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

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

    rryu
    rryu 2024/01/01
    プロ棋士は率先して寄付すべきなのではというところに喜んで無料で出してるって認識なのかあという感じなのだろうか。
  • その打ち歩詰めの定義、間違ってません? | やねうら王 公式サイト

    まず、「◯◯角不成」となる1手詰め問題が作れるかについて考えてもらいたい。普通に考えると、(1手詰めで)例えば5二角不成で詰むなら、5二角成でも詰むはずであって、5二角不成でなければならないという状況は考えられない。ところが、それに挑戦する非常に面白い詰将棋問題が出題された。 いろいろあってやり場が無くなったのでここにあげておきます。良かったら解いてやってください。一手です。 https://t.co/IYB5Qx5dKv pic.twitter.com/hER6oCsK0y — Tonkatu (@tonkatu_love33) November 10, 2023 作意としては、68角不成。対して、77歩のあと、先手に合法手がない。つまり、歩を打つことで相手を合法手のない状態にしているので、これは打ち歩詰めであり、77歩は禁じ手であると言うのだ。(68角不成に代えて68角成だと、77歩の

    rryu
    rryu 2023/11/17
    打った駒が王に効いている訳ではないが次の手で王を動かすと詰んでしまう手を合法手とするかどうかによって勝ち負けが変わってくる話。打ち歩詰め禁止なのはつまらないからだと思うが、これはどうなんだろう。
  • 先日の電竜戦、長時間マッチで現れたやねうら王のバグについて | やねうら王 公式サイト

    二日前に電竜戦 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/ 水匠の探索

    rryu
    rryu 2021/08/18
    元々特定の状況なら許容できる処理として記述されたものが特定の状況を満たさなくなった時に起こる挙動というのは不可解なものが多い印象。
  • 俺氏、将棋が二人零和有限確定完全情報ゲームでないことに気づいてしまうwww | やねうら王 公式サイト

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

    rryu
    rryu 2021/02/20
    千日手という無限ループがある以上厳密には有限ではないことは明らかだが、千日手による引き分けが勝利条件になる場合は評価が非対称になってしまうという話。
  • Seleneが反則負けしたようですが | やねうら王 公式サイト

    電王戦第2局においてSeleneが相手の角不成に対して非合法手を指して反則負けになった件ですが、理由は私には想像つくので、以下に書いておきます。 UCIプロトコルでは、思考を開始する局面は、普通、startpos(平手の初期局面)からの指し手を示す文字列が送られてきます。と言うことは、常識的には、UCI表記での指し手文字列を思考エンジンが内部で使っている指し手構造体に変換する必要があります。ところが、Stockfishにはこの変換をダイレクトに行なう関数は存在しません。さて、どうやっているのでしょうか。 実は、現在の局面の合法手すべてを生成して、それをmove_to_uci( )でそれをUCIの指し手文字列に変換し、それが与えられた文字列と一致したら、そのmove_to_uci( )で変換する前の指し手構造体を返すという実装になっています。少し遅いのが気になりますが、思考開始のときに送られ

    rryu
    rryu 2015/03/23
    思考ルーチン以前のバグだったとは。
  • 1