框架问题的本质是,对于人工智能来说,只选出与某个目的有关的相关事物,是一件非常困难的事。在围棋、将棋方面,人工智能的开发也遇到了类似的情况。
举例来说,棋牌类游戏软件所使用的算法中,应用了马尔可夫链蒙特卡尔理论。AlphaGo的软件性能之所以能取得飞跃性提升,原因之一也是应用了这种算法。
马尔可夫链蒙特卡尔理论是一种算法,它不论方法好坏,先计算出大量可以得到结果的方法,再从中进行比较分析,选出正确的方法。
对于将棋来说就是不管每一步棋的好坏,总之先算出通往多个结局的对战模式。从人类的角度来看,这不过是增加了大量无意义的作业罢了,可以说是一种非常莫明其妙的方法。
不过,正如“集腋成裘”这个词的意思一样,机器在比较大量模拟实验的结果之后,再进行统计学方面的处理,就容易得到正确的答案了。
正如第二章中已经说明的那样,人工智能的特征是通过庞大的数据分析,使量转化为质,这种算法很好地利用了人工智能的这种特征。
然而,这种算法虽然能在围棋中用得很顺利,在国际象棋中却不行。因为在下围棋的时候,电脑可以模拟出从第一步到最后一步的全部走法,然而在国际象棋中,有时候却会出现下不完的局面。
具体来说,围棋从第一步到最后一步的可能存在的下法,大致是10的360次方。这虽然是一个了不得的大数字,但毕竟是有限的数值。用程序开发的术语来说,这种计算叫做NP(Non-de-terministic Polynomial,非确定性多项式)时间,从理论上来说,计算机仍然可以在有限的时间内得到全部结果。
而国际象棋虽然下法只有10的120次方左右,比围棋要少得多,但是国际象棋的平局情况与围棋不同。当出现平局时,运算就会陷入没完没了的循环,而这种局面经常可能出现。
在思考框架问题的时候,我也联想到了这件事——人工智能可以处理人类处理不完的大量信息,但是面对平局这种死循环的情况,要像人类一样判断这是平局并放弃计算,这种行为对于人工智能来说太难了。
就像我们之前提到的,国际象棋或是围棋的软件,可以通过处理人类处理不完的庞大数据来获取质变。不过,类似将棋中的持将棋(王将与玉将都进入了对方阵地,无法分出胜负)这种有无数可能性的局面,人工智能是否也可以通过这种量变产生质变的方法来解决呢?框架问题研究的就是这样一类问题。
对于现阶段的围棋软件来说,运用回溯法的概算与马尔可夫链蒙特卡尔理论组合,还是很有效的。不过,随着技术的进步,三劫或是长生劫这种平局的情况也许会大量出现,使运算变得没完没了。
虽然框架问题是一个高难度的问题,但如果能突破它,给社会带来的冲击性恐怕会远超深度学习。在我看来,这是开发通用型人工智能的关键课题之一。