阿西莫夫最新科学指南-下 [美]-第55章
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
分法获得了惊人的成功(到了
1812年,在法国已有
11 000台这种
织机,并且在拿破仑战争一结束就传到了英国)。在某一特定位置
或者有一个孔,或者没有孔。织机运转只需要一个片面上的“是非
-是-是-非……”之类的模式就可以了。
从那以后,专为模仿人类思想而设计的越来越复杂的装置中
都采用更精妙的方法处理是-非模式。想从一种简单的是-非模式
得到复杂的、类似人类的结果似乎是十分可笑的。但是事实上这
样做的数学基础早在
17世纪就已得到了证明。在那以前,人们已
经为算术计算机械化以及为找到人脑活动的辅助装置而做了几千
年的尝试。
第十七章 头 脑
第十七章 头 脑
算术计算
用于算术计算的最早的工具一定要数人的手指了。当人们使
用他们自己的手指来表示数字和数的组合时,就揭开了数学的历
史。英语“digit”一词,即有手指(或脚趾)的意思,也有整数的意
思,这一点并非巧合。
从那以后,再进一步就出现了用其他物体(可能是卵石)代替
手指做计算的情况。卵石比手指多,而且在解题的过程中,用卵石
还可以保存中间结果,以便将来参考。因而,英语计算一词来自拉
丁语的“卵石”,这也不是巧合。
把卵石或珠子排在槽中或串在绳子上,就形成了算盘,它是第
一种真正具有多种用途的数学工具(图
17…5)。有了它就可以很
容易地表示个、十、百、千等等。通过移动算盘的卵石或筹码,可以
迅速完成诸如
576+289这样的加法运算。而且,任何可用来做加
法的仪器也可用来做乘法,因为乘法不过是重复相加而已。另外,
能做乘法也就能做乘方运算了,因为乘方就是重复相乘(例如,
45
是
4×4×4×4×4的简化表达方式)。最后,假如能反向操作这种
仪器,那么就可以做减、除和求方根的运算了。
可以把算盘看作是第二种数字计算机(第一种当然是手指
了)。
算盘连续几千年一直是最进步的计算工具。在西方,罗马帝
国灭亡以后算盘的使用实际上就失传了。在大约公元
1000年,教
皇西尔维斯特二世又重新引进了算盘。这次可能是从摩尔人的西
班牙引进的,在那里人们一直未停止使用算盘。算盘重新出现以
后,人们把它当作东方世界的新鲜玩艺,而不记得它的西方根源
了。
第一种可以代替算盘的事物是一种模仿算盘工作的数字记
法。这种记数法就是我们今天所说的阿拉伯数字,它在公元
800
阿西莫夫最新科学指南
阿西莫夫最新科学指南
年左右发源于印度,后来让阿拉伯人学会了,最后在大约公元
1200年由意大利数字家、比萨的莱奥纳尔多介绍到西方。
在这种新的记数法中,算盘表示个位的那一行中的九颗不同
的卵石由九个不同的符号表示,在十位行、百位行和千位行中也使
用这九个符号。位置互不相同的筹码由位置互不相同的符号来代
替,例,在数字 222中,第一个 2代表 200,第二个 2代表 20,而第
三个 2则代表 2本身;也就是,200+20+2=222。
这种“位置记数法”之所以能够出现,是因为有人认识到了古
图 17…5用算盘做加法。横杠下面每个算珠表示 1;横杠上面每个算珠表示 5。
将算珠拨向横杠表示计数。这样,左上图中,最右面一列的读数是 0;从右数第
二列读数是 7或(5+2);右起第三列读数是 8或(5+3);右起第四列数是 1。于
是,算盘上显示的数字就是 1870。如果在这个数字上再加上 549,最右列一列变
成了 9或(5+4);右起第二列的加法是四去六进一,即向上位进 1后本位余 1,这
样就要在右起第三列拨上一只算珠;右起第三列的加法结果为进 1余 4;而右起
第四列的加法即为 1+1或 2。以上运算的答案是 2419,如右上图中的算盘所
示。进 1的方法非常简单,不过是在左面一列中拨上一粒算珠而已,因而计算的
速度可以很快。一位会熟练运用算盘的人做加法的速度能超过加法机,这一点
在 1946年举行的一次实际测验中得到了证实。
第十七章 头 脑
第十七章 头 脑
代算盘使用者所忽略的一个十分重要的事实。虽然在算盘的每一
行中只有
9个筹码,但却有
10种不同的排列方法。除了将
1到
9
的
9个筹码排成一行以外,还可以不使用筹码——即把计数位置
空出来。所有伟大的希腊数学家都没有注意到这一点;一直到了
9世纪,才有某个不知姓名的印度教徒想到要用一个特别的符号
“0”来代表这第十种排列。这个符号阿拉伯人叫做
“sifr”(空的),
英语中具有“零”的意思的两个词都是来源于这个字(
cipher和
zero)。现在,英语中摆弄数字有时仍叫做“
ciphering”(计算),而求
解难题叫做“decipher”(破解),这都说明了零的重要性。
而指数表示数的乘方提供了另一种有力的工具。将
100表示
成
102,1 000表示成
103,100 000表示成
105,等等,从几方面来说
都很方便。这样做不仅使大数的写法简单化了,而且将乘法和除
法运算简化为指数的加减法运算(例如,
102×103=105),还把乘方
和求方根的运算变为简单的指数乘除法运算(例如,
1 000 000的
立方根是
106/3=102)。这些当然都挺不错,但是能写成简单的指
数形式的数是很少的。对像
111这样的数又该怎么办呢?对这个
问题的回答引出了对数表。
第一个研究这个问题的是
17世纪的苏格兰数学家纳皮尔。
显然,想把
111这样一个数字表示成
10的幂的形式,则
10的指数
不会是整数(这个指数是
2和
3之间的一个小数)。总的来说,如
果所考虑的数本身不是底数的整数倍,那么指数就会是小数。纳
皮尔找到了一种计算数字所对应的小数形式的指数的方法,并将
这种指数命名为对数。不久以后,英国数学家
H。 布里格斯简化了
这种方法并算出了以
10为底的对数。布里格斯对数(即常用对
数)在微积分中不大好使,但在普通计算中则用得较多。
所有非整数的指数都是无理数,也就是说,它们不能表示成普
通分数的形式。它们只能用无限不循环小数来表示。然而,这样
阿西莫夫最新科学指南
阿西莫夫最新科学指南
一个小数可以按照需要计算到任意多的位数。
例如,让我们假定我们想要计算
111和
254两数的乘积。111
的常用对数,精确到小数点后五位,是
2。04532,而
254的常用对
数则为
2。40483。把这两个对数加起来,我们得到
102。04532 ×
102。40483=104。45015。这个数大约等于
28 194,也就是
111×254的
积。如果我们想达到更高的精确度,我们可以使用精确到小数点
后六位或更多位的对数。
对数表大大简化了计算工作。在
1622年英国数学家奥特雷
德设计了一种计算尺,使计算变得更加容易。他在两把尺上都标
上了对数刻度。在这种刻度中,数字越大,数字间的距离就越短。
例如,第一段包含
1到
10的数字,长度与第一段相同的第二段包
含
10到
100间的数字,而同样长度的第三段则包含
100到
1 000
间的数字,等等。通过将一把尺沿着另一把尺滑到适当的位置,就
能读出乘除计算的答案。使用计算尺进行运算就像用算盘做加减
法一样容易,当然,这要使用者能熟练运用这种工具才谈得上。
计算机
向真正自动的计算机迈出的第一步,是由法国数学家帕斯卡
在
1642年完成的,他发明了一种加法机,使用时不用像使用算盘
那样在每一行上分别移动筹码。它由一套联在一起的齿轮组成。
如果把第一个轮子——个位轮——转动
10个格到它的
0刻度,则
第二个轮子就会向上转
1个格到它的
1刻度,这样两个轮子在一
起就会显示
10这个数字。如果十位轮转到了它的
0刻度,则第三
个轮子会向上转
1个格,显示
100,等等。(这种加法机的原理和
汽车里程表的原理是一样的。)据说帕斯卡制作了
50多部这种加
法机,其中至少有
5部存留至今。
帕斯卡的装置只能做加法和减法。在
1674年,德国数学家莱
第十七章 头 脑
第十七章 头 脑
布尼兹再进一步,他改进了轮子和齿轮,使得乘法和除法也变得像
加减法一样自动和容易。1850年,美国发明家帕马利取得专利的
一项重大进展使计算机使用起来更加便利。以前的计算机是用手
直接拨动轮子,而他则引入了一套按键;按下标有某个数字的键,
轮子就会转到相应的数字。我们所熟悉的老式现金收入记录机
中,所采用的就是这样的机械装置。
但是,莱布尼兹并未就此罢手。可能是由于他在计算机械化
方面的努力,他发明了二进制系统,目的是想最大限度地简化计算
的机械化。
人类通常使用的是一种以
10为底的记数系统(十进制),这种
系统中共用到十个不同的数字(
0,1,2,3,4,5,6,7,8,9),并以这些
数字的不同数量与组合来表示所有的数。某些文化中用到了以别
的数为底的记数制(有以
5为底的系统、以
20为底的系统、以
12
为底的系统、以
60为底的系统等等),但是以
10为底的记数制使
用得最为广泛。毫无疑问,这一点是由于我们的双手刚好有
10个
手指的缘故。
莱布尼兹认识到,任何数字都可以用做底数,而对于机械运算
来说,最简单的应该是以
2为底的系统(二进制)。
二进制记数法中只用到两个数字:
0和
1。它把所有数字都表
示成
2的幂。这样,
1这个数就是
20,2这个数是
21,3是
21+20,4
是
22,等等。就像在十进制系统中一样,幂是由符号所处的位置
表示的。例如,
4这个数表示为
100,即:(1 × 22)+(0 × 21)+
(0×20),用十进制数表示,就是
4+0+0=4。
让我们以
6413这个数字为例来说明一下。在十进制系统中,
可以把它写成(
6×103)+(4×102)+(1×101)+(3×100),别忘了
任何数的
0次方都等于
1。而在二进制系统中,是通过把
2的幂
加在一起(而不是把
10的幂加在一起)来组成数字的。比
6413小
阿西莫夫最新科学指南
阿西莫夫最新科学指南
的最高次幂是
12次幂;
212是
4096。再加上
211,即
2048,我们得到
6114,这个数比
6413小
269。下一个要加上
28即
256,这样还剩
下
13;再加上
23即
8,剩下
5;然后是
22即
4,剩下
1;最后
20就是
1。这样我们就可以将
6413写成(
1 × 212)+(1 × 211)+(1 × 28)+
(1×23)+(1×22)+(1×20)。但是,像在十进制系统中一样,一个
数当中的每一位数,从左到右,必须表示比上一位数低一次方的方
次。在十进制系统中写出
6413这个数时,我们表达了
10的三次、
二次、一次和零次幂项的和,同样,在二进制系统中我们也必须表
达出
2的
12到
0各次幂项的和。以列表的形式表示为:
1 × 212=4096
1 × 211=2048
0 × 210= 0
0 × 29= 0
1 × 28=
256
0 × 27= 0
0 × 26= 0
0 × 25= 0
0 × 24= 0
1 × 23= 8
1 × 22= 4
0 × 21= 0
1 × 20= 1
6413
一个个地将左边一列中的乘子取出(就像我们在十进制中相
继取出
6、4、1和
3这些乘子一样),我们在二进制中把这个数写成
1100100001101。
这看起来好像很麻烦。6413这个数要写成
13位长,而在十
第十七章 头 脑
第十七章 头 脑
进制中则仅需
4位数。但是对于计算机来说,这种记数系统是最
简单的了。由于只有两个不同的数字,一切运算都能以简单的“是
或非”的方法来完成。
推测起来,像在提花织机上有针或无针这样一种简单的事情
应该可以以某种方式模仿“是”和“非”,或
0和
1。通过恰当而巧
妙的组合,人们可以调整出如下的结果:
0 + 0=0,0 + 1=1,
0 × 0=0,0 × 1=0和
1 × 1=1。如果以上组合都能做到,我们就可
以想象在提花织机之类的设备上应该能进行一切算术运算。
可以以这种方式完成的不仅仅是普通的计算。这个系统还以
扩展到包含一些逻辑语句,而人们在一般情况下并不认为这些逻
辑语句属于算术。
在
1936年,英国数学家图灵证明,不论什么问题,只要能分解
成有限个操作步骤,而且其中每个步骤又都能用某种机器来完成,
那么这个问题整体上也能通过机械方式加以解决。
1938年,美国数学家兼工程师香农在他的硕士论文中指出,
一种叫做布尔代数形式的推理逻辑可以用二进制的方法来处理。
布尔代数是指一种符号逻辑系统,这种系统是英国数学家布尔于
1854年在《关于思维规律的研究》一书中提出的。他注意到,推理
逻辑中用到的各种命题都能用数学符号来表示。接着他又展示了
如何根据一些固定的规则处理这些符号以得到恰当的结论。
举一个非常简单的例子,让我们考虑下面的命题:
“A和
B二
者均为真。
”假设我们知道
A与
B分别是真或是假,现在的任务是
通过某种严格的逻辑推理来断定上述命题的真假。让我们按照香
农提出的想法,以二进制的思想方法来解决这个问题,并用
0代表
“假”、用
1代表“真”。如果
A与
B二者均为假,则“A与
B二者均
为真”这一命题为假。换一种说法,
0乘
0得
0。如果
A与
B二者
中一为真而另一为假,则上述命题依然为假,也就是说,
1乘
0(或
阿西莫夫最新科学指南
阿西莫夫最新科学指南
0乘
1)得
0。如果
A为真且
B也为真,则“A与
B二者均为真”这
一命题为真。用符号表示,这种情况即为
1乘
1得
1。
这三种情况刚好同二进制系统中的三种可能的乘积相吻合,
即
0 × 0=0,1 × 0=0,以及
1 × 1=1。这样,由“A与
B二者均为
真”这一命题表示的逻辑可以用乘法来处理。因此,一个经过适当
编程的装置,能采用处理普通运算时采用的同样方法,同样方便地
处理这个逻辑问题。
在处理“A或
B有一个为真”这个命题时,我们用加法而不是
乘法来解决这个问题。如果
A和
B二者均不为真,则这个语句为
假。换句话说,0+0=0。如果
A与
B二者一为真而另一为假,则
这一命题为真;在这两种情况下
1 + 0=1或
0 + 1=1。如果
A与
B二者均为真,则这语句肯定为真,即
1+1=10。[10中重要的一
个数字是
1;它向左移动了一位,这一点并不重要。在二进制中,
10表示(1×21)+(0×20)