日报标题:不用争谁是最好的编程语言,来学习量子编程吧
该不该考虑为量子编程做准备,不论是从个人学习还是企业战略考量的角度,我们都先要了解三个方面:时机,价值,可行性。
1) 量子计算目前的发展状况如何?(时机)
2) 量子编程有哪些应用场景 / 实用价值?(价值)
3) 如何为量子编程做准备?(可行性)
1. 时机:量子计算目前的发展状况如何?
量子计算机的概念在 35 年前由费曼第一次提出。尽管量子计算机实用化依旧遥远,但业界普遍对此持乐观态度,这从行业巨头在量子计算机方面的“军备竞赛”就可见一斑。目前真正意义上的通用量子计算机还未面世,但是系统的量子编程语言已经存在。在摩尔定律终结的时代背景下,量子计算被看做是突破计算能力瓶颈的一条充满诱惑的出路。
在过去的五十年里,摩尔定律成功指导了计算机行业的发展,但这个定律很有可能在未来十到十五年内失效。一方面继续提高集成度的难度越来越大,摩尔在 65 年预言芯片性能每年都会翻倍,75 年他把周期改成两年,始终遵循这个周期的 Intel 如今把时间延长到了 2.5 年。另一方面,芯片生产存在物理上的基本限制。当晶体管集成度越来越高,越来越小的纳米级晶体管容易出现量子力学中的隧道效应(quantum tunneling),电子从源极穿到漏极,导致电流泄露,芯片无法工作。
于是大家纷纷把目光投向了量子计算。传统比特位(bit)的状态非 0 即 1,n bits 的经典计算机只能一次运算 2^n个数中的一个;而量子比特位(qubit)却可以处于 0 和 1 的叠加态(superposition),2 qubits 就可以叠加出 4 种态 00 01 10 11,以此类推,n qubits 就可以一次性同时运算 2^n 个数。位数越多,量子计算的速度相较于经典计算机的速度会呈指数级增长。
目前最先进的量子计算机是 D-wave System 最近刚发布的 2000Q 量子计算机,计算能力是它上一代的两倍,是硅谷那些比较先进的服务器的一万倍。但很多研究人员依旧抱有怀疑,因为它与初期量子计算机不一样,而是退而求其次采用了量子退火(quantum annealing),即不是所有 qubit 之间都可以发生纠缠,它们只和临近的 qubit 纠缠。与传统量子计算机相比,D-wave 的 qubit 量子态更为脆弱,操作精确度更低,虽然运算中的确用到了一些量子物理的原理,但是否能对现有计算机的运算能力进行指数级提速还是个未知数。尽管如此,D-wave 在某些特定任务上的计算能力还是远远超过了现有的经典计算机。已有不少科研人员争先恐后预订 D-wave 新系统的使用时间,用来探索机器学习或网络加密等需要运算海量数据的课题。D-Wave 打算两年内发布 4000Q 量子计算机,让 qubits 之间发生更复杂的纠缠,从而带来更强大的计算能力。
但由于 D-wave 并不完全符合理论上量子计算机的原理,所以没法运行现有的编程语言,比如 QCL 和 Quipper。至于完全符合理论设想的量子计算机是否可能实现,物理和计算机学界都没有定论。
除了 Google-NASA 量子人工智能实验室与 D-wave 的合作以外,各行业巨头都希望在量子计算上抢占先机。IBM 于 2000 年就已公布过他们的第一台量子计算机,于 2016 年五月,IBM 又推出在线服务将一台 5Q 的量子计算机开放给所有人使用。微软在 2005 建立量子计算基础研究站 StationQ,近期在 StationQ 里还成立了人工智能研究小组。与 Google 和 IBM 利用超导量子电路不同,微软另辟蹊径选择了基于 anyons 的拓扑量子计算,目前搞定了 qubit 基本模块。同时,英国也斥资 2700 万英镑支持量子技术发展战略。
微软量子计算机项目的技术经理 Todd Homdahl 认为这个领域已经到了从理论转向工程的转折点。
换言之,时机已经成熟,量子计算有可能站上风口。
2. 价值:量子编程有哪些应用场景 /实用价值?
首先要声明一点,量子计算机不是用来取代经典计算机的,而是为了处理经典计算机无法解决的问题。
量子加密:
先举个比较著名的例子,用来做大数因子分解的量子算法 Shor’s algorithm,在一台拥有足够量子位并且量子位能够不受环境能量干扰的量子计算机上,它可以破解目前的 RSA 公共密钥加密系统,因为 RSA 系统本身就是建立在大数因子分解难以计算的假设上。类似地,量子计算机的强大计算能力正在威胁现有的所有加密方式。若有人处心积虑将今天不可破译的密码信息保留到未来,那么在量子计算机面前这都将是小菜一碟。
但与此同时,量子密钥分配技术使密码安全性有了质的飞跃。原因很简单,量子密码信息根本无法窃取。在量子计算机的运行过程中,量子必须始终处于封闭空间,你不能打开看,一看就会使外部能量干扰了量子态,量子干涉就会被破坏,那你观察到的量子数据就会变成一坨乱码,窃听也会留下量子测量痕迹。不仅无法窃取,截获也不太可能。因为量子不可克隆定理决定了任何复制都得不到一模一样的量子态。
在量子计算时代来势汹汹的背景下,加密系统升级迫在眉睫。Temporal Defense System 已经率先购买了第一台 2000Q 量子计算机。美国国家标准技术局也呼吁政府为了国家信息安全务必要在 2025 之前全面采用量子加密。
场景规划:
场景规划指最优路径规划、资源最优配置等决策问题。D-Wave 量子计算机最早就是为优化问题(optimization)而设计的,用来给 NASA 的太空探索计算如何最优化利用有限的资源。此外,智能城市的概念在近年也越来越得到各国政府重视,比如新加坡提出的智能国家(Smart Nation)和美国交通部提出的智能城市挑战项目(Smart City Challenge Program),量子计算的高速运算能力能更快地从大量实时数据中分析出反馈信息,有助于交通拥堵、水电供应等问题上更精准及时的动态规划。对于其他瞬息万变的行业来说,比如金融、气候、医疗、国防等,量子计算机的优化决策能力同样价值巨大:预测股市走向、医院的床位是否足够、气候灾害对农林业的影响之类。
人工智能 / 机器学习:
人工智能领域最大的挑战之一就是处理海量数据,而这正是量子计算机的优势所在。早在 2015 年中科大就测试过能够辨认手写字体的量子人工智能,而那仅仅是一台 4 qubits 的量子计算机,难以想象千位量子计算机会是一种怎样的概念。MIT 机械工程教授 Seth Lloyd 说,一台 300Q 的量子计算机就足以运算自宇宙大爆炸以来历史上所有的数据信息。IBM 认知计算系统 Watson 的 CTO 表示,量子计算和人工智能的协同合作是一件非常自然的事情。他还说,目前的认知计算系统还只能模仿人类的思维,但没法完全模拟人脑的完整活动,如果人工智能想要超越并提升人类的认知水平,运算必须要更快,探测更敏捷,耗能更低。量子计算机极有可能帮助我们实现所有的目标。
化学:
哈佛的化学副教授 Alan Aspuru-Guzik 在 MIT 一个研讨会上提出化学领域会成为量子计算机运算提速的最直接应用。计算化学反应时间的关键是计算原子的能量,然而每多加一个原子,整个系统的复杂性就会翻倍,因为每个原子都与其他的原子发生纠缠。所以如果遇到包含大约 100 个原子的分子时,能量估算就大大超出了经典计算机的能力,但用差不多位数的量子计算机做模拟就没问题,比如 2016 下半年,科研人员用两个 qubits 进行了氢气分子的基态和化学键长的模拟计算。
总之,一旦真正意义上的千位通用量子计算机面世,在很多领域都会掀起计算革命。
3. 可行性:如何为量子编程做准备?
目前有哪些量子编程软件和语言呢?
D-Wave 的 Qbsolv 。使用者不需要具备专业量子物理知识也可以给 D-Wave 量子计算机编程。它的目标就是吸引不了解量子计算机的科研人员,将使用和开发门槛降低。Qbsolv 目前是一款开源软件,D-Wave 希望围绕这个平台建立量子计算的开源社区 / 生态系统。但由于 D-Wave 与众不同的算法与传统量子计算机和经典计算机都不一样,所以 Qbsolv 写的程序目前只能在 D-Wave 的机器上跑。类似的还有 D-Wave 资助开发的 Qmasm.
但 IBM 开发的在线量子计算机允许人们运行自己开发的程序。操作起来需要一定的量子物理专业知识,但是非常好用,界面很简洁,运算准确率很高。
语言主要介绍两种,命令式编程的 QCL,函数式编程的 Quipper。QCL 的语法和 C 相似,让传统程序员可以用一种熟悉的形式来给量子计算机编程。最基本数据类型是 qureg,类似于队列。QCL 支持用户自定义操作符和函数。Quipper 在函数式编程语言里算是最新成员,是一种嵌入式语言,宿主语言为 Haskell。
由于 QCL 编译器用的是 qlib 仿真库,所以程序在运行中的 qubit 量子态可以被看到,但这在真正的量子计算机上是不可能的,只能在模拟器上可以实现。
总之如果你考虑开始为量子编程做准备,初级的软件和语言都是有的。如果为了科研目的,那么效率至上,用这些现成的软件和语言就够了。但如果你为了未来的新计算时代做准备,那么学习量子编程和经典编程不同,除了软件和语言以外,最好先了解量子物理和量子计算的原理。
上面是对于个人。那么对企业和政府来说,帮助他们应对量子计算时代的服务已经存在。目前这种服务形成了一个利基市场,一小部分研究加密系统的公司做好了准备为大型机构做防止量子计算机破解的系统升级,比如美国的 Security Innovation, 加拿大的 EvolutionQ,荷兰的 Atos 等等。
总结:
从时机、价值和可行性三方面考量,对企业和个人来说,学习量子编程都值得考虑。
最后欢迎关注 @硅谷密探