GTR Lab
AI

ぷよ AI「ama」への敬意と感謝

わたしの練習アプリ GTR training は、citrus610 氏の OSS ぷよ AI「ama」(MIT License)に支えられている。ama がぷよ研究にもたらしたものと、無償公開してくれたことへの感謝を書く。

わたしの自作練習アプリ「GTR training」は、ぷよぷよ通 AI「ama」を中核に組み込んでいる。 この記事では、その ama を作って公開してくれている citrus610 氏 への、 個人開発者からの感謝とリスペクトを書きたい。

ama とは

ama は citrus610 氏 によって開発された、 ぷよぷよ通の AI である。C++ で書かれており、 ソースコードは GitHub で公開されている。

リポジトリはこちら → https://github.com/citrus610/ama

「ぷよぷよ AI」というジャンル自体、 個人がここまでの強さの実装を作って世に出すことが、そもそもとても珍しい。 AI 同士の対戦から実戦の解析まで、 ama はぷよぷよ研究の共通基盤に近い存在になっている。

MIT License で公開されているという、最大の贈りもの

ama は MIT License で公開されている。 個人開発者の立場でこれの意味を噛みしめると、頭が下がる。

  • 商用・非商用を問わず、利用・改変・再配布が広く認められている
  • ライセンス表記と著作権表記を保つ義務はあるが、 それ以外には大きな制約がない
  • つまり 研究にも教材にもアプリ組み込みにも使ってよい ということ

強い AI を作るには膨大な探索ロジック・評価関数のチューニングが必要で、 その積み上げは誰もができることではない。 それを「囲い込まず、誰でも使える形で世に出す」という選択は、 ぷよぷよ全体のコミュニティに対する大きな贈りものだ。 わたしのような後発の練習アプリ作者は、 そのうえに乗せてもらってアプリを成立させている。

GTR training に ama を組み込ませてもらった

GTR training の看板機能である「推奨手の表示」は、 ama の評価結果をプレイ中の盤面に重ねて見せているものだ。 AI が「ここに置く」と判断した手を、 練習者が自分のツモごとに同じ盤面で見られる、というだけのアプリだが、 この体験を作れるのは ama が公開されているおかげに他ならない。

わたしは ama の中身を改良したわけでもなく、 評価関数を 1 行も書いていない。 ただ、強い AI が「目に見える」状態で練習者の隣にいるという環境を、 個人が手元に持てる時代になっている。 その入口を作ってくれているのが citrus610 氏の ama である。

人間が AI から学べること

AI に勝てるようになる必要はない(まず無理だ)。 だが AI が示してくれる 「人間が見落としていた選択肢」は、間違いなく上達のヒントになる。 わたしは ama の推奨手を毎日眺めながら、 「自分なら絶対にこの順番で置かない」という手に何度もハッとさせられている。

AI は人間を打ち負かすために存在するのではなく、人間に「他の道があった」と教えるために存在する。 そしてその AI を、誰でも使える形で公開してくれる人がいる。 それが ぷよぷよコミュニティの財産だと思う。

もし ama を試してみたい人へ

ソースコードや最新の状況は、citrus610 氏の GitHub リポジトリ citrus610/ama を直接確認するのが間違いない。 この記事で書いたことに齟齬があれば、必ず本家側の情報を優先してほしい。

最後にもう一度、citrus610 氏、素晴らしい AI を OSS で公開してくれて本当にありがとうございます。