プログラミング教育用リバーシAIフレームワーク

物理
教育
中学校・高校
reveri AI platformの概要

概要

サンプルプログラムを以下の通りです。UIはこのようにすでに用意されたものがあり、CPUと対戦したり、CPU同士での対戦を観戦したり、任意のCPUの盤面評価値を確認することができます。サンプルとしてCPU1~CPU6を用意しました。

デモ プログラム
ワークシート サンプル
学生はこの中の「自分のAI」を少しずつ改善していくことで強いプログラム作りを目指します。 例えば高校生が30分程度で調整した例として以下のようなものがあります。
 Factor_NumOfDiscs = 2.0
  var eval_board = [
  [ 10, 1, 4, 4, 1, 10,],
  [ 1, 1, 5, 5, 1, 1,],
  [ 4, 5, 6, 6, 5, 4,],
  [ 4, 5, 6, 6, 5, 4,],
  [ 1, 1, 5, 5, 1, 1,],
  [ 10, 1, 4, 4, 1, 10,],
  ];
この場合だと、隅を重要視して、その周辺の評価値を下げるというアイデアに到達していることが分かります。また Factor_NumOfDiscsについては序盤・中盤は小さいほうが筋よく打つが、最終盤は多く返したほしいため、そのバランスを加味して2.0という値に調整しています。

実践例

リバーシAI講座@広尾学園 2018年3月20日

2018年3月20日に広尾学園で約30名の学生を対象に本プログラムを用いた2時間の講座を行いました。2名ペアの作業を行い全部で14個のプログラムができ、最後に500回の総当たり戦を行いました。以下の図はその時の結果でそれぞれの組み合わせに対する勝率(行が黒、列が白番)とイロレーティングを表示しています。参考にCPU2~6も参戦しています。学生が作ったプログラムはおよそ600~1100にレーティングが推移しており、それぞれの30分程度の最適化によって強さや相性に違いがでていることがわかります。

2018年3月20日の広尾の講座での結果

本講座においてアンケートで以下のようなフィードバックが得られました。

プログラミングってすごく頭良くてパソコンカチャカチャしているイメージだったので、私でもできるんだなって思ってすごく印象に残りました。最初、全然変な意見しか出てこない自分が嫌でしたが最後の方になるにつれだんだん割と大事な意見だったんだなと感じることが出来ました!
盤面評価値を自分で色々いじってどんどん強いプログラムを作る為にはどうするできかと試行錯誤したこと。また、ディープラーニングの動きが加速し実際何をAIが行っているのか分からずただ結果だけを受け取るようになってきてる現代”学び”の概念が変わるのではないかという話もとても興味深かった。
プログラムを書く行程(考えるところ)が、授業内容としての自由度が高く自分の発想に委ねられている点で、新鮮味があって面白かったです。最後の締めの話は、とても熱い意見だったので参考になりました。
チームで作ったAIは盤面ごとの対応が出来ず、打って欲しいところに打ってくれなかったので臨機応変に対応するようなプログラミングを作るのは難しいと思いました。初期設定から少し変えるだけで強くなるのは面白かったです。
オセロは駒を置くときにプロは数字で見えるということに驚いた。また、その数字をAIに関数で入れ、数字を変えるだけで、AIの強さが変わって凄いと思った。
>講演有難うございました。プログラミングはしたことが無く少し不安でしたがめちゃくちゃ楽しかったです。また、第二回とかやって頂けたら嬉しいです。

自分より強いリバーシの人工知能を作ろう@東北大学 2018年6月9日

東北大学理学研究科・理学部の広報・アウトリーチ支援室が行っている「ぶらりがく」のイベントの一環として「自分より強いリバーシの人工知能を作ろう」という表題で行いました。約30名の小中学生が集まり、楽しくオリジナルのAIづくりに取り組みました。詳しくはこちらでレポートされています。

リバーシ×プログラミング@東京ガーデンテラス紀尾井町 2018年6月30日

Social Sports Park主催の元、東京ガーデンテラス紀尾井町で『リバーシ×プログラミング』として小中学生の親子20組を対象に行いました。子どものペアも大人のペアも大変楽しく盛り上がっていました。 詳しくはこちらでレポートされています。

「オセロ×プログラミング」@ニチガス

オセロ連盟、メガハウス、ニチガスの協力・後援をうけて、ニチガス 本社会議室で『リバーシ×プログラミング』として小中学生の親子10組を対象に行いました。 詳しくはコエテコの記事でレポートされています。