查看原文
其他

硬件上九章和悬铃木旗鼓相当,量子计算的软件中国能否脱颖而出?

汪诘 科学有故事 2021-04-14



文稿



上期节目我用中医和中药来比喻量子计算机的硬件和算法,引发了不少评论和争议,我今天就这个话题再多说几句。可以说,在谈到量子计算机的时候,大多数人想到的都是硬件,想不到软件。实际上,对于量子计算机来说,硬件和算法同样重要。在我们只盯着悬铃木、九章这些量子计算机的硬件时,我们还应该关注一下量子计算机的算法。


几乎人人都应该明白:如果没有操作系统和应用软件,性能再强大的电子计算机也不过就是一堆废铁。研发硬件的人与研发软件的人很难说谁比谁更厉害。

我自己也曾经做过程序员,很长一段时间内我只会熟练地敲击 if else for……,我并不知道这些高级编程语言是如何一点点演化而来。当有一天我突然发现,如此千变万化的编程语言居然可以还原为最基本的 10 个逻辑门,那种震撼是无与伦比的,我突然觉得计算机语言实在是太神奇了。

我给你简单解释一下什么是“逻辑门”。它的概念甚至比 1+1=2 还要简单。所谓的逻辑门,真就像是由晶体管构建的一扇门。如果一个高电平信号经过这扇门,就一定变成一个低电平信号,那么这扇门我们就把它叫做“非门。为了后面的叙述方便,我把高电平信号说成 1,低电平信号就说成 0。

再比如,当一组信号经过某一扇门时,只有当所有的输入值都是 1 时,才输出 1,否则就输出 0,这扇门我们把它叫做“与”门。

当一组信号经过某一扇门时,只有当所有的输入值都是 0 时,才输出 0,否则就输出 1,这扇门我们把它叫做“或”门。


就是这样,一共有 10 种不同规则的逻辑门。而那些算法天才们,就是利用这 10 个逻辑门的复杂组合,设计出了最基础的计算机编程语言——汇编语言。汇编语言从本质上说,就是一组组不同组合的逻辑门的助记符号。然后,在汇编语言的基础上继续发展出了 FORTRAN、C 语言、Java、Python 等高级语言。有了计算机编程语言,软件工程师们才能开发出无数精彩的应用软件,比如 Photoshop,有了这些各行各业、五花八门的应用软件,才有我们今天的游戏、娱乐、办公、社交等等一切数字化的精彩生活。


电子计算机的这条演化之路,量子计算机也全部都要走一遍。那么,今天的量子计算机走到了哪一步呢?粗略地来说:

硬件上,我们差不多走到了刚刚造出最基本的电子管的这一步。虽然很原始,但好歹已经能构建出若干个最基本的“量子逻辑门”(简称为“量子门”)。量子门的工作原理虽然与逻辑门不完全一样,但基本思路是一致的。它也是一扇门,一组量子比特通过这扇门后,就会演化为另一组量子比特,不同的量子门符合不同的演化规则。

在量子计算机的软件上,我们差不多走到了正在摸索量子汇编语言的阶段。也就是说,那些研究量子计算语言的科学家们,要把一组组不同的量子门组合起来,然后用一个特定的符号标记它们。当这些符号成熟稳定,得到国际同行们的公认时,量子汇编语言就宣告诞生了。

在这个量子计算机发展的石器时代,我们很容易记住那些有关硬件研发进展的新闻,却往往忽视软件研发方面的新闻。

其实,与电子计算机的发展之路一样,量子计算机的硬件和软件也是可以同时向前发展的。做量子汇编语言设计开发的人,甚至可以不必拥有一台量子计算机。因为我们可以用传统的电子计算机来模拟量子门的工作原理。二者在原理上完全一致,只是电子计算机的运算速度达不到真正的量子计算机的速度。但对于量子编程语言的设计开发来说,运算速度并不是最重要的。

如果我们把实现通用型的量子计算机看成是攀登一座高山,那么软件研发和硬件研发就是两支不同的登山队,只有两支队伍在山顶胜利会师时,量子计算机才能真正进入实用阶段。

在量子计算语言研发这支队伍中,美国的谷歌、亚马逊、微软、IBM等,以及中国的百度、华为、腾讯、阿里等巨头们全部参战。

我们普通人几乎不可能有条件参与量子计算机硬件的研发,但是我们其实都可以参与量子编程语言的设计和开发。这是因为,量子编程语言不是一定要在量子计算机上来设计和运行,在电子计算机上也完全可以写量子编程语言,甚至还能运行起来。

换句话说,我们可以在电子计算机上做出量子计算机的模拟器,除了运行速度不可能达到真正的量子计算机的运算速度之外,其它可以做的都一样。现在这样的模拟器已经有很多了。举个例子,2020 年 9 月,某度就推出了一个在线的量子计算机模拟器,官宣的说法是国内首个云原生量子计算平台。看在它是完全免费的情况下,我就不避讳全名了,它的名字叫“量易伏”(QuantumLeaf)[1],不过这名字起得有点嘚瑟。

我进去玩了两圈,感觉真像是穿越时空回到了七八十年前的冯·诺依曼时代,用一个个量子门像搭积木一样探索高深莫测的量子计算,对我来说就跟天书一样,跟我过去学过的所有编程语言都不一样。


不过,或许此时此刻,在中国的某个角落,一位天才少年正在全神贯注地摆弄着这些属于魔法世界的小方块,征服未来的量子汇编语言或许就在他的手中诞生。

我真没有跟你开玩笑,一位青少年在电脑前敲敲打打改变世界的景象在历史上已经发生过很多次。30 多年前,20 岁的芬兰天才少年李牛斯,天天坐在电脑前,仅仅因为乐趣,用汇编语言和 C 语言写下了一行行代码。后来,这些代码成为了著名的操作系统 Linux 的核心,改变了世界。


我们不能指望这样的天才横空出世,他们的诞生需要土壤。今天在量子计算机模拟器上摆弄量子门的青少年们,他们就像是土壤中撒下的一粒粒种子,只要种子足够多,土壤肥沃,就一定有概率成长出好苗子。


信源:

[1]https://quantum-hub.baidu.com/


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存