あたまの なかは からっぽ!

~スカスカな脳みそでれっつプログラミン愚~

ポケモン対戦AIの仕様

AIに関する仕様などを、最初の記事で軽くしか触れていなかったので、今一度明確にします。

仕様

  1. ポケットモンスターORASのシングルレートでの対戦ルールに対応する
  2. 対戦に使用するパーティは人間が決定する(パーティ編成の思考は実装しない)
  3. 機械学習により、対戦ログを読み込ませ学習させる(教師あり学習)

目標

ある1シーズンにおけるシングルレートでの勝率50%の達成

課題

  1. ダメージ計算/ステータス計算/対戦ログ読み取りのプログラム作成
    • 以前ダメージ計算ツールを作成したが、細かなところで計算が合わないことがある
      • 端数処理などの見直しが必要
    • そもそも、ORASになってダメージ計算式が若干変更された可能性もある
  2. 実機での対戦と同等に動作する対戦処理
    • 定数ダメや天候の影響、カベなどの確実な動作の実装
    • 幾度か(幾度も?)実機での動作確認を行う必要がある
  3. 対戦ログの収集(どのように集めるか)
    • (AIを用いないで対戦した)自分の対戦ログだけでは数が圧倒的に足りない
    • BVを適当に漁ることも考えたが、選出外のポケモンが分からない点で厳しい感じはある
    • 対戦ログ取りツールを配布して、有志に対戦ログを提供してもらうのもありか
  4. データベースの作成
    • ポケモン毎の種族値とタイプ、特性が最低限必要
    • 技の関連などもみると、(テーブル設計自体は大したことないが)入力手間が非常にかかる
    • ポケモンのデータ以外では、学習によって得た値もデータベースに蓄積する?
      • この辺は勉強不足のため、現時点では分からない...
      • CSVでの入出力でもいい気はする
  5. AIに関する学習
    • 現時点でのAIに関する知識はほぼないと言って良い

まとめ

単純な仕様とたった一つの目標に対して、これだけ多くの課題が挙げられるので、これらを一つずつ確実にクリアにしていく必要がある。
これらのうち、対戦ログ収集は早いうちから行えばそれだけ多くログが集まるので、対戦ログツール作成の優先度を高める。



いつ完成するんだ、というか完成するのかこれ...