オープンソースの将棋用GUI、MyShogi作り始めました

MyShogiの「My」は、マイナビの「マイ」です。
マイナビさんから今年発売するやねうら王の商用版用のGUIとして製作を開始しました。

オープンソースな将棋用GUI、MyShogi
https://github.com/yaneurao/MyShogi

商用版とオープンソース版とをどこで差別化するのか悩ましいですが、いくつか商用版のみの機能を用意することを考え中です。

C#でBitboardとかを、やねうら王から忠実に移植してありますので、GUI以外でも何か使えると思います。(合法手生成、千日手判定、KIF/KI2/CSA/SFENの読み書きetc…)

プログラマの方は、是非、ソースコードも活用してみてください。

(Visited 3,168 time, 5 visit today)

オープンソースの将棋用GUI、MyShogi作り始めました” への25件のコメント

  1. Macで動くGUIのレベルが現在とても低いのでもしMac版も出されるようであれば非常に期待しております。

    • Macは今回は対応しませんが、将来的には対応を予定しています。

      当初、Electronでの製作していたのですが、Electron側のバージョンアップの管理、セキュリティホール等の問題、機能面などを検討した結果、C#で製作していくのが現状、最適解だと判断したので、C#で書いています。なので、そのままMacで動くという作りにはなっておらず、Mac対応のためのコードも結構の分量が必要になるため、今回は間に合いそうにないです。

  2. 時代を先取りしてた
    「やねうら大定跡」で、
    振り飛車の定跡を作成しようと思っています。

    当時(2016年)より
    レートもR600程度向上してますし、
    クジラ評価関数は振り飛車も指すので。

    しかし、
    「やねうら定跡2016形式」を自分好みに修正しようと思ったら現状では、
    ShogiGUIに取り込んでBookConvで変換となります。

    そうすると変換の過程で
    評価値、探索深さ、対局数、勝率といった、せっかく出力した情報が削除されます。

    そこでなんですが、
    「やねうら王の商用版用のGUI」となるのなら、
    GUI上で「やねうら定跡」を局面見ながら自分好みにいじれる機能があればなって思います。

    将来的に実装で全然良いんですけど、ご一考頂けたら。

  3. 楽しみです!
    某激指の級位、段位、pro+とかの基準がわかったらこっそり教えてくれると嬉しいです!

    ちなみに製品版やねうら王のレベル分けは今のところどのようにするつもりですか?

    • > ちなみに製品版やねうら王のレベル分けは今のところどのようにするつもりですか?

      何も考えてないです(´ω`) レーティング表記にしようかと思ってますけど、PCのスペックで強さ変わりますしね…。

      • そうなんですか、一定時間でタイムアウト+探索木を保存させて次回同一局面は途中から思考というのはどうでしょう?
        タイムアウトしなかった局面が同じ手しか指さなくてランダム性は失われますがユーザーが指定した強さの手は指してくれると思います。
        でもこれってレーティングでレベル分けしたといえるのかな…

        • > 一定時間でタイムアウト

          速いPCだとたくさんの局面を読めてしまうので時間で制御するのは筋が悪く、やるとしたら探索ノード数(局面数)で探索を打ち切るべきなのです。しかしその場合でも速いPCだと速く終わるわけで、(人間は相手手番でも考えるその時間が減るわけで)速いPCと遅いPCとで同じ条件とは言えなくなってきます。

          • なるほど、単純に解決できるなら「考えるふりをする」で良いんですかねー。
            どこら辺まで弱いpcを想定するかとかめんどくさいですね笑

          • > 単純に解決できるなら「考えるふりをする」で良いんですかねー。

            はい、PCのスペックに依らずCPUの強さを一律にするためには、それもありかと…。

          • あ、そっか。
            PC側の時間あたりの探索量を決めておいて、探索量によって時間を消費したことにすればいいとか思ったけど、PC側もリアルの時間と同じ時間の流れで時間を消費しないと、人間がPC側の番のときに何も考えずに待つ訳じゃないから困るのかw

  4. お疲れ様です。
    商用版やねうら王では是非 即席詰将棋機能や中盤・終盤課題局面生成機能を付けてください!
    よろしくお願いいたします。

  5. 将棋ライブラリの部分ってakiさんのShogiCore(MITライセンス)では駄目だったのですか(?_?)

    また、Mac版もC#で作るとなるとXamarinってことになりますか?

    Electron不採用はちょっと残念です><

    • > 将棋ライブラリの部分ってakiさんのShogiCore(MITライセンス)では駄目だったのですか(?_?)

      十分熟れてるとは言い難いので(利用者が少ないので)、意図しない挙動とかをされるとまずくて(デバッグもしきれなくて)、それならば、やねうら王から忠実にC#に移植していくほうがまだマシという判断です。

      > また、Mac版もC#で作るとなるとXamarinってことになりますか?

      Viewさえ何とかなれば、Xamarinに拘るつもりはないです。

      > Electron不採用はちょっと残念です><

      ElectronのアップデートをOS側が面倒見てくれないと商用ソフトでは保守していくことは出来ないかなぁという感じで…。

    • オープンソース版の最初のリリースは、7月までにはなんとか…。
      あ、、あとコメント欄で名前、騙るのやめてくだされ…(´ω`) わりと本当にプロ棋士の先生が書き込むこともあって紛らわしいので…。

  6. めちゃくちゃ突飛な意見ですが思い付いてしまったので提案させてください。

    詰野照子ちゃんとチャット出来る機能なんて付いたら面白いと思います。
    俺「なんでこの手指したの?こっちの方が良いと思うんだけど」
    ツンデレ「あんたそしたらこう指されて負けちゃうじゃない!バカじゃないの!?」
    とか話ながら検討できたら良いと思いました。

  7. 商用版『やねうら王 2018』に対応する希望
    NodesLimitの数値を色々プリセットして
    レベル変更したらいいと思います
    (表示はレベル1からレベル10までとか)
    それとUSIエンジン対応、連続対局対応を
    希望します

    • なるほど、考えておきます。 > NodesLimit
      USIエンジンには対応しているので他のエンジンも使えます。(`・ω・´)b
      連続対局は搭載される予定。

  8. やねうら王の商用版は定跡を編集できるようにしてください。定跡は日々新しくなるので、追加して遊べるようにしてほしいです。よろしくお願い致します。

    • 定跡編集は結構たいへんなので商用版には間に合わないと思ってます。
      やりたいとは思っているので、その後のアップデートか、オープンソース版での対応となります。(`・ω・´)b

  9. 商用版で欲しい機能ですが,
    1)評価値が大きく変動した棋譜を抽出できる(逆転した棋譜のみを取り出して,どうすれば逆転できるのかのヒントを得たい)

    2)仮想人物の差し手(天野宗歩とか大山康晴,小池重明の差し方を予測して対局してくれる-好きな棋風の差し方を知りたい,機械学習でできる?)

    3)統計的な数値の出力(PCエンジン同士の連続対局をさせたときに,先後の勝ちやすさについて統計的な値を出力してくれる-形勢判断の客観化)

    4)連続対局の短時間化(形勢が傾いたら,即勝負がありとするオプションをつけてたくさんの対局を自動でさせたときの時間の短縮)

    • > 商用版で欲しい機能ですが,

      今年の商用版、そろそろマスターアップなので来年ですなー(´ω`)

      > 1)評価値が大きく変動した棋譜を抽出できる(逆転した棋譜のみを取り出して,どうすれば逆転できるのかのヒントを得たい)

      これは何らかつける予定です。

      > 2)仮想人物の差し手(天野宗歩とか大山康晴,小池重明の差し方を予測して対局してくれる-好きな棋風の差し方を知りたい,機械学習でできる?)

      人間には、棋風が同じでも強さが違うと、その人っぽく見えない(その人の指し手だと感じない)という心理があるので、難しいでしょうなー。

      > 3)統計的な数値の出力(PCエンジン同士の連続対局をさせたときに,先後の勝ちやすさについて統計的な値を出力してくれる-形勢判断の客観化)

      評価値から期待勝率への変換は f(x) = 1 / ( 1 + exp( -x / 600 )) とかで出来るので、それを表示してもいいかもですねー。

      > 4)連続対局の短時間化(形勢が傾いたら,即勝負がありとするオプションをつけてたくさんの対局を自動でさせたときの時間の短縮)

      これはやねうら王系は、エンジン設定のResignValueで出来ます(`・ω・´)b

uuunuuun にコメントする コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です