汉斯·彼得·伦(Hans Peter Lun)和哈希算法的诞生

一名IBM工程师的哈希算法使计算机能够快速搜索文档,DNA和数据库,


从1940年代开始,伦恩开发了用于分析信息的机器和系统,特别是当前广泛使用的哈希算法,他将其作为一种排序方法提出。数字和文字。

1958年11月,在为期六天的国际科学信息会议上,发明家汉斯·彼得·伦(Hans Peter Lun)展示了几台机电机械。他们看起来很普通。像当时的所有其他计算设备一样,它们是有角度的,实用的,旨在接收和分类在插槽和篮子中的打孔卡。

但是,与其他计算机不同,Moon设备不适用于数字和公式,而适用于单词和句子。其中一项引起特别注意的机器是使用称为KWIC的Moon算法(上下文中的Word关键字)。收到大量文本(例如,一篇500至5000字的文章)后,KWIC可以快速,自主地构建类似索引的内容。

当时,即使对于有经验的专业人员,以书面形式编制索引,分类和组织信息也是一个非常耗时的过程。而且某些地区的信息量增长太快,无法提供支持。迫切需要用于抽象和归纳的新的更好的工具。对于聚集在华盛顿的图书馆员和信息科学家而言,KWIC的示威活动类似于地震。全国各地的报纸立即发表有关月球杰出发明的文章。

到1960年代初,KWIC已成为开发数百种计算机化索引系统的基础,其中包括化学文摘社,生物文摘和科学信息研究所使用的那些系统。一些专家称KWIC的发展是“自从试管发明以来化学领域最伟大的事件”。 IBM的高级工程师Lun还与KWIC建立了一个“智能系统”来开展业务。 (注意:他是第一个提出BI的人。)她可以识别相关信息并将其提供给大型公司的特定人员。从本质上讲,KWIC当时相当于一个搜索引擎:它使用户可以快速找到所需的信息。

现在,我们认为计算机可以处理信息,并立即向我们提供餐厅点评,体育赛事结果和股票价格。在月亮的日子里,计算机是简单而原始的。他使用文本的尝试帮助形成了计算机及其功能的更广阔的视野。他的想法仍然是我们用于在线购物,机器翻译和基因研究的算法的基础。当然,在1950年代,这一切都是不可想象的。接下来,我们将讨论月亮导致了哈希函数的原因,这是一个甚至不存在的问题的解决方案。

第二次世界大战后的几年对电子计算设备产生了巨大影响。战争年代的各种机器对弹道学,原子武器和密码学进行了至关重要的计算。随后的冷战为计算机开发人员提供了持续的资金,结果,机器变得更快,更准确,功能更强大。但是它们的主要目的-处理和存储号码-保持不变。

在新生的计算机世界中,Lun是一个不寻常的角色。伦一直对服装有良好的品味,因此对纺织行业的了解远胜于计算机科学。他于1941年到IBM工作。看来,许多月球发明仍然属于机械计算器和计算尺的数字化时代。甚至1950年代的数字计算机也比其机电设备更强大。尽管如此,现在,月球的想法以一种或另一种方式进行了重新思考和改造,现已应用于几乎所有类型的软件中。

汉斯·彼得·伦(Hans Peter Lun)于1896年出生于德国城市Barman。他的父亲,成功的印刷厂约翰·伦(Johann Lun)对他的孩子们的爱好非常忠诚。例如,汉斯曾经与他的兄弟姐妹一起在家庭花园中修建了一条微型铁路。他父亲的机器上熔炼了一条70米长的导轨。

伦毕业后,就去瑞士学习家庭手工艺品。但是,第一次世界大战和德国军队的征兵中断了他的印刷生涯。战后,伦开始从事纺织品贸易。在美国,他于1924年发现自己在寻找建造纺织工厂的潜在场所。甚至在纺织业中,月球的发明也得到了应用。 1927年,他开发了一条特殊的生产线,利用该生产线可以计算织物中的线数。亮度计仍由Moon创立的工程和咨询公司HP Luhn&Associates出售。

伦学得很快。他从字面上吸收了各个领域的知识,并逐渐成为了一位经验丰富的登山者,美食烹饪专家和优秀的风景画家。到1930年代,他的大量专利包括:折叠式斗篷,用于塑造女性长袜的装置,游戏桌Cocktail Oracle鸡尾酒甲骨文),该指南帮助用户从手头制作鸡尾酒。


1933年,在禁酒令结束前不久,Lun申请了一项指南专利,该指南有助于使各种成分的鸡尾酒可供使用。

但最重要的是,月球对信息(尤其是文字信息)的存储,传输和检索很感兴趣。实际上,这些兴趣使他来到了IBM,在那里他获得了发明家的“头衔”。伦恩证明是异常多产-在他的职业生涯中,他为IBM创造了约70项专利。尽管没有人限制他选择任务,但他的许多发明都是围绕使用机器(包括电子机器)来操纵信息而进行的。

例如,在1946年和1947年,伦恩(Lun)教机器“读取”在打字机上打字的文档。他的设备之一是将金属带塞进打字机,然后将磁码施加到纸张上。然后另一台机器可以扫描它们。不久之后,他与麻省理工学院的两位化学家,马尔科姆·戴森(Malcolm Dyson)和詹姆士·佩里(James Perry)一起开始研究一种机器,该机器可以使用打孔卡自动搜索化合物。每个打孔卡都编码有有关特定连接的信息。用户必须将“请求卡”插入机器,并指出一组标准,以比较和分类复合卡。扫描仪的功能极其狭窄,Lun继续寻找更通用的信息自动处理方式。

那些年里的信息问题困扰着每个人。战后时期,科学技术出版物的数量急剧增加。许多专家担心,由于信息超载,商业和科学会崩溃。战争期间,范纳瓦尔·布什Vannevar Bush)是美国主要科学部门的负责人,也是国家科学基金会的发起人之一。他提出了一种台式Memex机电设备,用于存储和链接信息。

布什的提议从未实现,这与穆恩的想法不同。例如,在1954年1月6日,他为“检查数字的计算机”申请了专利它是一种手动机械设备,旨在解决一个简单的实际问题。那时,各种类型的识别号,例如信用卡号和社会保险号,开始在公共和私人生活中发挥重要作用。但是,这些数字很难记住,它们可能被错误地解密或有意伪造。需要一种方法来快速验证标识号的正确性。

就是一台口袋大小的机器,月亮。她根据他开发的校验和算法进行工作。对于10位数字,计算机执行以下操作:
  • 每两位数翻倍;
  • 如果任何结果大于或等于10,则将该结果的数字相加以获得一个数字(例如,“ 16”变为1 + 6 = 7);
  • 将新号码的所有10位数字相加;
  • 乘以9;
  • 取这个结果的最后一位。

该算法产生了唯一的验证码。在月亮的原始形式中,“ 0”表示原始数字是真实的。在以后的版本中,验证码只是以最后一位数字的形式添加到原始号码中,因此很容易检查最后一位数字是否与Moon Machine上的检查结果相对应。现在被称为Moon算法的基本计算顺序仍然被广泛使用。这将验证分配给手机的国际移动设备标识符(IMEI)的数量。

但是,更重要的是,数字时代最重要的算法之一来自Moon机的齿轮:哈希。这类广泛的算法为组织信息提供了强大的手段,以便计算机可以轻松找到它。这类似于咸牛肉和土豆的食谱:像厨师一样的哈希算法会以各种方式拆分和混合数据。正确部署的这种“混乱”可以加速许多类型的计算机操作。

1953年初,Lun向IBM发送了一份内部说明,他在其中建议将信息放入“桶”(桶-桶,篮子)中,以加快搜索速度。假设您需要在数据库中找到电话号码,并找出它属于谁。它由10个数字组成:“ 314-159-2652”。在找到所需条目之前,计算机将能够一次从数据库中检查一个号码。但是,如果数据库包含数百万个数字,则将花费大量时间。

月亮的想法是将所有条目安排在编号的篮子中。这样做如下:电话号码的数字成对分组(在本例中为31、41、59、26、52)。然后将数字对相加(4、5、14、8、7),并从中生成一个新的数字。如果对中加法的结果包含两位数,则仅采用最后一位(即结果为45487)。原始电话号码和与之对应的名称/地址将放在号码为45487的购物篮中。

通过电话号码搜索包括计算购物篮编号(使用Moon方法),然后从该购物篮中提取信息。即使该组包含多个记录,它们之间的搜索也比整个数据库中的搜索要快得多。

数十年来,计算机科学家和程序员一直在完善月球的方法,并为它们寻找新的用途。但是基本思想保持不变:使用数学将数据组织到易于查找的组中。由于组织和搜索数据的问题在计算机技术中非常普遍,因此散列算法已成为密码术,图形,电信和生物学中必不可少的部分。每次通过Internet发送信用卡号或使用文本编辑器字典时,哈希函数都会起作用。


快速索引:在1958年国际科学信息大会上,汉斯·彼得·伦(Hans Peter Lun)(右)展示了IBM系统,该系统基于他开发的KWIC算法自动创建文档索引。

计算机科学中的月亮思想远远超出了通常的搜索范围。他意识到计算机可以对文本进行复杂的操作:阅读和理解书面语言。随后的索引和信息组织,以解决科学和商业中的实际问题。到1958年,他的化学卡分类器已成为通用卡扫描仪和9900特殊索引分析仪,在华盛顿会议上得到了证明。这些机电设备可以根据用户标准搜索和分类打孔卡。

但是,大多数噪音是由KWIC(月球建筑协调系统)产生的。一致性是一本书或一组作品中使用的按字母顺序排列的关键字列表。它看起来像词汇表,但是只列出了实际出现在文本中的单词,而不列出概念。不带有语义负荷的单词(例如介词,连词和冠词)不会达到一致。长期以来,神学和语言学一直使用一致性。例如,圣经的一致性将指示“爱”一词在书,章和经文中的每一种用法。在全文计算机搜索出现之前,创建一致性是一个耗时的过程。通常,一致性是为“重要”作品创造的,例如圣经或莎士比亚的收藏作品。

月亮系统曾经通过数字进行搜索,而KWIC则是通过文本进行搜索。两者都使轻松搜索大量信息成为可能。举一个非常简单的例子。假设您想从以下四本书的书名中创建一个词:随风而逝,战争与和平,风之影和战争之影。 (请注意:原文-风,战争与和平的消失,风的阴影和战争的阴影)



KWIC算法将以所有可能的顺序重新排列单词中的单词,然后按字母顺序排列每个排列。结果将是出现关键字的上下文中关键字的完整列表(即除了介词,连词和冠词以外的所有关键字)。

KWIC Moon系统很快在科学界得到应用。但是他知道这对业务也将是有用的。 1958年,他为《 IBM研究与开发杂志》撰写了一篇名为“商业智能系统”的文章。在其中,他提出了一个系统,该系统可以自动生成文章摘要,从摘要中提取关键思想,然后将结果发送给公司的适当员工。伦恩(Lun)理解解决信息超载问题意味着开发一种快速分类信息的方法,该方法不会使人们负担过多的材料。

纽约时报在讣告的1964年,月神描述他的抽象系统,如下所示:

Scientific American 2326 , IBM . , ...


Luna的抽象程序首先计算文章中所有单词的出现频率。丢弃非常常见的单词后,“抽象”发现了其中几个最常见单词同时出现的句子。此类建议被认为具有代表性,并放在摘要中。这是一种纯粹的统计方法,没有尝试“理解”文章中的单词或它们之间的关系。但是,他像KWIC一样,证明可以有效地使用计算机将文本组织成易于阅读的格式。

伦在1961年离开IBM三年后,他死于白血病。他没有活着看到互联网发生重大变化的那一天。除了一小部分信息专家,纺织工人和历史学家之外,很少有人记得他的名字。但是,月亮的想法仍然存在。如今,哈希在管理和保护我们的数字生活中扮演着许多角色。在网站上输入密码时,服务器很可能会保存密码的哈希版本。当您使用安全的https协议与网站互动或使用比特币购买商品时,哈希也可以在此处使用。借助Dropbox和Google云端硬盘等云服务,哈希可以帮助提高存储和文件共享的效率。在遗传学和其他高科技研究中,哈希显着减少了分析大量数据所需的时间。

哈希将计算机变成了可以用字母和单词说出的“文本”工具。 Google翻译,Google N-gram,Google AdWords和Google搜索全都以一种或另一种方式来查找文本的含义。互联网上的信息热潮使自动阅读和理解[新闻和其他信息]成为企业,科学和所有人的优先事项。散列的发展与文本有关,反映了伦关于单词,句子,和解,摘录,索引和摘要的思想。

这是Luna的遗产:他帮助证明了计算器和计算不仅是数学,统计和逻辑的领域,而且还是语言,语言学和文学的领域。当时,这是一种感知机器的革命性方式。

技术史学家Michael Mahoney被称为计算机的“类固醇机器”:“不仅是一件事,而且还有许多事情,可以针对任何目的进行改进的机器。即使到了现在,我们仍将狭义的计算机看作是每秒执行数百万次计算和操作的巨型数字处理器。汉斯·彼得·穆恩(Hans Peter Moon)在计算机上的目光进一步扩大。意识到计算机是多方面的,它有助于打开新的,有希望的研究视野。”

All Articles