流水线上的神奇转换

来源 :中国信息技术教育 | 被引量 : 0次 | 上传用户:zsj520yxq
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  伽利略认为,上帝用来描述宇宙的文字是数学。这句话是否正确,还真是很难说,但可以肯定的是,当代人类用来构造虚拟世界的文字正是数学。数学家喜欢用简洁、和谐、统一的文字来描绘他们心中的虚拟世界,只可惜,这种“简洁、和谐、统一”的数学之美,对于未经受过数学和逻辑方面专业训练的普通人来说,就像无法琢磨的抽象画。然而,如果能把抽象的数学符号系统变成形象、直观的游戏,那么数学家用一堆数字和符号所揭示的深刻道理,就能更清晰地展现在普通人,甚至是小朋友的面前。本文尝试借助一个叫做“流水线”的文字游戏,带领大家初窥可计算性理论大门中的景象。
  ● 奇妙流水线
  想象有这么一座工厂,工厂中有多条生产流水线,这些流水线都是某个神奇博士设计的,人们并不知道神奇博士究竟是怎么设计出这些流水线的,不过好在不同流水线的面板上,都用标识清楚地说明了其用途,告诉人们应当在流水线的输入口放进什么,在流水线的输出口获得什么。
  比如说,有一条流水线的入口处,标了土豆和番茄,看起来是一条食品加工流水线,假如输入的是土豆和番茄,那么最后得到的是土豆(如下图),番茄神秘地消失了。如果输入的是番茄和土豆,那么最后得到的是番茄,总之,依次输入两样东西,总会得到先输入的那样。第一次使用这条流水线的人,无不诧异,这东西到底有什么实际作用?这条流水线不能依次输入三样东西,非要尝试的话,流水线会卡住。其实,输入三样、四样乃至更多样东西的流水线都是能设计出来使用的,神奇博士只是担心普通使用者的脑运算量不足会导致情绪崩溃,所以暂且做出了这样的限制。接下来是个关键:神奇博士给这条流水线起了个名字,叫做土豆,还给流水线贴上了如下标识:
  T:
  ab->a(X,Y)
  这段标识很简洁(但比数学家实际用的那些符号稍微冗长一些),其意思如下:
  此流水线名为土豆:
  依次输入某物a和某物b,总会得到a,括号里表示可以输入两个物件,使用者究竟输入什么,是无法预知的X和Y。换句话说,即便使用者输入的是白菜和胡萝卜也是可以的,结果会得到先输入的物件,就是白菜。
  神奇博士的另一条流水线的标识是这样的:
  F:
  ab->b(X,Y)
  相信大家能看明白,此流水线名为番茄,依次输入某物a和某物b,总会得到b,使用者可自由决定输入某两个物件。心智正常的人肯定会觉得,除了按规则吐出后一个物件、吞噬前一个物件之外,此流水线并无实际作用。
  想象一下,神奇博士的车间里有一位记录员,他会把每个使用者的动作记录下来,假如使用者在流水线入口依次输入土豆和番茄,他就记录为ab->b(X,Y)(t,f),后面的括号里是使用者实际输入的物件,他用小写t代表土豆,用小写f代表番茄,若是他观察完流水线的整个运行,那么可能就会记录为ab->b(X,Y)(t,f)=f。不过,后来他发现了一种偷懒的好办法,因为既然流水线被命名为“F”,那他只要记录下F(t,f)=f就可以了。
  神奇博士的车间有许多参观者,大概因为好奇心使然,大家都将各种成对的物件放入流水线中(这莫非是神奇博士不可告人的敛财手段),直到某一天,有人忽然想到,其实可以把流水线输入流水线。
  ● 把流水线输入流水线
  如果把一条流水线塞入某条流水线的入口,会发生什么呢?比如,把名为土豆和名为番茄的流水线,塞进那条名为番茄的流水线中,因为文字表达太麻烦,所以还是把以上过程用字母标出来:
  用户输入过程可记录为:ab->b(X,Y)(T,F)
  流水線对输入物件进行处理:ab->b(T,F) = F
  结果是F,也就是说,将名为土豆和名为番茄的流水线输入名为番茄的流水线,结果能得到名为番茄的流水线。颇具好奇心的使用者把所有可能都试了下,他们发现:
  ab->a(F,F) = F;
  ab->a(F,T) = F;
  ab->a(T,F) = T;
  ab->a(T,T) = T;
  ab->b(F,F) = F;
  ab->b(F,T) = T;
  ab->b(T,F) = F;
  ab->b(T,T) = T。
  可见,往流水线里输入流水线,可以得到其他流水线。
  然而,忽然有人发现了某种新型号流水线,被标识为:
  ?:
  ab->a(b,F)(X,Y)
  虽然流水线的名字模糊到难以识别,但使用说明还能看清,这条流水线的作用是把输入的物件ab变成a(b,F),并在括号里说明可依次输入两个未知物件X和Y。比如,若输入的是白菜和胡萝卜,那么得到的结果就是“白菜(胡萝卜,F)”,可惜没有人知道“白菜(胡萝卜,F)”究竟是什么东西,或者说,该流水线输出了一件无法名状的东西。相对白菜和胡萝卜,若在这个流水线中输入名为土豆和名为番茄的流水线,结果就大不相同了:
  用户输入过程可记录为:ab->a(b,F)(X,Y)(T,F)
  流水线对输入物件进行处理:ab->a(b,F)(T,F) = T(F,F)
  结果为T(F,F),但T(F,F)究竟是什么意思呢?因为最早的时候,曾经有过这样的说明:
  T:
  ab->a(X,Y)
  所以,可以把“T”替换回去。T(F,F)其实就是ab->a(X,Y)(F,F),这么一来就清楚了,如果把名为土豆和名为番茄的流水线输入到该未知名字的新型流水线中,就会得到另一条流水线,而这条流水线自动就携带了输入物件,这两个输入物件是两条番茄流水线,所以不需要用户多事,该流水线自动就把它们输入到了土豆流水线中。   输入过程为:ab->a(X,Y)(F,F)
  流水线对输入物件进行处理:ab->a(F,F) = F
  结果为F。现在可以知道,在这个未知名字的新型流水线中输入T和F会得到F,那么其他情况呢?推断如下:
  ab->a(b,F)(T,T)结果为T(T,F),T(T,F)等同于ab->a(X,Y)(T,F),ab->a(X,Y)(T,F)结果为T;
  ab->a(b,F)(F,F)结果为F(F,F),F(F,F)等同于ab->b(X,Y)(F,F),ab->b(X,Y)(F,F)结果为F;
  ab->a(b,F)(F,T)结果为F(T,F),F(T,F)等同于ab->b(X,Y)(T,F),ab->b(X,Y)(T,F)结果为F。
  其实,在笔者的心中,土豆指的是“True”,而番茄指的是“False”,不过在这个变换系统中,符号的意义可以由使用者自己来规定。归纳可知,当依次输入两个T时,结果才是T,而其他情况都得到F,这其实恰巧相当于逻辑中的“与运算”。人们自然会想到,是否可以用流水线实现各种逻辑运算。
  ● 用流水线实现各种逻辑运算
  常见逻辑运算的流水线标识可能是如下样子的:
  AND:
  ab->a(b,F)(X,Y)
  OR:
  ab->a(T,b)(X,Y)
  XOR:
  ab->a((b(F,T)),b)(X,Y)
  NOT:
  a->a(F,T)(X)
  之所以说“可能”,是因为到目前为止,所有的替换规则及命名都是自由设计出来的,并没有一个顶层的设计师规定了规则的具体变化要求,以及流水线名称的命名规范。
  其中,与、或、非三种逻辑运算的流水线工作流程相对容易理解,这里着重解释一下XOR,XOR是异或运算,当两个输入相同,即两者同时为T或同时为F时,结果为F,当两个输入不同,即一个为T另一个为F时,结果为T。下面来验证一下:
  1.输入T和T
  ab->a((b(F,T)),b)(T,T)结果为T((T(F,T)),T); 注解:把T和T放入流水线中
  T((T(F,T)),T)等同于ab->a(X,Y)((T(F,T)),T); 注解:根据名字T转换回相应功能流水线
  ab->a(X,Y)((T(F,T)),T)结果为T(F,T); 注解:在两个输入物件中选择前者
  T(F,T)等同于ab->a(X,Y)(F,T); 注解:根据名字T转换回相应功能的流水线
  ab->a(X,Y)(F,T)结果为F。 注解:在两个输入物件中选择前者
  2.输入T和F
  ab->a((b(F,T)),b)(T,F)结果为T((F(F,T)),F); 注解:把T和F放入流水线中
  T((F(F,T)),F)等同于ab->a(X,Y)((F(F,T)),F); 注解:根据名字T转换回相应功能流水线
  ab->a(X,Y)((F(F,T)),F)结果为F(F,T); 注解:在两个输入物件中选择前者
  F(F,T)等同于ab->b(X,Y)(F,T); 注解:根據名字F转换回相应功能的流水线
  ab->b(X,Y)(F,T)结果为T。 注解:在两个输入物件中选择后者
  数学家阿隆佐·邱奇(Alonzo Church)为了描述此种转换,设计了一种称之为“Lambda演算”的极其简约的表达式,创造这种表达式的目的之一,就是精确、简洁地描述在可计算性理论中出现的各类问题。Lambda演算表达式中规定的符号非常少,比如用“λ”代表变换,用“.”来分割变换前后的情况。如前文中提到的:
  T:
  ab->a(X,Y)
  若以Lambda演算的方式书写,则是这样的:
  T=λx.λy.x
  限于篇幅,Lambda演算的具体表达式语法,就不在本文中列出来了,有兴趣的朋友可通过关键字“Lambda calculator”或“Lambda calculus Interpreter”找到可进行Lambda演算的工具。
  实际上,制作一台纯Lambda演算机器,是相当简单的,因为它只要能识别转换符号“λ”,并根据符号“.”前后的规定进行符号转换,就可以进行各种计算了,而类似于“T=”这个类似赋值语句的结构,完全是为了照顾普通人的思维习惯而存在的。当今绝大部分程序语言的结构,如分支、递归,或者程序语言中必须用到的元素,如数字、字符串等,都能以Lambda演算的方式搭建出来(在一个纯粹的Lambda演算系统中,逻辑真、逻辑假、自然数、四则运算等都必须由使用者自己逐层定义出来),假设世界上所有的程序开发语言都消失了,但只要还存在一台机器能按Lambda演算规则进行符号转换,那么人们还是能够在此基础上重新构造出各种程序设计语言来。
  Lambda演算背后还有着更深刻的哲学内涵:无论是逻辑上的真假,还是数学中的数字或运算,都不是真实、客观存在着的,它们本身就是一种符号变换过程,而不是变换的结果,它们的意义是在一系列相互关联的符号变换的过程中显现出来的,至少在虚拟世界中是这样。
其他文献
本微课是“第十六届广西高校教育教学软件应用大赛”微课的一等奖。看了微课,相信大家都有这样的感受:好的微课,能让学习者在愉悦的氛围中,轻松掌握知识。  那么,该微课是如何做到这一点的呢?这需要同时从“教学设计”与“媒体设计”两个根源上来解释。该微课采用了“视觉化 故事化”的方法,即用视觉化的方法讲故事。  在教学设计方面,微课采用了“故事化设计”的方法。据左婧老师反映:管理学理论对于大学生来说,是比
传统的教学设计具有一定的思维定势现象,主要体现在教学操作程式的自动化、教学风格的定型化和教学定势的牢固化。中学影视欣赏与制作课的内容需要深度理解,只有进行深度的理解才能更好地应用。课程改革的基本理念在中学影视欣赏与制作课程中,仅仅停留在理论的层面,当教学实践中需要真正运用之时却不能够将自己的理解理念准确地转化到具体的教学设计和教学实践中去。笔者从问题设计、教学过程设计、反思性教学设计和技术性教学设
● 微课选题分析  本节微课内容选自北京版信息技术第二册第4课《用电子邮件传递信息》。本课内容主要分为申请免费电子邮箱、登录电子邮箱及收发电子邮件三部分,其中申请免费电子邮箱是开展本课教学内容的基础,也是本课的重难点。但是受网络实名制政策影响,在申请邮箱时需要进行手机验证,这部分操作无法在课堂上完成,所以需要借助微课,让学生在课前完成本部分内容的学习和实践。  本节微课授课对象为五年级学生,他们正
有外地朋友来新加坡,我会带他们或建议他们去芽笼的薝蔔院(广洽法师纪念馆)看看。它是广洽老和尚生前的精舍:一幢蓝色琉璃瓦的三层建筑,独门独院,闹中取静。前院有两株薝蔔树,开花时节,一片幽香。薝蔔,是梵语音译。色黄,香浓,有人说是栀子花的一种,也有人不同意,反正它看上去很像栀子花。  广洽老和尚是弘一法师的弟子,他喜爱艺术,乐意和艺术家结缘,生前收藏了大量的文人书画,体现了僧俗之间的君子之交。现在纪念
你准备好了吗?我们时刻准备着!  高中信息技术新课程越来越近了,大约在2019年的春天就会开启新教材的培训,也许2019年的夏天就能进行新课程的全员培训,也许2019年的秋天就能启动新课堂的观摩课、优质课……其实,从2017年新课标发布的那一天起,我们就整一整旧装备出发向前进。只不过,现在是时候告别“三新一旧(新课标、新课程、新高考、旧教材)”,一起携手迎接全新日子到来了。为了迎接这“四新合一”,
教育信息化需要哲学吗?从积极的意义上讲,答案是肯定的。因为哲学首先意味着反思,如技术哲学——一个重要的哲学分支,就一直试图对技术及其应用进行系统的反思。面对历史上每一次出现的新技术,技术哲学家们始终都保持着天然的警觉。  这样的反思给了我们看待技术的一种全新视角,让我们在为每一种新技术喝彩的同时,也能对这种技术的局限性有所了解,对过度使用它们带来的负面效应保持清醒的头脑。  我们先来看一种习以为常
南京市江宁实验小学和南京市樱花小学这两个网络教研团队的微课程教学设计,是人教版英语(PEP)三年级上册Unit 1 Hello这一单元的微课程设计方案和微视频创作,是针对学生的自主学习而设计的,两者各具特色,同中有异,异中有同。具体分析如下。  紧紧围绕小学英语课程标准,结合学校实际,突出学生主体,教学目标达成度高  两篇微课程教学设计均在充分分析教材的基础上,关注学生的学习,体现以学生为主体的思
飞地  你怎能知道  那是你生命中遗落的飞地  有永不定形的岛屿  逐浪的云翳  秋风四处迷路  却肆意地聚在恋人拥吻的  芦荡,一起欢呼  随落霞俯冲而下的壮丽黄昏  你难以置信  这月夜的赠与是生命的瞬移  是深夜的枕边  默然不语的青涩年华  像时间的摆渡者  登陆年少的彼岸  却故意在一次次的潮汐后  错过返航的拂晓  清晨的街沿  有怀抱鲜花的女人  御风而行  像午时的灯盏,渊下的清流
A-STEM教育在课程内容上坚持人文引领,立足以跨学科概念为基础开展跨学科融合,聚焦学生挑战真实情境中的问题,并将严谨的科学方法和先进的研究手段作为课程内容,同时从国家课程内容、时代发展需要、学生兴趣爱好、区域教育资源等方面大力开发,并将其有机融合。基于此理念,笔者以小学中年级学生为对象,以“年花”为主题进行活动设计,共同探讨A-STEM理念下的活动设计。  ● 主题的生成  1.主题要源于真实的
摘要:本文在定性与定量研究的基础上,以北京东城电大课程辅导教师为试点,构建了基层电大课程辅导教师的素质模型,并提出了PDCA循环结构的应用模式,以期为实践中课程辅导教师的选聘、培训和绩效考核及队伍的管理提供理论依据和参考。  关键词:基层电大;课程辅导教师;素质模型  中图分类号:G434 文献标识码:A 论文编号:1674-2117(2016)13/14-0146-04  课程辅导教师是开放大学