一种提高量子计算效率的电路设计方法和系统

文档序号:25483012发布日期:2021-06-15 21:43阅读:124来源:国知局
一种提高量子计算效率的电路设计方法和系统

本发明涉及量子计算领域,更具体地,涉及一种提高量子计算效率的电路设计方法和系统。



背景技术:

grover算法为解决密码学中若干数学困难问题提供了二次加速,但庞大的电路规模阻碍了其实际应用。

bernstein等人以grover算法为基础提出量子左右分,其主要思想是分裂,关键是grover算法中oracle的构建。原来grover算法通过遍历n个整数的所有组合的叠加态来确定困难问题中的解,而新算法只遍历后面的2n/3个整数的所有组合的叠加态,从而只给出问题的部分解。剩下的整数则用于构建包含2n/3个组合的数据库,并在oracle中定义一个新的布尔函数f:{0,1}2n/3→{0,1}。在遍历后面的2n/3个整数的所有组合叠加态时,f搜索数据库,如果输入的某一叠加态中的某一向量与数据库中叠加态中的某一向量是解,则映射为1,反之,映射为0。与初始版本相比,新构建的oracle有一个额外的步骤,即搜索包含2n/3个项目的数据库。

量子计算机搜索经典数据库需要一个量子寻址方案。事实上,由于非结构化数据库的构建无法在线性复杂度下实现,所以量子算法不能用于数据库的搜索。因此,这些基于量子存储器的算法并不适合于实际的应用。

公开日为2019年07月05日,公开号为cn109978171a的中国专利公开了一种基于云计算的grover量子仿真算法的优化方法,主要解决国内外量子算法仿真模拟的量子位较少,仿真效率较低的问题。本发明针对grover量子搜索单次迭代酉运算进行优化,提出了一种既大幅节约存储空间又显著提高酉运算效率的优化算法,利用基于hadoop的mapreduce并行计算模型的优势,在云计算集群上对大矩阵酉运算进行分布式处理;充分利用云计算平台提供的高性能并行计算能力,利用集群架构的优势构建多比特位量子并行计算模型,成功地提高了仿真算法效率。但该专利依然没有解决电路复杂的问题。



技术实现要素:

本发明的首要目的是提供一种提高量子计算效率的电路设计方法,有效降低量子算法的电路复杂度。

本发明的进一步目的是提供一种提高量子计算效率的电路设计系统。

为解决上述技术问题,本发明的技术方案如下:

一种提高量子计算效率的电路设计方法,包括以下步骤:

s1:将输入的n比特划分为两部分x1和x2;

s2:对x1部分转化为量子叠加态并初始化;

s3:利用hadamard矩阵对初始化的x1部分进行映射;

s4:对步骤s3的结果重复进行grover迭代若干次;

s5:在测量之前先对步骤s4的结果运行hadamard矩阵;

s6:对步骤s5的结果进行测量,若结果为非0,返回有解并终止;如果结果不为非0,且x1小于阈值,则对x1的量子叠加态进行更新,返回步骤s4;

s7:返回无解并终止。

优选地,步骤s1中将输入的n比特划分为两部分x1和x2,具体为:

将n比特的前2n/3比特定义为x2,后n/3比特定义为x1。

优选地,步骤s2中对x1部分转化为量子叠加态,具体为:

将x1按照从小到大的顺序以量子叠加态的形式|x1>依次输入,其中

优选地,步骤s2中,步骤s2中初始化后的输入状态为:

式中,状态|0>、|1>为经典比特0和1的量子形式,代表张量积。

优选地,步骤s3中,所述hadamard矩阵为:

式中,为2n/3维的hadamard矩阵,用于将电路中所有的状态转换为量子叠加态|x2>为x2部分的量子叠加态;h为2维的hadamard矩阵,用于将状态|1>转换为量子叠加态

优选地,步骤s4中重复进行grover迭代次。

优选地,所述grover迭代,具体为:

利用算符对叠加态进行处理,当叠加态中包含解时,对解执行标记;

利用算符完成映射

优选地,步骤s6中,所述阈值为2n/3-1。

优选地,步骤s6中对x1的量子叠加态进行更新,具体为:

|x1>=|x1+1>。

优选地,包括:

划分模块,所述划分模块用于将输入的n比特划分为两部分x1和x2;

转化初始化模块,所述转化初始化模块用于对x1部分转化为量子叠加态并初始化;

映射模块,所述映射模块利用hadamard矩阵对初始化的x1部分进行映射;

迭代模块,所述迭代模块用于对映射模块的结果重复进行grover迭代若干次;

测量前模块,所述测量前模块用于在测量之前先对迭代模块的结果运行hadamard矩阵;

测量模块,所述测量模块对测量前模块的结果进行测量,若结果为非0,返回有解并终止;如果结果不为非0,且x1小于阈值,则对x1的量子叠加态进行更新,返回迭代模块;

终止模块,所述终止模块用于返回无解并终止。

与现有技术相比,本发明技术方案的有益效果是:

本发明将原来的困难问题拆分为多个子问题来处理,避免了构建一个大规模的量子电路来解决困难问题,和之前的grover算法相比,本发明改进的算法的查询复杂度将不再等于电路复杂度,电路复杂度可有原来的o(2n/2)降为o(2n/3),本发明改进的算法更贴合实际应用。

附图说明

图1为本发明的方法流程示意图。

图2为本发明的算法结构示意图。

图3位本发明的系统结构示意图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

本实施例提供一种提高量子计算效率的电路设计方法,如图1和图2所示,包括以下步骤:

s1:将输入的n比特划分为两部分x1和x2;

s2:对x1部分转化为量子叠加态并初始化;

s3:利用hadamard矩阵对初始化的x1部分进行映射;

s4:对步骤s3的结果重复进行grover迭代若干次;

s5:在测量之前先对步骤s4的结果运行hadamard矩阵;

s6:对步骤s5的结果进行测量,若结果为非0,返回有解并终止;如果结果不为非0,且x1小于阈值,则对x1的量子叠加态进行更新,返回步骤s4;

s7:返回无解并终止。

步骤s1中将输入的n比特划分为两部分x1和x2,具体为:

将n比特的前2n/3比特定义为x2,后n/3比特定义为x1。

步骤s2中对x1部分转化为量子叠加态,具体为:

将x1按照从小到大的顺序以量子叠加态的形式|x1>依次输入,其中

步骤s2中,步骤s2中初始化后的输入状态为:

式中,状态|0>、|1>为经典比特0和1的量子形式,代表张量积。

步骤s3中,所述hadamard矩阵为:

式中,为2n/3维的hadamard矩阵,用于将电路中所有的状态转换为量子叠加态|x2>为x2部分的量子叠加态;h为2维的hadamard矩阵,用于将状态|1>转换为量子叠加态

步骤s4中重复进行grover迭代次。

所述grover迭代,具体为:

利用算符对叠加态进行处理,当叠加态中包含解时,对解执行标记;

利用算符完成映射

步骤s6中,所述阈值为2n/3-1。

步骤s6中对x1的量子叠加态进行更新,具体为:

|x1>=|x1+1>。

实施例2

一种提高量子计算效率的电路设计系统,如图3,实现实施例1所述提高量子计算效率的电路设计方法,包括:

划分模块,所述划分模块用于将输入的n比特划分为两部分x1和x2;

转化初始化模块,所述转化初始化模块用于对x1部分转化为量子叠加态并初始化;

映射模块,所述映射模块利用hadamard矩阵对初始化的x1部分进行映射;

迭代模块,所述迭代模块用于对映射模块的结果重复进行grover迭代若干次;

测量前模块,所述测量前模块用于在测量之前先对迭代模块的结果运行hadamard矩阵;

测量模块,所述测量模块对测量前模块的结果进行测量,若结果为非0,返回有解并终止;如果结果不为非0,且x1小于阈值,则对x1的量子叠加态进行更新,返回迭代模块;

终止模块,所述终止模块用于返回无解并终止。

相同或相似的标号对应相同或相似的部件;

附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1