「量子计算理论」量子计算机能做什么?


量子计算领域这几年发展得如火如荼 , 量子计算机的比特位数也在不断增加 。 2019年12月 , 谷歌宣布实现“量子霸权”——量子计算机在某一“特定问题”上的计算速度超过传统计算机 , 这标志着量子计算机的发展进入了一个新阶段 。 但“特定问题”只是一些毫无价值的问题 , 量子计算机作为一个工具 , 它将来究竟能为我们做些什么有用的事情呢?其实 , 量子计算机的诞生与两个实际问题密切相关——模拟量子系统里的物理过程、破解密码 。 而且由于其强大的计算能力 , 量子计算机诞生之初 , 就有科学家就证明了量子计算机在大量数据的搜索方面也有巨大的优势 。
模拟量子系统里的物理过程
位置、速度、动量等物理量用来描述物体的状态 , 物理量改变了 , 粒子的状态就会改变 。 对于宏观物体 , 物理量的值是确定的;但在微观量子世界里 , 粒子的物理量的值却不是固定的 。 这些物理量可能同时对应多个值 , 导致粒子能瞬间在多种状态中来回切换 。 以速度为例 , 在宏观世界里 , 如果一个物体的速度是3米/秒 , 那么这个物体的速度就明确为3米/秒 。 但在微观量子世界里 , 粒子的速度能在3米/秒、4米/秒、5米/秒这三个速度之间瞬间来回切换 。 我们说一个粒子处于量子态 , 意思就是这个粒子的状态是可以变化的 , 量子系统指的是由处于量子态的粒子组成的系统 。
「量子计算理论」量子计算机能做什么?
本文插图

计算机能模拟很多物理过程 , 但它能模拟量子系统里发生的物理过程吗?假设一个粒子的某一物理量(例如位置、速度、动量等)存在两个值 , 那么这个粒子就会存在两个状态 , 那么含有100个粒子的量子系统就会存在2100种组合状态 。 如果这100个粒子的一种组合状态由含有100位比特的数字表示 , 那么所有的组合状态其所占内存就是2100个100位的数字 , 这已经远远超过了传统计算机的内存 。 所以 , 传统计算机是很难模拟量子系统的物理过程的 。
【「量子计算理论」量子计算机能做什么?】
「量子计算理论」量子计算机能做什么?
本文插图

那么 , 我们怎么才能模拟量子系统里的物理过程呢?答案就是用量子计算机 。 用量子系统去解决量子系统的想法 , 导致了量子计算机构想的产生 。
20世纪80年代 , 为了仿真的模拟量子系统的变化 , 美国著名的物理学家费曼提出了按照量子力学规律工作的计算机的概念 , 这被认为是最早的量子计算机的思想 。 量子计算机和传统电子计算机的不同之处在于 , 量子计算机不再由电子元器件组成 , 而是由多个处于量子状态的粒子组成 , 所以量子计算机本身就是一个量子系统 。 用量子计算机模拟量子系统的过程 , 其实就是是用量子系统去模拟另一个量子系统 , 这对于量子计算机来说是一件轻而易举的事情 。
破解密码
为了安全起见 , 密码被广泛采用 。 需要密码才能解锁的锁头安全系数非常高 , 即使是一个只含有4位数字的密码 , 也有104共10000种变化(每位都有0~9十个数字可以填入) , 让破解者无从下手 。 当然 , 密码不单单只有数字的形式 , 它的形式是多种多样的 。 因此 , 有些密码加密技术甚至穷尽一个人的一生 , 都无法破解 。 但是如果能瞬间进行所有的尝试呢?能同时运行无数种指令的量子计算机的出现 , 使得复杂的密码破解工作变得简单 。
「量子计算理论」量子计算机能做什么?
本文插图

量子计算机还在构想阶段的时候 , 就体现了其破解密码的强大潜力 。 大家都学过整数的因数分解 , 即一个正整数可以写成几个因数的乘积的形式 , 例如4可以分解为2×2 。 但你能看出91的因数是多少吗?有些人可能知道是7×13 , 因为按顺序拿1、2、3…去试 , 到7的时候很容易就试出来了 。 但如果一个整数的因数非常的大 , 例如达到上亿 , 那就没法一个一个试了 。 现在电子商务、银行等公共加密场所广泛使用的RSA加密算法 , 其破解的难度就在于正整数因数分解的复杂性 。 早在1994年 , 就有人发明了能够破解RSA加密算法的一种算法——秀尔算法 。 秀尔算法由美国知名计算机科学家彼得·秀尔设计 , 这种算法能快速的对极大的正整数进行因数分解 , 但秀尔算法是量子算法 , 只能在量子计算机上才能使用 。 这意味一旦量子计算机研制成功 , 将对全世界的密码安全造成极大的威胁 。


推荐阅读