タグ付けされた質問 「programming」

チェスに関連するソフトウェアの作成のあらゆる側面に関する質問。

4
チェスエンジンの作成、機械学習と従来のエンジンのどちらですか?
私は熱心なチェスプレイヤーであり、コンピュータープログラマーでもあります。チェスとプログラミングは、私が最も時間を費やす2つのことだと思います。当然、私は自分のエンジンを作成し、最終的にはLichessボットを作成したいと考えています。 昨年のStockfishに対するAlphaZeroの圧倒的なパフォーマンスを受けて、このエンジンを機械学習(ある種のニューラルネットワーク、場合によってはTensorflowを使用する)で作成するか、従来のハードコーディングされたヒューリスティックで作成するかを検討しています。 私は他の種類のハードコーディングよりもニューラルネットワークに詳しくありません。それでも、ニューラルネットワークを操作することを学ぶのは良い方法かもしれません。 私が検討しているもう1つのことは、エンジンのコーディングにどの言語を使用することが重要かどうかです。私は多くのチェスエンジンがC ++を使用していることを知っています。私は同じことの多くを行う他のCベースの言語を使用しましたが、ほとんどの構文は異なります。私はSwiftとJavascriptに最も精通していますが、Pythonにも精通しており、それが私にとってのトリックになると感じています。 したがって、可能な限り強力なチェスエンジンを作成するという観点から、ニューラルネットワークを使用するか、ハードコーディングする必要がありますか?

5
Deep Blue以降、エンジンはどのように改善されましたか?
1997年にDeep BlueがKasparovを破って以来、コンピューターチェスエンジンは良くなっています。 アルゴリズムは改善されましたか、それともハードウェアの高速化などにより同じアルゴリズムが高速に実行されたことが主な原因でしたか? 前者の場合、これらのアルゴリズムの改善は公開されていますか? もしそうなら、改善は何でしたか?それらについてどこで読むことができますか?

3
オープンソースのチェスプレイまたはライブラリを表示するPGN
次のいずれかを実行できる言語のオープンソースチェスライブラリに精通している人はいますか。 PGNおよび/またはFENの解析 位置に基づいて有効なチェスの動きを計算する チェスゲーム全体を処理する 編集: 申し訳ありませんが、私はもっと明確にする必要があります。私はオープンソースソフトウェアを探しているのではなく、オープンソースプログラミングライブラリを探しています。

3
チェスエンジンプログラミングの代替アプローチ
私が理解している限りでは、大まかに言って、チェスエンジンは次のように機能します。 ある程度までのすべての可能なバリエーション(ゲームツリー)の計算 いくつかの基準に基づいて最終的な位置を評価します(材料、個の活動...) この評価に基づいて、最適な動きを決定します 効率的なエンジンを使用するには、特定の行を整理したり、深さを制限したりする方法などがあることを完全に理解しています。しかし、これは私の質問ではありません。 質問:チェスエンジン(必ずしも強力ではないが、ランダムではない)をプログラムする別の試みはありますか?

1
このFIDEチェスアプリケーションに追加できる機能は何ですか?(編集内容2/25)
編集:アプリのほとんどが完了しました。これで完了しなければならないのは、FIDEアービターの実装、動的3Dプロット(現在は3つの変数のみがプロットされており、入力に影響はない)、FIDEデータを追加(月に基づいて)、おそらくUSCFチェスデータ(Iすべての州の最新のデータセットがあります)。 この投稿に3つの調整を加えました。 1.一度に複数のプレーヤーを見ることができる動的な時系列チャートを含めます。これは制作に非常に時間がかかりました!。 2.オーバーレイされたヒストグラム/密度曲線を含めます。 3. 3D散布図を含める 4.アプリのレイアウトを改善する FIDE CHESSアプリケーション インタラクティブなチェス盤自体(それ自体が別の動物になります)以外に、集計されたFIDEチェス統計の視覚化と要約を改善するために、このアプリケーションに何を追加できますか?また、集計された履歴データの時系列プロットとモーションチャートを追加する予定です。 完成したら、このプログラミングの側面に興味がある人のために、ソースコードをgithub / mediafireに配置します。また、最終的には、このアプリケーションをホストする場所を見つけて、ご自由に使用できるようにします。 これは、アプリケーション自体の写真です。左側には、右側の出力に影響するフィルターがあります。 ここに私がそこに置いた機能のいくつかの画像があります。 以下のグラフのキー: 最初のグラフは、各国のFIDEレーティングプレーヤーの数を出力し、マップにプロットするインタラクティブなマップです。 2番目のグラフは、FIDE評価分布を表す正規化されたヒストグラムまたは密度曲線です。 地図と同様に、これは各国のプレイヤー数の棒グラフです 地球は地図ですが、地図のより魅力的なバージョンです。 理想的には、2D / 3D時系列プロットを含めることができ、データセットがどのように構成されているかを考えて、それが可能かどうかはわかりません。ここでは、FIDEチェスの人口または個々のプレイヤーのチェス統計の集計をプロットします。 時系列プロットに似ていますが、よりインタラクティブで視覚的に魅力的なGoogleモーションチャート。時系列プロットと同様に、ここでFIDEチェスの人口または個々のプレイヤーの集約されたチェス統計をプロットします。 3変数の散布図 さらに視覚的なFIDEチェスデータに追加できるものはありますか?また、私が持っているものをさらに改善するための提案をすることも良いでしょう。

1
PGNの動きを長い代数表記に変換する方法(pythonの場合)?
PGNファイルを読み取り、特定の移動番号に進み、それをUCIエンジンにフィードしたいと考えています。エンジンは長い代数表記を使用して機能し、PGNは短い代数です。変換を行う簡単な方法は何ですか?つまり、SANからLANへ。 長い代数表記を生成するには、ボードの状態とチェスのルールの知識が必要であることを理解しているので、もう一度書きたくありません!確かに、このようなものがすでに存在している必要があります-コマンドラインプログラムまたはモジュール(できればpython)。
12 pgn  programming 

5
APIを備えたチェスエンジン
C#やpythonなどの高水準プログラミング言語で使用できる通常のAPIを提供するチェスエンジンを探しています。私はリーダーのリスト(Houdini、Komodo、Stockfish、Rybka)を調べましたが、これらのエンジンがAPIを提供している兆候を見つけることができませんでした(これには驚いて、何かが足りないことを示唆しました)。 わかりやすくするために、このAPIに必要なものは次のとおりです。 特定のゲームをエンジンにロードできる ゲームの位置を評価できる 動くことができる それで、誰かがその機能に明確なAPIを提供するエンジンを知っていますか?


3
USCF APIはありますか?
少し前に、NMジョナサンヒルトンの父親が作成したサイトで、プレイヤーのUSCFレーティング履歴を分析していました。 結構いいサイトだと思いましたが、消えてしまいました。そのようなツールがまだ浮かんでいます。なんらかのUSCF APIがあるのか​​、あるいはそのようなデータがどのように取得されるのかと思っていました。
10 programming  uscf 

3
チェス盤表現の単体テスト
したがって、これは少し外れ値の質問です。 私はチェスライブラリを、基本的にゼロから作成しています。GUIやエンジンで使用することを意図して、コードの多くをここで見つけることができます。(ゲームはグランドチェスですが、この質問の目的ではそれは重要ではありません。) 現在、ユニットテストを作成して、関数が期待どおりに機能することを確認しています。そして、私がテストメイト、ステイルメイト、チェック、リーガル、イリーガルなどで分類された、私が使用および作業できる、推奨されるポジションのライブラリまたはデータベースの種類があるかどうか疑問に思っていました。 tl; drコードを単体テストするためのポジションのリストを探しています。 現在のテストはここにあります。数日ごとに追加します。ただし、コードをデバッグする前に、テストが完全であることを確認したいと思います。(それらの半分は現在失敗しています)。 編集:明確にするため:エンジン(「ベストムーブ」)テストを探していません。ボード表現(「これは位置チェックメイトです」)テストを探しています。エンジンテスト用にパズルをいくつか並べています。

1
ビットボードのマジックナンバーを見つける
私はC ++チェスエンジンを書いていて、スライドピースの動きを生成するためのリトルエンディアンランクファイルマッピングビットボードのマジックナンバーを探しています。 ライバルのチェスのウェブサイトはマジックナンバーを提供しますが、同じボードマッピングについては提供しません。 チェスプログラミングWikiは、これまでのところ最高のマジックナンバーのいくつかを提供していますが、完全ではありません。 最後に4つのことを探しています。 各正方形の占有マスク 各四角のマジックナンバー 各正方形の魔法のシ​​フト 各正方形のデータベース配列を移動します したがって、次のコードを使用して、(たとえば)C3のルークの動きを見つけることができます。 bbBlockers = bbAllPieces & occupancyMaskRook[C3] databaseIndex = (int)((bbBlockers * magicNumberRook[C3]) >> rookMagicShifts[C3]) bbMoveSquares = magicMovesRook[C3][databaseIndex] & ~bbFriendlyPieces

3
チェスエンジンに実装する必要のあるインターフェイスプロトコルはどれですか?
私はC ++ https://github.com/RomainGoussault/Deepovでチェスエンジンを書いています。 そこにはいくつかのインターフェイスプロトコル(UCI、Winboardプロトコルなど)があり、どちらを実装するかわかりません。次のいずれかをお願いします。 エンジンがオンライントーナメントをプレイできるようにします Linux、Windows、iOS用のGUIがいくつかあります ある種のドキュメントがあります ありがとう

1
PGNからのポジションの干し魚評価
コマンドラインを使用して、Stockfishのボード位置(PGN形式)の評価を取得しようとしています。FEN形式でボードの位置を受け入れることはわかっていますが、PGN形式を提供する方法はありますか? いいえの場合、PGN形式をFENに変換するにはどうすればよいですか? 私を助けることができるPythonのツールはありますか?

4
チェックレスチェス
現在のチェスと、チェックとチェックメイトを廃止して勝利を定義することと、利用可能なキングキャプチャが常に取得されると仮定して、単純に対戦相手のキングをキャプチャすることとの間に、チェス間に重要な違いはありますか? チェスのAIがチェックとチェックメイトの概念を無視し、キングの物質的価値を無限大として扱った場合、その動作は変わりますか?

4
この戦艦スタイルのチェスの変種は何と呼ばれていますか?
そこで私は最近、(私と同じように)クラブのチェスプレーヤーを対象としたチェスアプリを作成して公開しました。アプリの目標は、チェスを教育し、よりアクセシブルにすることです。 私はアップデートに取り組んでいます。新機能の1つは、チェスのバリアントをプレイできることです。特定のチェススキル(戦術、エンドゲームなど)を強化するのに役立つと思われるバリアントを追加します。これらはすべて私がチェスクラブでプレイするバリエーションです(楽しみと練習のために)。 プレイヤーがエンドゲームを練習するのに役立つと思うチェスの変形は、私たちがプレイする変形であり、チェス戦艦と呼ばれます。 それが機能する方法は、各プレイヤーはボードの半分しか見ることができないということです。どちらのプレイヤーも、所定の数の駒を好きな場所に配置します。通常はポーンの3/4とマイナーな駒1つに加えて、キングを配置します。 次に、ボード全体が両方のプレーヤーに公開され、彼らは等しいマテリアルのエンドゲームをプレイします。これは、エンドゲームとポジショナルプレーを理解するのに役立ちます。 私の質問は、このチェスゲームに正式名称はありますか?私のアプリでは「戦艦」という商標用語を使用できないので、そうでない場合は、喜んで提案を受け付けます。 お時間をいただきありがとうございます、Liam

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.