胡俊峰的个人博客分享 http://blog.sciencenet.cn/u/胡俊峰

博文

计算工具与算法

已有 4502 次阅读 2009-7-19 21:14 |个人分类:生活点滴|系统分类:生活其它

第一章 计算的历史
1-2 计算工具与算法
古罗马的算盘
算盘是一种曾经被广泛使用的计算工具。在右图的罗马时代手算盘中一列可以表示一个十进制数,下面的算子(calculi )推上去可以表示1到4,上面的算子推下来代表5,这样就可以实现0-9之间的记数,在本质上与中国的算筹非常相似。尽管算盘本身并不具有计算的功能,但人们在使用算盘的时候,可以按照珠算口诀表:六去四进一、七去三进一(七上二去五进一)等等... 来对每个柱子上的算子进行一系列机械的操作,最后就能得到正确的结果。这样,我们就把一个复杂的计算分解为一系列简单计算的组合。简单的计算一方面容易被人掌握,同时也有可能通过机械的方式来实现。
机械计算机
就象我们在钟表里看到的那样,机械齿轮的转动角度也可以用来表示一个数。不同轮径的齿轮相互耦合,其传动比就可以构成特定进制的进位关系。秒针跑一圈,分针就进一格,分针跑一圈,时针就进一格。如果把一系列特定转动比的齿轮耦合在一起,就能实现从低位到高位的位值计数。左图是一台德国产的机械计算机的内部机构,我们可以通过拨盘在中间的一组齿轮上表达一个数y,在下面的一组齿轮上表达第二个数x,由于两组齿轮是关联在一起的,只要顺时针转动手柄让中间的那组齿轮回归到0状态(从y减到0),此时下面的齿轮组x会反向转相同的角度,这样就相当于实现了x+ y 运算。当然,如果要实现x - y只需要把y组齿轮逆时针转动到0就可以了。乘法在机械计算机中可以借助加法来实现。注意到图中计算机的最上面还有一组齿轮,是用来记录手柄转动的次数。每顺时针转一圈就自动加一。 假定要计算4356*15,就先把操作数清零,然后在中间的齿轮组y上设置4356,然后转动手柄,直到最上面齿轮组显示数字15为止,此时齿轮组x上的值就是最后的结果。 这样,一台真正能完成计算的机器就闪亮登场了。
思考:
        机械计算机中除法运算又该怎样实现?该计算机能否支持小数运算呢?
巴贝奇分析机

上一节提到了古巴比伦人借助平方数来实现乘法运算的技巧,但该算法的前提是需要知道特定的平方数的值。能否方便的在计算机上算出我们所需要的平方数呢?

观察下面这个数列: 1,4,9,16,25,36,49...,这是一个平方数序列。如果从第二个数开始,把数列中的每一项减去其前项,就可以得到一个新的数列:3,5,7,9,11,13...,一个等差数列。然后再次后项减前项,就得到一个全部值都为2的数列。这种数列后项减前项的运算被称为差分运算。一次这样的操作,就是一阶差分,在一阶差分的基础上继续作差分就是二阶差分。学过微积分的就知道,这实际上是对应了函数y = x2 的一阶、二阶导数运算。如果能设计出一台计算装置,来实现数列的逐次相加、逐次相减运算,就能根据已知的初值(2阶差分需要3个初值)不断递推求出后继的平方数、立方数甚至完成其他更复杂的多项式运算。

巴贝奇(Charles Babbage 1791-1871)是最早提出差分机的思想的人,可直到他去世差分机都没能最终完成。巴贝奇差分机与前面提过的机械计算机最大的不同点在于它使用了递推运算,也就是循环计算的思想。为了有效的实现递推,还需要解决数据存储的问题。巴贝奇甚至还设计了用穿孔卡片来控制差分机的计算过程,这已经初步具备了现代计算机的雏形。当然,就当时的技术条件来讲,确实过于复杂了。

思考:
        这种只能完成递推差分运算的机器到底有什么实际用途没有?为什么说巴贝奇分析机的计算精度是非常重要的?(这个问题有点难。)
TuringMachine
继电器

同样还是在英国,一个叫图灵(Alan Mathison Turing,1912—1954)的年轻人,高屋建瓴的提出:计算的本质就是把一组数(或称一组状态)按照某种规则转换为另外一组数(另一组状态)的过程。所以,如果一台计算机能完成:状态的记录和按指定规则进行状态转换,那就意味着实现了自动化的计算。按照当时的技术条件,他提出了一个简洁的计算机模型:一条可以记录状态的磁带,一个能完成对磁带进行读、写操作的磁头,以及控制磁头操作的状态转换控制器。图灵使用电磁信号作为数据状态的表达方式,大大简化了原来用机械状态表达数据的方案。因此能适应对大批量数据进行处理。在机械计算机中需要通过人为控制手柄的转动方式和数据的解读方式来实现四则运算。而在新一代计算机中,为了能实现更加快速和复杂状态变换,使用了一种叫继电器(relay)的器件。继电器可以借助电流的通断来控制开关的闭合与开启。针对不同的计算要求,只要给出正确的电平信号,就能控制计算机实现指定的状态变换。1943年10月。绰号‘巨人’的计算机在英国完成,该机 为二次大战中破译德军的密码立下汗马功劳。二战结束后英国军方把巨人机锁进了保险柜。美国人则快速推进了相关领域的研究与应用,并逐步确立了在计算机领域的领导地位。

三极管

尽管继电器实现了通过电信号来控制计算状态的转换,但本质上还是借助电磁力实现的机械开关电路。因此这个阶段的计算机无论是体积、功耗都比较大,运行速度也受到限制。这种状况随着一种静态电子开关元件 —— 三极管的发明而得到了根本的改观。三极管利用半导体材料的物理特性,实现了通过基极b的电平信号来控制集电极c、发射极e之间的电路通断功能。由于三极管是纯电子的开关元件,开关速度大大提高。随着制造工艺的进步三极管的体积越做越小,功耗越来越低。最后甚至可以把成千上万个三极管电路集成到一片硅片上,这就是后来的集成电路。从此,计算机就完全走入了电子时代。尽管从基本原理上来看与早期的机械计算机并没有本质区别,但电子计算机依靠其极高的运算速度,再配合算法科学的进步,许多原来觉得不可能被计算的问题都被纳入到了计算机服务的领域。信息时代的大门由此开启。

早期的电子计算机 

body { } .chapter { font-size:11px; } .hh1 { float:left; font-family:楷体_GB2312; font-size:40px; height: 60px; width:100%; padding-left:30px; margin-right:20px; } .heng { padding-left:2px; margin-left:2px; } .keywords { color :Navy; font-size:16px; width :auto; float :right; margin-right:5px; margin-bottom:20px; padding-right:10px; padding-bottom:5px; } .titleBar { background-image:url('pic/tBar.JPG'); background-color:#658fa7; width: 100%; height :20px; } #tLeft { font-size:14px; color:#bbe0e3; float :left; width :200px; padding-top:3px; padding-bottom:2px; padding-left:7px; font-weight:bolder; } #tRight { font-size:14px; color:#bbe0e3; float :right; padding-top:3px; padding-bottom:2px; padding-right:5px; font-weight:bolder; } .chapterIntro { height :auto; } .introPic { float :left; height: 242px; width: 284px; margin-right:5px; margin-bottom:5px; margin-top:5px; } .introText { width:auto; font-size:16px; line-height:180%; padding-left:10px; } .chapterIndex { width:100%; } .blankLine { width:100%; height :30px; } .firstChar { font-size:28px; margin :-10px; padding-right:12px; font-family:隶书; } .index { font-size:28px; padding-right:12px; font-family:隶书; } li { font-size:18px; line-height:180%; } h3 { font-size:18px; line-height:130%; } .question { background-color:#ccc; margin:10px 10px 10px 3px; padding:0px 10px 3px 10px } .leadPic { visibility :hidden; height :1px; float:left; } .firstChar2 { font-size:24px; margin :0px; padding-right:2px; font-family:幼圆; }

https://wap.sciencenet.cn/blog-47505-244457.html

上一篇:1-1 记数法与进位运算
下一篇:转豇豆胰蛋白酶抑制剂大米90天喂养实验研究
收藏 IP: 124.205.76.*| 热度|

5 赵星 刘耀 杨秀海 吴怡 王立

该博文允许实名用户评论 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

全部作者的其他最新博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-14 02:47

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部