👾

マッチ箱の脳 1章にあるAI搭載ゲーム「アストロノーカ」まとめ

2024/11/11に公開

アストロノーカ

1998年に今のSQUARE ENIXによって発売されたゲーム。野菜を収穫してコンクールに出品する。
いい野菜を育てるため、品種改良や害獣退治がある。

https://www.jp.square-enix.com/game/detail/astronoka/

害獣退治にAI「遺伝的アルゴリズム」が利用されている

害獣退治概要

畑を荒らしにくる「バブー」という生き物をトラップを配置して撃退する。
AIを用いて毎日進化してやってくる。
https://youtu.be/Q87qEU6WG-4?si=Py_aGEMa78If71Tw&t=398

遺伝的アルゴリズムとは

世代という概念があり、良い性質を次の世代に「遺伝」させていくことで、より良い性質を持った個体が生まれる。

遺伝的アルゴリズムの流れ

  1. 現世代として、複数の性質をもつ個体を複数用意する。(たとえば、「010」「111」「000」)
  2. 個体を評価し、点数をつける(「010」2点、「111」2点、「000」0点)
  3. ある確率で3つのどれかを行い、次世代とする
    a. 個体を2つ選択して、交叉する。(色々な方法があるが、たとえば、「010」「111」から「011」が生まれる)
    b. 個体をひとつ選択して突然変異を起こす。(「010」が「110」になる)
    c. 個体をひとつ選択してそのままコピーする。
  4. このやりとりを数回繰り返し、最も評価点の高いものを採用する

アストロノーカでの利用

「アストロノーカ」のなかで、アルゴリズムは次のようになっている。

  1. 最初のバブー集団をつくる
  2. 各バブーがトラップバトルを行う
  3. 各バブーのトラップバトルの成績を出す
  4. 成績に応じて、生き残るバブー、淘汰されるバブーを選ぶ
  5. 親となるバブーを選んで、遺伝子を交叉させ、子遺伝子を作る
  6. 子遺伝子に突然変異を与える
  7. 子遺伝子を集団に戻す

引用元「森川幸人. マッチ箱の脳(AI)―使える人工知能のお話 (p.65). Yukihito Morikawa. Kindle 版.」

  • 最初の集団のバブーは20個体と決め、個体の性質として、複数パラメータを与えることで、ジャンプ力があるや食いしん坊や乱暴者などが生まれた。
  • ゲーム画面に出ず、裏で計算に使われるだけの世代を作ることで、強くなる速度が速くなり、ゲームのテンポをよくしている
  • プレイヤーが考えたトラップ配置を学習して敵が成長するので、同じ配置で勝ち続けることができない。敵もプレイヤーに合わせて変化していく仕組みになっている。
  • ジャンプ力や腕力などの身体的パラメータ+トラップの思考回路もパラメータに含まれていて、当時は前例がなかった。

参考

Discussion