41、模拟与数字

在信息领域,我们会接触到两种完全不同的信号类型。一种是连续的模拟信号,像我们看到的景物,听到的声音感受到的温度或压力的变化等,一般都会随时间连续的变化,我们想要获取的信息,就包含在这种连续变化之中。而另一类则是数字信号,只有两种状态变化,分别可以抽象描述为0和1,它们组合而成的二进制数串可以用来表述信息。

早期的计算设备一般都可以称为模拟计算设备,处理的都是模拟信号。因为,在日常生活中,我们感受和接触到的信息都是以模拟信号的形式出现。就像人的感官,通过视觉、听觉、触觉、嗅觉、味觉五感采集的信息也都是连续变化的模拟信号,因此我们印象中的周围的世界是一种模拟的,连续变化的样子。随着电子器件的发展,尤其是小体积的晶体管的发明,使信号可以进行放大和运算。由于这些元器件存在一定程度的信号失真,模拟计算的精度总是不尽人意。直到存在负反馈机制的集成运算放大器的出现,才使问题有了改观。集成运算放大器由许多晶体管和其它元器件集成,有极高的放大倍数,然而,通过引入负反馈回路,以牺牲一定程度的放大倍数为代价,大幅度降低放大倍数,就可以显著改善信号的失真,从而实现计算所需的足够精度。集成运算放大器的出现催生了模拟计算机。在模拟计算机上可以进行诸如加、乘、微分、积分等运算,甚至可以用来求解各种微分方程和偏微分方程,也可以对这些方程描述的物理过程进行仿真。

但是通用模拟计算机最终被处理数字信号的数字计算机取代了。美国电信工程师奈奎斯特于1928年提出了以他的名字命名的采样定理,从而提供了模拟信号数字化的理论依据。一段随时间变化的模拟信号一般只出现在一个有限的时间段内,它包含的信息就隐含在这种变化规律之中。模拟信号数字化需要对一段模拟信号进行采样。由于模拟信号是连续的,似乎需要采样频率无限大才能获取模拟信号的全部信息,但是并不是这样。一个出现在有限时间段内的模拟信号可以通过傅里叶变换获得它在频域上的分布,一般也会出现在一个有限的频率范围内。奈奎斯特采样定理表明只要采样频率达到信号在频域内最高频率的2倍,采样后产生的数字信号就会包含该模拟信号的全部信息。这是一个漂亮的反直觉的定理,从而实现了模拟信号的数字化。数字计算机通过集成在芯片上的基本逻辑门电路,实现了对数字信号的高速运算。人们通过传感器采集周围世界的模拟信号,然后通过调制解调器转换为数字信号后输入计算机进行处理。处理后的数据如果试图以模拟信号的形式输出,就将这些数字信号通过调制解调器再转换为模拟信号。这样,即使是处理模拟信号,其核心的计算环节采用的还是数字计算过程。数字计算机在持续了50多年的摩尔定律的推动下一路高歌猛进,使得以数字信号处理为基础的整个数字计算机和互联网的发展史简直像个奇迹,很快轻易取代了通用模拟计算机,并在各行各业展现着它的威力。

尽管数字计算机取得的成就是惊人的,但对于一些问题,再快的数字计算机也一筹莫展。在计算机领域,解决问题的难度随问题的规模线性增长或多项式时间增长的问题,计算机可以很容易的解决,但是有一大类问题,它的难度随着问题规模呈指数增长,使计算机即使在宇宙年龄尺度上也无法运算出结果。面对这个困境,可以用来解决某个特定问题的专用模拟计算机或许可以发挥作用。数字计算机在指数复杂度问题上的失效,暴露了数字计算机串行计算的缺陷,即只能一条一条的执行指令,也为模拟计算机重出江湖提供了可能。模拟计算的最大优势就是可以进行并行计算,专用模拟计算机针对某个特殊问题,可以对该过程的演化过程进行模拟,因此可以计算数字计算机难以胜任的特殊任务。客观事物的演化过程往往是极其复杂的,大部分这样的动力学系统其复杂程度都是指数增长的,而支配它们演化规律的微分方程则往往是简洁生动的。因此设计相应的专用模拟计算机,利用它的并行计算能力解决问题,是一种不错的选择。

费曼在处理一些多粒子体系的量子力学计算问题时发现,随着粒子数的增加,其计算量和计算难度呈指数增长。于是他提议,既然这些计算如此复杂,为什么不用量子体系本身来模拟它们的行为呢?费曼的提议为量子计算机的兴起揭开了序幕。实际上,如今提出的量子算法非常少,未来的量子计算机最多可能的应用,就是来模拟费曼的那些多粒子量子体系,比如生物大分子的演化和反应过程等。量子计算机本身就是一种模拟计算机和数字计算机的统一体,首先,它的基本运算单元量子逻辑门就是借鉴的数字计算机的逻辑门,许多概念如概率图灵机、量子算法等也与数字计算渊源颇深,在量子计算理论发展过程中,曾经从经典数字计算机理论中汲取了丰富的营养,就连量子比特这个名词都是仿照数字计算机中的比特命名的,而且其最终测量结果也是数字信号。然而,量子计算机显然也有大量模拟计算机特有的性质,量子比特可以处在叠加态,其取值是连续的,模拟的,量子计算机也可以进行并行计算,并且可以对量子过程进行模拟和仿真。如今已经证明,在特定问题上,量子计算的确具有相对经典数字计算的指数级加速能力。由此可见,量子计算机可以同时具有模拟计算和数字计算的优点,从而可以获得更加强大的计算能力。

如今看来,模拟计算与数字计算就像一枚硬币的两面,各自有自己的优势与不足。而且从量子比特的角度看,它们可以一起构成一个统一的整体,完成更加复杂的计算任务。