近日微软公司宣称将开始下一个大动作:量子计算机。今年年底,微软公司计划公布一种全新的量子计算机语言,以及一种量子计算机模拟器。借助这些新技术,研发人员将能够研发和测试执行量子运算的量子程序。
量子运算使用了叠加和纠缠等量子特征执行运算。传统数字计算机由二进制数字构成(0或1),而量子计算机是由量子比特构成。量子比特在某种程度上能够同时代表0和1(也就是所谓的量子叠加)。量子比特代表多重数值的能力让量子计算机的运算能力远超过传统计算机。
传统计算机由逻辑闸构建,这种晶体管组合能够以各种方式组合数字进行运算,但是这种构造对于编写程序的人来说大部分是看不见的。程序和算法并非按照逻辑闸进行编写的,而是使用了更高水平的概念。目前的量子算法在某种程度上对于电子工程师来说更熟悉,而非软件工程师。因为量子算法通常代表了量子回路,而不是更常用的程序语言概念。
微软公司的量子计算机语言为编程量子计算机提供了更让人熟悉的样式,它借用了C#、Python和F#语言基础。研发人员仍然需要使用和了解量子逻辑闸以及它们的运作,但是他们仍然可以使用它们编写程序。
量子计算机语言正逐渐融入到开发工具当中,这意味着它不仅支持色彩编码,也支持调试等其它开发功能。由于量子计算机现在还相当罕见,因此微软公司也计划公布两种量子模拟器版本,一种能够在本地运行,一种能够在Azure云平台运行。这些模拟器将能够运行量子程序,并且提供一些可比得上传统开发工具的调试体验。
从长期角度来说,微软的野心是要在一台真正的量子计算机上运行量子程序,而且微软正在致力于量子计算机的研发。微软公司正在探索一种拓扑量子比特的研究。这是非常吸引人的,因为它们能够帮助我们解决量子计算机常见的难题。量子态是非常微妙的,而且量子噪音会给运算带来错误。但是拓扑量子比特能够添加到算法中修正这种噪音。
微软公司在研发量子计算机和量子计算机程序的同时,也在探索一种所谓的量子抵抗加密算法。这种算法的设计是为了在传统计算机上运行,但是即使是在大型量子计算机时代也能保护系统安全。但是将这些算法研发出来,并且完成验证后进行广泛传播还需要很多年。
幸运的是,量子计算机的时代很可能还需要许多年才会到来。现在,微软公司正在为它的量子计算机预演做着准备。这场使用量子模拟器和量子编程语言的预演即将在年底之前进行。微软公司还将公布教程和函数库来帮助研发人员熟悉量子计算机。
|