特定のボード ゲーム用に複数の AI プログラムがあり、すべて異なる言語で実装されており、人間の仲介なしでそれらを互いに競合させたいとします。これについてどうすればいいですか?
これは、AI 研究者、愛好家、ゲーム競技会などに共通の問題であると想像します。
共通のアーキテクチャはありますか? おそらく、AI は個別のプロセスとして実行され、ソケットを介して中央の「ボード」プロセスと通信するのでしょうか?
特定のボード ゲーム用に複数の AI プログラムがあり、すべて異なる言語で実装されており、人間の仲介なしでそれらを互いに競合させたいとします。これについてどうすればいいですか?
これは、AI 研究者、愛好家、ゲーム競技会などに共通の問題であると想像します。
共通のアーキテクチャはありますか? おそらく、AI は個別のプロセスとして実行され、ソケットを介して中央の「ボード」プロセスと通信するのでしょうか?
共通のプロトコルはないと思います。Michel Quenault と Tristan Cazenave によるGeneral Gaming Text Protocol であるGGTP は非常に興味深いものです。なぜなら、一般的なソリューションの設計に対処しなければならない問題について説明し、多くの参考文献があるためです。しかし、そうではありません。
そのため、アドホックプロトコルに頼る必要があります。
チェスには、チェス エンジン通信プロトコル(別名Xboard /Winboard プロトコル) とユニバーサル チェス インターフェイス(UCI) があります。
Xboard プロトコルは年月と共に成長し、現在では標準的なチェス ゲームと、世界の主要な形式のチェス (Xiangqi、Shogi、Makruk) や西洋のバリエーションを含むさまざまなチェスのバリエーションをサポートしています。
どちらもライセンス料なしで無料で使用できます。
GoにはGo Text Protocol (FTP)があります。
チェッカー/ドラフトには、CheckerBoard APIとDamExchange プロトコルがあります。