Google App Engineで実行できるChess AIを探しています。ほとんどのチェスAIはCで書かれているようで、GAEで実行することはできません。それはカジュアルなプレーヤーを打ち負かすのに十分な強さが必要ですが、1回のリクエスト(10秒以下)内で動きを計算できるほど効率的です。GAEのチェスAI
理想的には、既存のコードとの統合を容易にするためにPythonで書かれています。
私はいくつかの有望なプロジェクトに出くわしたが、彼らは成熟して見ていない:
Google App Engineで実行できるChess AIを探しています。ほとんどのチェスAIはCで書かれているようで、GAEで実行することはできません。それはカジュアルなプレーヤーを打ち負かすのに十分な強さが必要ですが、1回のリクエスト(10秒以下)内で動きを計算できるほど効率的です。GAEのチェスAI
理想的には、既存のコードとの統合を容易にするためにPythonで書かれています。
私はいくつかの有望なプロジェクトに出くわしたが、彼らは成熟して見ていない:
PyChessの何が問題になっていますか?これは純粋なPythonであり、かなり成熟しており、確かにカジュアルなプレーヤーに勝つことができます。それは私がPyChessを使用しましたので、しばらくして、しかしsome of the source て一目だ
は、あなたが移動を検索するどのくらいの時間制限を設定することができることを示しありません。
純粋なPythonで書かれたPyChessエンジンはpychess.Utilsです。具体的には、pychess.Utils.lutilsを見ると、たとえばthe move generator written in Pythonが表示されます。
この問題は設計されてGAEアーキテクチャの貧試合、です効率的なCRUD操作であり、CPUを大量に消費するタスクではありません。実際には、リクエストごとに数十ミリ秒以上かかるものであれば、CPUクォータをかなり早く吹き飛ばすことができます。
まだ、無料のCPU割り当ては6.5時間で非常に寛大です。平均的なAIの移動に〜3CPUの時間がかかり(一部は本にある)、〜40の移動/ゲームがある場合、それは〜200ゲーム/日を必要とします。 (私の前提が正しいと思っています) – hoju
実際には、それを正しく行うなら、それほど多くのCPUパワーを持たない強力なエンジンを作ることができます。 良いチェスエンジンは木を非常に剪定するので、深さ7のように検索されるノードの合計は、解釈された言語の1秒以内です。 –
約500ms以上かかると、プロセスが強制終了され、ユーザーがHTTP 500を取得します。 –
私はpychessを見ましたが、使用するチェスエンジンはCベースのようです: http://code.google.com/p/pychess/wiki/ChessEngines – hoju
ポインタありがとう! – hoju
@リチャード:CECPEngineクラスとUCIEngineクラスを使用して、Cエンジンをサポートしています。しかし、エンジンがバンドルされ、内部の分析に使用されるエンジンはPythonで書かれています。 –