全2765文字
PR

 みなさんはアルゴリズムという言葉を聞いたことがあるでしょうか。アルゴリズムとは、コンピュータに問題を解かせるための手順のことです。世の中のさまざまな問題に対して、さまざまなアルゴリズムが提案されています。

 強化学習とはAI(人工知能)アルゴリズムの一つで、良い結果が得られる出力(ゲームの一手や操作)を試行錯誤で見つける手法のことです。応用として、将棋や囲碁、テレビゲームなどをプレイするAIの制作や、操縦が難しいロボットを自動で動かす研究などがあります。

 2016年には、米Google社傘下の人工知能企業である英DeepMind社の開発した囲碁用アルゴリズム「AlphaGo」が囲碁の世界最強をうたう韓国のイー・セドル氏に勝利したという出来事がありました。そのAlphaGoはディープラーニングを使った教師あり学習と強化学習のハイブリッドアルゴリズムでした。

 本特集では、Scratch(スクラッチ)を使って強化学習の基本を4回にわたって説明します。Scratchは教育用のプログラム環境(プログラミング言語)と言われていますが、その性能はあなどれません。強化学習を動かすためには、強化学習が解くお題、つまりゲームなども作る必要があるのですが、単純なゲームならScratchで簡単に作れます。

 そして、Scratchのプログラムは日本語でも作ることができるので、プログラムに慣れていない人でも理解しやすいという利点もあります。本特集で紹介するプログラムは、「ゲームのプログラム」と「それをプレイする強化学習アルゴリズムのプログラム」を融合させたものになっています。