[shogi perfect]

Table of Contents


本ページについて

このページは、Abstract Strategy Games Online開発プロジェクトの開発者資料です。

開発過程での、実験結果、調査資料、内部仕様などを公開することで、Webベースアプリケーション・ソフトウェア開発、AI研究、アブストラクトゲーム等の研究に役立つこともあるかと考え、プロジェクト情報の一部分を公開します。

Aglie手法による、本プロジェクトの開発者向けの資料ですので、誤った表現、一貫性のない構成、等が含まれている箇所があります。

本ページに掲載してある文章、図、プログラムソースコード等、すべての著作権は、アブストラクトゲーム博物館に帰属します。

このプログラムは、2009/9/8 現在、ソースコードの開示、内部仕様の一般公開はおこなっていません。

本プロジェクトの目的

本ゲームシステムは、Webベースアプリケーションとして、多種のアブストラクトゲームをできるだけ簡便に実装できるようにすることを主目的としています。*1

プロジェクトには、ゲームルールを解釈するゲームエンジン、コンピューター対戦のためのAI、対話性の高いユーザーインターフェースの実現が含まれています。

特定ゲームの実装であれば、定跡、終盤手順などのDB、カスタマイズした局面評価、最善手探索手法等、さまざまな工夫をすることで強いAIを追求することもゴールになりますが、本プロジェクトでは、汎用性を優先するため、特定ゲーム向けのチューニングは、最小限にとどめています。アプリケーションのアーキテクチュア、アルゴリズムの個別チューニングに代えて、プラットフォームの性能向上を目指すことで少しでも強いAIの実現する努力をしています。本プロジェクト資料作成は、これらモニタリング&チューニングに関する結果を記録することも重要な目的と位置づけています。

History

Version 1

  • 開発期間 2009/6 はじめ ~ 2009/8 末
  • FlipFlop, Rinne をブラウザ上でプレーすることを目的に作成したWebベース・アプリケーション。
  • FlipFlop, Rinne, King's Valleyを実現

Version 2

  • 開発期間 2009/8 末 ~ 2009/9 初旬
  • Version 1をリファクタリングして、ゲーム間での共通部分を整理
  • より多くのゲームに対応できるようにアーキテクチュアを再検討した
  • AIの強化
  • パフォーマンスの向上
  • Alapoを追加

Version 3

  • 開発期間 2009/9 中旬 ~ 2009/10 中旬
  • サーバー側プログラムのJRubyへの対応。これにあわせて
    • ActiveRecordにDBインターフェースを統一
    • 環境を判別して、Multi-Threadを自動的に使い分ける
  • サーバー側プログラム外部プログラム連携のためのAPIの整理 (Version 4で)
  • Mini-Shogiの実装
  • Rinne AIの強化
  • Mini-Shogi実装準備と、AI強化のため、プログラム内部状態の可視化および統計情報を取得できるように修正

Version 4

  • 開発期間 2009/10 中旬 ~ 2009/12 下旬
  • 新規ゲームの実装よりも内部仕様と性能・素材の整理を中心とする
    • 評価対象手の生成時のフィルタリング機能の導入
    • SSS法など、単純な深さ優先方式からの考慮方式の変更で、考慮時間の制御を容易にする ... どのような方式があるかリサーチする
      • ただし、計算コストとのトレードオフを考慮する
  • 棋譜鑑賞
    • 棋譜一覧から、対局を選択して再生する機能
    • テキストの棋譜からゲームを再生する機能
  • サーバー側プログラム外部プログラム連携のためのAPIの整理
    • C言語などによるカスタムAIの記述を可能にする
    • ネットワーク分散環境下でのAIリクエストの処理インターフェースの実現
  • 新規ゲーム(近日発表)を追加

Version 5

  • 開発期間 2010/1 初旬 ~ 2010/8
  • Version 4で作成したCustom AIのAPIを使って、AIの強化を目指す
    • C or Java へ、一部ゲームのAIの移植
  • 棋譜鑑賞
    • テキストの棋譜からゲームを再生する機能
  • 将棋型ゲームの、カスタムゲーム制作のための基礎機能作成

Version 6 (現在公開中)

Games

ゲーム個別の課題他

FlipFlop

  • AI5 3x3では完璧に指すようになった(ように見える)
    • 5x5では、AIレベル3まで。プラットフォーム性能の向上によって改善を目指す

Rinne

  • 序盤定跡の摘要をすれば、かなり強くなるはず

King's Valley

  • 不満なし

Alapo

  • フロントエンド部分で、ボードFLIP時の駒反転表示を汎用性がある実装方法で実現。Zillionsは、この機能実現は、スマートな方法ではない。
  • AIは探索空間が前3種に比べて多く、苦戦
    • 残り駒数によって、探索の深さを調整するようにしている
    • RubyでのAI実装は、このレベルのゲームが限界か?

MiniShogi

  • これまでのゲームと異なる箇所が多数
    • 持ち駒のあつかい (対応済み)
    • 駒の向き (対応済み)
    • 合法手生成の効率化
    • AI強化(Version 4から)

どうぶつしょうぎ

  • 考案者からの公開承認待ちのため非公開
  • MiniShogiと合わせて、AIの強化/調整
  • 画像は、オリジナル駒ではなく、写真を活用

SEE ALSO

以下、開発者専用のページです

Feedback

選択肢 投票
おもしろい 1  
役に立つ 4  
興味ない 0  
理解できない 0  
やってみたい 0  
食べてみたい 0  

*1 本サイトで、ゲームの図やルールを紹介するだけでは、十分に情報が伝わらないため、実際にゲームをプレーできる環境が必要と考えているからです

TOP   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   [Privacy Policy]  
Last-modified: 2014-08-23 (土) 17:41:09 (3327d)