描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787115282149
在数字计算机出现之前,阿兰?图灵就预想了它们的功能和通用性……也证明了哪些事是计算机永远做不了的。
由Windows编程大师Charles Petzold耗时多年编写的这本书剖析了现代计算机原理开山之作、阿兰?图灵流芳百世的论文“On Computable Numbers, with an Application to theEntscheidungsproblem”。图灵在其中描述了一种假想的计算机器,探索了其功能和内在的局限性,由此建立了现代程序设计和可计算性的基础。这本书也像是一本小说,行文间穿插讲述了图灵的成长经历和教育背景,以及他跌宕起伏的一生,包括破解德国恩尼格密码的传奇经历,他对人工智能的探索,他的性取向,以及最终因同性恋的罪名而在41岁时自杀的悲惨结局。全书完整揭示了阿兰?图灵非凡、传奇而悲剧的一生,是了解图灵的思想和生平的极好著作。
阿兰·图灵(1912—1954)是英国数学家、逻辑学家,被称为计算机科学之父、人工智能之父,是计算机逻辑的奠基者,提出了“图灵机”和“图灵测试”等重要概念。为纪念他在计算机领域的卓越贡献,美国计算机协会于1966年设立图灵奖,此奖项被誉为计算机科学界的诺贝尔奖。
第一部分 基 础
第1章 这个墓穴埋葬着丢番图
第2章 无理数和超越数
第3章 几个世纪以来的发展
第二部分 可计算数
第4章 图灵的学业
第5章 运作的机器
第6章 加与乘
第7章 子程序
第8章 万物皆数字
第9章 通用机
第10章 计算机与可计算性
第11章 机器与人
第三部分 判定性问题
第12章 逻辑与可计算性
第13章 可计算函数
第14章 主要证明
第15章 λ演算
第16章 对连续统的设想
第四部分 题外话
第17章 万物皆是图灵机?
第18章 长眠的丢番图
参考文献
引言
研究过计算机的历史、技术或理论的人,都会接触到“图灵机”这个概念。在1936年,为帮助解决数理逻辑中的一个问题,英国数学家阿兰?图灵(1912—1954)提出了图灵机。它是一种纯属虚构的计算机,连计算机假设也算不上。而由此得到的意外收获是,图灵创立了一个新的研究领域——计算理论(或可计算性),它主要研究数字计算机的功能和局限性。
尽管图灵机是一种并不太合理的计算机,但由于其自身极其简单而大放异彩。最基本的图灵机只能进行一些简单的操作。如果连这些操作都不能做,那么这台机器干脆什么都别做了。然而,只要将这些简单的操作组合起来,图灵机就能够进行现代数字计算机可以执行的任何计算。
拨开云雾见天日,通过考查计算机的原始基础,我们就能够更好地理解数字计算机的能力和局限性,这二者同样重要。尽管有人早就论证过计算机可以做什么,但在这种论证出现多年之前,图灵就证明了计算机永远都做不到的事。
图灵机仍然是被阐述和探讨的热门话题,你可以试试用喜爱的网络搜索引擎搜索“图灵机”。然而,我猜很少有人会阅读阿兰?图灵描述他这项创造的原始论文。或许,这与论文的标题“OnComputable Numbers, with an Application to theEntscheidungsproblem”(“论可计算数及其在判定性问题上的应用”)有关。即使你会读最后那个单词(试试看,将重音放在第二个音节上,把这个音节发成类似“shy”的音,这就差不多了),并且知道它的意思(即判定性问题),你可能也会担心,图灵一定指望他的读者对繁冗的德国数学问题有基本的了解。快速浏览这篇论文(其中还用到了德国哥特式字体来表示机器状态)也无法让人消除这种担心。今天的读者还能手捧70年前伦敦数学学会集刊中的文章,并坚持看到有所收获,甚至十分满意吗?
这本书要讲的正是这篇论文。它包含了图灵原版36页的论文 “On Computable Numbers, with anApplication to theEntscheidungsproblem”和增补的3页修订,并辅以背景材料和大量注解。阅读图灵的原版论文就是在探索他构建图灵机的思维过程,就像在他充满想象、内容丰富的思想中进行一次奇特的旅行。图灵机不仅对计算产生了深远的影响,还深深影响了我们对数学局限性、人类思维方式,甚至宇宙本质的理解。(当然,图灵的论文中并没有出现“图灵机”这个术语,他称之为“计算机器”。不过,早在1937年人们就开始使用“图灵机”这种说法,并且至今仍是标准术语。)
我在对图灵论文进行注释的过程中,发现用解释和阐述频繁打断他的叙述还是很有用的。我努力做到(但并没有完全做到)不打断他的某一整句话。大部分情况下,我会在讨论中保留图灵自己的术语和符号,不过有时,虽然图灵没有采用某个术语,如果我觉得这个术语在解释其工作时很有用,也会引入这些术语。
图灵论文的内容会像下面这样表示。
为了避免混淆,我们会更多地提及可计算序列,而非可计算数。
我们(指出版商和我)努力保留图灵原始论文的字体和版式,除非有一些奇怪的表示方法(比如冒号前加空格)在现代文字处理软件中总报错。原稿中所有的行间距也得以保留。图灵的论文中存在一些印刷错误、技术性错误和理论上的疏漏,尽管我没有在原文中加以修正,但会在评注中一一指出。图灵对他自己论文内容的引用,仍沿用原发表期刊中的页码,我没有修改这些引用,不过在评注中指出了被引用部分在本书中的页码。偶尔,你会在图灵的论文中发现一个括起来的数字,例如:
如果用数字代替这些字母,如在§5中,那么我们可以得到这个完全格局的数字表示,也可以称作它的描述数。
这是原论文的分页处以及标注的页码。我这本书的脚注采用的是圆圈编号,而图灵论文的脚注使用符号标注,并写在阴影部分。
如果只保留本书阴影部分的英文内容,再组合起来,得到的就是完整的图灵论文,而我这个劳而无功的作者只能欲哭无泪了。更有趣的阅读方式是,先读本书,再读没有被我打断的图灵论文。
图灵的论文分散在本书的第4~15章,其修订内容在第16章。他的论文分为11个部分和一个附录,对应到本书的页码是:
1. 计算机器 58
2. 定义 63
3. 计算机器示例 69
4. 缩略表 99
5. 可计算序列的枚举 118
6. 通用计算机器 130
7. 通用机的详细描述 136
8. 对角线法的应用 158
9. 可计算数的范畴 175
10. 大量可计算数的示例 219
11. 在判定性问题中的应用 244
附录 274
图灵写这篇论文的最初动机是想解决德国数学家大卫?希尔伯特(1862—1943)构想的一个问题。希尔伯特想寻找一种通用的方法来判定数理逻辑中的任意命题是否可证。寻找这种“通用的方法”被称为判定性问题。尽管判定性问题确实是图灵写这篇论文的动机,但是这篇长篇大论本身讲的却是可计算数。在图灵的定义中,可计算数就是可以使用机器计算的数。论文前面60%的内容都是图灵对可计算数的探索,就算完全不了解希尔伯特在数理逻辑或判定性问题方面的研究,也能够阅读并理解这些内容。
了解可计算数与“实数”的区别对于理解图灵的观点很重要。因此,本书利用前几章介绍了数字分类的背景知识,数字包括整数、有理数、无理数、代数数和超越数,它们都可归为实数。我尽可能不涉及比高中数学更复杂的知识。我知道,有些读者离开快乐的高中生活已经几十年了,我要努力唤醒这些记忆。如果由于我本着这种教育热情而做出一些冒犯读者的解释,我表示歉意。
尽管我觉得本书的读者大多会是计算机科学专业的学生、程序员或其他技术人员,但是我还是尽量让非程序员的读者也愿意读,因此我定义了一些便于理解的术语。图灵的论文被誉为“20世纪的一座知识地标”,我希望本书可以让更多的读者领略到这篇论文的风采。
为了满足不同读者的需要,本书分成了四个部分。
第一部分“基础”介绍阅读图灵论文所必须掌握的一些历史和数学背景知识。
第二部分“可计算数”包含了图灵论文的大部分内容,也是关心图灵机和可计算性相关问题的读者最感兴趣的部分。
第三部分“判定性问题”先简要介绍了数理逻辑的背景知识,然后讨论图灵论文的剩余部分。
第四部分“题外话”讨论了图灵机为何成为人们理解计算机、人类意识和宇宙本身的必要工具。
第三部分的数学内容肯定是比前几章的难,并且讲得比较快。对图灵论文在数理逻辑方面的影响不感兴趣的读者甚至可以跳过第三部分,直接阅读第四部分。
本书涉及数学中几个大的研究领域,包括可计算性和数理逻辑。我仅仅把与理解图灵论文最相关的那些主题和概念挑出来加以解释,省去了很多细节,因此本书从深度和严格性上都无法取代那些可计算性和逻辑方面的专业书籍。想深入研究这些领域的读者可以查阅参考文献。
阿兰?图灵一生发表过近30篇论文和文章 ,却从未写过书。其中的两篇论文造就了他流芳百世的声望。“OnComputable Numbers”(“论可计算数”)当然是第一篇。第二篇名为“Computing Machinery andIntelligence”(“计算机器和智能”,发表于1950年),这一篇的技术性不是很强,图灵在文中首次提出了一种判断人工智能的标准,在今天被称为“图灵测试”。总的来说,一台机器如果可以骗得我们相信它是一个人,那么就可以说它是智能的。
图灵机和图灵测试是阿兰?图灵声名不朽的两大基石。初看上去,它们像是两个完全不同的概念,但事实并非如此。图灵机是以一种非常机械的方式展现人类如何进行数学运算的,图灵测试则是对计算机能力的人为评估。在整个数学研究期间,图灵都在探索人类思维和计算机器之间的关系,他所采用的研究方法至今仍很吸引人。
很多关于可计算性的教科书只讨论图灵的研究而不涉及图灵这个人,它们可没有劳神讲述有关个人传记的细节。不过,本书不会这么做。图灵在二战期间所做的密码分析方面的秘密工作,他参与的影响力巨大的计算机工程,他对于人工智能的思索,他的性取向,他由于“严重猥亵”罪而被逮捕和起诉的经历,以及他在41岁时自杀身亡,所有这些事情都需要关注。
得益于英国数学家安德鲁?霍奇斯(1949— )撰写的精彩传记Alan Turing: TheEnigma(《艾伦?图灵传:如谜的解谜者》,Simon &Schuster,1983年出版),我没费多大力气就总结出了图灵一生中的重要事件。霍奇斯对图灵感兴趣的部分原因,在于他参与了20世纪70年代的同性恋解放运动。霍奇斯的传记还给休?怀特摩尔的剧本BreakingtheCode(《破解密码》,1986)带来了灵感,在舞台上和在1996年改编的电视片中,阿兰?图灵的角色都是由德里克?雅克比扮演的。
如同早期的英国数学家、计算机先驱查尔斯?巴贝奇(1791—1871)和艾达?拉夫拉斯(1815—1852),图灵也成为计算机时代的一个标志。美国计算机协会每年都会为在计算机行业做出杰出贡献的人颁发图灵奖,奖金为10万美元。现在还有一些用来组装图灵机的工具,比如“图灵编程语言”(从Pascal衍生而来)和“图灵的世界”软件。
图灵的名字几乎成为计算机编程的通用代名词。杜特尼把他的“计算机科学探索”一书命名为The TuringOmnibus(《图灵选集》,计算机科学出版社,1989)。戴维德?波尔特把他编写的一本关于“计算机时代的西方文化”的书命名为Turing’sMan(《图灵时代的人类》,北卡罗来纳州大学出版社,1984)。布莱恩?罗特曼对传统数学极限概念的评论文章AdInfinitum(斯坦福大学出版社,1993)被幽默地加上了副标题The Ghost in Turing’sMachine(《图灵机里的幽灵》)。
数学和计算机科学领域以外的学者也对阿兰?图灵感兴趣。研究文集Novel Gazing: Queer Readingsin Fiction(《凝神注视:论小说的另类解读》)中最有特色的一篇文章就是由泰勒?科坦撰写的The“SinisterFruitiness”of Machines: Neuromancer, Internet Sexuality, and theTuringTest(《智能机器带来的“阴暗苦果”:神经漫游者、网络性爱和图灵测试》)。科坦博士所说的Neuromancer指的是威廉?吉布森著名的“赛博朋克”小说Neuromancer
(《神经漫游者》)。在这部科幻小说里,有一个叫做图灵警察局的组织,他们负责确保人工智能体不会试图增强它们自身的智能。
图灵还出现在很多小说的书名中。马文?明斯基(麻省理工学院人工智能方向著名的研究者)与科幻小说家哈里?哈里森合写了TheTuringOption(《图灵选择》,华纳图书公司,1992)。伯克利计算机科学教授克里斯托斯?帕帕迪米特里欧参与创作了Turing(《图灵》,一部关于计算的小说,麻省理工学院出版社,2003)。
玻利维亚小说家埃德蒙多?苏丹写了一本名为Turing’sDelirium(《图灵的狂热》,英文版由丽莎?卡特翻译,霍顿?米夫林出版公司,2006)的小说,在其中,一个外号叫图灵的密码专家发现了用他的技能为腐败政府服务带来的危险。在珍娜?列文的小说AMadman Dreams of TuringMachines(《图灵机狂人梦》,Knopf出版社,2006)中,阿兰?图灵和库尔特?哥德尔的生活被虚构在了一起,他们穿越时空,产生了奇特的交织。
阿兰?图灵这个角色还出现在其他很多小说中,如尼尔?斯蒂芬森的Cryptonomicon(《编码宝典》,Avon,1999),罗伯特?哈里斯的Enigma
(《密码迷情》,Hutchinson,1995),约翰?卡斯蒂的The Cambridge Quintet: AWork of ScientificSpeculation(《剑桥五重奏:一部科学思考的著作》,Perseus图书公司,1998),以及道格拉斯?侯世达的G?del,Escher, Bach (Basic图书公司,1979)。阿兰?图灵甚至为The TuringTest(《图灵测试》,BBC,
2000)的一部分做了解说,这本书是保罗?伦纳德写的Doctor Who系列小说中的一本。
人们以各种方式来表达对阿兰?图灵的尊敬当然是好事,不过这样一
来,图灵的实际研究可能会被遗忘。我希望,就算那些正式研究过计算理论,并认为自己完全了解图灵机的人,也能在面对这个真正由大师自己构建的图灵机时发现不少令人惊奇的事物。
* * *
我在1999年就开始构思这本书,当时只写了一点,然后在接下来的五年里时不时又写上一些。2004~2005年基本完成了前11章。后面7章是在2007~2008年完成的,在此期间的写作几乎未中断,唯一的中断就是与我一生中最好的朋友,也是我的至爱迪尔德丽?辛诺特结婚(终于结婚啦)!
非常感谢伦敦数学协会许可完整地再版阿兰?图灵的论文“On Computable Numbers, with anApplication to the Entscheidungsproblem”。
沃尔特?威廉姆斯和拉里?史密斯审阅了本书的初稿,发现了一些错误,并且提出了一些很有益的改进建议。
非常感谢Wiley出版公司的同仁,正是他们的工作将我所钟爱的想法真正出版成书。克里斯?韦伯负责督促这本书的出版,策划编辑克里斯多夫? 里韦拉和制作编辑安吉拉?史密斯克服了很多版式和印刷方面的困难,技术
编辑彼得?伯凡蒂帮助我认真完成了技术相关的内容。Wiley出版公司的很多幕后工作人员也都努力把这本书做得至臻至善。所有未被发现而遗留在书中的缺陷、瑕疵或隐藏的错误,都只能归咎于作者。
每位作者都是站在前人肩上的。选出的参考书目只列出了我所参考的众多书籍中的一小部分。我还要感谢纽约公共图书馆,特别是科学、工业和商业图书馆的工作人员。为参考原始论文,我多次使用JSTOR,同时我发现维基百科、谷歌书籍搜索和WolframMathWorld也都很有用。
* * *
登录网站可以找到与本书相关的信息和资源。
查里斯?佩措尔德
纽约州纽约市和罗斯科
2008年5月
第1章
这个墓穴埋葬着丢番图
在很多个世纪以前的古亚历山大,一位老人埋葬了自己的儿子。这位心碎的老人为了转移自己的悲伤,开始整理大量的代数问题,并将这些问题及其解法汇编成书,取名《算术》(Arithmetica)。这些就是人们对亚历山大的丢番图几乎所有的了解,而这些了解绝大多数来自其好友在他去世后不久所写的一个谜题:
行人啊,请稍驻足,这里埋葬着丢番图。上帝赋予他一生的六分之一,享受童年的幸福;再过十二分之一,两颊长胡;又过了七分之一,燃起结婚的蜡烛。爱子的降生盼了五年之久,可怜那迟来的儿郞啊,只活到父亲岁数的一半,便进入冰冷的坟墓。悲伤只有通过数学来消除,四年后,他自己也走完了人生旅途。
这篇墓志铭对丢番图儿子的死亡说得不是很清楚。其中提到,他只活到了“父亲岁数的一半”,但这是指儿子死时父亲年龄的一半,还是指他父亲寿命的一半?不论怎样理解,都可以解答。但如果是后一种理解“只活到他父亲寿命的一半”,我们得出的岁数会是一个漂亮而又简洁的整数。
我们假设丢番图的寿命为x。丢番图生命中每个时期的年数要么是他寿命的几分之几(例如,x除以6是他的童年时光),要么是一个整数(例如,从他结婚到儿子出生有5年的时光)。丢番图生命中所有时期的年份之和为x,所以这个谜题可以用下面这个简单的代数式来表示:
所有分母的最小公倍数是84,将等号两边同时乘以84得到:
分别整理带有x的项和常数项,得到:
即:
方程的解是:
所以,丢番图的童年时光是14年,7年后他长大成人。又过了12年,在33岁的时候,他结了婚,5年后有了儿子。儿子死于42岁,丢番图当时80岁,4年后丢番图去世。
事实上,有一个更快捷的方法来解这个谜题:如果深入探索出题人的内心想法,你就会发现他并不想用分数来增加麻烦。丢番图寿命的“十二分之一”和“七分之一”必然是整数,所以他的寿命年数一定可以被7和12整除(自然也会被2和6整除)。只需将12乘以7就能得到84。这个看起来也像是合适的高龄岁数,所以它极有可能是对的。
丢番图去世时也许是84岁,但是对于历史来说,更重要的问题是找到具体时间。人们曾经猜测,丢番图的时代是在公元前150年到公元280年之间,那是一个令人向往的时期。这样的话,丢番图就活在欧几里得(活跃在约公元前295年)和埃拉托色尼(约公元前276—前195年)等早期亚历山大数学家们之后,这也说明他与亚历山大的海伦(活跃在公元62年)处于同一时期。海伦的著作涉及了力学、气体力学以及自动控制,他似乎还发明了一种原始蒸汽机。丢番图也许还认识那位凭著作《天文学大成》而被世人铭记的亚历山大天文学家托勒密(约公元100—170)。那本书包含了世界上第一个三角函数表,并且建立了直到十六七世纪哥白尼革命时才被推翻的描述天体运动的数学。
不幸的是,丢番图也许从未见过这些亚历山大的数学家和科学家们。过去一百多年来,古典学者们之间的共识是,丢番图大约活跃在公元250年,他现存的主要著作《算术》很可能也追溯到那个时期。这样的话,丢番图的出生时间大概是在托勒密去世时间的前后。曾经编辑了权威的希腊版《算术》(1893~1895年出版)的保罗?塔纳里注意到,这本书写着献给“尊敬的狄奥尼修”。虽然这是一个常用名,但塔纳里猜测,这个狄奥尼修就是那个曾在公元232~247年担任亚历山大传道学校校长,以及之后在公元248~265年担任亚历山大主教的狄奥尼修。因此,丢番图可能是个基督徒。如果是这样,下面这一事实就有点讽刺意味了:对《算术》的一个早期但遗失了的评注是由塞翁的女儿希帕蒂亚(约公元370—415)所写的,她是亚历山大最后一位伟大的数学家,后来被一帮反对她“异教徒”哲学思想的基督教暴徒杀害。
古希腊数学家在几何学和天文学领域一直是最强的。丢番图在种族上是希腊人,但与众不同的是,他用“数字的科学”,即我们所知的代数,来缓解儿子去世的悲痛。他似乎是代数上很多创新的源头,包括他在问题中使用的符号和缩写,这标志着数学问题从文字描述到现代代数表示法的转变。
《算术》的6本书(原来是13本)中罗列的问题一道比一道难,大部分都难于求解丢番图年龄的问题。丢番图的问题常常含有多个未知量。他的一些问题是不定的,也就是说这些问题通常有多个解。《算术》中只有一个问题不是抽象的,也就是说其他问题都是绝对数字化、不指代现实事物的。
丢番图提及的另一个抽象元素是幂。那个时候,数学家们已经熟悉了平方和立方。平方用来计算一个平面图形的面积,立方用来计算一个实体的体积。但是丢番图将高次方引入了他的问题:4次方(他称为“平方?平方”)、5次方(他称为“平方?立方”)和6次方(他称为“立方?立方”)。丢番图知道,这些幂与现实没有关联性,并且他也不在乎这种数学的实用性。这是纯粹的娱乐性数学,仅仅用来强化思维,没有别的目的。
这里列举第4本书中的第一个问题。 丢番图先是概括地阐述了:
将一个已知数拆分成为两个立方体的体积,并且这两个立方体的边之和等于另一个已知数。
接着给出了例子:
已知数为370,边长之和是10。
将这个问题用图表示后可见,他需要处理两个不同边长的立方体。现代代数学家可以将这两个立方体的边标记为x和y:
这两条边加起来为10。这两个立方体的体积之和( 和 )是370。我们现在写下两个等式:
由第一个等式得出,y等于 ,将其代入第二个等式:
展开 ,我们希望立方项最终可以消失:
很幸运,立方项消失了,经过整理后可以得到:
等式左边的3个数有一个公因数,所以可以同时除以30:
现在,这个问题基本解决了。你有两个选择。如果记得二次方程的求根公式就可以直接使用它;或者,如果你曾经练习过求解类似的方程,就可以一直盯着它思索,直到它自己神奇地分解成
因此两个边的长度分别为7和3。的确,这两个边加起来等于10,它们的立方(343和27)和等于370。
丢番图并不像你我这样解决这个问题,他确实不会。尽管丢番图的问题经常涉及多个未知数,但是他的记号只允许他表达一个未知数。他用了一个巧妙的方法弥补了这一点。他没有将两个立方体的边长标记为x和y,而是标记为(5+x)和。这两个边长可以用一个未知数x表示,并且加起来确实等于10。接下来,他就可以将这两条边进行立方运算,相加后等于370:
这个式子看起来比我们的糟,但是如果展开这些立方,一些项便会迅速消去,只留下:
合并同类项,方程两边再同除以30,进一步化简为:
即x=2。因为两条边是(5+x)和 ,所以这两条边是7和3。
丢番图用来解决这个问题的方法比现在学生用的方法轻松,他神奇并正确地将两个边长用一个未知数表示。这个方法会适用于下一个问题吗?也许可以,也许不可以。建立解决代数方程的通用方法确实不是丢番图所要考虑的。正如一位数学家论述的:“每一个问题都需要一个十分具体的方法,这个方法通常连最类似的问题都不适用。这使得现代数学家即使在研究了100道丢番图问题的解答后,还是很难找到解决第101道题的方法。”
当然,丢番图在展示这个立方之和为370、边长之和为10的问题时,显然并不是随意选取某些数字,他知道这些假设条件将会导出一个整数解。实际上,丢番图方程就是指只允许整数解的代数方程。丢番图方程可以有很多未知量,这些未知量可以带有整数幂,但是它的解(如果有)总是整数。尽管丢番图经常使用减法来命题,但是他的解从不涉及负数。“对于一个没有用任何正整数相减就得到的负整数本身,丢番图显然没有任何概念。”任何一道问题也不会包含有0的解,古希腊人不将0考虑在内。
现代读者们,特别是那些已经默认了丢番图问题只有整数解的人,在遇到丢番图问题中的有理数时也许会有点吃惊。有理数之所以这样命名,不是因为它们在某种程度上符合逻辑,而是因为它们可以表示为两个整数的比。例如:
就是一个有理数。
在《算术》中,有理数只出现在涉及现实物体的问题中,特别是那些一直被大家津津乐道的问题:饮料和德拉克马(古希腊货币)。虽然从这个问题的描述里看不出来,但是有理数在这个解中是必需的:
一个人买了若干份酒,有些单价是8德拉克马,有些是5德拉克马。他为这些酒支付的德拉克马是个平方数,如果这个数再加上60,结果还是一个平方数,该平方数的根是这些酒的份数。求两类酒他各买了多少。
这里的“平方数”是指一个数与它自身的积。例如,25是一个平方数,因为它等于5乘以5。
在进行了一整页的计算后, 它揭示了单价5德拉马克的数量是一个有理数:
单价8德拉马克的数量也是一个有理数:
我们检验一下这个结果。(检验这个结果要比推导它容易得多。)如果你用5德拉马克乘以79/12,然后加上8德拉马克乘以59/12的积,就会发现这个人总共支付了德拉马克。丢番图说这个人支付了“平方数的钱”。支付的钱数必须是某个数的平方。令人好奇的是,丢番图认为是个平方数,因为它可以表示为:
分母和分子都是平方数:分别是17和2的平方。因此,是(即)的平方。丢番图进一步说:“如果这个数再加上60,结果还是一个平方数,该平方数的根是整个酒的数量。”这里的“整个”不是指整数。丢番图(或者说是《算术》英文版的译者托马斯?哈斯爵士)的意思是指度量的总份数。60加是,也就是有理数:
丢番图再一次认为这个数是平方数,因为它的分子和分母都是平方数:分别是23和2的平方。因此,总的度量数是23/2(即),这同样可以通过将79/12和59/12相加得到。
《算术》中最著名的问题也许要算第2本书的第8个问题:将给出的平方数分解为两个平方数的和,也就是说,求x、y、z,使它们满足:
这个问题的几何解释是毕达哥拉斯定理所描述的直角三角形三条边之间的关系。
这个问题有许多整数解,例如x、y、z分别等于3、4、5(两个平方数9和16的和等于25)。这个简单的结果显然不是丢番图所希望的。他设定了一个“给出的平方数”(也就是)等于16,于是其他两边分别等于144/25和256/25。对于丢番图来说,这些数当然都是平方数,其中第一个数是12/5的平方,第二个数是16/5的平方,并且它们的和是4的平方:
丢番图允许有理数解并不重要,因为这个解等价于一个整数解。简单地将等式两边同乘以 (即25),即可得到:
即144加256等于400。事实上,这是同一组解,它们的不同仅在于度量边的方式不同。丢番图的问题阐述中,斜边是4。这可能是4英尺。现在用一个单位长度不同的尺子去测量,比如单位长度等于五分之一英尺。用这个尺子测量,这条斜边就等于20,其他两条边分别为12和16。
整数是在人们开始计数之时出现的,有理数也许是在人们开始测量时出现的。如果一根胡萝卜的长度等于3根手指的宽度,另一根胡萝卜的长度等于4根手指的宽度,这时第一根胡萝卜的长度就是第二根的。
有理数有时也称为可通约数字,因为长度被表示成有理数的两个物体总可以重新度量为整数长度,你只需要将新的度量单位变得足够地小。
丢番图的《算术》是用希腊语写的,至少有部分文稿被翻译成了阿拉伯文。当它开始在欧洲数学界产生影响的时候,在1575年首次被翻译成拉丁语,之后在1621年有了更好的版本。费马(1601—1665)曾拥有一本1621年的拉丁语版《算术》,并在其空白处写满了笔记。1670年,费马的儿子公布了这些笔记以及拉丁文版的《算术》。在这道问题旁有这样一段笔记,费马写道:
另一方面,将一个立方数分解为2个立方数,或者将一个4次方数分解为两个4次方数,亦或将除平方之外的任何乘方分解为两个有同幂的乘方,这些都是不可能的。对此,我已经发现了一个非常漂亮的证明,但是这儿的空白之处不够写下它。
费马宣称,例如:
是没有整数解的,并且幂为4、5、6及之后的类似方程都没有解。这并不明显。等式:
非常接近于
而且它有许多整数解,例如x、y、z分别等于6、8、9。等式
同样相似,也有许多整数解,例如9、10、12。为什么这两个相似的等式有解,但是
没解呢?
丢番图在《算术》中介绍的问题都有解,但是许多丢番图方程,例如费马描述的方程,看起来并没有解。对于数学家来说,确定一个丢番图方程是否有整数解比求解特定的丢番图方程更加有趣。
费马没有写出的证明就是大家熟知的费马最后定理(有时也称费马大定理)。多年来,人们普遍相信,不管费马当时想到了怎样的证明,这个证明也许都是错的。英国数学家安德鲁?怀尔斯(1953— )从10岁开始就对这个问题产生了兴趣,到了1995年,费马最后定理才最终被他证明。(人们很早就证明了,对于一些特殊情况,例如指数为3时,方程是无解的。)
很显然,证明某些丢番图方程没有解要比找到一个解(如果有)更具挑战性。如果你知道某个特定的丢番图方程存在解,可以简单地验证所有的可能性。由于允许的解只能是整数,因而你可以首先尝试1,然后是2、3及之后的数。如果你不想做这些繁重的工作,可以写一个计算机程序测试所有的可能性,程序迟早会帮你找到答案的。
但是,如果并不知道是否存在解,那么这个用计算机蛮力解决的方案就不合适了。你可以不断尝试,但怎样知道何时该放弃呢?你怎么知道下一步将要测试的一组数字不是所要搜寻的那组数字呢?
麻烦来自这些可恶的数字:它们有无穷多个。
评论
还没有评论。