数学命名法的一项壮举

这个计算机科学术语的两位相关人物相隔2400年

A fragment of a Sanskrit text in the Southern Grantha script

使用格兰塔文字书写的波你尼梵语语法文本《阿什塔迪亚依》的一部分。此副本制作于19世纪。*

加入我们的科学爱好者社区!

本文发表在《大众科学》的前博客网络中,反映了作者的观点,不一定代表《大众科学》的观点


上个月,我写了一篇关于欧几里得-马林序列的文章,这是一个素数序列,当你应用欧几里得证明存在无限多个素数的算法时生成。该序列以亚历山大数学家欧几里得的名字命名,我们对欧几里得几乎一无所知,只知道他生活在公元前300年左右,以及美国工程师阿尔伯特·A·马林,他生于1933年,卒于2017年。欧几里得-马林序列的两位命名者之间存在相当大的年龄差距!当我写这篇文章时,我想知道这是否是数学中某件事的两位命名者之间最大的时间跨度。

很难超越2300年。出于各种原因——文化差异、欧洲中心主义、热力学第二定律,仅举几例——那些为我们目前使用的数学对象和过程命名的人,对公元700年之前的非希腊数学家的名字知之甚少。一些数学知识倾向于以某个欧洲人(或最近的白人美国人)的名字命名,他们对这些知识做了一些工作,即使这些知识在他之前很久就在其他地方为人所知,例如毕达哥拉斯定理、斐波那契数列兰伯特四边形。(已经做出了一些努力来纠正这种情况。我看到过关于距离定理海玛钱德拉-斐波那契数列和伊本·海瑟姆-兰伯特四边形的说法。这是一个开始。)

我认为不可能在数学中找到比欧几里得和马林之间更大的时间跨度,但当我在推特上讨论这个问题时,有人提醒我一个名字可以勉强获胜:波你尼-巴科斯范式。


支持科学新闻报道

如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻报道 订阅。通过购买订阅,您正在帮助确保关于塑造我们今天世界的发现和想法的有影响力的故事的未来。


在计算机科学中,巴科斯-诺尔范式或巴科斯范式(BNF)是一种表示编程语言句法特征的方法。它以约翰·巴科斯(1924-2007)的名字命名,他提出了这个想法,以及彼得·诺尔(1928-2016),他对符号进行了一些更改。

BNF使用一些符号来表示语言中对象的结构。例如,对十进制数的BNF描述可以是

::= | | “.” ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

因此,一个数字要么是一个数字,要么是另一个末尾带有数字的数字,要么是一个数字后跟一个句点(我们将解释为小数点)后跟另一个数字。一个数字是符号0、1、2、3、4、5、6、7、8或9之一。这个定义中固有递归,因为“数字”的定义是指“数字”。你可以通过查看输入是否具有数字的形式来检查它是否是一个数字。如果它只有一个数字,它就是一个数字。如果有两个数字,它就是一个数字(它是一个数字)后跟一个数字,所以它是一个数字。等等。

唐纳德·高德纳在《计算机协会通讯》的1964年致编辑的信中建议用巴科斯-诺尔范式来代替巴科斯范式。巴科斯范式在技术上不是一个范式,这确实是更改名称的一个很好的理由,但诺尔不喜欢他的名字出现在该术语上。几年后,在同一出版物的另一封致编辑的信中,彼得·齐拉伊·英格曼建议将名称更改为波你尼-巴科斯范式,以表彰公元前4世纪的印度学者波你尼,他研究梵语,被许多人认为是第一位语言学家。

波你尼的《阿什塔迪亚依》是现存最早的梵语语法书。在其中,他开发了一种用元语言书写语言的方式。英格曼写道,波你尼的符号和BNF一样强大,因此他的名字也应该被承认。波你尼的确切日期不为人知,但他可能比欧几里得更早。巴科斯和马林的日期几乎相同,所以我认为波你尼-巴科斯范式在命名者的年代距离方面胜过欧几里得-马林序列。

将波你尼-巴科斯范式描述为数学术语似乎有点牵强,但计算机科学和数学之间的界限非常模糊(并且我对一个以相隔2400年的人命名的术语感到非常兴奋),我愿意让它滑过,以及这个名称实际上从未被采用的事实。但是,如果您是一位正在阅读这篇文章的计算机科学家,也许您可以改变这一点。波你尼-巴科斯范式,我支持你!

*一些读者写信告诉我,这篇文章顶部的插图是泰米尔语,而不是梵语。这篇文章顶部的插图是波你尼的《阿什塔迪亚依》的一部分,这是一部梵语文本。书写它的文字格兰塔文字,经常被泰米尔语和其他南印度语言的说话者用来书写梵语,尽管今天很少使用。(上面的副本制作于19世纪。)在视觉上,这种文字看起来更像书写的泰米尔语,而不是通常用于书写梵语的文字,但语言是梵语。我已经在标题中添加了一些额外的信息来澄清。单击链接查看该图像的维基媒体页面,其中包含更多信息。我已经与该文物所在图书馆的专家联系,以验证上传页面上的信息是否正确。

© . All rights reserved.