テキトーにめいそう(迷走)

変なポケモンの型や調整考えてテキトーに記事を書いてます。

主にポケモンのことをテキトーに書いていくブログです。

とっぷらしきなにか

ポケモンやら身の回りのことをテキトーに書くブログです



AIはポケモンを出来るのか?

 HN変わってますが久々にブログを書きます。今回はタイトル通りAIとポケモンについて書きます。と言っても専門分野でないためガバガバな知識で書くので御容赦ください。

AIってなに?
 そもそもAIってなにか知らない人やイメージが湧かない人向けに説明します。AIは artificial intelligenceの略で日本語に直すと人工知能です。要はコンピュータに人と同じように考えさせるのです。この人工知能には2つの分類があり一つを機械学習、もう一つを深層学習(ディープラーニング)といいます。前者は人間がデータを入力して学習し、後者は勝手にコンピュータが学習するという違いがあります。特に深層学習は人間の神経系の挙動を模して作られたため、学習の仕方から独自に学習します。これらの技術はここ数年で大きく進歩し車の自動運転や将棋・囲碁・チェスなどのソフトや画像認識などの分野で開発されていました。

AIの出来ること
 AIに考えさせると言ってもあらゆる事が出来る訳ではありません。そんな事が出来たら会社の偉い人はみんなAIに替えられるでしょう(無論、そうなる日が来るかも知れませんが)。彼らAIは人間よりも優れた情報処理能力があるため大量のデータの中から規則性を発見することが得意です。つまり統計学的に法則性を見つけることができます。最近よく聞くビッグデータの処理も彼らの得意分野です。例えば、●mazonのおすすめ商品がありますがあれはどうやって表示されているのでしょう?実は購入履歴が類似する人のデータを参照にして表示されています。また●oogleの画像検索もこれらの技術を応用して作成されています。

AIと将棋
 さてだんだんマニアックな話になってきました。AIに将棋をさせるには大きな問題がありました。AIにどのように将棋を教えるか分からなかったのです。意味が分からないかも知れませんが、あなたは小さな子供に自転車のこぎ方を教えられますか?要は感覚的な部分を教えるのが難しいのです(故に『名人』なんて称号があるのかもしれません)。この課題をクリアした要因の一つが『評価値(あるいは評価関数)』の導入です。この評価値や評価関数の定義の仕方は様々ですが、自分が有利なら正の数値で自分が不利なら負の数値で形勢を数値化します。これにより「最善手=評価値が最も高い手」であるのがハッキリ分かります。評価値や評価関数の定義の仕方の一例として、特定の局面に点数を設定する・駒に点数をつけ駒の損得を明確にする・駒の配置に点数を設定するなどあります。

ポケモンと将棋の違い
よくポケモンは将棋に似ていると言いますが、両方やっていた身からすると「相手の行動を読む」ということ以外は類似点はありません。将棋は一手交代でゲームが進行するのに対しポケモンは個体によって行動順が異なりやや複雑です。また将棋は駒が同じ(平手戦を想定)ですがポケモンは使用するキャラが異なりマッチングした瞬間にパーティの相性によって有利不利が変動します。

ポケモンへの評価関数の導入
 では先程お話した評価関数をポケモンに導入してみるとします。まず相手とマッチングして選出を決めます。この時に既にパーティの相性が有利不利に絡むためそこを評価しなければなりません。この時の判断材料は
 ①相手のパーティへの刺さり具合
 ②自分のパーティへの刺さり具合
でしょうか。持ち物の有無もありますが基本あるので省きます。これだけならAIを使う間でもありませんが、ここに隠れたデータである
 ③自分のパーティへの被選出率
を追加すればまた違うかも知れません。

 次に対戦が始まり先発のポケモンが対面します。この時に
 ④自分の選出した3匹の刺さり具合
がメインの関数になりそうです。また、
 ⑤自分の先発の刺さり具合
 ⑥相手の先発の自分の選出への刺さり具合
が形勢判断に大きく関係しそうです。他にも様々な要因が評価値に出来そうです。例えば、残ポケ数や状態異常・技の効果など。この説明で分かると思いますが非常に複雑です。これを学習させることは将棋以上に大変な道のりを歩むことになるでしょう。

AIじゃポケモンは出来ない?
じゃあ無理なの?いいえ、出来るかもしれません。というのもポケモンの形勢判断が無理なだけで選択の最適解を考える事は恐らく出来ます。話が遡りますが彼らはビッグデータの中から規則性を発見することに長けています。つまり類似の局面での最適解を学習させることが出来れば可能かもしれません。無論、50:50の択ゲーや○○読み○○読み○○みたいなイタチごっこのような局面を学習することができるかは分かりませんが統計的に最善手を学習し選択できることを目標にすれば実現可能と言えます。

最後に
 ここまで語っておいてなんですが、私は実現することを望んでいません。やはりゲームは楽しんでやる事なのでそれを機械にやらせるというのはナンセンスです。機械の限界を試すという意味では見てみたいものですが、AIで最善手調べながら対戦して「俺つえー」されてもゲームが冷めてしまうのであくまで「可能かどうか」の検証程度に留めて欲しいです。仮に出来てもゲームではなく実用的な現場への応用によって社会貢献することを願います。




P.S.
今回は長々と書きましたが二度とこんな論文じみた記事は書かないでしょう。



【単体考察】鈍いZバトンブラッキー

ブラッキー@ノーマルZ
穏やか HB252
鈍い 眠る 黒い眼差し バトンタッチ

Zバトンタッチ:下がっている能力のリセット
Z黒い眼差し:特防1段階上昇


積み技+交代封じ+回復技にバトンをつけることでガン積みからの後続の全抜きを期待した型。鈍いのデメリットであるSダウンをZバトンによって克服した。また、Sダウンにより殆どのポケモンに対して後攻バトンが可能になるという副作用がある。更にSダウンのリセットと選択になってしまうがD上昇バトンも可能。前者は高速アタッカー、後者は先制技を持つエースが主なバトン先の候補だ。

 ちなみに黒い眼差しを使う相手にはステロマンムー(吠えるじわれのない)、ナットレイ、ポリ2などが挙げられる。他にもいそうだけど起点に出来るかは保証できない。

 この型のメリットは黒いまなざしによって追加効果や急所被弾以外の理由で事故死する事がない。バトンするまで体力管理だけすれば問題ないからだ。あと意表を突くというやつだ(正直この言葉にいい印象がない)。デメリットはバトンするだけなら他でも問題ないという点と役割を持てる相手がかなり狭い範囲であるという点だろう。


 使った感想としては、嵌れば強いの域を出ないかなぁという印象だった。そもそも妖タイプの多い環境のせいか選出が難しい場面が多かった。また選出出来てもガン積み出来るほど甘くはなかった(急所被弾にビビりながら)。だが嵌めた時はとても気持ち良く全抜きができた。興味があればお試しあれ。
NAVERまとめ
「NAVERまとめ」ブログパーツは、サービスを終了しました。
Twitter プロフィール