0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简谈汉斯•彼得•卢恩与哈希算法的诞生

电子工程师 来源:科技纵览 作者:Hallam Stevens 2021-05-26 11:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

当时是1958年11月,在一个为期6天的科学信息国际大会上,发明家汉斯·彼得·卢恩(Hans Peter Luhn)展示了其研制的一系列电气机械设备。这些设备看起来普普通通,与当时的其他计算机设备相似,四四方方,相当实用的样子,专门用于抓取和分类成堆的穿孔卡片,并把它们放入卡槽或卡箱中。

与其他计算机不同的是,卢恩的设备并非用来处理数字或计算,而是用来处理文字和语句的。其中一台设备尤其引人注目,它使用了一种被卢恩称为KWIC(KeyWord in Context的首字母缩写,为“文中关键字”之意)的算法。输入一大段文字(通常是500到5000个单词的文章)后,KWIC系统可以自动地快速创建一套索引

当时,即便对最有经验的专家来说,编制索引、分类和组织书面信息也仍然是个艰苦的过程。而且很多领域的信息量增长飞快,无人能及。人们迫切需要一种更好的摘要和汇总方法。在华盛顿特区的图书管理员和信息科学家们原本沉静的集会上,KWIC系统的这场演示无异于是件惊天动地的大事,全美所有的相关报纸都在报道卢恩的这一惊人发明。

到20世纪60年代初期,KWIC已经成为数百种计算索引系统的设计核心,包括化学文摘社(ChemicalAbstracts Service)、生物学文摘(Biological Abstracts)和美国科学信息研究所(Institute forScientific Information)等使用的系统。有一位专家曾将KWIC的伟大问世等同于“化学领域试管的发明”。

卢恩,这位IBM的高级工程师,还将KWIC集成到企业界的“智能系统”中,旨在识别并将相关信息传递给大型组织内特定的个人。KWIC基本上就相当于那个时代的搜索引擎,让用户能够迅速找到所需的信息。

现在,计算机可以解读信息,随时提供餐馆评价、体育比分和股票价格,而我们对此已经习以为常。然而,在卢恩那个年代,计算机仍是很原始的。他试图操纵文本的做法拓宽了人们对计算机及其能力的思路,而他的这种想法,时至今日仍是网上购物、自动翻译以及遗传研究等现代算法的基石。

当然,在20世纪50年代,上述许多应用还是无法想象的。在这里,我将探讨是什么驱使卢恩为这些尚不存在的问题找到了答案——一种被称为哈希函数的解决方案。

第二次世界大战后的那几年,也正是电子计算机成形的那几年。战争期间建造的各种计算机,为弹道学、原子武器和密码学进行了必不可少的计算。冷战的紧张局势确保了计算机发展所需的持续资金,其结果是计算机变得更快速,更准确,更强大。但其主要用途——数字处理和存储——却变化甚微。

在这个新生的计算机世界里,卢恩展露出了锋芒。他一生穿着考究,在1941年初抵IBM时,相较计算机行业而言,他可能对纺织行业更熟悉一些。他的许多发明似乎都属于更早的前数字时代,那个有着机械计算器和计算尺的年代。

20世纪50年代,数字计算机逐渐取代了他的电气机械设备,然而他的思想,虽然由于用途变化历经了变更和重组,现在却已渗透到了我们能想到的几乎所有软件之中。

卢恩1896年出生于德国巴门,他的父亲约翰(Johann)是一位印刷大师。他显然是一位对孩子们的杰作非常宽容的父亲,有一次,卢恩和他的弟弟在家中的花园里建了一条微型铁路,其中长达70米的轨道是熔掉了父亲印刷机中的铅后制成的。

高中毕业后,卢恩前往瑞士学习家族生意。但是第一次世界大战以及在德军中度过的一段岁月,中断了他的印刷业生涯,战后他开始从事纺织品贸易。卢恩于1924年来到美国,是为了寻找适合开纺织厂的厂址。

在纺织业,卢恩就展现出了发明天赋。1927年,他发明了一种尺子形状的装置,可用于测量布料织数。时至今日,这种叫作纱条均匀度光学测定仪(Lunometer)的测定尺仍在由卢恩创立的工程咨询公司H.P.Luhn &Associates进行出售。

卢恩学什么都很快,涉猎了多个领域。他是一名专业的登山运动员,一名厨艺精湛的美食家,也是一名风景画大师。在20世纪30年代,他的众多发明专利包括折叠式雨衣、女士长筒袜塑形装置、一款游戏桌和“鸡尾酒神谕”,后者是一种鸡尾酒调制指南,能告诉用户如何用手头上的材料调制各种鸡尾酒。

但是卢恩真正的兴趣在于信息(特别是文本)的存储、通信和检索,这也是他加入IBM的主要原因。卢恩被授予了“发明家”的称号,成果颇丰,最终为IBM提供了70项专利。虽然他可以随心所欲地选择攻克任何他喜欢的问题,但他的许多发明都集中在使用包括电子计算机在内的各种设备来处理信息。

比如,在1946年和1947年,卢恩曾致力于创建一种机器可读的打字机打印文件。设备上有一条金属条带可插入打字机,能够将有磁性的图案印在纸上,然后可用机器读取这些磁性图案。

不久之后,他开始与麻省理工学院的两位化学家马尔科姆·戴森(MalcolmDyson)和詹姆斯·佩里(James Perry)一起工作,研制一种可以使用穿孔卡片自动搜索化学化合物的机器。每张穿孔卡片上都编码有一种特定化合物的信息。

用户在机器中插入一张“提问卡片”,上面列出一组搜索条件,机器将对照这组条件对所有的化合物卡片进行比对和分类。卢恩的这台扫描机器是高度专业化的,但他仍然在寻找更通用的方法来自动处理信息。

人们对信息非常痴情。战后的几年间,科学和工程论文发表数量激增。许多专家担心“信息超载”会压垮研究人员和商务人员。范内瓦·布什是美国庞大的战时官方科学机构的领袖,也是美国国家科学基金会的创建人之一,他也曾提出过一种写字台大小的电子机械设备Memex,用于存储和关联信息。

布什的想法未曾实现,但卢恩的想法却走进了现实。1954年1月6日,他申请了一项美国专利:“用于验证号码的计算机”。这种手持机械装置旨在解决一项简单的实际问题。当时,各种各样的识别号码(如信用卡号码和社会保险号码)开始在人们的公共和私人生活中发挥重要作用。

但这些数字难以记忆,而且有可能被错误地转录或被人故意伪造。所以迫切需要一种能够快速验证识别号码是否有效的手段。

卢恩的掌上电脑实现了这一功能,这台电脑使用了他开发的一种校验算法。对一串有10位数字的号码,电脑将执行以下操作步骤:

将每隔一位的数字翻倍

如果结果为10及以上的数字,则将该结果的各位数字加起来得到一位数字(例如“16”将变成1+ 6 = 7)

将新号码的全部10个数字相加

乘以9

取这个结果的最后一个数字

这套方法生成了一个只有一位数字的“检查”数。在卢恩最初的表述中,0表示原始数字是有效的。在后来的版本中,检查数只作为最后一位数字附加到原始号码上,以便可以轻松验证最后一位数字是否与卢恩机器生成的检查数相符。这套计算序列现在被称为模数10算法,至今仍被广泛使用。分配给蜂窝电话的国际移动设备身份(IMEI)号码就是以这种算法进行验证的。

更重要的是,卢恩设备的这些原理和部件成为数字时代最重要的算法之一——哈希算法的基础。这种被广泛使用的算法,为我们提供了一种组织信息的强大手段,很容易被计算机找到。就像烹饪切碎的牛肉和土豆一样,哈希算法用各种方法切割和混合数据,这种数据混合如果能够巧妙部署,将可以加速多种类型的计算机操作。

1953年初,卢恩曾撰写一份IBM的内部备忘录,在文中他建议把信息放入“桶”内以加快搜索速度。假设你想要在一个数据库中查找一个电话号码,并找出这个电话号码的归属者,例如给定一个10位的数字号码314-159-2652,计算机可以简单地在列表中一次搜索一个数字,直到找到相关条目。然而,如果在一个有数百万条数据的数据库中进行搜索,可能就需要好一阵子了。

卢恩的想法是将每个条目分配给一个有编号的数据桶,如下所示:将这串电话号码的数字成对地进行分组(此例则为:31,41,59,26,52)。然后将每对数字相加(得到4,5,14,8,7),再由每个个位数结果生成一个新的数字;

在这个例子里,有双位数的情况下,仅取双位数的个位数字(即得到45487)。然后原始电话号码和与其对应的名称或地址就会被放入标记为45487的数据桶里。

由电话号码查找条目,需要先使用卢恩的方法来快速计算数据桶编号,然后从该数据桶中检索出信息。即使每个桶包含多个条目,依次搜索单个桶也仍比搜索整个列表快得多。

几十年来,计算机科学家和程序员们对卢恩的方法进行了改进,并推出了新的用法。但基本的思想仍然是一致的:使用数学方法将数据组织成易于搜索的桶。由于组织和搜索数据是计算中普遍存在的问题,因此哈希算法对密码学、图形学、电信和生物学都是至关重要的。每当你通过网络发送一个信用卡号码或使用文字处理器里的字典功能时,哈希函数都在发挥作用。

卢恩的计算思想远远超出了简单的查找。他认为计算机可以是一种复杂的文本操纵器,能够用于阅读和理解书面语言,然后建立索引并组织信息,以解决科学和商业中的实际问题。

到1958年,他的化学卡片分类器已经演变成了通用卡片扫描仪和9900专业索引分析仪,他曾在华盛顿特区的会议上对它们进行展示。这些电子机械设备可以根据用户的搜索条件,对打孔卡片进行搜索和分类。

然而,卢恩真正引起轰动的发明是用于构建用词索引的计算方法KWIC。词语索引是按字母顺序排列的书或文稿中用到的关键词列表,它就像是一个索引,但只列出文本中出现的实词,而不是概念(并且排除了诸如a和the这样无关紧要的词汇)。

长期以来,词语索引一直被应用于神学和语言学领域。举例来说,《圣经》的词语索引就会显示使用了“love”(爱)这个词的所有实例,包括各种引用、章节和诗句等。在全文自动检索出现之前,构建词语索引是一项艰巨的工作,而且通常只会对《圣经》或莎士比亚文集这样的重要作品进行。

卢恩的数据桶方案是针对数字进行的,而他的KWIC词语索引系统的目标则是文本。两者都使大量的信息能够被容易地搜索到。举一个非常简单的例子,假设你想为以下4本书的英文名称创建一

个词语索引:《飘》(Gone with the Wind),《战争与和平》(War and Peace),《风之影》(The Shadow of the Wind),《战争之影》(Shadows of War)。

这些书名的KWIC一致性列表会生成为:

Gone With the Wind

War and Peace

The Shadow of the Wind

Shadows of War

War and Peace

Shadows of War

Gone With the Wind

The Shadow of the Wind

KWIC算法按照所有可能的顺序重新排列标题中的单词,然后再按字母顺序将每种可能列出。其结果是一个完整的关键词列表(包括除介词、连词和冠词以外的所有词汇)。

科学界迅速采用了卢恩的KWIC系统。卢恩知道这一系统对商业用户也非常有用。1958年,他为《IBM研究与发展杂志》撰写了一篇题为《一种商业智能系统》的文章,其中他提出了一种可以自动生成文章摘要并从摘要中提取“行动要点”,然后将结果分发给组织内相应人员的系统。

卢恩认为解决信息超载问题意味着要设计一种快速进行信息分类的方法,让人们免受无关材料的负担。

《纽约时报》在卢恩1964年的讣告中这样描述了他的自动摘要系统:

“卢恩先生在一次演示中,将《科学美国人》杂志中一篇有2326个单词的关于神经系统荷尔蒙的文章,以磁带的形式插入到一台IBM计算机中,并按下一个按钮。3分钟后,计算机的自动打字机打出了4个句子,这4个句子给出了文章的要点,也就是说,机器已经自动生成了摘要。”

卢恩的自动摘要程序首先会计算一篇文章中所有单词出现的频率,在舍去非常常见的单词之后,系统会自动锁定高频词汇集中出现的一些句子。这样的句子会被系统认定为文章整体内容的代表,因此会被放入摘要中。

这是一种纯粹的统计方法,而非试图去理解文章中的词汇或它们之间的关系。但是,就像KWIC系统展示的这样,计算机能够富有成效地将文本组织成人们更易理解的形式。

卢恩1961年从IBM退休,3年后因白血病离开人世,未能目睹互联网和网页带来的深刻变革。除了在一些信息专家、纺织品制造商和历史学家的有限圈子外,他的名字早已被人遗忘。但是,卢恩的思想是永恒的。今天,哈希算法在管理和保护我们的数字生活方面扮演着重要的角色。

当你在网站上输入密码时,服务器可能会存储密码的哈希版本。当你使用安全连接访问网络(网址以“https”开头)或使比特币买东西时,哈希算法也发挥着作用。对于Dropbox和谷歌Drive等云服务来说,哈希算法使得存储和共享文件的效率更高。在遗传学和其他数据密集型研究中,哈希算法则大大减少了筛选大量数据所需的计算时间。

哈希算法已经将计算机变成可以用字母和单词进行推理的文本工具。谷歌翻译、谷歌N-gram、谷歌关键字广告和谷歌搜索都致力于以某种方式确定文本的含义。网络上的信息爆炸已经使自动阅读和理解对商业、科学、和每个人来说都至关重要。哈希算法的发展与文本相联系,体现了卢恩对文字、句子、关键词、摘要、索引和文摘的思考。

这是卢恩留给我们的遗产:他向我们展示了电脑和计算不仅仅是数学、统计和逻辑的天下,而且也是语言、语言学和文学的疆土。在他那个时代,这是一种关于机器的革命性的想法。

技术史学家迈克尔·马奥尼(MichaelMahoney)称计算机是 “一台千变万化的机器”:它们一机千面,静待打造,用途多样。即便是现在,我们也往往把计算机狭义地看作是一个每秒能够执行多项计算和操作的大型数字计算器。汉斯·彼得·卢恩对计算机的看法则更有远见。在展望计算机的多样性时,他帮助我们开拓了诸多前景光明的全新探索领域。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机械
    +关注

    关注

    8

    文章

    1724

    浏览量

    43189
  • 电气
    +关注

    关注

    18

    文章

    1247

    浏览量

    56051
  • 计算机
    +关注

    关注

    19

    文章

    7764

    浏览量

    92688

原文标题:汉斯•彼得•卢恩与哈希算法的诞生

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    高频电路设计的“隐形卫士”:吸波材料的选型与应用

    高频电路设计的“隐形卫士”:吸波材料的选型与应用
    的头像 发表于 12-03 16:53 99次阅读
    高频电路设计的“隐形卫士”:<b class='flag-5'>谈</b>吸波材料的选型与应用

    Molex OTS零哈希电缆组件技术解析与应用指南

    Molex现成(OTS)零哈希电缆组件是标准分立式电线电缆组件,设计用于应对电子设备日益缩小的挑战。这些电缆组件提供节省空间的薄型解决方案,具有创新的双点接触特性,有2、4、6和8电路尺寸可供选择
    的头像 发表于 11-17 16:44 465次阅读

    诺塔C语言的递归操作

    诺塔:请输入盘子数,输出盘子移动的操作步骤。 #include void move(char from, char to) { printf(\"%c to %cn\"
    发表于 11-17 07:59

    润和软件荣获第四届纪念彼得·德鲁克中国管理奖

    11月11日,2025纪念彼得·德鲁克中国管理论坛暨第12届江苏企业家高层论坛在南京隆重举行。江苏润和软件股份有限公司(以下简称“润和软件”)凭借在企业管理与实践中的卓越表现,荣获第四届纪念彼得·德鲁克中国管理奖。江苏润和科技投资集团有限公司总裁束岚代表公司上台领奖。
    的头像 发表于 11-13 16:49 1098次阅读

    MD5信息摘要算法实现一(基于蜂鸟E203协处理器)

    命名为“Q”,则message_var=Q[(32*i):(32*i+31)]。 4、哈希运算(Hash Operation) 此部分为MD5算法的核心。MD5有4组主循环,每组的主循环需要进行16轮
    发表于 10-30 07:18

    威科技与重庆太宝签署战略投资协议

    近日,威科技集团与重庆太宝科技有限公司签署战略投资协议,威传感生态圈迎来新成员——薄膜铂电阻传感器。
    的头像 发表于 10-28 14:38 524次阅读

    从并购到IPO,国产传感器龙头威科技一天内连放大招

      日前,国产气体传感器龙头企业威科技,发布公告称,拟以股份受让及增资的方式,合计耗资超4597万元取得重庆太宝科技有限公司(以下简称“重庆太宝”)控股权。同日,公司还宣布,正筹划境外发行H股
    的头像 发表于 10-21 19:02 1606次阅读
    从并购到IPO,国产传感器龙头<b class='flag-5'>汉</b>威科技一天内连放大招

    哈希极化到零拥塞:主动路径规划在RoCE网络中的负载均衡实践

    智算集群对网络性能,特别是高吞吐、低延迟和无损特性有着严苛要求,RoCE因此被广泛应用。然而,在主流Clos组网架构下,传统的ECMP路由机制存在天然的局限性,容易引发哈希极化问题,成为制约
    的头像 发表于 07-21 17:27 1671次阅读
    从<b class='flag-5'>哈希</b>极化到零拥塞:主动路径规划在RoCE网络中的负载均衡实践

    析Modbus与MQTT的区别

    Modbus和MQTT是工业领域中两种不同的通信协议,在设计目标、应用场景、通信模式等方面存在显著差异,以下从多个维度析两者的区别: 1.设计目标与起源 Modbus 诞生于1979年,由施耐德
    的头像 发表于 07-10 14:10 697次阅读

    威科技旗下柔性触觉传感器公司“苏州能达”再获数千万元融资

    昨日(6月19日),苏州能达电子科技有限公司(下文简称“苏州能达”),官宣完成数千万元A轮融资,本轮融资由苏州苏创空地网联投资基金领投,苏州未来产业天使基金、郑州威传感创业投资基金等跟投、老股
    的头像 发表于 06-20 19:16 2781次阅读
    <b class='flag-5'>汉</b>威科技旗下柔性触觉传感器公司“苏州能<b class='flag-5'>斯</b>达”再获数千万元融资

    海德CNC机床数据采集如何配置

    ,最终在激烈的市场竞争中立于不败之地。 CNC数控机床的数据采集网关实现发那科、西门子、三菱、广数、哈、海德、凯帝、马扎克、兄弟等机床品牌的快速数采,并通过5G/4G/WIFI/以太网等方式对接到云平台或上位机中,从而为生
    的头像 发表于 05-26 11:09 712次阅读
    海德<b class='flag-5'>汉</b>CNC机床数据采集如何配置

    巴西总统拉会见长城汽车

    近日,在华访问的巴西总统拉会见了长城汽车董事长魏建军。作为汽车产业的代表,魏建军就在巴西投资布局项目的最新成果以及合规、诚信的经营理念与拉总统进行了深入交流,拉总统对此给予了高度赞赏和支持。会谈期间,双方还就长城汽车在巴西
    的头像 发表于 05-16 15:51 577次阅读

    巴西总统拉会见广汽集团

    近日,巴西总统路易·伊纳西奥·拉·达席尔瓦阁下来华访问期间,与广汽国际总经理卫海岗在北京进行会面交流。双方就广汽品牌进入巴西的阶段性成果、广汽在巴西市场的发展规划、推动中巴绿色出行产业合作等议题展开了深入交流。
    的头像 发表于 05-15 17:14 709次阅读

    亿纬锂能荣获马科技“最佳协同奖”​

    日前,马科技集团以“领航绿色新赛道,携手共筑生态圈”为主题,在安徽马鞍山举行2025年全球供应链合作伙伴大会,亿纬锂能荣获“最佳协同奖”。亿纬锂能动力国内营销中心销售总监陈黎明代表公司领奖。
    的头像 发表于 03-17 17:37 773次阅读

    EE-116:SHARC词DMA

    电子发烧友网站提供《EE-116:SHARC词DMA.pdf》资料免费下载
    发表于 01-05 09:56 0次下载
    EE-116:SHARC<b class='flag-5'>简</b>词DMA