霍夫曼自述:发明霍夫曼编码的过程

霍夫曼编码是最优的符号码。本文为发明者霍夫曼(David Huffman)的一篇短文,讲述了发明该编码的过程以及他的一些经历。原文见https://www.huffmancoding.com/my-uncle/david-bio

当我年轻的时候,我认为我的价值主要在于我的头脑。我十五岁高中毕业,十六岁生日刚过后就进入俄亥俄州立大学。十九岁时,我获得了第一个工程学位,在战争即将结束时,我成为了太平洋地区的一名海军军官——后来我被告知,我是海军区最年轻的军官。

我所在驱逐舰的舰长对我很反感,把所有可以想象的额外任务都甩给我。这些任务甚至与我所接受的雷达、声纳、对抗和其他工程训练无关。

我唯一的战争伤口是一箱35毫米电影胶片从上层甲板上掉下来,砸伤了脑袋。这是舰长唯一一次对我表现出关心。毕竟,他不希望他的一名军官死在他的船上——尤其是出于这样一个不光彩的理由。

两年后,当我退役时,我回到了俄亥俄州立大学,攻读了电气工程硕士学位。除了夏天在西部背包旅行和登山的时候,我还是感觉困惑。我仍然不太确定我希望我的生活走向何方。

麻省理工学院是我离开俄亥俄州的出路,但我对申请非常天真。在我天真的情况下,我甚至没有想到要申请其他地方,因为我可能不会被接受。但无论如何,我运气好,他们把我录取了。

麻省理工学院的电气工程系处理各种电气现象,从生物电信号到磁流体动力学。我开始体会到尽可能广泛的教育的价值。我也开始对自己的职业目标有了信念。

第一次博士考试失败了,这对我的自尊心是一个很大的打击。当时我对自己的能力完全沒有信心。我记得感到自己是个失败者是多么可怕。

当我放暑假回来时,我报名参加了一门开关理论(Switching Theory,相当于数字电路)课程(Robert Fano教授授课),这纯粹是偶然的。这是我第一次接触数字和离散现象的世界。从那以后,这是我度过生命中的大部分时间的世界。

MIT的Robert Fano教授

我非常幸运地通过简单的算术解决了一位经典的编码问题,而几位杰出的科学家(包括Fano、香农)都无法找到一个精确的解决方案。要是我当时知道教授都没有解决这个问题,我可能根本不会去碰它了。

问题在于将识别一组消息中的一条消息所需的平均问题数量减少到最小值。这些消息可能以不同的频率出现,而且问题必须只能用“是”或“否”回答。由于计算机和现代通信系统几乎都是基于“是/否”这样的二值系统,这种编码过程在这些应用领域具有巨大的实际意义。

我知道,如果我能解决问题,我就不必参加此课程的期末考试(Fano教授的提议)。所以我要赌一把。这个问题太令人上瘾了——但在学期结束前一周,我似乎在几周的努力中没有什么大的进展。我知道我最好快点开始复习,准备期末考试,忘记这个难题。

我记得,那天早上吃完早餐后,我把我的研究笔记扔进了废纸篓。就在那一刻,我有一种突然释放的感觉,我看到了这个难题的一个简单的模式,而在那之前我一直无法看到。结果就是我最出名的工作:霍夫曼编码。

13个符号的霍夫曼编码

从那以后,我还取得了许多突破,但从来没有像那样一下子取得过突破。这非常令人兴奋。

从那时起,我在通信信号设计、具有存储器的自动机设计、纠错码、逻辑设计和开关电路方面进行了研究,最近还研究了可能包含模糊或不可能对象的场景的逻辑分析。

作为一名科学家和教师,我非常倔强。如果我感觉到我还没有找到最简单的方法来看待问题,那么在我找到之前,我是不满意的。对我来说,这就是作为一名科学家的本质。

目前,我对柔性表面的数学性质以及表示其形状的有效方法非常感兴趣。作为这项研究的产物,我开发了自己的技术,将纸折叠成不寻常的雕刻。这最初只是一种爱好,但最近我在艺术画廊展出了我的作品。

David Huffman

我并不是声称自己是个艺术家。我甚至不知道如何定义艺术。但我发现与纸张表面相关的优雅数学定理也应该带来视觉上的优雅,这是很自然的。

也许最令人兴奋的是向艺术家和科学家介绍这项工作,并让他们都能理解和欣赏我的工作。 理论研究者很少能够在他们的学科之外进行交流,而我目前的研究使我能够做到这一点。

但我也感受到了我们信息学科教学的满足感。因为我们这个领域有时对外人来说似乎很困难,所以当你能够把问题的根本之处讲清楚时,成就感会很大。

猜你喜欢

转载自blog.csdn.net/minutiae/article/details/129356064