※ 本コンテンツにはプロモーション(PR)が含まれています。また、詳しい最新情報については公式サイトをご確認ください。
今回のワークショップでは「JavaScript」 を使ってオセロAIを作って参加者同士で対戦させていきます。
オセロが強いプログラムを作るために戦略を考えながらプログラミングに落とし込んでいきます。
本記事では、ワークショップの様子をレポートいたします!
「オセロ×プログラミング」ワークショップ
今回のワークショップは渋谷にあるニチガス本社の会議室で行われました。
ガラス張りのオシャレなロビーです。
会場のニチガス本社の会議室内には参加者がずらり。
保護者と子どもたちで大まかに座席が分けられています。
講師の田中先生が自己紹介やワークショップの趣旨を説明していきます。
オセロを強くなるためには、単に練習を重ねるだけではなく、技術を使って自分の試合を解析する方法もあるそうです。
テーブルゲームのオセロですが、コンピュータを使ってアプローチしていくこともできます。
今日は6×6のオセロを自動で打つAIを強化するプログラムを考えていくことが参加者に伝えられました。
自分だけのオセロAIを作って会場のみんなで戦わせてみるとのこと。燃えますね…!
授業のアシスタントの東大オセロサークル「GORO」のメンバーです。
ワークショップ中に詰まったり悩んだりしたときにアドバイスをしてくれます。
なんと、オセロの世界ランク上位の方もいるとのこと。
参加者は約10名の子どもたちとその保護者の方たち。
皆さん、先生の説明に真剣な眼差しを向けてます。
強いオセロAIを作るには…?
強いオセロAIを作るためには、どのようなAIを作ると良いかを考えていきます。
はじめに実際に先生が目の前でオセロを実演します。
「角をとればいい!」などの子どもたちの声があがっていました。
その後、実際に先生が準備してくださったAIで対戦してみたり、お隣の参加者とペアで対戦してみたりして、どのようなAIだと試合で有利になりそうかを考えていきます。
コンピュータで自分たちの試合を振り返りながら、作戦を立てていきます。
保護者の方も真剣です。実はこのワークショップでは、保護者の方もオセロAIを作って子どもたちと対戦します。
大人も子どもも全力です!
ここまでオセロにじっくりと向き合うのは初めてなのではないでしょうか…!
どの子も最強のAIを作るためにメモをたくさん残していました。
オセロAIを作ろう
今回のワークショップでは、コンピュータに入力されているJavaScriptのコード上の数値を書き換えて、オセロAIの強さ調整をしていきます。
各碁盤のマス目に数値が割り振られており、その数値の強弱によってどの目を優先的に打つかどうかかAIによって判断される仕組みです。
碁盤の場所の点数と返す石の数の優先度を調整していきます。
ワークショップの時間をめいっぱい使って学生さんに相談したり悩んだりしている子どもたちの姿が印象的でした。
オセロゲームを論理的に戦略を立てようとするなんてなかなかないですよね…!
結果発表!
自分たちで作ったオセロAIでトーナメントということでしたが、AIということで試合は自動で行われます。
指定した回数勝負させた際の勝率をコンピュータで割り出していきます。
上位のチームに拍手!!
じっくりと試合を解析した結果を見てみると、AI同士で相性があるようでした。
なので、勝率の面では上位ではなくとも優勝チームには高確率で勝てるAIを作ったチームがいたり、AIにもユニークな個性があるということが先生によって解説されました。
まとめ
以上、「オセロ×プログラミング」ワークショップのレポート記事でした!
普段遊んでいるオセロの戦略を論理的にじっくりと考えることってないのではないでしょうか。
ワークショップの中で、コンピュータでできることが増えているが、あるデータを素敵であったり面白いと感じられるのは人間のみであるという話が合ったのが印象的でした。
自分が好きだなと思うものをもっと探求するためにテクノロジーを活用すると、もっと興味の幅が広がりそうです。
また、保護者の方も子どもと同じ内容を体験できるのがユニークなワークショップだなと感じました。
子どもたちが何を学んでいるのかを実際に知ることができるのは良い情報収集の場にもなります。
2020年にプログラミング教育が必修化する前にイベントやワークショップに足を運んでみるのも良いのではないでしょうか。