AI Team Builderについて
AI Team Builderは、ポケモンの強い構築を学習したAIが構築作成のお手伝いをしてくれるツールです。 好きなポケモンとアイテムを選択してBuildボタンを押下すると、それらを含むランダムで生成された1000組以上の構築から AIがより強いと判断したもの上位5組を出力します。 「好きなポケモンを使って構築を作りたい」 「構築の最後の1枠がなかなか埋まらない」 管理者自身もそのような思いがあり、同様の悩みを抱えるポケモントレーナーの一助となるよう本アプリを開発しました。 2023年1月現在、ポケモンソード・シールドのシングルバトル、ダブルバトルにおける シリーズ12(GSルール)、シリーズ13(禁伝・幻なんでもあり)およびポケモンスカーレット・バイオレットのシングルバトル、ダブルバトルにおけるシリーズ1ルールを対象としています。 ルールが変更されるたびに新ルールへの拡張を随時行う予定です。
利用技術について
本アプリのAIはニューラルネットワークを使用しています。 流行りのディープラーニング等もこのニューラルネットワークを基礎としています。 具体的にはPythonのKerasというパッケージを使用しています。 Pythonは機械学習系のパッケージが豊富であり、1から作成しなくともAIを手軽に利用できるため、初学者には非常におすすめです。 ちなみに私はもともと機械学習は素人でしたが、O'REILLYの参考書を読み漁り学習しました。
Keras Documentニューラルネットワークにはランクマッチや世界中の大会で結果を残した構築の情報 (6体の種族値、タイプ、アイテム、テラスタイプ)を入力値としてAIに学習させています。 学習済みAIの検証データへの正答率は90%程度で、それなりに強い構築を判別できるようにはなっていますが、 100%ではないことをご了承ください。 詳細についてはYouTube動画にて説明していますのでぜひ御覧ください。
YouTube-1 YouTube-2AIに学習させる「結果を残した構築」の情報は、構築記事まとめサイトから収集しています。 シングルバトルは「ぽけ坂46」さん、ダブルバトルは「Victory Road」さんの情報を主に参照しております。 非常に綺麗にまとまっており、いつもお世話になっております。リンクを掲載させていただきます。 ポケモンスカーレット・バイオレットの構築情報はTwitterで直接検索してかき集めたりしています。
ぽけ坂46 Victory Road私自身がもともとインフラエンジニアであるため、フロントエンドについては四苦八苦しながら開発しました。多少の粗には目を瞑っていただきたいです。 フロントエンドはオーソドックスなHTML/CSS/JavaScriptで構成されています。 インフラはAmazon Web ServiceのAPI Gateway、Lambda、S3、CloudFrontによりサーバレスな構成となっています。 サーバを持たないことは非常にストレスフリーで、コスト優位性もあると考えています。
管理者について
管理者のなおまると申します。本アプリは私個人で開発、運用しております。 ポケモンランクマッチを剣盾から始めて、竜王戦ルールでレート2000を達成することができました。 最近はポケモンとプログラミングをかけ合わせて面白いことができないか、YouTubeやTwitterで発信しています。 私の取り組みはメディア(Kai-Youさん、AUTOMATONさん)に記事にしていただいたことがあるので、 ぜひそちらも見ていただけると嬉しいです。
Kai-You AUTOMATONAI Team Builderに関する質問や改善要望があれば、TwitterのDMでご連絡ください。
Twitterリンクについて
当サイトはリンクフリーです。サイト内のすべてのページへのリンクはサイト管理者に許可を取る必要はありません。