1.1 数的起源
要认识数据,首先要清楚“数”的渊源,“数”是量度事物的概念,是客观存在的量的表述。“数字”起源于原始人类用来计数的记号,其形成的自然数的“数”符号,是人类最伟大的发明之一,是人类精确描述事物的基础。人类在漫长的历史进程中,通过对现实事物计数这种方式得到了“数”,并学会了使用一定的方式进行运算,将“数”同空间事物相联系,用来表明这些事物的多少。
1.1.1 数是什么
人类对于数的认知是一个从具体到抽象的过程。以前,人类为了生存,往往几十人在一起,过着群居的生活。他们白天共同劳动,搜捕野兽、飞禽或采集果薯食物;晚上住在洞穴里,共同享用劳动所得。在长期的共同劳动和生活中,人类社会逐渐发展到了有些什么非说不可的地步,于是产生了语言。他们能用简单的语言辅以手势,来表达感情和交流思想。随着劳动内容的发展,他们的语言也不断发展,其中的主要标志之一就是语言包含了算术的色彩。
人类先是产生了“数”的朦胧概念。他们狩猎而归,猎物或有或无,于是有了“有”与“无”两个概念。连续几天“无”兽可捕,就没有肉吃了,“有”“无”的概念便逐渐加深。
后来,群居发展为部落。部落由一些成员很少的家庭组成。所谓“有”,就分为“一”“二”“三”“多”等四种(有的部落甚至连“三”也没有)。任何大于“三”的数量,他们都理解为“多”或者“一堆”“一群”。然而,不管怎样,他们已经可以用双手“说清”这样的话(用一个指头指鹿,三个指头指箭):“要换我一头鹿,你得给我三支箭。”这是他们当时拥有的算术知识。
大约在几千年以前,一些从事游牧的石器时代的狩猎者在中东的山区内,开始了一种新的生活方式——农耕生活。他们碰到了怎样记录日期、季节,怎样计算收藏谷物数、种子数等问题。特别是在尼罗河、底格里斯河与幼发拉底河流域发展成更复杂的农业社会时,他们还碰到交纳租税的问题。这就要求数有名称,而且计数必须更准确。
1.1.2 结绳记事——最古老的数据库
人们对于数的认识,并不是天生就有的。远古时代,人们靠采集和围猎为生。有无猎物或果实,关系到古人的生存,而“有”和“无”的问题,孕育了人类最初的数学思想。对“有”的进一步认识,又产生了另一个数学问题:“多”与“少”。要想知道有多少果实或猎物,就要做比较,和什么做比较呢?被拿来作为比较标准的东西就成了最初的记数工具。
手、耳、脚等人体器官成为人类最早使用的天然记数工具。如果采集到的果实或捕获到的猎物与一只手的手指数相同,就称其个数为“手”,如果与人的耳朵一样多,就称其个数为“耳”,如果与整个人的手指及脚趾数加起来一样多,就称“整个人”。所以,一旦成为记数的工具,一根手指就不仅仅是手指,它可以表示一头羊、一个果子、一根木头或任何别的东西。用手指、脚趾难以长时间记录数据,并且表示的数量有限。经过探索和实践,古人发明了在绳子上打结的计数方式,这在我国古书《易经》《庄子》中都有记载。
在人类学会用文字记事之前,还经历了一个漫长的“刻痕计数”与“结绳记事”(见图1-1)时代。当然,就技术发明而言,人类最早的工具应该是石器、骨器及木器,而绳索的发明相对要晚些。吉尔伯特(K.P.Gilbert)指出:由于石器时代的人需要绳索来制作捕鱼装置和陷阱,因而人们从旧石器时代起,就通过搓捻把纤维、茸毛或兽皮条制作成带子和绳子。事实上,在西班牙东部的旧石器时代晚期或中石器时代的一幅山洞壁画,描绘了一个人用外表看似绳子的东西沿着悬崖的绝壁向下爬,以便去采集野花蜜。
原始时代,结绳记事是全世界的共同现象,具体办法大致是大事结大结、小事结小结,毫无疑问结绳也具有计数的功用。这一点,无论是在世界几大古文化区域内,还是现代的一些原始部落中,都有丰富的考古资料和事实根据。
图1-1 结绳记事
我国记数历史中最古老的传说是:“三皇无文,结绳而治,自五帝始有书契。”最有影响的儒家经典《易经·系辞下》中也有“上古结绳而治,后世圣人,易之以书契”的记载。根据史籍和现代考古学的研究,大约在数万年前我们的祖先就进入了结绳记事的时期,后来又发明了用刻痕符号表示数字的方法。《易经·系辞下》还有一段记述伏羲画八卦的传说:“古者包牺氏之王天下也,仰则观象于天,俯则观法于地,观鸟兽之文与地之宜,近取诸身,远取诸物,于是始作八卦,以通神明之德,以类万物之情。”
伏羲造书契是民间历史悠久、影响广泛的传说之一。所谓“契”,按刘熙《释名卷六》的解释为:“契,刻也,刻识其数也。”那么“书契”也就是指在竹木、甲骨、石片等物体上契刻各种符号以记录一些重要的事情,这里“书”应作为动词解,即书写、刻画之意。所谓“书契”者,并非一定是文字,自然又比结绳记事更加简捷方便一些。
对于数学与语言的关系,美国语言学家布龙菲尔德(Leonard Bloomfield,1887—1949)提出过一个著名的观点:数学不过是语言所能达到的最高境界。英国布洛亨姆(H.P.Brougham)也说:数学语言对任何人来说,不仅是最简单明了的语言,而且是最严格的语言。英国著名数学家霍格本(L.Hogben)认为数学法则是最节约空间的翻译练习。他还认为,数学不同于普通语言,普通语言主要用来描述事物的性质;而数学则与此相反,仅仅用来说明事物的大小、次序和形状。因此,人们可以运用数学这种高度节省空间的国际性书写语言进行信息交流。
我国古代文献中仍然保留着许多有关少数民族刻木、结绳的史实。《隋书·突厥传》中有“突厥无文字,刻木为契”。《唐会要》中有“(吐蕃)无文字,刻木结绳为约”。宋代朱熹(1130年—1200年)曾说:“结绳者,溪峒各蛮,犹各有之。又有刻板者,凡年月日时,以及人民粮草之属,刻板为记,都不相乱。”宋代文献记载“鞑靼人调动军马,或结绳为约,或刻木为契”。明清时代遵义地区少数民族“凡交易,刻木为书契,结绳以为数”。云南众多的少数民族曾采用过结绳计量、刻痕记事法,如佤族用木刻计算日子和账目,苗族用木刻记录歌词,景颇族用木刻记录村寨之间的纠纷,哈尼族用木刻作为借贷离婚、典当土地的契约,独龙族用递送木刻传达通知。
甚至到了20世纪中期,在我国西南的一些少数民族中仍在使用结绳记事与刻痕记事的方法。这种计量、记录法,因为简便易行而得到广泛传承。它们不仅是人类史前时代取得的重大成果,也是后来数据思想发展的源头。
1.1.3 多样的数字
1.自然数的定义
自然数是指用以计量事物的件数或表示事物次序的数,即用数字0、1、2、3、4…所表示的数。自然数由0开始,一个接一个,组成一个无穷的集体。自然数有有序性和无限性,分为偶数和奇数、合数和质数等。
自然数是人们认识的所有数中最基本的一类。为了使数的系统有严密的逻辑基础,在19世纪,意大利数学家G.皮亚诺(Giuseppe Peano)总结了自然数的性质,用公理法给出自然数的如下定义。
自然数集N是指满足以下条件的集合:
1)N中有一个元素,记作1。
2)N中每一个元素都能在N中找到一个元素作为其后继者。
3)1是0的后继者。
4)0不是任何元素的后继者。
5)不同元素有不同的后继者。
6)归纳公理:N的任一子集M,如果1∈M,并且只要x在M中就能推出x的后继者也在M中,那么M=N。
同时期还提出了基数理论。基数理论把自然数定义为有限集的基数,提出“两个可以在元素之间建立一一对应关系的有限集具有共同的数量特征,这一特征叫作基数。”这样,所有单元素集{x}、{y}、{a}、{b}等具有同一基数,记作1。类似地,凡能与两个手指头建立一一对应的集合,其基数相同,记作2,等等。自然数的加法、乘法运算可以基于序数或基数理论给出定义,并且两种理论下的运算是一致的。
自然数在日常生活中起了很大的作用,被人们广泛使用。自然数是人类历史上最早出现的数,在计数和测量中有着广泛的应用。人们还常常用自然数来给事物标号或排序,如城市的公共汽车路线、门牌号码、邮政编码等。
0是否包括在自然数之内存在争议:有人认为自然数为正整数,即从1开始算起;也有人认为自然数为非负整数,即从0开始算起。关于这个问题尚无一致意见。不过,在数论中,多采用前者;在集合论中,则多采用后者。我国中小学教材将0归为自然数。
2.古代中国的自然数
在世界各地,数的概念最初都是以1、2、3、4这样的自然数开始的,但是记数的符号大不相同。
在我国远古时期,便出现了甲骨文上的数学符号,在殷商之前,古人就已把文字写在乌龟甲和牛骨上。甲骨文上的数字,分别表示1~10和100、1000、10000。甲骨文记数的位值是十进位制,十、百、千、万都有专门的单位词。甲骨文的记数方式就是由1~9九个数字和若干十进制的位值符号组成的,记数的时候先将两组符号通过乘法结合在一起,以表示位值的若干倍,也就是说,记数将个位数词与单位词靠乘法关系组合而成。但是这种记数方式只适用于文字记载。如图1-2a所示,将表示5的符号与表示10的符号通过乘法结合,则得出图1-2b代表数字50的符号。同样,表示5的符号与表示100的符号相结合,写作图1-2b 500的符号,表示100的5倍。如果是非整数的数字,例如3359,则是表示3000、300、50和9的四个符号的并列联合书写。目前发现的最大的甲骨文数字是30000。
图1-2 甲骨文中的十进制计数法
我国古代还用算筹来表示数,分为纵式和横式两种,算筹计数法如图1-3所示。用算筹计数时,个位、百位、万位都用纵式;十位、千位都用横式;高位在左,低位在右;遇到数字0时,就用一个空位表示。后来,就约定俗成以符号○代表数字0,这恰好与今天阿拉伯数字0的形态相近。
图1-3 算筹计数法
3.罗马数字
罗马数字比阿拉伯数字早2000多年,起源于古罗马。
大约在2500年前,罗马人还处在文化发展的初期,当时他们用手指作为计算工具。为了表示一、二、三、四个物体,就分别伸出一、二、三、四个手指;表示五个物体就伸出一只手;表示十个物体就伸出两只手。这种习惯被人类一直沿用到今天。人们在交谈中,往往就是运用这样的手势来表示数字的。
当时,罗马人为了记录这些数字,便在羊皮上画出Ⅰ、Ⅱ、Ⅲ来代替手指的数;要表示一只手时,就写成“Ⅴ”,表示大拇指与食指张开的形状;表示两只手时,就写成“ⅤⅤ”,后来又写成一只手向上、一只手向下的“Ⅹ”,这就是罗马数字的雏形。
后来为了表示较大的数,罗马人用符号C表示100。C是拉丁词Centum的头一个字母,Centum就是一百的意思(英文Century就是由此而来)。用符号M表示1000。M是拉丁词Mille的头一个字母,Mille就是一千的意思。取字母C的一半,成为符号L,表示50。用字母D表示500。若在数的上面画一横线,这个数就扩大1000倍。这样,罗马数字就有下面七个基本符号:I(1)、V(5)、X(10)、L(50)、C(100)、D(500)、M(1000)。罗马数字与十进位数字的意义不同,没有表示零的数字,与进位制无关,所以当时的人们用(空格)表示0。
4.阿拉伯数字
公元3世纪,古印度的一位科学家巴格达发明了阿拉伯数字。大约公元700年前后,阿拉伯人征服了旁遮普地区,他们吃惊地发现被征服地区的数学比他们先进。由于古印度的数字和计数法既简单又方便,其优点远远超过了其他计算法,因而阿拉伯学者们很愿意学习这些先进方法,商人们也乐于采用这种方法去做生意。
后来,阿拉伯人把这种数字传入西班牙。10世纪,又由教皇热尔贝·奥里亚克传到欧洲其他国家。1200年左右,欧洲学者正式采用了这些符号和体系。至13世纪,在意大利比萨的数学家斐波那契(Leonardo Pisano Bigollo)的倡导下,普通欧洲人也开始采用阿拉伯数字,15世纪时这种现象已相当普遍。那时的阿拉伯数字的形状与现代的阿拉伯数字尚不完全相同,只是比较接近而已,为使它们变成1、2、3、4、5、6、7、8、9、0的书写方式,又有许多数学家花费了不少心血,最终形成了现代的阿拉伯数字书写体系。