人工知能(Artificial Intelligence、AI)が今、第3次ブームを迎えています。コンピュータのマシンパワーが充実してきたおかげで、またブームがやってきたようです。コンピュータの「アルファ碁」が人間のトップレベルにあるプロ棋士に勝ち、車はコンピュータによって自動運転され、「Pepper」などのロボットが街中にあふれ、書店の店頭には機械学習などの人工知能本が多く並んでいます。

 そうなのです。アニメやラノベの世界が現実にも来ています。

 筆者は第2次人工知能ブームのときに、人工知能マシンとして、LISPマシンの開発に従事していました。この時代は、ナレッジエンジニアが雨後の筍のようにいっぱい出てきた時代です。この第2次ブームの発展と衰退を経験し、今回の第3次人工知能ブームを驚きと感動で迎えています(図1)。

図1●人工知能ブームの歴史
図1●人工知能ブームの歴史
[画像のクリックで拡大表示]

ところで人工知能って何?

 ところでこの人工知能とは、何でしょうか。哲学的な問題としては「そもそも知能って何?」から始まる難解な問題ですが、ここではもっとエンジニアらしい質問を考えてみます。

 つまり「人工知能プログラムと普通のプログラムはどこが違うの?」ということです。プログラムにどんな機能があったら、またはどんな条件を満たせば、「このプログラムは人工知能プログラム」と胸を張って言えるかということです。

 ここでコンピュータ将棋ソフトのプログラムを例にして、コンピュータの思考プログラムを考えてみます。人間が将棋で次の一手を考えるとき、人間の知能を使って、多数の手から最善手を選びます。

 将棋棋士がうなっている様子からも、一生懸命知能を使って考えているのがわかります。同じようなことがコンピュータにできれば、人工知能で思考したと考えて、これを人工知能プログラムと呼んでもいいでしょう。

 しかし、もしその思考プログラムが単純に着手可能手のリストを作って、その中からランダムに手を選んでいるだけであれば、あまりにも単純すぎます。そのプログラムを人工知能プログラムとは呼ばないでしょう。

 つまり同じ将棋の思考プログラムでも、人工知能プログラムの場合もあるし、そうでない場合もあるのです。それでは人工知能プログラムかそうでないか、この違いはどこから来るのでしょうか。