《The End of Error: Unum Computing》

发布时间:2017-10-16浏览次数:98

  者:John Leroy Gustafson   

出版商:Chapman and Hall/CRC; 1 (20151)

索书号:O241.1 /G982e /E

书评人:宋力强, 复旦大学数学科学学院

 

20163月,AlphaGo与围棋世界冠军、职业九段棋手李世石进行围棋人机大战,以41的总比分获胜;20175,它与排名世界第一的世界围棋冠军柯洁对战,以30的总比分获胜。很多人会担心,在不久的将来,计算机可能会控制人类。西安电子科技大学计算机学院的苗启光教授说,这种情况不太可能,在数字计算、语言翻译,图像目标识别等部分领域,计算机的处理能力非常厉害,也可以说超过了人类,这些方面都正在为人类服务。但它不具备人类的思维能力,最重要的是,计算机是程序控制的,而所有的程序,都是人类进行开发的。你想学习控制计算机吗?那就从这本书开始吧!

 

 

听说越是学识渊博的人越是平易近人,小编一直都信,看作者笑得这么灿烂,肯定是一位和蔼可亲的人。John Leroy Gustafson博士出生于1955119日,是美国计算机科学家和商人。他的主要研究方向是高性能计算HPC,并在此方向做出了突出的贡献,如Gustafson定律的发明,引进第一个商业计算机集群,用QUIPS测量QUIPS是一种基于解决问题的进程来衡量性能的测量方式),领导重建Atanasoff–Berry计算机,发明unum(universal number)数字格式计算系统,他在提高计算机运行速度上有突出的贡献并获得很多奖项。目前他在ceranovo公司做首席技术官。从20129月到20136月,他在美国AMD公司做首席图形产品架构师和高级研究员。在此之前,他曾担任Intel Labs-SC的主管,大规模并行技术公司的首席执行和ClearSpeed 公司的首席技术官。Gustafson同时拥有加州理工大学和爱荷华州立大学的应用数学学位。如果读者想要获得更多关于作者的信息,可以访问

https://en.wikipedia.org/wiki/John_Gustafson_(scientist)

相信很多人对浮点数这个概念并不陌生,浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。接触过浮点运算的人都知道,浮点运算具有一定的缺陷,如何正确处理浮点运算在数值分析课程中占了很大的比例。虽然有很多方法被提出来作为浮点运算的替换,但是迄今为止,并没有一个可以取代浮点运算的方法。因为浮点运算的思想在现代处理器和标准数值算法的结构中已经根深蒂固了。对于浮点运算的发明者,小编只想说:“让我赞美你!”

然而,科技发展日新月异,浮点运算也不是不可替代的。Gustafson博士致力于引入unums作为浮点数的替代。他声称这样可以避免浮点算法的很多缺陷,而且unums可以和浮点数几乎兼容。本书的大部分内容都在讲述如何使用unums更好地解决线性和非线性的问题。本书主要分为三个部分,作者首先解释了什么是unums以及它们的使用环境,接着作者阐述了怎样对实际问题建模才能发挥unums的优势,最后作者向我们展示了怎样在数学算法中运用unums

本书第一部分的行文风格小编非常喜欢,在这一部分,作者详细地阐述了浮点运算误差的来源和unums是怎样避免这种来源出现的。我们先来介绍一下浮点数,IEEE 754标准是IEEE二进位浮点数算术标准的标准编号,等同于国际标准ISO/IEC/IEEE 60559。这个标准定义了表示浮点数的格式(包括负零-0)与反常值,一些特殊数值(无穷(Inf)与非数值(NaN)),以及这些数值的浮点数运算子;它也指明了四种数值修约规则和五种例外状况(包括例外发生的时机与处理方式)。是不是听起来很强大?但是unums是一种比IEEE754还强大的表示形式(当然这是作者自己说的)。利用unums,我们可以构造类似于区间运算的封闭运算,这种封闭算法不但具有很多和区间运算一样的性质,还有很多额外的好处,比如可以用较少的存储空间来表示域。在这个课题上Gustafson博士提出了区间算法的一些弊端,比如不能表示开集;不能很好地解决呈现浮点病态的一些困难问题。除了这些比较之外,作者还从用户的角度定义unums,并且在附录中给出了如何在数学软件中应用。俗话说“没有比较就没有伤害”,俗话还说“孩子看着自己的好”,Gustafson博士的比较到底是不是公平的,还需要读者看过书后自己评判!

第二部分介绍了一种基于uboxesunums的笛卡尔积)的多功能、高度并行的算法,这种算法主要用来解决线性和非线性的问题,它从源头系统地重构解空间,同时利用了unums的变量精度。这部分涉及到的物理问题都是经过详细阐述的,从建模到求解都有涉及。但是这部分出现的算法却不是陌生的,它们类似于镶嵌算法,其中的搜索空间也是用区间算法。Unums的应用使得算法更加有效,因为可以提高边界的表示精度。总的来说,这一部分致力于用新的方法解决旧的问题,便于读者理解掌握新的知识,同时用新的眼光看待旧的问题。

本书的第三部分是本书的附录,主要讲述了如何在数学软件中使用unums以及它们的运算。这部分详细阐述了书中用到的符号说明,同时给出了第一部分和第二部分涉及到的算法。想要设计以nums为基础的算法的读者会收获颇丰。

本书最大的特点是适用人群广,它可供任何使用计算机进行技术计算的人使用,书中大部分内容只要求读者掌握高中数学。作者通过大量的类比使得数学概念和数学知识变得有趣。他清楚地定义了书中的专业术语,使得专业术语听起来不再那么遥不可及。此外,本书除了在正文部分讲解基础知识外,还在附录部分提供了详细地,可在计算机上运行的代码供有兴趣的读者学习和拓展,网页上也有相关的算法和代码。普通读者可以只关注正文部分,计算机和数学专业的读者可以选择性地阅读附录内容扩展视野。最重要的是,本书是彩色印刷的,公式,代码以及习题都用彩色框形式呈现。小编非常想念彩色的教科书,看着大学黑白教材总有一种很压抑的感觉,光看本书的彩色扉页,小编心情好的要飞起!

    当然最吸引小编还是本书的开始部分,作者写了一段文字专门介绍如何阅读本书,相当于给教材编写了使用说明书。小编一开始就讲述了浮点运算的地位,Gustafson博士在本书中提出了一套用于试图代替浮点数的新的数字表示形式----unums。这是一个全新的视野,至今并没有应用于科学计算。所以看到本书的读者是幸运的,一不小心就站在了科技的最前端。小编决定要get这个新技能,说不定以后能派上大用场!

 

 


 

 

本书的章节目录
前言

致谢

怎样阅读本书

第一部分 一种新的数字表示形式:Unum

第一章 概述

第二章 建立unum格式

第三章 计算机算法自身的缺陷

第四章 完备的unum形式

第五章 隐藏的暂存器和三级分层

第六章 每一比特的信息

第七章 固定大小unum存储

第八章 比较运算

第九章 加法、减法和无偏舍入

第十章 乘法和除法

第十一章

第十二章 其他重要的基本运算

第十三章 混合运算

第十四章 试运行:unums在计算中面临的挑战

第一部分摘要

第二部分 新的求解器 Ubox

第十五章 其他类型的误差

第十六章 避免区间算法的困难

第十七章 求解一个问题的含义

第十八章 允许猜测

第十九章 摆的正确停止

第二十章 two-body问题

第二十一章 被认为不好的运算:离散物理

词汇表

附录A unum函数的词汇表

附录B Ubox的词汇表

附录C 第一部分的算法

附录D 第二部分的算法

延伸阅读