抽象化か数か ~ アルファ碁の対局からコンピュータの「考える」を考える
🐌
昨日公開した、「考える」を考えるという記事で、「過去の知識や経験を今考えている問題に応用するには抽象化が必要」ということを書いた。過去の状況と今置かれている状況が同じとは限らないが、その差は「抽象化」によって埋められる、と。
「抽象化」はいろいろな場所で行われ、それによって得られた「果実」には、各分野特有の名前がついている。具体的なエピソードを抽象化して、生きる上での教訓としたものは「ことわざ」と呼ばれる。これが数学の世界では「定理」という名前になるし、料理の世界では「レシピ」という名前になるし、囲碁の世界では「定石」という名前になる。また、ビジネスの世界では、課題を解決するための考え方を抽象化したものは「フレームワーク」や「メソッド」などと呼ばれている。
僕は囲碁には詳しくないが、アルファ碁に関する次の記事はおもしろく読めた。アルファ碁とイ・セドル九段の5日間の対局について書かれた記事。
アルファ碁はたくさん手を読んでいるのではなく、猛烈に勘がいい
読んでいない手を打たれると途端に弱くなる? アルファ碁の攻略法を探る
これを読むと、アルファ碁は「こういう場面ではこう打ったほうがいい」という、人間が大事にしている定石とは無縁であることがわかる。人間と違って「抽象化」のステップが踏めないので、その代替案として「大量の具体例」で攻めている。上の2つ目の記事を読むと、「アルファ碁はプロの膨大な棋譜とそれをベースにした自己対戦で学習した」と書かれている。つまり、現時点では、アルファ碁は「囲碁」ではなく「囲碁のプロ」を攻略している段階なのだと思う。
受験数学でも、こうした2つの攻め方がある。抽象化により定義や定理の本質を理解しようとする人と、「数学は暗記だ」と言って全解法パターンを暗記しようとする人。前者は数学的なセンスが必要だが、後者はそれほど必要はない。しかし、後者は応用力がつきにくい。読んでなかった手を打たれて急速に弱まったアルファ碁のように。
コンピュータも人間のように「考えて」答えを出せるようになってきたが、その「考え方」は両者で大きく異なっているように思う。