记一件小事


所有跟贴·加跟贴·新语丝读书论坛

送交者: eng 于 2010-04-01, 06:35:58:

诗云:

小鸡无毛飞不高
横扫扒裤自逍遥
三人同行J最大
空来空去乐淘淘

一天,外卖J师傅问了一个外行问题:

http://www.xys.org/forum/db/6/142/161.html

引用:
设计一个机器自动学习的五子棋程序。这个程序人先赋予的智能很低,只有一些双方轮流走子和棋盘之类的下棋常识,只给一条最简单的五子棋规则:先将五子成一线者赢。
问题:
经过两台装有此程序的计算机N次全自动对抗赛和机器自学后,这个程序能把自己的下五子棋的棋力提高到跟6岁小孩较量的程度吗?为什么?
BTW,这不属于机器学习吗?

和典型的外行问题一样,这个问题既没有实际意义,也没有确切答案。我当时没时间长篇大论,于是给了一个简单的回答。

http://www.xys.org/forum/db/6/142/169.html

引用:
我的答案:
不一定。取决于很多因素。比如,N的大小,棋盘大小,计算机速度,一棋所允许花的时间,所谓“跟6岁小孩较量的程度”的定义,以及所用的具体算法。如果我可以选这所有因素,答案当然是可能的。
BTW,这是不是机器学习,我认为勉强可以算,但是这个问题本身很外行。

J师傅看起来很兴奋,号称我“已经被逼到墙角了”。很不可思议的一点是,J师傅居然从我“不一定”、“如果...当然是可能的”这的回答中看出来“答案是不行”。也不知道是不是兴奋过度所致。

http://www.xys.org/forum/db/6/142/222.html

引用:
我会虚心请教你们这些CS PHD的,直到把这问题问清楚了。
我理解你的答案是不行,如果我们按一般现实情况而不是故意极端到大气层以外。
所谓一般现实情况:就你办公室和家里用的最好的计算机,就当年聂卫平中日围棋擂台对用的那么大的棋盘。N的大小,按训练一个6岁小孩下5子棋所需要的总时间的100倍来训练你的程序。
“跟6岁小孩较量的程度”很好定义,因为最简单的5字旗-跟6岁小孩玩的那种,成人是可以保证先下手者赢的。
算法随便用,只要满足大前提:
“这个程序人先赋予的智能很低,只有一些双方轮流走子和棋盘之类的下棋常识,只给一条最简单的五子棋规则:先将五子成一线者赢。”
“全自动对抗赛和机器自学”
换句话说:智能本质上是程序通过实战自学的,而不是人赋予的!THIS IS ALL ABOUT! DO I MAKE MYSELF CLEAR ?

从这贴中,我看出来J师傅是完全的外行,比我想象中的外行更加外行。J师傅喜欢“捞干的”,那我就多解释几句:

1、“一般现实情况”是什么?J师傅看到这个问题估计已经开始准备开骂了。但是现实是,J师傅连5子棋标准棋盘是15X15而不是和围棋一样是19X19都不知道。看来J师傅的“现实”在我们看来应该是“超现实”。这样不定义一下怎么行?

2、J师傅说“跟6岁小孩较量的程度”很好定义。那么定义呢?不会是被系统吃掉了吧?

3、J师傅这里又引入了一个新概念:“训练一个6岁小孩下5子棋所需要的总时间”。是多久?也许是一两天,也许是十年?

4、J师傅“换句话说”了一下,“智能本质上是程序通过实战自学的,而不是人赋予的”,立马又引入两个新概念:什么是“智能本质”?什么是“人赋予”的智能?这样的概念,似乎是从科幻小说中来的吧?

简而言之,J师傅这贴几乎没有任何新的信息,反而引入了更多的模糊概念。所以我的答案不变。对于这点J师傅很是生气,说我“东扯西拉”。

当时我没有讲到的一点,就是我为什么说“勉强可以算”机器学习。因为两个程序互相学,实际上可以由一个程序来模拟。也就是说,这里压根就没“学习”什么事。但是这可以算是AI领域,而AI和ML有很多重合的地方,所以“勉强可以算”。这点后来有几位也看出来了,但J师傅似乎并不care。

就在J师傅宣布把我打到地洞里的时候,故儒注意到了另一个J师傅没有定义的概念,就是“智能”。没办法,外卖师傅“捞”多了都成筛子了。对此J师傅做了进一步说明。并且认为已经“将军抽车”,准备得胜回朝了。

http://www.xys.org/forum/db/6/142/245.html

引用:
“下不赢六岁的孩子,算不算智能很低?”算。
“有很强的学习能力,算不算智能很高?”算。

http://www.xys.org/forum/db/6/142/246.html

引用:
那你的问题可不可以重新表述为:一个不具有学习能力的五子棋程序人能否通过学习提高棋力?

http://www.xys.org/forum/db/6/142/255.html

引用:
就这意思。对于能把问题重新这样表述的人不用问了。问题就在于CS资深评论员/研究员们不想或/和不能一针见血,因为,若这样挑明了讲,那么就不得不同意阮的观点:计算机的学习能力在最近的20年里,在SCIENCE意义上没新东西。将军抽车。

搞了半天,"就这意思“?这是什么意思?咳咳,既然问题中的程序”不具有学习能力“,凭什么讲”计算机的学习能力在最近的20年里,在SCIENCE意义上没新东西“?莫非J师傅真的以为所有程序都像鸡语言程序一样?

我看故儒是在故意调戏J师傅,因为就算按J师傅给的”智能“的解释,也不能得出故儒的表述:

http://www.xys.org/forum/db/6/143/42.html

引用:
引用:
“下不赢六岁的孩子,算不算智能很低?”算。

就是说六岁的孩子的智能是很低了?不然下不赢不能得出智能很低的结论,对吧?

引用:
“有很强的学习能力,算不算智能很高?”算。
那么有很弱的学习能力,算不算智能很低?
用很弱的学习能力,能不能学会很低的智能?
还“将军抽车“呢,卒子都没吃掉一个。

同时J师傅追着自如的Samuel例子不放,结果自如理都不理。本着毁人不倦的精神,我又回答了J师傅几个"简单问题”:

http://www.xys.org/forum/db/6/143/101.html

JFF 说道:
Arthur Samuel 的 checker 程序的机器能力是编程序
的人直接赋予的,还是机器自己在一个较低的基础上发展的?

eng 说道:
“棋力”有一些是程序员给的,有一些是学来的

JFF 说道:
哪个是主要的?

eng 说道:
这又要看你怎么定义“主要”了

这下J师傅不知如何又兴奋了,开始唱凯歌了:

http://www.xys.org/forum/db/6/143/199.html

引用:
资深CS研究员eng同学,到了连“主要”也要先定义一番的程度,你觉得我是宜将剩勇追穷寇还是得饶人处且饶人呢?

原来J师傅认为“主要”不用定义?

http://www.xys.org/forum/db/6/144/14.html

引用:
“主要”这个词不需要定义,但是“棋力主要由什么得来”就需要定义。省了几个字就玩不转了?
这样吧,你不是觉得“主要”不用定义吗?也可以啊。这样说吧,你觉得你的脑壳“主要”呢,还是里面的浆糊“主要”?

至此,J师傅就在这个“主要”“次要”的问题上钻不出去了。

我个人认为,这很可能是因为浆糊起了主要作用。当然,这并不会妨碍J师傅在不久的将来从浆糊中爬起来,又是一只好鸡。




所有跟贴:


加跟贴

笔名: 密码: 注册笔名请按这里

标题:

内容: (BBCode使用说明