本发明涉及模拟计算,尤其涉及一种基于可控概率器件的模拟退火方法及装置。
背景技术:
1、组合优化问题是在一组有限的离散对象中,找出最优对象的一类问题,如旅行商问题(travelling salesman problem,tsp)、分割问题(partition problem)、图形着色问题(graph coloring)、航班调度问题等问题,属于非确定性多项式(non deterministicpolynominal,np)难问题,在运筹学和理论计算机科学中非常重要。
2、由于组合优化问题的解空间随着变量数而爆炸式增长且冯·诺伊曼体系结构的处理器具有固有的串行工作机制,因此冯·诺伊曼体系结构的处理器难以快速解决组合优化问题。伊辛模型通过一群相互连接的自旋来描述物质相变的随机过程,大多数组合优化问题能够映射到伊辛模型中,即通过求解伊辛模型就能求解组合优化问题的最优解。模拟退火算法源于固体物质退火原理,是一种通用的优化算法,能够有效求解伊辛模型。量子退火处理器利用超导通量量子比特求解组合优化问题,具有卓越的精度和极快的求解速度。然而,量子退火处理器对工作环境的要求非常高,且每次计算都消耗高昂的成本。这些缺点限制了其在实际中的使用。
技术实现思路
1、本发明提供一种基于可控概率器件的模拟退火方法及装置,用以解决现有技术中计算组合优化问题时由于参数数量巨大导致计算成本高昂的缺陷,实现对组合优化问题快速求解的同时降低计算成本的目的。
2、本发明提供一种基于可控概率器件的模拟退火方法,可控概率器件包括阵列排布的多个可控概率单元,多个可控概率单元中的每个可控概率单元在接收到电平信号的情况下根据电平信号的大小发生对应概率的翻转,该方法包括如下步骤。
3、接收待计算问题的计算数据;获得计算数据对应的qubo矩阵;根据qubo矩阵、以及开始求解待计算问题后在本地存储的上一次n个设定周期内的可控概率器件中各可控概率单元的自旋状态,获得模拟电平数值;自旋状态包括:发生翻转和未发生翻转;n为正整数;在计算数据中参数的参数数量大于可控概率器件中多个可控概率单元的第一总行数或第一总列数的情况下,根据参数数量获得自旋矩阵;自旋矩阵的第二总行数和第二总列数均与参数数量相等;根据自旋矩阵中各矩阵元素,对可控概率器件进行复用;其中,复用包括:在自旋矩阵中随机选择目标矩阵元素;以及根据目标矩阵元素在自旋矩阵中所处于的第一行数和第一列数,在可控概率器件中确定目标矩阵元素对应的目标可控概率单元;以及将模拟电平数值对应的模拟电平信号输入目标可控概率单元;目标矩阵元素为自旋矩阵的所有矩阵元素中任一;目标可控概率单元为多个可控概率单元中任一;每隔设定周期缓存可控概率器件中目标可控概率单元的自旋状态,每缓存n个设定周期后将所缓存的目标可控概率单元的自旋状态以及目标矩阵元素的位置存储在本地;根据本地存储的本次n个设定周期以及上一次n个设定周期内可控概率器件中所有可控概率单元的自旋状态,判断可控概率器件中所有可控概率单元的自旋能量是否不再发生变化;在确定自旋能量发生变化的情况下,重新执行根据自旋矩阵中各矩阵元素,对可控概率器件进行复用及其后续步骤;在确定自旋能量不再发生变化的情况下,根据自旋矩阵中各矩阵元素对应的目标可控概率单元的自旋状态以及基于每次存储的目标矩阵元素的位置得到的各矩阵元素的位置,输出自旋矩阵对应的自旋状态阵列;根据自旋转状态阵列,获得待计算问题的解。
4、根据本发明提供的一种基于可控概率器件的模拟退火方法,根据目标矩阵元素在自旋矩阵中所处于的第一行数和第一列数,在可控概率器件中确定目标矩阵元素对应的目标可控概率单元,包括:
5、获取第一行数对第一总行数取余的第一取余结果,以及第一列数对第一总列数取余的第二取余结果;其中,在第一取余结果为零的情况下,将第一总行数作为第一取余结果;以及在第二取余结果为零的情况下,将第一总列数作为第二取余结果;
6、将第一取余结果作为第二行数、以及将第二取余结果作为第二列数,在可控概率器件中定位第二行数和第二列数所对应的可控概率单元作为目标可控概率单元。
7、根据本发明提供的一种基于可控概率器件的模拟退火方法,待计算问题为组合优化问题。
8、本发明还提供一种基于可控概率器件的模拟退火装置,可控概率器件包括阵列排布的多个可控概率单元,多个可控概率单元中的每个可控概率单元在接收到电平信号的情况下根据电平信号的大小发生对应概率的翻转,该装置包括如下模块。
9、接收模块,用于接收待计算问题的计算数据。
10、qubo矩阵计算模块,用于获得计算数据对应的qubo矩阵。
11、电平数值计算模块,用于根据qubo矩阵、以及开始求解待计算问题后在本地存储的上一次n个设定周期内的可控概率器件中各可控概率单元的自旋状态,获得模拟电平数值;自旋状态包括:发生翻转和未发生翻转;n为正整数。
12、自旋矩阵获得模块,用于在计算数据中参数的参数数量大于可控概率器件中多个可控概率单元的第一总行数或第一总列数的情况下,根据参数数量获得自旋矩阵;自旋矩阵的第二总行数和第二总列数均与参数数量相等。
13、复用模块,用于根据自旋矩阵中各矩阵元素,对可控概率器件进行复用;其中,复用包括:在自旋矩阵中随机选择目标矩阵元素;以及根据目标矩阵元素在自旋矩阵中所处于的第一行数和第一列数,在可控概率器件中确定目标矩阵元素对应的目标可控概率单元;以及将模拟电平数值对应的模拟电平信号输入目标可控概率单元;目标矩阵元素为自旋矩阵的所有矩阵元素中任一;目标可控概率单元为多个可控概率单元中任一。
14、缓存模块,用于每隔设定周期缓存可控概率器件中目标可控概率单元的自旋状态,以及每缓存n个设定周期后将所缓存的目标可控概率单元的自旋状态存储在本地。
15、存储模块,用于存储来自缓存模块的n个设定周期内的可控概率器件中各可控概率单元的自旋状态。
16、判断模块,用于根据本地存储的本次n个设定周期以及上一次n个设定周期内可控概率器件中所有可控概率单元的自旋状态,判断可控概率器件中所有可控概率单元的自旋能量是否不再发生变化。
17、处理模块,用于在确定自旋能量发生变化的情况下,重新执行复用模块中在自旋矩阵中随机选择目标矩阵元素及其后续模块中各模块的功能。
18、处理模块,用于在确定自旋能量不再发生变化的情况下,根据自旋矩阵中各矩阵元素对应的目标可控概率单元的自旋状态以及基于每次存储的目标矩阵元素的位置得到的各矩阵元素的位置,输出自旋矩阵对应的自旋状态阵列。
19、求解模块,用于根据自旋转状态阵列,获得待计算问题的解。
20、本发明还提供一种模拟退火装置,包括:可控概率器件以及如上述的基于可控概率器件的模拟退火装置。可控概率器件包括阵列排布的多个可控概率单元,多个可控概率单元中的每个可控概率单元在接收到电平信号的情况下根据电平信号的大小发生对应概率的翻转。
21、根据本发明提供的模拟退火装置,多个可控概率单元阵列排布的多个可控概率单元中,每一行的可控概率单元的数量和每一列的可控概率单元的数量均为n,n为正整数且n大于或等于2。
22、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于可控概率器件的模拟退火方法。
23、本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于可控概率器件的模拟退火方法。
24、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于可控概率器件的模拟退火方法。
25、本发明提供的基于可控概率器件的模拟退火方法及装置,通过接收待计算问题的计算数据;获得计算数据对应的qubo矩阵;根据qubo矩阵、以及开始求解待计算问题后在本地存储的上一次n个设定周期内的可控概率器件中各可控概率单元的自旋状态,获得模拟电平数值;自旋状态包括:发生翻转和未发生翻转;n为正整数;在计算数据中参数的参数数量大于可控概率器件中多个可控概率单元的第一总行数或第一总列数的情况下,根据参数数量获得自旋矩阵;自旋矩阵的第二总行数和第二总列数均与参数数量相等;根据自旋矩阵中各矩阵元素,对可控概率器件进行复用;其中,复用包括:在自旋矩阵中随机选择目标矩阵元素;以及根据目标矩阵元素在自旋矩阵中所处于的第一行数和第一列数,在可控概率器件中确定目标矩阵元素对应的目标可控概率单元;以及将模拟电平数值对应的模拟电平信号输入目标可控概率单元;目标矩阵元素为自旋矩阵的所有矩阵元素中任一;目标可控概率单元为多个可控概率单元中任一;每隔设定周期缓存可控概率器件中目标可控概率单元的自旋状态,每缓存n个设定周期后将所缓存的目标可控概率单元的自旋状态以及目标矩阵元素的位置存储在本地;根据本地存储的本次n个设定周期以及上一次n个设定周期内可控概率器件中所有可控概率单元的自旋状态,判断可控概率器件中所有可控概率单元的自旋能量是否不再发生变化;在确定自旋能量发生变化的情况下,重新执行根据自旋矩阵中各矩阵元素,对可控概率器件进行复用及其后续步骤;在确定自旋能量不再发生变化的情况下,根据自旋矩阵中各矩阵元素对应的目标可控概率单元的自旋状态以及基于每次存储的目标矩阵元素的位置得到的各矩阵元素的位置,输出自旋矩阵对应的自旋状态阵列;根据自旋转状态阵列,获得待计算问题的解。本发明能够基于对可控概率器件的复用策略,在可控概率器件中仅需设计较小规模的多个可控概率单元,便可以对基于较大参数数量得到的自旋矩阵进行计算,最终获得待计算问题的解。由此可见,本发明能够解决现有技术中计算组合优化问题时由于参数数量巨大导致计算成本高昂的缺陷,实现对组合优化问题快速求解的同时降低计算成本的目的。
1.一种基于可控概率器件的模拟退火方法,其特征在于,所述可控概率器件包括阵列排布的多个可控概率单元,所述多个可控概率单元中的每个可控概率单元在接收到电平信号的情况下根据所述电平信号的大小发生对应概率的翻转,所述方法包括:
2.根据权利要求1所述的基于可控概率器件的模拟退火方法,其特征在于,所述根据所述目标矩阵元素在所述自旋矩阵中所处于的第一行数和第一列数,在所述可控概率器件中确定所述目标矩阵元素对应的目标可控概率单元,包括:
3.根据权利要求1所述的可控概率器件的模拟退火方法,其特征在于,所述待计算问题为组合优化问题。
4.一种基于可控概率器件的模拟退火装置,其特征在于,所述可控概率器件包括阵列排布的多个可控概率单元,所述多个可控概率单元中的每个可控概率单元在接收到电平信号的情况下根据所述电平信号的大小发生对应概率的翻转,所述装置包括:
5.一种模拟退火装置,其特征在于,包括:可控概率器件以及如权利要4所述的基于可控概率器件的模拟退火装置;
6.根据权利要求5所述的模拟退火装置,其特征在于,所述多个可控概率单元所述阵列排布的多个可控概率单元中,每一行的所述可控概率单元的数量和每一列的所述可控概率单元的数量均为n,n为正整数且n大于或等于2。
7.根据权利要求6所述的模拟退火装置,其特征在于,n的取值为4。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述基于可控概率器件的模拟退火方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述基于可控概率器件的模拟退火方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述基于可控概率器件的模拟退火方法。