下面那个太长了,开个新的算了。谢谢上个帖里各位的建议。
递归之难
前面说过递归思路本身和编程应用都是一种不直观的方式,需要学习和适应。为什么呢?因为它不是保留一个具体公式反复调用和推算,而是保持一个“样式”,比如一个数乘以一个比它小1的数,这个“比它小1”的“它”,每次都变,所以设计者必须在脑子里整好这个样式和结构,能够在抽象的状态中,从抽象到抽象。
按GEB的说法,这种抽象能力只有人才有。不要说递归,就是编程里最常用的定义一个class,以它为模板创建具体实例,这种能力就是认识的飞跃。过去我们用ML来做定理证明。ML的特性之一,是有庞大的type,或者说,它是基于type的语言。在别的语言里,type 无非是基本的数,字符之类,但ML可任意定义type,以严格的形式。有了一个type,好象花盆一样,里面长出争奇斗艳的东西。其实人工智能的难题之一也在此:怎么教会机器自定义?也就是说,不是执行定义,而是找到定义。不是让它见了桔子知道应该画桔子瓣就完了,而是要知道这种对应应该是桔子到桔子瓣的程度还是玉米到玉米粒,或者麦子到面粉?
想想“样式”这东西趣味无穷,我看应该作为一种物质存在--一种由物质构成的“宏物质”---物质的关系,它粘合物质,把猴子向人带领。所以你我是一堆物理化学生物实体,更是“样式”的迭加计算结果---如果非要用计算机模拟一下,我们的一举一动,一颦一笑,都是无数递归计算的结果,从此时可倒推到生命之初。
跑题一下:刚刚借了本希腊历史,Kitto 写的,得于一个国内朋友的推荐。看到引言里说,与古希腊同时的民族,比如希伯莱,埃及等等,在生活经验和智慧上,本来一点不逊于古希腊,而且这些民族,各自有自己的文学传世。然而只有希腊人形成了真正的科学,为什么?因为只有他们有意识地交流和总结,把数学哲学变成成体系的学问,流传下来。相比较而言,希伯莱人积累的生活经验却一代代化为云烟。古希腊人跟当时别的民族的比较,好比成人的智力跟儿童智力的比较。
说到底,文化的积累本来都是“递归”式,然而递归远远不够,因为递归中的元素,自己不携带任何全局信息。大家盲目地跟着眼前的法则走,不介意整体状态,走到南墙活活撞死也得认命。
所以,递归的伟大在于将它抽象成“样式”的人。“被递归”的元素,却可舒坦地保持弱智状态。而人的社会,总要有人站在递归之外,为递归洪流设置终止条件把。
愚人之乐
仍然是分簇的故事。
跟K-Means等等靠累积计算分簇很不相同的一种算法是K-NN(K Nearest-Neighbor) ,简单说是这样的:一个空间的数据,先定好若干样本点,假设簇在这少数点中已分好,然后选定一个K值,比如说是5,一个新点开始工作,寻找离它最近的5个点,如果这5个点,3个在簇A,2个在簇B,投票的结果,这个点就进了簇A。很好理解把,每个点都这样,不学习,不积累(所以这种分法,被称为“懒惰” 分法),现算距离现决定,最后,以票数为准,它随大流进了簇,用自己的身体扩大了簇,然后再去影响别的新点。K值取到极端是1,也就是说,新点不管三七二十一,谁离它最近它跟了谁,连投票都省了。
这又是个很清楚的隐喻:我们对世界的认知(比如对万物分簇) ,除了那些来自书本的模型式学习,就是这种学法了:由长辈和身边的人教授人情世故,礼貌规范等等难以用教科书系统化的东西,我们童年时受谁的影响大,就接受谁的准则,然后我们自己成了遵守准则的一部分,进而去教育下一代。如果人类的文化遗产传输方式大概分分,可能就是这样子的----可以写进课本的写进课本,比如科学知识,比如全人类共同的种种知识,不能写进课本的靠“最近邻居” 传授,比如文化人群,群体传统,等等。人群被分簇,以一种微妙然而稳定的方式。
把“学习” 再扩大一点点,人的命运,竟也往往被这“最近邻居” 拉拉扯扯。唉,谁叫你我都是鼠目寸光的人类,那远方的大义,那高明的神启,辐射过来往往敌不过身旁两三闲言碎语和小利之诱。
关于消息
消息二字,在我眼里一向有诗意。咱们中国人有“恰够消息”一说,温婉得紧,更有“瓶中信”,说的是远程传输,竟然结结实实预测网络新贵---比如SOAP(Simple Object Access Protocol)。虽然知道外行读者不会有共鸣,我这里竟然忍不住自作多情赞叹一番---这种分别封装消息体和消息头的“信封式”传输,竟然把效率,通用性安全性一概通吃。
“头”和“体”分装,是软件尤其是各种描述中的常见思路,甚至数字签名也算一种,当然不是一般地装,而是故意揉得皱皱巴巴让人不识真面目再装。而SOAP这东西,并非加密工具,而只是协议,模块,样式一类,难以一言敝之----它的面目特征跟我们的认知,本身就类似“瓶中信”----只有它来到身边,触摸,打开,你才知道到底是什么,否则,就是被人谈论,被你听见的海中之瓶。
如今的网络服务(Web Service),有专门基于消息互掷的一套函数,或许将取代TCP,至少在某种范围内。它的特征,正是message-based,按信封出发顺序,优先顺序编号。所以,这个世界获得一种新定义:所有的波澜,事件,变化,描述,都扁平地在空中飞行,事件们被撕开之前,并没有发生。
Stevens
从来不觉得一个人的专业跟性情有什么了不得的联系。在我看来我学计算机不过是偶然的谋生需要,在学校里混当然更非自愿,只是无奈而已。我太懒,从来不肯跟命运抗争,习惯于随波逐流,随便把自己扔哪儿,能混口饭吃就得。再好听一点的解释,是一切皆天命。既然跟某个行当发生关系,不受一点影响是不成的。虽然我很不乐意承认我跟计算机有什么天然的联系,但如果态度老实的话,又只好说自己的趣味和精神,实在是与计算机世界不谋而合。我喜欢的音乐家和诗人,竟然都偏“计算”一类。
诗人Stevens有首名作,Metaphors of a Magnifico, 我不知怎么翻译题目,就先不翻,只说其中几句:“二十个人穿过一座桥/走进一个村庄/就是二十个人走过二十座桥,/或者一个人/走过一座单独的桥进入一座村庄。”
在这段痴痴的陈述之后,这些男人的靴子踏在桥上,村里的第一座白墙,穿过果树丛升起。
我要说的就是这个。这意义缺席,故事缺席,甚至诗意也缺席的冰冷场面,竟然特别符合我的审美观---说到这里已经自相矛盾了,既然我看着爽,诗意不可能缺席。只是在我眼中,它是一种“数学意”或者“计算意”。
那些无个性无表情甚至无面孔的棋子一样的人,黑点一样穿过桥,打到白墙上。一步一步,无从变化。呵呵,迷住我的,其实是数字意内核中的“反数字意”。因为数字世界最关注的就是变化,无变化的推导毫无意义。然而变化的间歇在哪里?我喜欢看到的意思是,诗人突然拦截不断变化的万花筒,拍照下来不变的一刻。此间数字与人突然打通。
我们专业有种算法,给数据分簇,一开始索性每个点都算一簇,两三点地融合,小簇多了,小簇变成大簇,一步一步,如果你不阻止这个过程,所有的点最后融成一簇,跟没分一样,所以此算法关键在,什么时候拦住这个变化--要象拍照一样,强行静止这运动的旋涡。
图穷匕现:表达一下我对词与物的敬意---桥上的人走成一簇,走进村庄,在此之前白墙升起。原来有运动即有诗,有诗亦有计算。我迷恋的是这些粒子,棋子和数据点没有表情的分分合合。
捆绑
用过UNIX/LINUX或任何从窗口登录的人都知道,先log in, 在那个小窗口里受人摆弄,用我们的话说,是客户端与服务器通过那个session窗口彼此捆绑(binding). Client/Server粘在一起,该干完的干完,瓜熟蒂落,客户从服务器端解脱,捆绑松开。
我们的网络模型,理想的状态总是希望business-on-demand,说白了就是“运行时捆绑”,在有了需要的时候,服务器突然飞身跟客户端接吻,而没需要的时候,彼此都不浪费感情,不发生关系。这在编程的时候,我们叫做干什么什么on fly,就是在 run-time中运行。
见过那些飞在天上的鹰突然入水叼鱼没有。那其实也是一种“实时捆绑”,鹰被本能押送入水,鹰与鱼被捆绑在一起---设计此程序的是上帝,将食与被食捆绑得彼此不得推脱。
造人。
嘿,其实人生出来后,经常要被重造---也就是说被别人定义,存储和查找。“我不看花花不发”,你人再怎么“在”,不被别人认知,分配记忆/地址空间,就是不在。
所以,除了“自然生”,人的“数据生”,--我自己的发明,就是人的行为在数据库中的痕迹,才是“逻辑生命”(相对于物理生命)。我们可以造人,当然往往造得边际模糊,如同电子云,是概率的存在方式。比如我们做数据挖掘,非常实际的应用是,某些人买产品A也买产品B。怎样断定?当然通过样本内的概率计算。而且不一定是购买联系----某年龄段的人买什么牌子的计算机,某健康状况的人买什么药,还有些莫名其妙的,买啤酒的似乎也买尿布,出生于山区的人喜欢某个影星?
所以,如果你守住个大商店比如Amazon,脑子里总会画出些人形,由那些所谓Strong Association Rule,由据说可靠的计算和淘汰后保留的联系。比如一个白人,同时是瘦子,同时读研究生,同时是同性恋,同时买GEB。。。。唔,咱们连电视剧都不用看,芸芸众生都在数据库里,随便挖掘就是一个hero. 数据库复制出80%的皮特,%60的马克,他们的交界处,隐约是30%的杰克的影子。
于是,计算机真的可以写作了呢---人工智能跟数据挖掘,本来就是近亲。
地图之趣
英文里的地图map, 当动词时作“映射”解,在不那么数学的场合,解释成对应,转换也可。其实凡是跨越本机的操作,比如所有的安全管理,帐号操作,都离不开map。比如,在任何网络上创建用户,你就变成那个account列表上的一行,你和那个管理系统的关系,就是用户名和某个你读不懂的ID的关系。所以,你被“地图”在册,那个ID与你共生死。
在GRID系统上,所有数据管理也如此,数据一多,就要有“数据的数据”,好象根对枝叶的统治,一种放射性的存在。
UNIX更不用说,它的干净和优美之处,在于有非常固定的硬设目录又有灵活的组织分配,那些自作聪明的人喜欢UNIX是有道理的,因为它提供灵活性,可以修改系统文件,指哪打哪。我不能算高手,装东西一多难免脑力难支,由支配变成被支配。可好歹我跟UNIX有协议:我作主(自己的帐号下)的时候,可以指定文件的读写和执行权利。所以,系统里有东西暗暗“地图”我,我也给一切家具物什颁布许可。这就是我们“互相地图”的关系。其实在UNIX上玩久了,渐渐觉得自己跟机器平等,想想我在它背后说三道四,它用一本花名册看我,好比透过一滴清水看人---哈哈镜里,我也许是一个脑袋四方的家伙,呆滞地凝视地图。
Please paste HTML code and press Enter.
(c) 2010 Maya Chilam Foundation