Workshop · JavaScript × Reversi 小学生〜

リバーシのAIを
つくろう 自分より強いリバーシAIを、JavaScriptで自分の手でつくる。
盤面評価値という「考えかた」をコードに翻訳し、最後はAI同士で対戦する。

  • JavaScriptを書いたことがなくても大丈夫。
  • 1〜2時間で、自分より強いAIまで到達できる。
  • 「なんとなく」を、評価関数として言語化する。
0時間
自分より強いAIまで
JS 1言語
使うのはJavaScriptのみ
0件+
2018年〜の開催実績
リバーシAIをつくろう ワークショップのキービジュアル JSで、AIを書く
東北大学でのリバーシAI講座、参加者がノートPCに向き合う AI同士で、対戦する
01 about

JavaScriptで、自分より強いAIをつくる。

最後はそれぞれのAIを対戦させ、いちばん強いリバーシAIを決めます。
リバーシはとても簡単なゲームなので、初心者でも短時間で「自分より強い」AIに到達できます。

「リバーシAIをつくろう」では JavaScript というプログラミング言語を用いて、自分より強い「リバーシAI」をつくります。最後にそれぞれのリバーシAIを対戦させ、どのAIが最も強いかを競います。

何となく難しそうですが、その中でもリバーシはとても簡単なゲームなので1〜2時間程度で自分で「自分より」強いリバーシのAIを作ることができます。

リバーシAIの構築プロセスを示した図解。盤面評価値の調整からAIどうしの対戦まで。
AIをつくる、流れ
02 thinking in code

なんとなく」を、コードに翻訳する。

ボードゲームの直感を、評価関数として明示する。
プログラミング言語を通じて、自分の「考えかた」を言語化していく時間。

リバーシで「ここに置きたい」と感じる手は、なぜそう感じるのか。角は強い、辺は危ない、相手の手数を減らしたい — そうした感覚を、ひとつずつ 盤面評価値 として数値に落とし込み、関数として書き出します。

数字を変えるだけでAIの強さが変わる。試行錯誤しながら、自分のなかの「なんとなく」が、実行可能なロジックに置き換わっていきます。

プレイヤーの思考をプログラム言語で言語化し、フィードバックして強くするイメージ図
評価値を、書く
+ achievement

小学生でも、2時間で
自分より強いリバーシAIをつくれる。

プログラミング未経験の参加者でも、講座の最後にはAI同士の対戦に出場できる。
ワークシートと最小限のJavaScriptだけで、ここまで到達します。

0時間
自分より強いAIまで
0言語
使うのはJavaScriptのみ
学生〜
推奨対象(中高生も歓迎)
ワークショップの流れ図:直感の言語化からAI対戦まで
ワークショップの流れ。リバーシのルール確認 → 評価値の言語化 → JavaScriptで関数化 → AI同士で対戦。
03 voices

参加者の、

ワークショップ後アンケートから、原文ママで掲載しています。

高校1年生
プログラミングってすごく頭良くてパソコンカチャカチャしているイメージだったので、私でもできるんだなって思ってすごく印象に残りました。最初、全然変な意見しか出てこない自分が嫌でしたが最後の方になるにつれだんだん割と大事な意見だったんだなと感じることが出来ました!
Workshop participant · high school
中学1年生
オセロは駒を置くときにプロは数字で見えるということに驚いた。また、その数字をAIに関数で入れ、数字を変えるだけで、AIの強さが変わって凄いと思った。
Workshop participant · junior high · y1
中学2年生
盤面評価値を自分で色々いじってどんどん強いプログラムを作る為にはどうするべきかと試行錯誤したこと。また、ディープラーニングの動きが加速し実際何をAIが行っているのか分からずただ結果だけを受け取るようになってきている現代「学び」の概念が変わるのではないかという話もとても興味深かった。
Workshop participant · junior high · y2
04 try it

いま、対戦してみる

実際のリバーシAIに、ブラウザ上で挑戦できます。
コードの読み方、盤面評価値の意味、AIの構築方法までセットで公開しています。

ブラウザで動く、リバーシAIデモ。

加速キッチンが公開しているデモアプリでは、ワークショップで実装したリバーシAIに自分の手で挑戦できます。コードはそのまま読めるので、どんな評価関数でAIが動いているのかも確認できます。

  • ブラウザだけで動く(インストール不要)
  • 評価関数のソースコードがそのまま読める
  • AIをカスタマイズする手順も同じページにまとまっている
デモアプリを開く → external
リバーシAIデモアプリの画面キャプチャ。対戦設定、盤面、AIのソースコードが横並びで表示されている
+ materials

使っている、ワークシート

参加者は、紙のワークシートと一緒に手を動かしながら進めます。
評価値を書き込み、コードに反映し、AI同士の戦績を記録していく形式。

ワークシート例1:盤面評価値の書き込み欄
① 評価値を、書き込んでいく。
ワークシート例2:JavaScript関数の書き起こし欄
② 関数として、書き起こす。
05 history

これまでの、開催実績

2018年から、学校・大学・企業・オンライン合宿など、さまざまな場で開催してきました。