JSで、AIを書く
AI同士で、対戦する
最後はそれぞれのAIを対戦させ、いちばん強いリバーシAIを決めます。
リバーシはとても簡単なゲームなので、初心者でも短時間で「自分より強い」AIに到達できます。
「リバーシAIをつくろう」では JavaScript というプログラミング言語を用いて、自分より強い「リバーシAI」をつくります。最後にそれぞれのリバーシAIを対戦させ、どのAIが最も強いかを競います。
何となく難しそうですが、その中でもリバーシはとても簡単なゲームなので1〜2時間程度で自分で「自分より」強いリバーシのAIを作ることができます。
ボードゲームの直感を、評価関数として明示する。
プログラミング言語を通じて、自分の「考えかた」を言語化していく時間。
リバーシで「ここに置きたい」と感じる手は、なぜそう感じるのか。角は強い、辺は危ない、相手の手数を減らしたい — そうした感覚を、ひとつずつ 盤面評価値 として数値に落とし込み、関数として書き出します。
数字を変えるだけでAIの強さが変わる。試行錯誤しながら、自分のなかの「なんとなく」が、実行可能なロジックに置き換わっていきます。
プログラミング未経験の参加者でも、講座の最後にはAI同士の対戦に出場できる。
ワークシートと最小限のJavaScriptだけで、ここまで到達します。
ワークショップ後アンケートから、原文ママで掲載しています。
実際のリバーシAIに、ブラウザ上で挑戦できます。
コードの読み方、盤面評価値の意味、AIの構築方法までセットで公開しています。
加速キッチンが公開しているデモアプリでは、ワークショップで実装したリバーシAIに自分の手で挑戦できます。コードはそのまま読めるので、どんな評価関数でAIが動いているのかも確認できます。
参加者は、紙のワークシートと一緒に手を動かしながら進めます。
評価値を書き込み、コードに反映し、AI同士の戦績を記録していく形式。
2018年から、学校・大学・企業・オンライン合宿など、さまざまな場で開催してきました。