🧩

『最強の三目並べAIをゼロから作る』をやってみた

2022/09/14に公開

『ゼロから作るDeep Learning』などの著者がある斎藤康毅さんが、ゼロシリーズの最新作として、『最強の三目並べAIをゼロから作る』というYouTube動画を公開されていたので、やってみました。

https://twitter.com/SaitohKoki/status/1564198954476089344

最終的に作成する最強の三目並べ(Tic-Tac-Toe)AIは、次のデモページで遊べます。

https://koki0702.github.io/tictactoe-pyscript/

学習の流れ

動画は5本からなり、以下のトピックを学べます。

  1. ガイダンス(7分02秒)
  2. 三目並べの実装(42分27秒)
  3. ゲーム木、ミニマックス法(43分44秒)
  4. Webアプリ化(49分29秒)
  5. デプロイ(9分6秒)

三目並べのルールを確認するところからステップ・バイ・ステップで学びながら機能を拡張していき、最終的にはブラウザで三目並べAIを遊べるWebアプリが完成します。

ブラウザ上で開発

ハンズオンでは本質的でない環境構築に苦労しがちですが、このシリーズでは

を使い、全ての作業はブラウザ上で行います。
クライアントPCでの環境構築やコマンドライン操作は不要です。

プログラミング言語はPython

プログラムはPythonで実装し、一般化を避け、ハードコード・割り切って実装されているので、見通しが良いです。

このチュートリアルではJavaScriptのプログラミングは一切登場しません。
Pythonで実装したロジックをどうやってHTMLファイル内で実行させるのでしょうか?

WebAssembly(WASM)を使ってPythonコードを実行するPyScriptを利用し、三目並べのロジックもHTMLタグとのインタラクションもすべてPythonで記述しています。

おすすめポイント

2本目〜4本目の動画のボリュームがあることからもわかるように、これら3本が重めで、特に、3本目は45分弱にミニマックス法の解説と実装を詰め込んでいるため、少しヘビーかもしれません。

ミニマックス法をメインで学びたい人の場合、3本目がハイライトです。

フロントエンドとあまり接点が無い人の場合、4本目・5本目をさらっておくと、何かあったときにブラウザで動作するデモを用意するための引き出しが増えるかもしれません。
特に、Pythonで完結しているのが良いですね。

参考

Discussion