CN116457780A - 信息处理装置、信息处理方法和信息处理*** - Google Patents
信息处理装置、信息处理方法和信息处理*** Download PDFInfo
- Publication number
- CN116457780A CN116457780A CN202180077799.2A CN202180077799A CN116457780A CN 116457780 A CN116457780 A CN 116457780A CN 202180077799 A CN202180077799 A CN 202180077799A CN 116457780 A CN116457780 A CN 116457780A
- Authority
- CN
- China
- Prior art keywords
- decoding
- information
- unit
- processing
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 142
- 238000003672 processing method Methods 0.000 title claims description 10
- 238000012545 processing Methods 0.000 claims abstract description 246
- 238000005457 optimization Methods 0.000 claims abstract description 221
- 239000000284 extract Substances 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims description 214
- 239000011159 matrix material Substances 0.000 claims description 211
- 230000008569 process Effects 0.000 claims description 152
- 230000005366 Ising model Effects 0.000 claims description 121
- 238000006243 chemical reaction Methods 0.000 claims description 58
- 238000004891 communication Methods 0.000 claims description 36
- 238000003860 storage Methods 0.000 claims description 34
- 238000007476 Maximum Likelihood Methods 0.000 claims description 32
- 230000006870 function Effects 0.000 description 175
- 238000000137 annealing Methods 0.000 description 54
- 230000015654 memory Effects 0.000 description 47
- 238000010586 diagram Methods 0.000 description 28
- 230000005283 ground state Effects 0.000 description 28
- 238000004364 calculation method Methods 0.000 description 27
- 238000011161 development Methods 0.000 description 27
- 238000012546 transfer Methods 0.000 description 22
- 238000012986 modification Methods 0.000 description 17
- 230000004048 modification Effects 0.000 description 17
- 238000005259 measurement Methods 0.000 description 16
- 239000013598 vector Substances 0.000 description 15
- 108010076504 Protein Sorting Signals Proteins 0.000 description 14
- 238000000605 extraction Methods 0.000 description 10
- 230000014509 gene expression Effects 0.000 description 9
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 7
- 238000013459 approach Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000002591 computed tomography Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 238000005549 size reduction Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000002595 magnetic resonance imaging Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 239000013585 weight reducing agent Substances 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000002922 simulated annealing Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 239000003302 ferromagnetic material Substances 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/60—Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Algebra (AREA)
- Computational Linguistics (AREA)
- Operations Research (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Error Detection And Correction (AREA)
Abstract
根据本公开的信息处理装置包括至少两个处理器,所述至少两个处理器从输入到***的第一信息中提取被定制为组合优化问题的处理所需的第二信息、接收提取的第二信息的输入并计算组合优化问题的目标函数并且接收目标函数的输入并输出组合优化问题的解。所述至少两个处理器中的一个处理器是输出组合优化问题的解的处理器。
Description
技术领域
本公开涉及信息处理装置、信息处理方法和信息处理***。
背景技术
量子退火已经被认为是对难以计算的组合优化进行加速的计算方法。例如,已经提供用于通过使用量子退火高速实现被称为难以计算的组合优化问题中的一个的块码的最大似然解码的方法(例如,非专利文献1)。
引文列表
非专利文献
非专利文献1:"Maximum Likelihood Channel Decoding with QuantumAnnealing Machine"Naoki Ide,Tetsuya Asayama,Hiroshi Ueno,Masayuki Ohzeki<Internet>https://arxiv.org/abs/2007.08689(2020年11月9日搜索)
发明内容
技术问题
例如,根据非专利文献1,块码的最大似然解码可以被转换为通过量子退火处理的Ising模型的基自旋搜索问题。因此,根据非专利文献1,能够通过使用量子退火加速难以计算的最大似然解码。
然而,当前可用的实际量子退火机器,即量子退火机需要具有极低的温度环境作为操作环境。出于这种原因,需要大规模的冷却***,并且,难以在例如移动终端中使用冷却***。
当前量子退火机仅在低温下运行的原因是,量子退火机需要超导器件以实现Ising模型的自旋。然而,根据非专利文献1中的方法,只需要能够以高速实现Ising模型的自旋基态,并且,不总是需要使用需要超导器件的量子退火。
因此,本公开提出使得能够在不使用量子退火的情况下搜索Ising模型的自旋基态的信息处理装置、信息处理方法和信息处理***。
问题的解决方案
根据本公开,信息处理装置包括至少两个处理器,所述至少两个处理器从输入到***的第一信息中提取被定制为组合优化问题的处理所需的第二信息,接收提取的第二信息的输入并计算组合优化问题的目标函数,并且接收目标函数的输入并输出组合优化问题的解,其中,所述至少两个处理器中的一个处理器是输出组合优化问题的解的处理器。
附图说明
图1是示出本公开的信息处理的过程的示例的流程图。
图2是示出用于伪信号生成的处理过程的示例的流程图。
图3是示出用于伪奇偶校验矩阵生成的处理过程的示例的流程图。
图4是示出解码处理的第一示例的示图。
图5是示出解码处理的第二示例的示图。
图6是示出信息处理***的构成的示例的示图。
图7是示出应用本公开的信息处理的第五实施例的示图。
图8是示出应用本公开的信息处理的接收器的构成的示例的示图。
图9是示出应用本公开的信息处理的第六实施例的示图。
图10是示出应用本公开的信息处理的构成的示例的示图。
图11是示出应用本公开的信息处理的第七示例的示图。
图12是示出量子退火机的构成示例的示图。
图13是示出用户界面的示例的示图。
图14是示出用户界面的示例的示图。
图15是示出用户界面的示例的示图。
图16是示出用户界面的示例的示图。
图17是示出本公开的信息处理装置的构成示例的示图。
图18是示出实现信息处理装置等的功能的计算机的示例的硬件构成图。
具体实施方式
下面参照附图详细说明本公开的实施例。注意,根据本申请的信息处理装置、信息处理方法和信息处理***不受实施例的限制。在以下实施例中的每一个中,相同的部分由相同的附图标记和符号表示,以省略冗余描述。
根据以下描述的项目的顺序,说明本公开。
1.第一实施例(数学说明)
1-1.Ising模型
1-2.将Ising模型转换为QUBO
1-3.QUBO的解码算法中的解
1-3-1.将QUBO转换为解码问题
1-3-2.解码算法
1-3-2-1.变量节点处理
1-3-2-2.检查节点处理
1-3-2-3.解码位的输出
1-3-3.伪解码处理的轻量化
1-3-3-1.利用QUBO的对称性的尺寸减小
1-3-3-2.BP解码处理的变更例
2.第二实施例
2-1.Ising解码器
2-1-1.Ising模型-QUBO转换
2-1-2.QUBO-解码问题转换
2-1-2-1.伪信号生成
2-1-2-2.伪奇偶校验矩阵生成
2-1-2-3.BP解码
2-1-2-4.第一示例的BP解码
2-1-2-5.第二示例的BP解码
2-1-2-6.自旋变量确定
3.第三实施例
3-1.主函数
3-2.Ising模型-QUBO转换
3-3.QUBO-解码问题转换
3-4.第一示例的BP解码
3-5.第二示例的BP解码
4.第四实施例
4-1.信息处理***示例
4-2.应用CPU
4-3.组合优化存储器
4-4.组合优化处理CPU
4-5.Ising解码器
4-6.解码处理存储器
5.第五实施例
6.第六实施例
7.第七实施例
7-1.计算机示例
7-2.用户界面
8.信息处理装置的构成示例
9.其它配置示例等
9-1-1.变更例
9-1-2.位翻转
9-2-1.处理器
9-2-2.多处理器的具体示例
9-3.其它
10.根据本公开的效果
11.硬件构成
[1.第一实施例(数学说明)]
首先,在说明诸如本公开的信息处理装置的装置的构成和处理之前,说明根据本公开的用于执行数学说明的第一实施例。在以下技术说明中,适当地省略相关技术的说明。
[1-1.Ising模型]
首先,将量子退火实现为硬件的量子退火机是将组合优化问题作为Ising模型的基态搜索问题来解决的计算机。注意,参照图12等详细说明量子退火机的装置构成的示例。
Ising模型是用于通过利用能量最小化原理说明铁磁性相变的数学模型。尽管省略了详细的说明,但Ising模型是被提议为用于模拟铁磁材料(磁体)的相变现象的物理模型。通常通过由下式(1)表示的函数表示Ising模型的能量。
这里,Ising模型的自旋变量s∈{-1,1}N是二元变量。Jij是表示结合能的系数,hk是表示局部磁场的系数。在量子退火中,人工配置对应于组合优化问题的Ising模型,并且,从Ising模型的自旋的基态中获得组合优化问题的解。
然而,这里可以处理的组合优化的目标函数需要采用上面说明的函数的形式(例如,式(1))。即,未知变量为-1或1,并且,目标函数由未知变量的二次项或较低项表示。
如果目标函数采用这种形式,即由未知变量的二次项或较低项表示的形式,则可以提取一次项和二次项的系数作为Ising模型的系数。然后,当获得的Ising模型的系数被输入到量子退火机时,量子退火机输出对应Ising模型的基态的自旋变量阵列。自旋变量的解可以被用作原始组合优化问题的解。
虽然目标函数的这种组合优化问题乍看似乎非常有限,但在实践中,许多问题已经能够被转化为Ising模型的形式,并且已被应用于Ising模型的形式。例如,可以转换成Ising模型形式的问题的示例包括旅行推销员问题和着色问题。
为了有效地利用资源,诸如如上面描述的那样转换成Ising模型形式的问题,作为量子退火的替代,提供求解应用于Ising模型的形式的组合优化问题的方法。
首先,作为该方法的示例,说明使用二元码的解码算法的情况。在下面的说明中,说明了用二元码解码算法求解Ising模型的基搜索的方法。
[1-2.将Ising模型转换为QUBO]
以下说明将Ising模型转换为QUBO。QUBO是二次无约束二元优化的缩写。例如,本公开的要旨是用二元码的解码算法求解对应于原始组合优化问题的Ising模型的基搜索问题。
为了处理二元码的解码算法,使用处理二元变量的QUBO作为起点比使用处理自旋变量的Ising模型更方便。因此,首先,将Ising模型转换为QUBO。例如,QUBO意味着如下式(2)所示的那样获得用于最小化目标函数的二元变量z∈{0,1}N的解。
这里,二元变量和自旋变量可以如下式(3)所示的那样被关联。
s=1-2z (3)
如果使用式(3)所示的关系,则例如,如下式(4)所示,Ising模型的能量函数可以等效地被转换为QUBO的目标函数。
即,Ising模型的能量函数可以通过如下式(5)所示的系数之间的转换被转换为QUBO的目标函数。
在本公开中,通过求解具有从Ising模型的系数转换的系数的QUBO,实现Ising模型的基态搜索。注意,QUBO的系数qij可以被视为方阵Q=(qij)的ij分量。因此,QUBO的目标函数可以由下式(6)表示。
L(z)=zTQz (6)
从公式的对称性,下式(7)也成立。
即,作为QUBO的系数矩阵,可以使用下式(8)所示的矩阵。
由于下式(8)所示的矩阵是对称矩阵,因此该矩阵有利于减少计算等。在下面的示例中,假设使用转换为对称矩阵的系数矩阵作为QUBO的系数矩阵。
[1-3.QUBO的解码算法的解]
如上所述,通过量子退火执行的Ising模型的基搜索等价于QUBO。在下面的说明中,说明用二元码解码算法求解QUBO的点。例如,本公开的目的是利用二元码的解码算法实现Ising模型的基搜索。这可以被重新表述为QUBO实现二元码解码算法。
以下的处理被说明为用于将QUBO应用于二元码解码算法的处理(也称为“算法应用处理”)。首先,在算法应用处理中,QUBO被转换为二元码的最大似然解码的问题。然后,在算法应用处理中,通过例如使用置信传播方法(也称为“BP”)的解码算法(也称为“BP解码”),近似求解最大似然解码。
[1-3-1.QUBO转换为解码问题]
首先,说明用于将QUBO转换为二元码解码问题的点。QUBO被转换为二元码解码问题,特别是最大似然解码问题。二元码解码问题是在给定奇偶校验矩阵和信号串的条件下基于信号串搜索用于最小化似然性的位串的问题。
例如,在作为非专利文献1的相关技术的“Maximum Likelihood ChannelDecoding with Quantum Annealing Machine(日语翻译:通过量子退火的信道最大似然解码):<https://arxiv.org/abs/2007.08689>”中,它是消除在代码理论中经常出现的mod2(模2)的关键。另一方面,在下面的说明中,通过将mod2的要素引入QUBO中,QUBO接近解码问题。
具体而言,使用由“2zizj=zi+zj-mod2(zi+zj)”(也称为“关系表达式”)表示的关系以生成编码/解码技术的似然性。通过列出zi和zj的四个组合,可以很容易地检查该关系表达式本身。注意,mod2(z)通常被写为z mod2,但在这里,在假设mod2(z)是函数的情况下书写mod2(z)。
当通过使用该关系表达式转换QUBO的目标函数时,目标函数可以被转换为如下式(9)所示的平方误差和的形式。
然而,这里,通过使用qij=qji将目标函数转换为下式(10)、(11)和(12)。
这里,通过排列ri(i=1…N)形成的N维向量被称为第一伪信号串r1,并且,通过排列rij(i,j=1…N)形成的M=N2维向量被称作第二伪信号串r2。并且,通过排列这两个伪信号串获得的向量被简称为伪信号串r。
r1=[r1,r2...rN]T (13)
r2=[r11,r12...rNN]T (14)
这里,重新引入辅助变量作为zij=mod2(zi+zj),使得以等价格式表示两个引入的伪信号串的平方误差和。此时,辅助变量zij也是只取0和1中的一个的二元变量。作为结果,目标函数被转换为如下式(16)所示的平方误差和的形式。
根据公式(16)的描述,在目标函数中,第一伪信号串和第二伪信号串的要素分别由来自第一代码串和第二代码串的要素的平方误差表示。这里,通过排列期望被优化的二元变量zi(i=1…N)形成的N维向量被称为第一代码串,并且,通过排列辅助变量zij(i,j=1…N)形成的M=N2维向量被称作第二代码串。例如,下式(17)表示第一代码串,式(18)表示第二代码串。
x1=[z1,z2...zN]T (17)
x2=[z11,z12…zNN]T (18)
并且,通过排列这两个代码串(第一代码串和第二代码串)获得的向量被简单地称为代码串。下式(19)表示代码串。
目标函数的该最小化采用最小二乘法的形式。换句话说,这相当于最大似然解码(在通信路径的噪声恒定的情况下)。然而,在该目标函数中,当zij和zi、zj被独立优化时,有时选择不满足zij=mod2(zi+zj)约束的解。因此,为了采取满足约束的行动,例如,如式(20)所示,将惩罚项“mod2(zi+zj+zij)”添加到原始目标函数L(z)。通过检查zi、zj的四个组合可以容易地确认,该惩罚项在约束zij=mod2(zi+zj)得到满足时为0,否则为1,即,在满足约束时最小。
为了优先满足约束,式(20)中的参数λ值被设定为例如大于1的值。
这里,mod2(zi+zj+zij)由奇偶校验矩阵表示,该矩阵通常出现在代码中。假设M=N2,K=N+M,则M×K的二元矩阵H被配置为稀疏矩阵,其中,第Ni+j行的i、j列和N+Ni+j列为1,其余为0。例如,当N=3时,稀疏矩阵是如下式(21)所示的矩阵。
该二元矩阵由M×N第一二元稀疏矩阵和M×N2第二二元稀疏矩阵(换句话说,单位矩阵)构成。这里,M×K二元稀疏矩阵H被称为伪奇偶校验矩阵。使用上面说明的伪信号串和伪奇偶校验矩阵,可以如下式(22)所示的那样表示QUBO的目标函数。
当λ足够大时,可以如下式(23)所示的那样表示该目标函数最小化问题。
即,这是奇偶约束最大似然解码。如上所述,代码的解码问题是使用奇偶校验矩阵的奇偶约束最大似然解码问题。奇偶校验矩阵可以根据目标函数的系数构成,或者可以从诸如数据库的预定存储设备读取。这里,由于奇偶校验矩阵H是稀疏矩阵,因此,对应于码字的x可以被视为使用稀疏奇偶校验矩阵的稀疏奇偶校验码(LDPC)的码字。因此,通过应用LDPC的BP解码算法近似地获得最大似然解码的解x。例如,利用置信传播方法的解码处理是对低密度奇偶校验码的解码处理。获得的解x的前导N位是二元变量z。因此,这(即,获得的解x的前导N位)被视为QUBO的最优解z*。注意,由于该解是二元变量,因此,二元变量如下式(24)所示的那样被转换为Ising模型的基态中的自旋变量。
s*=1-2z* (24)
[1-3-2.解码算法]
在下面的说明中,以利用置信传播(BP)方法的解码算法(也称为“BP解码算法”)为例进行说明。一般地,最大似然解码(例如,块码的最大似然解码)是已知的解码方法,特别是当码长较长时,这种解码方法导致组合***,并且在实际时间内难以实现。另一方面,已知当码长变长(例如,1000位或更多)时,BP解码在在实际时间内执行解码的同时接近最大似然解码的性能。即,当变量的数量相对较大时,通过用BP解码代替最大似然解码,可以在实际时间内获得与最大似然解码等价的性能。
然而,奇偶校验矩阵的结构必须满足某些条件。例如,奇偶校验矩阵的结构必须满足以下两个条件。第一条件是奇偶校验矩阵是稀疏矩阵。例如,第一条件是在奇偶校验矩阵的各行和各列中非零分量的数量为10或更少。
第二条件是在因子图中没有短循环。例如,第二条件是在因子图中没有长度为4或5的循环。
由于BP解码算法在各种文献中被介绍并且是已知技术,因此省略其详细说明。仅简要说明BP解码算法。在下面的说明中,说明被称为对数域和积方法的算法的处理过程。
下面说明的算法为例如用于执行下面说明的过程#1-1~#1-6的算法。
-过程#1-1.输入接收信号r、估计噪声强度σ和奇偶校验矩阵H
-过程#1-2.初始化消息α和β
-过程#1-3.执行变量节点处理:(H,r,σ,β)→α
-过程#1-4.执行检查节点处理:(H,σ)→β
-过程#1-5.重复过程1-3至过程1-4,直到过程1-3至过程1-4收敛或达到指定次数
-过程1-6.输出位串m:(H,r,σ,α)→m
[1-3-2-1.变量节点处理]
下面说明与过程#1-1至过程#1-6有关的各种类型的处理。首先,说明变量节点处理。变量节点处理起到将从信号获得的信息嵌入消息中的作用。在对数域和积方法中,首先,接收信号r被转换为对数奇数λ并且被处理。奇数表示是关于代码0的噪声被添加到接收信号还是噪声被添加到代码1的概率(后验概率)的比率。此时,假设噪声是具有标准偏差σ的高斯噪声,则如下式(25)所示的那样计算对数奇数。
当噪声强度未知时,例如,约1的值可以被设定为对数奇数。基于下式(26)和(27),变量节点处理更新消息α。
注意:δi是初始值0。注意,在正常对数域算法中,输入β并且输出α,但是,在本公开中,为了便于实现,输入β和δ并且输出α和γ。
[1-3-2-2.检查节点处理]
随后,说明检查节点处理。检查节点处理起到将奇偶约束的条件嵌入消息中的作用。基于下式(28)和(29),检查节点处理更新消息β。
βji=γj-αij (28)
注意,如在变量节点处理中那样,在本公开中,为了便于实现,输入α和γ并且输出β和δ。
[1-3-2-3.解码位的输出]
随后,说明解码位的输出。在以适当的次数重复以上说明的处理之后执行解码位的输出。如果以适当的次数重复以上说明的处理,则计算同时考虑信号和奇偶约束的对数奇数γj。
排除奇偶部分的对数奇数取正值或负值。正值对应于原始符号位0,负值对应于1。在以上说明的处理中,可以通过使用奇偶校验矩阵的稀疏性减少存储器和计算次数。例如,如在稀疏矩阵操作中那样,通过在存储器中仅存储指数和非零要素的值并且仅对非零要素进行乘法和加法,可以减少存储器和计算次数。
[1-3-3.伪解码处理的轻量化]
在以上说明的方法中,随着二元变量的数量增加,伪信号串的大小与数量的平方成比例增加,并且,伪奇偶校验矩阵的大小与数量的四次方成比例增加。
因此,通过一些设计减小伪信号和伪奇偶校验矩阵的大小。这里,通过以下设计#1和#2实现解码处理的轻量化。
-设计#1.利用QUBO的对称性的尺寸减小
-设计#2.利用伪奇偶校验矩阵的特定结构的BP解码处理的变更
[1-3-3-1.利用QUBO的对称性的尺寸减小]
首先,说明利用QUBO的对称性的尺寸减小。如果再次检查QUBO的目标函数,即使二元变量的乘积顺序被替换,目标函数也不变。因此,即使系数矩阵的转置矩阵用于系数矩阵,解也不改变。并且,即使目标函数如下式(30)所示的那样被变换,解也不改变。
因此,引入下式(31)所示的系数矩阵作为新的系数矩阵。
由于该系数矩阵是对称矩阵,因此获得如下公式(32)所示的减少乘法和加法的次数的目标函数。然而,这里,在式(20)之后,引入zij作为期望满足zij=mod2(zi+zj)的变量,并且不满足该约束的情况下的惩罚项由第二项表示。
然而,在第二行的公式变形中,使用了zii=mod2(zi+zi)=0。这里,使用下式(33)、(34)和(35)。
利用QUBO系数矩阵的对称性的伪信号串和伪奇偶校验矩阵是通过从不利用对称性的原始伪奇偶校验阵列跳过一些行和列获得的向量或矩阵。
首先,由于原始伪奇偶校验矩阵的第Ni+1行是对应于系数矩阵Q的对角分量的行,因此第Ni+1列不是二次项,并因此可以被省略。类似地,第N+Ni+1列也可以被省略。
随后,可以从系数矩阵Q的对称性省略第Ni+j行和第Nj+i行中的一个(例如,较小的一个)。在这种情况下,省略与其对应的第N+Ni+j列和第N+Nj+i列中的一个,并且对于r和x,还省略与其对应的第N+Ni+j行和第N+Nj+i行的一个。类似地,假设这里跳过的列的指数也在伪信号串中被跳过。
如上所述,可以看出,9行12列的矩阵H3可以是由下式(36)指示的3行6列的矩阵。
例如,即使在通用矩阵的情况下,如下式(37)和(38)所示,行数和列数也减少。
因此,可以看出,尺寸可以减小到原始尺寸的1/4或更小。并且,对于其中qij=0的i和j,可以省略Ni+j行。类似地,可以省略第N+Ni+j列,但在这种情况下,r和x的第N+Ni+j行也被省略。
[1-3-3-2.BP解码处理的变更例]
随后,说明利用伪奇偶校验矩阵的特定结构的BP解码处理的变更例。如上所述,伪奇偶校验矩阵是对应于第一位串的第一二元矩阵和对应于第二位串的第二二元矩阵在行方向上连接的矩阵。第二二元矩阵是矩阵大小的主要部分,但这里是单位矩阵。
通过使用该方法,能够减少存储器并提高BP解码处理的速度。这里,对于具有K=N+M个维度的所有变量,下标(1)和(2)(上标字符(1)、(2))分别分配给N个部分和M个部分,并且,说明其处理(以下也称为“变形处理”)。注意,由于变形处理是上述解码算法的变更例,因此适当地省略对相同点的说明。
变形处理的算法为例如执行以下过程#2-1至#2-6的算法。
-过程#2-1.输入接收信号r、噪声参数σ和奇偶校验矩阵H的核心Hc
-过程#2-2.执行变量节点处理:(H,r,σ,α(1),α(2))→β(1),β(2)
-过程#2-3.执行检查节点处理:(H,β(1),β(2))→α(1),α(2)
-过程#2-4.重复过程#2-2至过程#2-3,直到满足指定条件并且输出位串m:(H,r,σ,α)→m
通过使用例如下式(39)和(40)执行变形处理的变量节点处理。
通过使用例如下式(41)执行变形处理的检查节点处理。
[2.第二实施例]
随后,作为第二实施例,说明关于本公开的处理的示例和用于执行该处理的模块构成。
[2-1.Ising解码器]
作为执行关于本公开的处理的装置的示例,说明Ising解码器。Ising解码器是接收Ising模型的系数矩阵作为输入并且输出基态下的自旋变量的解的计算机。例如,Ising解码器可以是下面说明的信息处理装置100。在下面的说明中,用于输入Ising模型的系数矩阵并输出基态下的自旋变量的解的处理有时被称为Ising解码处理。
Ising解码器执行Ising模型到QUBO转换(以下也称为“Ising模型-QUBO转换”)、QUBO到解码问题转换单元(以下也称“QUBO-解码问题转换”)、BP解码和变量转换的处理。例如,Ising解码器包括执行Ising模型QUBO转换的Ising模型-QUBO转换单元、执行QUBO-解码问题转换的QUBO-解码问题转换单元、执行BP解码的BP解码单元和执行变量转换的变量转换单元。注意,上面说明的模块构成(块构成)仅仅是示例。Ising解码器的模块构成可以是任何构成。
参考图1说明根据本公开的信息处理的流程。图1是示出本公开的信息处理的过程的示例的流程图。在下面的说明中,作为示例说明Ising解码器执行图1所示的各种类型的处理的情况。注意,下面说明的各种类型的处理不限于步骤编号的顺序,并且如果可以执行处理,则可以以任何顺序执行。首先,参照图1说明整个处理的概要,然后说明各种类型的处理的细节。
如图1所示,Ising解码器接收系数矩阵J和h的输入(步骤S1)。例如,Ising模型的系数矩阵被输入到Ising解码器。
然后,Ising解码器执行Ising模型-QUBO转换(步骤S2)。例如,Ising解码器执行用于用涉及系数矩阵和二元变量转换的处理将Ising模型转换为QUBO格式的处理。即,Ising模型-QUBO转换是用于将Ising模型的能量函数的系数转换为QUBO格式的目标函数的系数的处理。
然后,Ising解码器执行QUBO-解码问题转换(步骤S3)。例如,Ising解码器执行用于通过使用关于信号串、代码串和奇偶校验矩阵等的信息将QUBO格式转换为解码问题的格式的处理。即,QUBO-解码问题转换是基于QUBO格式的目标函数将信号串转换为等价于组合优化问题的代码的解码问题的输入信号串的处理。
然后,Ising解码器执行BP解码(步骤S4)。例如,Ising解码器执行作为使用置信传播方法的解码算法的BP解码。然后,Ising解码器确定自旋变量(步骤S5)。例如,Ising解码器通过使用关于组合变量的信息来确定自旋变量。即,BP解码是用于基于输入信号串处理解码问题、获取代码串、将代码串转换为组合优化问题的解并输出该解的处理。例如,BP解码由利用置信传播方法的解码算法构成,并且基于利用置信传播方法的解码处理从输入信号串和奇偶校验矩阵中解码代码串。在后面说明BP解码的细节。
然后,Ising解码器输出自旋变量s(步骤S6)。作为输出模式的示例,例如,Ising解码器可以向另一装置(例如,图11中的终端51等)传送指示自旋变量s的信息,或者可以在屏幕(例如,图15中的显示单元150等)上显示指示自旋变量s的信息。注意,上面说明的输出模式仅仅是示例,并且,输出可以是处理结果的生成。在以下的说明中,说明图1所示的处理的各种类型的处理的细节。
[2-1-1.Ising模型-QUBO转换]
通过Ising模型-QUBO转换,输入Ising模型的系数矩阵J和h,并输出QUBO的系数矩阵Q。如果第ij分量被写为公式,则如下式(42)所示的那样表示第ij分量。
qij←4(δij-1)Jij+2hiδij (42)
这里,应用用于使矩阵对称的转换Q←(Q+tQ)/2,并且,如下式(43)所示的那样表示第ij个分量。
[2-1-2.QUBO-解码问题转换]
通过QUBO-解码问题转换,输入QUBO的系数矩阵,并且输出伪信号串r和奇偶校验矩阵H。QUBO-解码问题转换包括伪信号生成和伪奇偶校验矩阵生成的处理。在这种情况下,例如,QUBO-解码问题转换单元包括伪信号生成单元和伪奇偶校验矩阵生成单元。
[2-1-2-1.伪信号生成]
通过伪信号生成,输入QUBO系数矩阵并输出伪信号串。伪信号生成包括第一信号串生成、第二信号串生成和信号序列连接的处理。在这种情况下,例如,伪信号生成单元由第一信号串生成单元、第二信号串生成单元和信号序列连接构成。首先,参照图2说明伪信号生成的概要,并然后说明各种类型的处理的细节。图2是示出伪信号生成的处理过程的示例的流程图。在下面的说明中,作为示例说明Ising解码器的伪信号生成单元执行图2所示的各种类型的处理的情况。
如图2所示,Ising解码器的伪信号生成单元接收QUBO系数矩阵Q的输入(步骤S11)。例如,QUBO的系数矩阵被输入到伪信号生成单元。
然后,伪信号生成单元执行第一信号串生成(步骤S12)。伪信号生成单元执行第二信号串生成(步骤S13)。然后,伪信号生成单元执行序列连接(步骤S14)。然后,伪信号生成单元输出信号序列(步骤S15)。在以下的说明中,说明图2所示的处理的各种类型的处理的细节。
-第一信号串生成(第一信号串生成块)
通过第一信号串生成,输入QUBO系数矩阵Q并且输出第一信号串r1。这里,第一信号串r1是具有长度N的向量。如果第一信号串的第i分量被写为公式,则如下式(44)所示的那样表示第i分量。
-第二信号串生成(第二信号串生成块)
第二信号串生成块是通过第二信号串生成接收QUBO系数矩阵Q的输入并输出第二信号串r2的块。这里,第二信号串是具有长度M=N2的向量。如果第二信号串的第(i,j)分量被写为公式,则如下式(45)所示的那样表示第(i,j)分量。
或者,第二信号串可以是具有长度M=1/2N(N-1)的向量。如果这种情况下的第二信号串的第(i,j)(j<i)分量被写为公式,则如下式(46)所示的那样表示第(i,j)(j<i)分量。
或者,第二信号串可以是Q的非对角非零分量的个数的一半的向量。
-信号序列连接(信号序列连接块)
第一信号序列r1和第二信号序列r2通过信号序列连接被连接,并且,生成伪信号串r。以这种方式,第一信号序列r1和第二信号序列r2被连接以形成伪信号串r。
[2-1-2-2.伪奇偶校验矩阵生成]
通过伪奇偶校验矩阵生成,输入QUBO系数矩阵并输出伪奇偶校验矩阵。通过确保阵列存储器并代入值,构成伪奇偶校验矩阵。下面参照图3说明伪奇偶校验矩阵生成的概要。图3是示出伪奇偶校验矩阵生成的处理过程的示例的流程图。在下面的说明中,作为示例说明Ising解码器的伪奇偶校验矩阵生成单元执行图3所示的各种类型的处理的情况。
如图3所示,Ising解码器的伪奇偶校验矩阵生成接收大小为N的输入(步骤S21)。例如,QUBO的系数矩阵被输入到伪奇偶校验矩阵生成。然后,伪奇偶校验矩阵生成确保奇偶校验矩阵的存储器(步骤S22)。伪奇偶校验矩阵生成在奇偶校验矩阵中执行数值代入(步骤S23)。然后,伪奇偶校验矩阵生成执行奇偶校验矩阵的核心输出(步骤S24)。
下面说明用于生成伪奇偶校验矩阵的算法的示例。例如,伪奇偶校验矩阵是用于执行以下过程#3-1至#3-5的算法。
-过程#3-1.输入QUBO的系数矩阵Q
-过程#3-2.计算Q的非对角非零分量的个数2M
-过程#3-3.用M×N零矩阵初始化矩阵Hc
-过程#3-4.将循环变量k初始化为0并执行以下循环#3-4
(循环#3-4)
for i=1to N
for j=1to i-1
if Q[i][j]!=0:
Hc[k][i]=1
Hc[k][j]=1
k=k+1
-过程#3-5.输出伪奇偶校验矩阵H=[Hc,I(M)]
[2-1-2-3.BP解码]
通过BP解码,输入伪信号串r和伪奇偶校验矩阵H,并输出伪解码位串z。这里,对于解码使用利用置信传播方法(BP)的算法。注意,尽管这里使用词语“解码”,但可能不存在对应于被称为解码的处理的编码处理。在下面的说明中,分别参考附图说明BP解码的两个示例。
[2-1-2-4.第一示例的BP解码]
首先,说明第一示例。在第一示例中,BP解码执行对数奇数计算、变量节点处理、检查节点处理和位串提取处理。例如,BP解码单元包括执行对数奇数计算的对数奇数计算单元、执行变量节点处理的变量节点处理单元、执行检查节点处理的检查节点处理单元和执行位串提取的位串提取单元。注意,上面说明的块构成仅仅是示例,并且,BP解码的块构成可以是任何构成。
参照图4说明第一示例的BP解码的流程。图4是示出解码处理的第一示例的示图。在下面的说明中,作为示例说明Ising解码器的BP解码单元执行图4所示的各种类型的处理的情况。
如图4所示,Ising解码器的BP解码单元接收信号的输入(步骤S31)。例如,接收信号r和奇偶校验矩阵H被输入到BP解码单元。
然后,BP解码单元执行对数奇数计算(步骤S32)。例如,BP解码单元通过基于噪声模型计算代码奇数执行对数奇数计算。例如,BP解码单元从接收信号r计算对数奇数o。
然后,BP解码单元执行变量节点处理(步骤S33)。例如,BP解码单元通过计算置信度a执行变量节点处理。例如,BP解码单元通过从奇偶校验矩阵H、对数奇数o和置信度b计算置信度a执行变量节点处理。
BP解码单元执行检查节点处理(步骤S34)。例如,BP解码单元通过计算置信度b执行检查节点处理。例如,BP解码单元通过根据奇偶校验矩阵H和置信度a计算置信度b执行检查节点处理。BP解码单元重复执行步骤S33和步骤S34。
然后,BP解码单元执行位串提取(步骤S35)。例如,BP解码单元通过从对数奇数o和置信度a计算位串z来执行位串提取。在第一示例中,通过原样使用BP解码的构成来输入伪信号和伪奇偶校验矩阵,获取位串。
下面说明用于执行第一示例的BP解码的算法的示例。例如,第一示例的BP解码具有用于执行以下过程#4-1至#4-6的算法。
-过程#4-1.输入接收信号r和奇偶校验矩阵H
-过程#4-2.从接收信号r计算对数奇数o
-过程#4-3.初始化前后置信度a和b
-过程#4-4.变量节点处理:(H,o,b)->a
-过程#4-5.检查节点处理:(H,a)->b
-过程#4-6.指定条件重复和位串z输出:(o,a)->z
这里,伪奇偶校验矩阵是行重为3、列重为2的稀疏奇偶校验矩阵。因此,通过充分利用稀疏矩阵运算(将非零要素及其索引保存在存储器中并使用非零要素和索引进行运算)实现加速和存储器节省。因子图中循环的最小值为6,并且,大小相对较大且稀疏性也显著。因此,伪奇偶校验矩阵是可以期望良好解码性能的奇偶校验矩阵。
[2-1-2-5.第二示例的BP解码]
随后,说明第二示例。例如,第二示例是利用伪奇偶校验矩阵结构的BP解码。
在第二示例中,BP解码执行对数奇数计算、变量节点处理#1、变量节点处理器#2、检查节点处理X和位串提取处理。第二示例是伪奇偶校验矩阵的结构由两个矩阵构成的构成。例如,BP解码单元包括执行对数奇数计算的对数奇数计算单元、执行变量节点处理#1和变量节点处理#2的变量节点处理单元、执行检查节点处理X的检查节点处理单元以及执行位串提取的位串提取单元。注意,上面说明的块构成仅仅是示例,并且BP解码的块构成可以是任何构成。
参照图5说明第二示例的BP解码的流程。图5是示出解码处理的第二示例的示图。在下面的说明中,作为示例说明Ising解码器的BP解码单元执行图5所示的各种类型的处理的情况。注意,关于与图4所示的点相同的点,适当地省略说明。
如图5所示,Ising解码器的BP解码单元接收信号的输入(步骤S41)。例如,接收信号r1和r2以及校验矩阵Hc被输入到BP解码单元。
然后,BP解码单元执行对数奇数计算(步骤S42)。例如,BP解码单元从接收信号r1计算对数奇数o1。
然后,BP解码单元执行变量节点处理#1(步骤S43)。例如,BP解码单元通过计算置信度a1执行变量节点处理#1。例如,BP解码单元通过从校验矩阵Hc、对数奇数o1和置信度b1计算置信度a1执行变量节点处理#1。
然后,BP解码单元执行对数奇数计算(步骤S44)。例如,BP解码单元从接收信号r2计算对数奇数o2。
然后,BP解码单元执行变量节点处理#2(步骤S45)。例如,BP解码单元通过计算置信度a2执行变量节点处理#2。例如,BP解码单元通过从对数奇数o2和置信度b2计算置信度a2执行变量节点处理#2。
BP解码单元执行检查节点处理X(步骤S46)。例如,BP解码单元通过计算置信度b1和b2执行检查节点处理X。例如,BP解码单元通过从置信度a1和a2计算置信度b1和b2执行检查节点处理X。BP解码单元重复执行步骤S42至步骤S46。注意,步骤S42至步骤S46是用于说明各种类型的处理的步骤,并且如果处理是可能的,则可以以任何次序被执行。例如,步骤S44和S45中的处理可以与步骤S42和S43中的处理并行地被执行,或者可以比步骤S42和S43的处理更早地被执行。
然后,BP解码单元执行位串提取(步骤S45)。例如,BP解码单元通过从对数奇数o1和置信度a1计算位串z1即位串z执行位串提取。在第二示例中,信号和二元变量通过被分成从原始二元变量导出的变量和从两个二元变量对导出的变量被处理。
下面说明用于执行第二示例的BP解码的算法的示例。例如,第二示例的BP解码是用于执行以下过程#5-1至#5-7的算法。
-过程#5-1.输入接收信号r1和r2以及校验矩阵核心Hc
-过程#5-2.从接收信号r1和r2计算对数奇数o1和o2
-过程#5-3.初始化前后置信度a1、a2、b1和b2
-过程#5-4.变量节点处理#1:(H,o1,b1)->a1
-过程#5-5.变量节点处理#2:b1->a1
-过程#5-6.检查节点处理x:(a1,a2)->(b1,b2)
-过程#5-7.指定条件重复和位串z输出:(o1,a1)->z1(=z)
在第二示例的情况下,可以减少应该保留的存储器。在第二示例的情况下,可以减少出现零的运算。
[2-1-2-6.自旋变量测定]
通过自旋变量确定,输入解码位序列并输出自旋变量阵列。Ising解码器的自旋变量确定单元执行自旋变量确定。例如,自旋变量确定单元接收解码位序列z的输入并输出自旋变量阵列s=1-2z。
[3.第三实施例]
随后,作为第三实施例说明用于执行与本公开有关的处理的程序(函数)的示例。注意,下面说明的程序为例如用于执行在第二实施例中说明的各种类型的处理中的具有相同名称的各种类型的处理的程序。例如,下面说明的程序是用于执行上面说明的Ising解码处理的程序。例如,下面说明的程序由上面说明的Ising解码器(例如,信息处理装置100等)执行。
[3-1.主函数]
首先,以下说明主函数。下面说明的主函数是用于接收Ising模型的系数矩阵的输入并输出基自旋坐标的函数(程序)示例。
function ising_decoder(J,h):
Q=ising_to_qubo(J,h)
r,H=qubo_to_decodeing(Q)
z=bp(H,r)
s=1-2*z[1:N]
return s
作为主函数的上述“ising_decoder”是用于接收Ising模型的系数矩阵J和h作为输入并输出自旋变量s的函数(程序)。“ising_decoder”是用于执行Ising解码处理的主函数。
[3-2.Ising模型-QUBO转换]
随后,下面说明用于执行Ising模型-QUBO转换的函数(也称为“Ising模型-QUBO转换函数”)。下面说明的Ising模型-QUBO转换函数是用于接收Ising模型的系数矩阵的输入并输出QUBO的系数矩阵的函数(程序)示例。
function ising_to_qubo(J,h):
Q=-4J+diag(2h+4sum(J,axis=1))
Q=(Q+Q.transpose())/2
return Q
上面说明的函数diag(x)是用于形成具有输入向量x作为对角分量的对角矩阵的函数。例如,可以在作为编程语言python的库中的一个的numpy中使用函数diag(x)。sum(J,axis=1)是关于指定轴将矩阵J相加的函数。该函数也可以在numpy中使用。矩阵Q的成员函数transpose()是用于形成Q的转置矩阵的函数。如果Q是复数矩阵,则成员函数transpose()是用来形成Q的关联矩阵的函数。该函数也可以在numpy中使用。作为Ising模型-QUBO转换函数的上述“ising_to_qubo”是用于接收Ising模型的系数矩阵J和h作为输入和输出QUBO的系数矩阵Q的的函数(程序)。“ising_to_qubo”对应于在作为主函数的上述“ising_decoder”的第一行中描述的函数。
[3-3.QUBO-解码问题转换]
随后,下面说明用于执行QUBO-解码问题转换的函数(也称为“QUBO-解码问题转换函数”)。下面说明的QUBO-解码问题转换函数是用于接收QUBO的系数矩阵的输入并输出解码问题中的信号串、代码串和奇偶校验矩阵的函数(程序)示例。
function qubo_to_decoding(Q):
r1=1/2-2*sum(Q,axis=1)
r2=1/2*(1+Q)
r=concatenate(r1,r2)
H1=create_binary_matrix(Q)
H2=I(M)
H=concatenate(H1,H2)
return r,H
作为QUBO-解码问题转换函数的“qubo_to_decoding”是用于接收QUBO的系数矩阵Q作为输入并输出例如信号串r和奇偶校验矩阵H的函数(程序)。“qubo_to_decoding”对应于在作为主函数的“ising_decoder”的第二行中描述的函数。
[3-4.第一示例的BP解码]
随后,下面说明用于执行第一示例的BP解码的函数(也称为“第一示例的BP解码函数”)。下面说明的第一示例的BP解码函数是用于接收伪奇偶校验矩阵(下面说明的第一示例的BP解码函数中的H)和伪信号串(下面说明的第一示例的BP解码函数中的r)的输入并输出通过普通BP解码而被解码的代码串的函数(程序)示例。
function bp_decoding_v1(H,r):
lodds=calc_log_odds(r)
alpha=0s
for i=1to max_iteration
beta=update_check_node(H,lodds,alpha)
alpha=update_variable_node(H,beta)
z=get_solution(alpha)
return z
作为第一示例的BP解码函数的上述“bp_decoding_v1”为例如用于接收伪信号串r和伪奇偶校验矩阵H作为输入并输出位串z的函数(程序)。“bp_decoding_v1”是用作在作为主函数的上述“ising_decoder”的第三行中描述的函数“bp(H,r)”的函数。例如,当使用第一示例的BP解码函数(bp_decoding_v1)时,主函数“ising_decoder”中的函数“bp(H,r)”的描述更改为调整为“bp_decoding_v1”的描述(例如,“bp_decoding_v1(H,r)”)。
[3-5.第二示例的BP解码]
随后,下面说明用于执行第二示例的BP解码的函数(也称为“第二示例的BP解码函数”)。下面说明的第二示例的BP解码函数是用于接收伪奇偶校验矩阵的核心部分(下面说明的第二示例的BP解码函数中的Hc)和伪信号串(下面说明的第二实例的BP解码函数中的r1和r2)的输入并输出通过扩展BP解码而被解码的代码串的函数(程序)示例。
function bp_decoding_v2(Hc,r1,r2):
lodds1=calc_log_odds(r1)
lodds2=calc_log_odds(r2)
alpha=0s
for i=1to max_iteration
beta=update_check_node(Hc,lodds1,alpha)
alpha=update_variable_node_v2(Hc,lodds2,beta)
z=get_solution(alpha)
return z
作为第二示例的BP解码函数的上述“bp_decoding_v2”为例如用于接收伪信号串r1和r2以及伪奇偶校验矩阵的核心部分的矩阵Hc作为输入并输出位串z的函数(程序)。“bp_decoding_v2”是用作在作为主函数的“ising_decoder”的第三行中描述的函数“bp(H,r)”的函数。例如,当使用第二示例的BP解码函数(BP_decoding_v2)时,主函数“ising_decoder”中的函数“bp(H,r)”的描述更改为调整为“bp_decoding_v2”的描述(例如,“bp_decoding_v2(Hc,r1,r2)”)。
例如,信息处理装置100在存储单元120(参见图17)中存储上面说明的程序(函数)和由程序调用的程序(函数),并且通过使用程序执行处理。
[4.第四实施例]
作为第四实施例,说明***的总体图像。在以下的说明中,说明用于使用本公开的处理的应用的***总体图像。
[4-1.信息处理***示例]
首先,参照图6说明信息处理***1的构成。图6是示出信息处理***的构成的示例的示图。如图6所示,信息处理***1包括数据库2、CPU(中央处理单元)3、组合优化存储器4、组合优化处理CPU 5(也称为组合优化处理单元)、Ising模型存储器6、Ising解码器7和解码处理存储器8作为组件。在以下的说明中,组合优化存储器4、组合优化处理CPU 5和Ising模型存储器6有时统称为组合优化转换单元10。
注意,在信息处理***1中,数据库2、应用CPU 3、组合优化存储器4、组合优化处理CPU 5、Ising模型存储器6、Ising解码器7和解码处理存储器8的组件可以被配置为一个装置,或者可以被配置为多个装置。当组件被配置为一个装置时,例如,通过诸如总线的任何信号线可通信地连接组件。
当组件被配置为多个装置(以分布式方式布置)时,例如,组件通过有线或无线电经由预定通信网络(网络)可通信地连接。信息处理***1可以包括包含组合优化转换单元10的第一装置和包含Ising解码器7的第二装置。例如,信息处理***1可以包括三个装置:包含数据库2的数据服务器装置;包括应用CPU 3和组合优化转换单元10的第一装置(优化处理装置);以及包括Ising解码器7和解码处理存储器8的第二装置(例如,信息处理装置100)。注意,上面说明的构成仅仅是示例,并且可以采用任何构成作为信息处理***1的装置构成。
信息处理***1是用于实现包括组合优化的应用的***。应用的示例包括通信路径编码/解码、压缩感测和超分辨率。在这种情况下,包含于应用中的组合优化的类型分别是最大似然解码或l0范数最小化。下面说明信息处理***1的组件。
[4-2.应用CPU]
应用CPU 3是控制整个应用的CPU(处理设备)。注意,应用CPU 3不限于CPU,并且可以由例如诸如GPU(图形处理单元)的另一处理设备(处理器)或诸如ASIC(专用集成电路)或FPGA(现场可编程门阵列)的集成电路实现。
例如,当需要用于处理组合优化的处理时,应用CPU 3将信息写入组合优化存储器4中,并启动作为组合优化处理单元的组合优化处理CPU 5,以接收组合优化处理CPU5中的处理结果。
[4-3.组合优化存储器]
组合优化存储器4是存储由原始组合优化处理的信息(也称为“组合优化信息”)的存储器。组合优化存储器4由例如诸如RAM(随机存取存储器)或快擦写存储器的半导体存储元件或诸如硬盘或光盘的存储设备实现。
组合优化信息根据应用而不同,但例如是动态获得的数据和静态准备的数据。例如,在通信路径最大似然解码的应用的情况下,数据是接收信号,数据库是生成矩阵或奇偶校验矩阵。另外,在压缩感测应用的情况下,数据是来自传感器的信息,数据库是观察矩阵或字典矩阵等。
[4-4.组合优化处理CPU]
组合优化处理CPU 5用作组合优化处理单元,基于记录在组合优化存储器4中的信息计算Ising模型的系数信息,并将系数信息写入Ising模型存储器6中。注意,组合优化处理CPU 5不限于CPU,并且可以由例如诸如GPU的另一处理设备(处理器)或诸如ASIC或FPGA的集成电路实现。
组合优化处理CPU 5可以使用用于组合优化到已经研究的Ising模型中的转换处理方法的数据库(Ising模型的数据库)。在这种情况下,组合优化处理CPU 5可以简单地将预先在未示出的Ising模型等的数据库中列出(存储)的数据传递给其处理,并执行该处理。例如,组合优化处理CPU 5可以选择用于组合优化到存储在Ising模型的数据库中的Ising模型中的转换处理方法,并利用转换处理方法计算Ising模型的系数信息。
组合优化处理CPU 5启动Ising解码器7。然后,组合优化处理CPU 5从从Ising解码器7获得的自旋变量的组合获得原始组合优化问题的解,并返回应用CPU 3的解的结果。通过组合优化处理CPU 5的处理未必独立于通过应用CPU 3的处理。例如,应用CPU 3和组合优化处理CPU 5可以被集成。
[4-5.Ising解码器]
Ising解码器7执行如上所述的Ising解码处理的处理。Ising解码器7由例如CPU、GPU或FPGA实现。Ising解码器7不限于以上,并且可以由例如CPU和GPU以外的处理设备(处理器)或FPGA等实现。
Ising解码器7根据来自组合优化处理CPU 5的指令,获取(读取)记录在Ising模型存储器6中的Ising模型的系数矩阵。然后,Ising解码器7通过使用获取的Ising模型的系数矩阵执行解码算法处理,从获得的代码串生成自旋变量串,并将生成的自旋变量串返回到组合优化处理CPU 5。
具体地,Ising解码器7从Ising模型系数矩阵生成QUBO系数矩阵。然后,Ising解码器7从生成的QUBO系数矩阵生成伪奇偶校验矩阵和伪信号串。然后,Ising解码器7从生成的伪奇偶校验矩阵和生成的伪信号串解码代码串,并将解码的串设定为自旋变量的阵列。
Ising解码器7将中途生成的QUBO系数矩阵、伪奇偶校验矩阵和伪信号串写入并存储在Ising解码器的存储器中。由于伪奇偶校验矩阵是(相对)静态信息,因此伪奇偶校验矩阵可以作为预定信息从数据库读取。
[4-6.解码处理存储器]
Ising解码器7所需的QUBO系数矩阵、伪奇偶校验矩阵和伪信号串被存储(写入)在解码处理存储器8中。在BP解码处理中所需的中间变量被存储(写入)在解码处理存储器8中。解码处理存储器8由例如诸如RAM或快擦写存储器的半导体存储元件或诸如硬盘或光盘的存储设备实现。
[5.第五实施例]
随后,作为第五示例,说明与本公开有关的处理被用于通信路径编码/解码***1A的示例。首先,参照图7说明通信路径编码/解码***1A的概况。图7是示出应用本公开的信息处理的第五实施例的示图。例如,通信路径编码/解码***1A是应用信息处理***1的***的示例。
在图7所示的示例中,通信路径编码/解码***1A由将信息转换成信号序列并传送信号序列的传送器11和从信号序列恢复原始信息的接收器12构成。例如,传送器11将传送信息作为信号序列传送到接收器12,并从由接收器12接收的信号序列恢复原始信息作为接收信息。
传送器11包括信息块生成单元、消息生成单元、代码生成单元和信号传送单元。在传送器11中,信息块生成单元和消息生成单元(消息传送单元)将信息转换成消息的位串。代码生成单元将消息的转换位串转换成代码位串。信号传送单元对转换的代码位串应用调制等,并将代码位串传送到接收器12。
接收器12由信号接收单元、消息解码单元和信息恢复单元构成。信号接收单元将调制信号转换成基带信号。消息解码单元从基带信号恢复消息的位串。信息恢复信息恢复单元连接被块化的消息以恢复信息。注意,如果Reed-Solomon码或BCH码等是外码,则信息恢复单元可以对外码执行解码处理。
在第五实施例中,是接收器12的一部分利用了本公开的信息处理。参照图8对该点进行说明。图8是示出应用本公开的信息处理的接收器的构成的示例的示图。如图8所示,接收器12包括信号接收单元21、数据库22、用作消息解码单元的最大似然解码单元23、信息恢复单元24和组合优化加速器50。如上所述,图8是示出应用了本公开的信息处理的接收器12的构成的框图。
数据库22用作存储生成矩阵和奇偶校验矩阵等的存储设备(存储单元)。在图8中的组件中,作为信号接收单元21和信息恢复单元24,使用上述正常组件(信号接收单元和信息接收单元)。
另一方面,在消息解码单元中,这里使用最大似然解码,而不是通常和频繁使用的解码方法,例如置信传播解码。在图8中,描述为最大似然解码单元23的部分对应于消息解码单元。
根据上述非专利文献1,用作组合优化加速器的量子退火用于实现这种最大似然解码。根据上述的非专利文献1,存在从代码的生成矩阵导出的方法和从奇偶校验矩阵导出的方法,并且,作为Ising模型,如下式(47)所示的那样定义能量函数。例如,式(47)是能量函数从代码的生成矩阵导出的情况下的能量函数。
这里,式(47)中的σ是对应于消息位的自旋变量,并且,与具有长度M的消息位m具有如下式(48)所示的关系。
σ=1-2m (48)
并且,式(47)中的p和a是为满足从生成矩阵生成代码的约束而引入的辅助自旋。为了满足生成矩阵的约束,能量函数引入由下式(49)表示的惩罚项。
这里,im表示生成矩阵中的第i行左侧第m非零分量的索引。根据上述非专利文献1,该惩罚项在满足约束时全部为0,在不满足约束时为正值。另外,λim是具有正值的未确定常数,但是当该值足够大时,λim相当于最大似然解码。
如下式(50)所示的那样表达从奇偶校验矩阵导出的能量函数。
这里,σ是对应于符号位的自旋变量,并且,与具有长度N的符号位x具有如下式(51)所示的关系。
σ=1-2x (51)
并且,式(51)中的p和a是被引入使得代码满足通过奇偶校验矩阵的奇偶约束的辅助自旋。为了满足奇偶约束,能量函数引入由下式(52)指示的惩罚项。
这里,km表示奇偶校验矩阵中的第k行左侧第m非零分量的索引。根据上述非专利文献1,该惩罚项在满足约束时全部为0,并且在不满足约束时为正值。
另外,λkm是具有正值的未确定常数,但当该值足够大时,λkm相当于最大似然解码。在所有方式中,Ising模型的能量函数最多由包括辅助变量的自旋变量的二次维度表示。因此,可以通过使用程序等提取Ising模型的二次系数矩阵J和线性系数矩阵(向量)h。
在上述非专利文献1中,通过将Ising模型的系数矩阵J和h输入到量子退火***获取Ising模型的基态的自旋变量σ、p和a,并且,基于自旋变量σ、p和a恢复消息位串m。
在第五实施例中,在上述非专利文献1中,使用组合优化加速器50(Ising解码器)代替使用量子退火的组合优化加速器。即,通过将Ising模型的系数矩阵J和h输入到Ising解码器获取Ising模型的基态的自旋变量σ、p和a,并且,基于自旋变量σ、p和a恢复消息位串m。
[6.第六实施例]
随后,作为第六示例,说明在感测***中使用关于本公开的处理的示例。首先,参照图9说明感测***的概况。图9是示出应用本公开的信息处理的第六实施例的示图。例如,感测***1B是应用信息处理***1的***的示例。
在图8所示的示例中,感测***1B由控制传感器的测量状态(开/关或测量精度的调度等)的传感器控制单元31和测量实际测量目标并输出数据的感测单元32构成。注意,在感测***1B中不仅可以包括传感器控制单元31和感测单元32,还可以包括用于实现感测***1B的各种组件。
在感测***中,为了节省传感器的功率、减少传感器本身的数量以及压缩感测数据大小,获取部分数据而不是获取完整的测量数据。以这种方式获取部分数据的感测有时被称为压缩感测。
如上所述,当通过压缩感测仅获取部分数据时,通过信号处理恢复数据。在这种情况下,除了从测量目标获取数据的传感器以外,感测单元32还由执行称为稀疏建模的数据建模的建模单元(也称为“稀疏模型处理单元”)和基于建模恢复完整数据的数据恢复单元(也称为“信息恢复单元”)构成。
通常,测量目标为例如由MRI(磁共振成像)***获取的断层图像或由传感器阵列测量的测量目标,诸如由雷达(激光雷达)阵列测量的周围物体的分布或由麦克风阵列测量的声源的分布。
这些测量目标被输入到传感器,并且,稀疏模型处理单元计算用于说明数据的少量说明变量。在该处理中,通过使用称为字典矩阵或观察矩阵的数据库获得说明变量。
然后,数据恢复单元基于由稀疏模型处理单元获得的说明变量和预先准备的模型信息等,恢复对应于完整数据的数据。例如,在MRI或CT(计算机断层扫描)的情况下,恢复的数据是断层图像,并且在雷达阵列的情况下,恢复的数据是物体分布图(周围的行人分布(车内雷达)和水滴分布(天气雷达))等。
通常,建模单元(稀疏模型处理单元)使用称为l1范数最小化的优化方法的算法。例如,Lasso(最小绝对收缩和选择运算符)是该算法的代表性示例。
另一方面,在稀疏建模中,确保称为l0范数最小化的技术达到最正确解,并且,为了使l1范数最小化表现出与l0范数等价的性能,必须满足难以验证的某个条件。即,在稀疏建模中,l0范数最小化是最理想的。然而,同时,人们也知道,在组合优化问题中,l0范数最小化在计算上是困难的和不切实际的。
下面参考的图10示出用于在应用了第一实施例至第三实施例的组合优化加速器50中使l0范数最小化更实用的构成。图10是示出应用本公开的信息处理的构成的示例的示图。
图10所示的感测***1B包括传感器41、数据库42、用作建模单元的稀疏模型处理单元43、作为数据恢复单元的信息恢复单元44和组合优化加速器50。例如,传感器41、数据库42、稀疏模型处理单元43、信息恢复单元44和组合优化加速器50对应于图9中的感测单元32。
传感器41是将观察的现象转换为电信号或数据并输出电信号或数据的器件。注意,传感器41可以是任何传感器,诸如图像传感器、声音传感器、加速度传感器、位置传感器、温度传感器、湿度传感器、照度传感器或压力传感器。数据库22用作存储观察矩阵和字典矩阵等的存储设备(存储单元)。
这里,在常规的稀疏模型处理中,通常使用l1最小化算法。l1最小化算法包含于线性编程而不是组合优化的类别中。可以通过现有的计算机充分实际地获得解。
然而,当使用l0最小化算法时,需要用于求解组合优化的算法。使用在第六实施例中说明的组合优化加速器50。
在以下的说明中,简要说明通过量子退火求解l0最小化算法的示例。设想如下式(53)所示的用于对潜在变量(说明变量)进行位量化的量化稀疏建模。
这里,表示bik的zi的K位量化表达式中的第k位。当αk是常数并且αk=2-k,可以实现具有量化宽度2-K和区间[0,1-2-K]的量化。
当观察矩阵(字典矩阵)表示为U并且观察数据表示为x时,如下式(54)和(55)所示的那样表示对应于l0最小化的Ising模型的能量函数。
Cik=3cik+cik-1(1-bik)-2cikcik-1-2cik(1-bik) (55)
这里,式(54)和式(55)中的c是为了计算l0范数而引入的辅助变量。第一项是普通的最小二乘误差项。第二项是l0范数,第三项是表示应由为了计算l0范数而引入的辅助变量满足的约束条件的惩罚项。
注意,由于变量b和c是二元变量,因此,为了用自旋变量表示能量函数,需要下式(56)和(57)所示的转换。
即使能量函数由自旋变量表示,该函数也是与自旋变量相关的二次函数。因此,可以通过使用程序等提取Ising模型的二次系数矩阵J和线性系数矩阵(向量)h。
通过将这些Ising模型的系数矩阵J和h输入到量子退火***,可以获取Ising模型的基态的自旋变量σb和σc,并且,可以基于自旋变量σb和σc获得稀疏说明变量z的位表示b。
由于位表示的精度较低,因此仅选择说明变量z中的位表示的值不为0的说明维度,并再次获得解。以这种方式,可以获得稀疏说明变量的值。
在第六实施例中,在上述方式中,使用组合优化加速器50(Ising解码器)而不是使用量子退火的组合优化加速器。通过将这些Ising模型的系数矩阵J和h输入到Ising解码器,获取Ising模型的基态的自旋变量b和c,并且基于自旋变量b和c获取稀疏说明变量z的位表示b。
由于获得的位表示的精度较低,因此仅选择说明变量z中的位表示的值不为0的说明维度,并再次获得解。以这种方式,可以获得稀疏说明变量的值。通过使用以这种方式获得的稀疏说明变量在下一数据恢复块中恢复完整数据。恢复方法和恢复的数据等价于上述的常规构成。
[7.第七实施例]
随后,作为第七实施例,说明在包括组合优化的应用开发***(也简称为“开发***”)中使用与本公开有关的处理的示例。首先,参照图11说明开发***的概况。图11是示出应用本公开的信息处理的第七实施例的示图。例如,开发***1C是应用信息处理***1的***的示例。
如图11所示,开发***1C包括终端51、组合优化数据库52、开发应用53、组合优化单元54、Ising解码器55、量子思想型计算机56、量子退火机57和门型量子计算机58作为组件。
注意,在开发***1C中,终端51、组合优化数据库52、开发应用53和组合优化单元54的组件可以被配置为一个装置,或者可以被配置成多个装置。例如,当组件被配置为一个装置时,通过诸如总线的任何信号线可通信地连接组件。例如,当终端51包括组合优化数据库52、开发应用53和组合优化单元54时,终端51与Ising解码器55、量子思想型计算机56、量子退火机57和门型量子计算机58的装置通信,并且传送和接收信息。在这种情况下,在终端51中,例如,安装包括开发应用53的应用开发工具(开发工具)。
当终端51、组合优化数据库52、开发应用53和组合优化单元54的组件被配置为多个装置(以分布式方式布置)时,例如,经由预定的通信网络(网络)通过有线或无线电可通信地连接这些组件。例如,开发***1C可以包括例如安装开发应用53的终端51、包括组合优化数据库52的服务器装置、包括组合优化单元54的优化处理装置、Ising解码器55、量子思想型计算机56、量子退火机57和门型量子计算机58。在这种情况下,优化处理装置与终端51、Ising解码器55、量子思想型计算机56、量子退火机57和门型量子计算机58的装置通信,并且传送和接收信息。注意,上述构成仅仅是示例,并且可以采用任何装置构成作为开发***1C的装置构成。
开发***1C将通过各种类型的组合优化的Ising模型的表达存储为数据库(例如,组合优化数据库52),并可以响应于用户的请求切换表达。开发***1C包括作为用作与用户的接口的终端单元的终端51、存储组合优化的Ising模型的表达的组合优化数据库52、开发应用53的本体、组合优化单元54和Ising解码器55。在组合优化数据库52中,各种类型的组合优化的典型数据转换过程被存储为库。具体地,在组合优化数据库52中,存储用于接收在包括组合优化的各个应用中使用的数据和数据库作为输入并输出Ising模型的系数的函数(或类)。
[7-1.计算机示例]
下面说明执行计算的各种计算机。
(Ising解码器55)
Ising解码器55是接收Ising模型的系数矩阵作为输入并输出基态下的自旋变量的解的计算机。与图6中的Ising解码器7一样,Ising解码器55执行上述Ising解码处理的处理。Ising解码器55由例如CPU、GPU或FPGA实现。例如,Ising解码器55可以是下面说明的信息处理装置100。
例如,Ising解码器55从组合优化单元54接收Ising模型的系数矩阵,并且通过使用接收的Ising模型的系数矩阵执行Ising解码处理,以由此导出基态下的自旋变量的解。Ising解码器55向组合优化单元54传送导出的基态下的自旋变量的解。
(量子思想型计算机56)
量子思想型计算机56是使用数字电路的计算机。例如,量子思想型计算机56是专用硬件,该专用硬件通过在转移在Ising模型中嵌入组合优化的思想的同时使用诸如晶体管电路的非量子器件,加速用于以热波动执行能量最小化的模拟退火。量子思想型计算机56是使用CMOS(互补金属氧化物半导体)或数字电路等的计算机。例如,量子思想型计算机56可以是使用诸如GPU的处理器或诸如FPGA的集成电路的计算机。
例如,量子思想型计算机56从组合优化单元54接收Ising模型的系数矩阵,并且通过使用接收的Ising模型的系数矩阵通过模拟退火导出基态下的自旋变量的解。量子思想型计算机56将导出的基态下的自旋变量的解传送到组合优化单元54。
(量子退火机57)
量子退火机57是使用量子退火方式的计算机。量子退火机57是使用用于Ising自旋的量子位的量子退火机器(量子计算机)。
例如,量子退火机57从组合优化单元54接收Ising模型的系数矩阵,并且通过使用接收的Ising模型的系数矩阵通过量子退火导出基态下的自旋变量的解。量子退火机57将导出的基态下的自旋变量的解传送到组合优化单元54。
在以下说明中,参照图12说明量子退火机57的构成示例。图12是示出量子退火机的构成示例的示图。
如图12所示,量子退火机57包括通信单元571、存储单元572、量子器件单元573和控制单元574。注意,量子退火机57可以包括接收来自量子退火机的管理员等的各种类型的操作的输入单元(例如,键盘或鼠标)和用于显示各种类型的信息的显示单元(例如,液晶显示器)。
通信单元571由例如NIC(网络接口卡)或通信电路实现。通信单元571通过有线或无线电连接到预定网络(因特网等),并且经由网络向诸如包括组合优化单元54的装置(优化处理装置)的其它装置等传送信息并从其它装置等接收信息。
存储单元572由例如诸如RAM或快擦写存储器的半导体存储元件或诸如硬盘或光盘的存储设备实现。存储单元572存储用于显示信息的各种类型的信息。
量子器件单元573执行各种量子计算。例如,量子器件单元573由量子处理单元(QPU)实现。量子器件单元573基于例如从诸如包括组合优化单元54的装置的另一装置接收的Ising模型的参数实现Ising模型的基态。换句话说,量子器件单元573实现Ising模型处于基能状态的最佳自旋配置。即,量子器件单元573实现优化问题被优化的状态。
量子器件单元573由例如多个量子位构成。预先将量子器件单元573冷却到接近绝对0度。在Ising模型的参数被输入到量子器件单元573之后,量子器件单元573在时间上在内部展开Ising模型和横向磁场模型(量子涨落模型)之间的比率。因此,在量子器件单元573上实现对应于Ising模型的参数的最佳自旋配置。如上所述,在量子器件单元573上物理实现Ising模型的最佳自旋配置。然后,通过测量量子器件单元573,可以获得Ising模型的最佳自旋配置。因此,量子器件单元573可以优化离散优化问题。例如,量子器件单元573可以优化二元二次形式的目标函数的优化问题。
控制单元574由例如通过使用RAM等作为工作区域执行存储在量子退火机57内的程序的CPU或GPU实现。控制单元574是控制器,并且可以由诸如ASIC或FPGA的集成电路实现。
如图12所示,控制单元574包括获取单元575、计算单元576和传送单元577,并且实现或执行以下说明的信息处理的功能和作用。注意,控制单元574的内部构成不限于图12所示的构成,并且如果构成是用于执行以下说明的信息处理的构成,则可以是另一构成。
获取单元575接收各种类型的信息。获取单元575从外部信息处理装置接收各种类型的信息。获取单元575从诸如包括组合优化单元54的装置的另一信息处理装置接收各种类型的信息。
获取单元575通过使用例如量子器件单元573执行计算,并且从诸如包括组合优化单元54的装置的其它信息处理装置接收用于测量的指令。获取单元575接收Ising模型的参数作为量子器件单元573的计算(测量)指令。
获取单元575获取各种类型的信息。获取单元575从存储单元572获取信息。获取单元575从诸如具有组合优化单元54的装置的外部信息处理装置获取各种类型的信息。获取单元575获取由输入单元接收的输入信息。获取单元575从外部信息处理装置获取例如关于Ising模型的参数的信息。获取单元575获取通过计算单元576的量子器件单元573的测量结果(计算结果)。
计算单元576执行各种类型的计算。计算单元576通过使用量子器件单元573执行计算。计算单元576测量量子器件单元573。计算单元576测量实现Ising模型的最佳自旋配置的量子器件单元573。
例如,计算单元576通过使用由获取单元575从包括组合优化单元54的装置接收的Ising参数执行计算。
传送单元577向外部信息处理装置传送各种类型的信息。例如,传送单元577向诸如包括组合优化单元54的装置的其它信息处理装置传送各种类型的信息。传送单元577传送存储在存储单元572中的信息。
传送单元577基于来自诸如包括组合优化单元54的装置的其它信息处理装置的信息传送各种类型的信息。传送单元577基于存储在存储单元572中的信息传送各种类型的信息。
传送单元577将通过计算单元576的量子器件单元573的测量结果传送到指示了计算的装置。传送单元577将通过计算单元576的量子器件单元573的测量结果传送到参数的传送源。传送单元577将通过计算单元576的量子器件单元573的测量结果传送到计算的请求源。传送单元577将通过计算单元576的量子器件单元573的测量结果传送到诸如包括组合优化单元54的装置的其它信息处理装置。
例如,在图12所示的示例中,传送单元577将通过使用从包括组合优化单元54的装置接收的参数而计算(测量)的Ising自旋的值传送到包括组合优化单元54的装置。
(门型量子计算机58)
门型量子计算机58是使用量子门方式的计算机。尽管由于门型量子计算机58是已知技术因此省略了详细说明,但门型量子计算机58是利用量子门执行算术处理(计算处理)的量子计算机。作为强的方面,量子退火方式专门用于组合优化。另一方面,量子门方式可以处理通用计算,并且,基于量子门方式的算法已经被提出用于特定计算。例如,称为QAOA(量子近似优化算法)的方法是以与量子退火相同的方式处理优化的方法。
[7-2.用户界面]
下面参照图13~16说明使用开发***1C的用户的用户界面(以下,有时称为“UI”)。图13~16是示出用户界面的示例的示图。
例如,开发***1C的终端51提供UI。例如,终端51在显示器(屏幕)上显示以下说明的内容CT1~CT4。注意,作为示例说明了终端51提供UI的情况。然而,不仅终端51,而且诸如信息处理装置100的另一装置也可以向用户提供UI。在这种情况下,信息处理装置100(参见图17)可以通过使用输入单元140或显示单元150等提供UI。例如,终端51可以是信息处理装置100。
开发***1C可以在终端51上与存储在组合优化数据库52中的库相关联地显示例如列表框。例如,如图13中的内容CT1所示,终端51显示可以被转换成Ising模型的组合优化任务的列表。内容CT1包括整数分类、旅行推销员问题、色度问题、最大似然解码、l0最小化稀疏编码、因子分解、调度问题和最优分配问题作为可以转换成Ising模型的组合优化任务。注意,可以转换成Ising模型的组合优化任务不限于以上。
注意,可转换为Ising模型的组合优化列表在例如以下文件中被公开。
·Ising formulations of many NP problems,Andrew Lucas<https://arxiv.org/abs/1302.5843>
用户可以检查列表框并且获得组合优化的说明。终端51显示由用户选择的组合优化的说明。例如,如图14中的内容CT2所示,终端51显示作为选择的组合优化的最大似然解码的说明。在图14所示的示例中,内容CT2被显示在与内容CT1的窗口不同的窗口中。在内容CT2中,简要说明作为选择的组合优化的最大似然解码。可以输入必要的信息。具体地,内容CT2包括用于输入指定代码生成矩阵或奇偶校验矩阵的数据库的URL(统一资源定位符)和指定接收信号向量的URL的框。
如上所述,由于必要的信息通常是数据库和数据,因此可以准备可以输入信息的框。注意,由于必要数据等的格式根据应用而改变,因此期望开发应用和库可以吸收改变。例如,终端51可以根据选择的组合优化(应用)显示用于输入组合优化所需的信息的屏幕(内容)。
用户经由上述界面(例如,内容CT2)输入必要信息,选择求解器,并执行组合优化。求解器可以被配置为能够选择包括Ising解码器的量子退火机和门型量子计算机(的QAOA方法)。开发***1C可以在终端51上显示例如可选择的求解器的列表。
例如,如图15中的内容CT3所示,终端51显示可选择的求解器的列表。内容CT3包括量子退火机、量子思想型计算机、Ising解码器、门型量子计算机、线性整数编程求解器和整数编程求解器作为求解器。注意,求解器不限于以上。
用户检查列表框以选择求解器。内容CT3指示用户选择Ising解码器作为求解器的情况。为了取消所选择的组合优化的选择,用户按下内容CT3中的“CANCEL”按钮。因此,组合优化的选择被解除,并且组合优化的复选框的钩号改变为不显示。在图14中,当按下内容CT3中的“CANCEL”按钮时,Ising解码器的选择被解除,并Ising解码器的复选框的钩号改变为不显示。
开发***1C可以显示与由用户选择的求解器有关的信息(求解器信息)。例如,求解器信息包括诸如指示求解器是什么类型的求解器、什么是后端(计算硬件)、求解器是否适合当前问题、使用了多少存储器以及需要多长时间以解决当前问题的信息的信息。
例如,如图16中的内容CT4所示,终端51显示由用户选择的求解器的求解器信息。用户参考求解器信息确定是最终执行还是停止这次选择(输入)的组合优化。然后,当执行组合优化时,用户按下内容CT3中的“SOLVE”按钮。开发***1C的应用侧执行实际组合优化,并根据该处理返回实际组合优化的答案。
注意,在上述示例中,作为示例说明GUI(图形用户界面)。然而,不仅可以使用GUI,还可以使用命令行输入。可以使用准备上述处理作为API(应用编程界面)以使得用户能够执行编程的SDK(软件开发工具包)等。
[8.信息处理装置的构成示例]
作为执行诸如上述Ising解码的各种类型的处理的装置的示例,在图17中示出信息处理装置100。例如,诸如Ising解码器7和55的Ising解码器和组合优化加速器50可以由信息处理装置100实现。信息处理装置100是执行Ising解码处理的装置(计算机)。在以下的说明中,说明信息处理装置100的构成。图17是示出本公开的信息处理装置的构成示例的示图。
如图17所示,信息处理装置100包括通信单元110、存储单元120、控制单元130、输入单元140和显示单元150。
通信单元110由例如NIC或通信电路实现。通信单元110通过有线或无线电连接到预定网络(未示出),并且向诸如包括组合优化单元54的装置(优化处理装置)的其它信息处理装置传送信息并从其接收信息。通信单元110可以向用户所使用的用户终端(终端51等)传送信息并从其接收信息。
通信单元110接收各种类型的信息。通信单元110从外部装置接收各种类型的信息。通信单元110从包括组合优化单元54的装置(优化处理装置)接收Ising模型的系数矩阵。例如,通信单元110将由控制单元130导出的基态下的自旋变量的解传送到包括组合优化单元54的装置(优化处理装置)。
存储单元120由诸如RAM(随机存取存储器)或快擦写存储器的半导体存储元件或诸如硬盘或光盘的存储设备实现。根据第一实施例的存储单元120存储与用于信息处理等的各种函数(程序)有关的各种数据和信息。存储单元120可以存储关于用于上式中的处理的函数的信息。注意,存储单元120不限于以上,并且可以根据目的存储各种类型的信息。
控制单元130由例如以RAM(随机存取存储器)等作为工作区域执行存储在信息处理装置100内的程序(例如,根据本公开的信息处理程序)的CPU(中央处理单元)或GPU(图形处理单元)等实现。控制单元130由诸如ASIC(专用集成电路)或FPGA(现场可编程门阵列)的集成电路实现。
如图17所示,控制单元130包括第一处理单元131和第二处理单元132,并且实现或执行以下说明的信息处理的功能和作用。包括第一处理单元131和第二处理单元132的控制单元130通过用由通信单元110接收的Ising模型的系数矩阵执行Ising解码处理导出基态下的自旋变量的解。
例如,第一处理单元131计算组合优化问题的目标函数(QUBO格式)。例如,第一处理单元131由诸如CPU或GPU的第一处理器实现。注意,第一处理单元131可以由计算组合优化问题的目标函数(QUBO格式)的第一处理电路实现。作为第一处理电路,可以采用诸如FPGA或ASIC的任何电路。
例如,第二处理单元132输出组合优化问题的解。例如,第二处理单元132由诸如CPU或GPU的第二处理器实现。注意,第二处理单元132可以由输出组合优化问题的解的第二处理电路实现。作为第二处理电路,可以采用诸如FPGA或ASIC的任何电路。
如上所述,控制单元130由包括对应于第一处理单元131的第一处理器和对应于第二处理单元132的第二处理器的多个处理器构成。注意,第一处理器和第二处理器可以被集成,或者,第一处理器和第二处理器可以分布和布置在不同的装置中。
第一处理单元131执行Ising模型QUBO转换。第一处理单元131执行QUBO-解码问题转换。例如,第一处理单元131从关于组合优化问题的第一信息中提取Ising模型格式的第二信息(例如,Ising模型的系数矩阵)。第一处理单元131通过使用Ising模型格式的第二信息(例如,Ising模型的系数矩阵)计算QUBO格式的目标函数。第一处理单元131基于在“2-1-1.Ising模型-QUBO转换”和“2-1-2.QUBO-解码问题转换”等中描述的处理和算法等执行处理。
第二处理单元132执行BP解码。例如,第二处理单元132利用置信传播方法确定自旋变量。第二处理单元132输出确定的自旋变量。第二处理单元132基于在“2-1-2-3.BP解码”、“2-1-2-4.第一示例的BP解码”和“2-1-2-5.第二示例的BP解码”等中描述的处理和算法等执行处理。即,第二处理单元132以预定方式处理从组合优化问题转换的预定解码问题。
从用户向输入单元140输入各种类型的操作。输入单元140接收用户的输入。输入单元140可以经由设置在信息处理装置100中的键盘、鼠标或触摸面板从用户接收各种类型的操作。输入单元140接收用户对作为由显示单元150显示的呈现画面的内容CT1~CT4的操作作为输入。例如,输入单元140接收用户对优化问题的选择。并且,例如,输入单元140接收用户对求解器的选择。
显示单元150显示各种类型的信息。显示单元150是诸如液晶显示器的显示设备,并且显示各种类型的信息。显示单元150显示内容CT1~CT4等。信息处理装置100可以包括生成内容CT1~CT4等的内容生成单元。内容生成单元生成要在显示单元150上显示的信息,诸如内容CT1~CT4。内容生成单元通过适当地使用诸如Java(注册商标)的各种技术生成内容CT1~CT4等。注意,内容生成单元可以基于CSS、JavaScript(注册商标)或HTML的格式生成内容CT1~CT4等。例如,内容生成单元可以以诸如JPEG(联合图像专家组)、GIF(图形交换格式)和PNG(便携式网络图形)的各种格式生成内容CT1~CT4等。注意,当信息处理装置100以外的装置(例如,终端51)执行与UI相关的处理时,信息处理装置200可以不包括输入单元140和显示单元150。
[9.其它构成示例等]
可以以实施例以外的各种不同形式(变更例)执行根据上述实施例的处理。
[9-1-1.变更例]
在上述示例中,信息处理装置100被说明为执行Ising解码处理的装置。然而,信息处理装置100可以执行Ising解码处理以外的处理。例如,根据下面说明的变更例的信息处理装置100可以是执行在执行Ising解码处理之前的处理或者在执行Ising解码处理之后的处理的装置。例如,信息处理装置100可以用作包括组合优化单元54的装置(优化处理装置)或终端51。例如,信息处理装置100可以是用作终端51、包括组合优化单元54的装置(优化处理装置)和Ising解码器55的装置。
在这种情况下,例如,信息处理装置100通过通信单元110与量子思想型计算机56、量子退火机57或门型量子计算机58通信,该通信单元110是与连接到外部的量子计算机等通信的通信电路(第二处理电路)。例如,当由用户选择的计算机在本地不存在时,信息处理装置100通过通信单元110与例如作为云上计算机的量子思想型计算机56、量子退火机57或门型量子计算机58通信。以这种方式,信息处理装置100可以通过作为通信电路(第二处理电路)的通信单元110指示外部网络上的诸如量子计算机的外部装置(例如,量子思想型计算机56、量子退火机57或门型量子计算机58)以处理组合优化问题。
在这种情况下,例如,信息处理装置100包括计算组合优化问题的目标函数(Ising形式)的第一处理器和输出组合优化问题的解的第二处理器。
在这种情况下,根据变更例的信息处理装置100的存储单元120存储例如一个或更多个组合优化问题的处理过程。例如,存储单元120可以由存储电路构成。在存储单元120中,例如,如在组合优化数据库52中那样,用于各种类型的组合优化的典型数据转换处理被存储为库。具体地,在存储单元120中,用于接收在包括组合优化的各单个应用中使用数据和数据库作为输入并且输出Ising模型的系数的函数(或类)被存储在组合优化数据库52中。
例如,根据变更例的信息处理装置100的第一处理单元131是第一处理器,并且计算组合优化问题的目标函数(Ising形式(的目标函数))。第一处理单元131可以是计算组合优化问题的目标函数(Ising形式(的目标函数))的第一处理电路。例如,第一处理单元131执行对应于组合优化单元54的处理的处理。第一处理单元131参考存储在存储单元120中的库,并且计算对应于指定的组合优化问题的目标函数(Ising形式的(目标函数))。该目标函数表达为Ising模型的能量函数。
第一处理单元131是至少两个处理器中的一个处理器,并基于根据组合优化问题的类型确定的数据和数据库从输入的第一信息中提取第二信息。例如,第一处理单元131根据组合优化问题的类型,从指示用户对组合优化问题的选择的第一信息中提取参考库导出的Ising形式的目标函数的系数矩阵作为第二信息。第一处理单元131在存储在存储单元120中的关于各类型的组合优化问题的数据转换处理的信息中从存储单元120中提取关于对应于由用户选择的组合优化问题的数据转换过程的信息。然后,第一处理单元131通过用从存储单元120中提取的关于数据转换处理的信息转换由用户选择的组合优化问题,导出Ising形式的目标函数的系数矩阵,以由此提取对应于由用户选择的组合优化问题的Ising形式的目标函数的系数矩阵作为第二信息。注意,以上描述仅仅是示例。根据变更例的第一处理单元131可以用各种方法计算组合优化问题的目标函数(Ising形式(的目标函数))。
例如,根据变更例的信息处理装置100的第二处理单元132是第二处理器,并且输出组合优化问题的解。第二处理单元132可以是输出组合优化问题的解的第二处理电路。例如,第二处理单元132执行上述Ising解码器处理,并且输出组合优化问题的解。例如,第二处理单元132基于根据组合优化问题从作为Ising模型的系数矩阵的第二信息确定的运算,计算QUBO格式的目标函数。即,该目标函数表达为Ising模型的能量函数。目标函数表达为QUBO格式的目标函数。
例如,根据变更例的信息处理装置100的显示单元150基于从第二处理单元132输出的结果生成***所请求的信息,并且显示信息的至少一部分。例如,显示单元150可以由显示电路构成。显示单元150可以包括用于显示信息的电路(显示电路)。
[9-1-2.位翻转]
在本发明中,置信传播解码是计算的中心部分。这是由于已知置信传播解码具有非常好的性能。然而,置信传播解码也是相对繁重的处理。有时希望当变量大小增加时实现计算的轻量化。
作为轻量化,称为位翻转的方法是已知的。在该方法中,例如,使用位被反转时和位未被反转时之间的能量差,以确定是否以对应于该差的概率来反转该位。
由于在该方法中存在概率过程,因此该方法的再现性低于在使用置信传播解码的确定性过程中实现的方法。然而,由于不需要保持大量的存储器,因此该方法在轻量化方面非常出色。
使用位翻转的解码在性能上比置信传播解码更差,并且在实践中不经常使用。然而,近年来,已设计了诸如使用神经网络的基于梯度的位翻转(GDBF)和进一步添加噪声的噪声梯度基本位翻转(NGDBF)概率梯度基本位翻转的各种方法,并且性能得到改善。因此,也可以想象,位翻转与置信传播相比更轻,并且具有类似的性能。
本发明还包括使用这种位翻转而不是置信传播解码的变更例。注意,位翻转在例如以下文档中被公开。
·Gradient Descent Bit Flipping Algorithms for Decoding LDPC Codes,Tadashi Wadayama et al.<https://arxiv.org/abs/0711.0261>
·Noisy Gradient Descent Bit-Flip Decoding for LDPC Codes,Gopalakrishnan Sundararajan et al.<https://arxiv.org/abs/1402.2773>
[9-2-1.处理器]
注意,本公开中提到的处理器是包括以下内容的概念。Ising解码器、QUBO解码器或通信处理器也是构成***的多个处理器中的一个。多个处理器中的每一个可以是所谓的片上***(SOC)或多核心处理器。多个核心处理器的一部分可以是适于图像处理或音频处理的数字信号处理器(DSP)、适于计算的所谓神经网络加速器(诸如神经网络)或神经形态加速器。多个核心处理器的一部分可以是包括称为本发明的Ising解码器或QUBO解码器的专用处理电路的加速器。
[9-2-2.多处理器的具体示例]
与量子退火相比,Ising解码器的显著特征是,由于不使用概率过程,因此确定地获得解(自旋的组合)。即,即使Ising解码器被转换为多个过程并且相同的问题被输入到多个过程中,解也是相同的。
然而,Ising解码器具有有助于性能的几个未知参数(如下所述)。从简单的实验可知,参数强烈地影响最终的解。
因此,参数被预先设定为各种不同的值的多个Ising解码器被重新准备为多处理器。然后,这些Ising解码器并行地同时执行给定的问题。然后,由于出现彼此不同的值,因此可以选择最佳解。
这里,最佳解只是最小化Ising模型的能量函数的解。也可以从编码的观点进行评估,并且,例如,可以选择1的奇偶个数小即在校验的奇偶中不满足奇偶约束的奇偶的个数小的解。因此,能够在参数设定不合适时避免性能劣化。
注意,这些参数的第一示例使用对数奇数生成时的伪信号的偏差值。当在置信传播解码时间输入从QUBO系数生成的伪信号时,该参数被用作伪信号的标准偏差参数,并给出为(式25中的σ)。然而,在本发明的情况下,存在两种类型的伪信号,并且伪信号的统计方差的值彼此不一致。出于这种原因,设想了各种选择,例如,哪个值被调整为哪个以及是否取这些值的平均值。因此,可以设想用于并行化尽可能多的参数以搜索最佳参数的方式。
参数的第二示例是从QUBO系数生成伪信号串时的缩放自由度。这可以想象为数2的目标函数中的缩放参数(尽管在数2中没有描述缩放参数,但整个右侧乘以η时的η是缩放参数)。
通常,在优化问题中,即使目标函数的缩放改变,除非符号改变,否则解不变。然而,在本发明的情况下,当目标函数的缩放增加时,伪信号串的缩放相应地增加,作为结果,当通过从二元码取差计算平方误差时,出现由于缩放参数而生成的大的差异。
因此,必须适当地调整缩放的值。然而,如在第一示例中那样,由于存在两种类型的伪信号,因此存在关于如何调整缩放的值的多个准则。即,缩放的值是被调整为第一伪信号串、被调整为第二伪信号串还是被调整为正好是第一伪信号串和第二伪信号串两者的部分。因此,可以设想用于尽可能多地并行化参数并搜索最佳参数的方式。
可以由第一参数和第二参数被同时改变的多个处理器执行相同的动作。
[9-3.其它]
在在上述实施例中说明的各种类型的处理中,说明为被自动执行的处理的全部或一部分可以被手动执行,或者说明为被手动执行的处理中的全部或一部分可以通过公知的方法被自动执行。此外,除非另有特别说明,否则,处理过程、特定名称和包括在文档中说明以及在附图中示出的各种数据和参数的信息可以可选地改变。例如,附图所示的各种类型的信息不限于示出的信息。
示出的设备的组件在功能上是概念性的,并且不总是需要如附图所示的那样进行物理配置。即,设备的分布和集成的具体形式不限于示出的形式,并且,其全部或一部分可以通过根据各种负载和使用情况等在功能上或物理上分布和集成在任何单元中进行配置。
上述实施例和变更例可以在处理内容不矛盾的范围内适当组合。
在本说明书中描述的效果仅为例示且不受限制,并且,可能存在其它效果。
[10.根据本公开的效果]
如上所述,信息处理装置100被配置为将对Ising模型的自旋变量的组合的基态的搜索转换为二元二次优化问题(QUBO),进一步将优化问题转换为二元码的解码问题,通过使用用于求解解码问题的算法获得解码位串,并且转换获得的解码位串以获得自旋变量的组合。
奇偶校验矩阵是从QUBO的系数矩阵的结构构成的伪奇偶校验矩阵,并且,信号串是从QUBO的系数矩阵计算的伪信号串。用于求解解码问题的算法为例如基于用于解码低密度奇偶校验码(LDPC)的置信传播方法的解码算法。
在该解码算法中,二次形式的特征在于应用用于将系数矩阵变为对称矩阵的转换。在该解码算法中,伪奇偶校验矩阵由系数矩阵的上三角或下三角矩阵的结构生成。在该解码算法中,伪奇偶校验矩阵由对应于系数矩阵的非零分量的要素生成。
为了实现该解码算法的轻量化,伪信号串由对应于原始位串的部分和对应于两个位的组合的部分构成,并且以解码算法的重复单位通过不同方法被依次处理。
利用上述构成,通过量子退火等实现的Ising模型的自旋变量的基态的搜索问题可以被使用用于解码低密度奇偶校验矩阵的现有解码算法的处理代替。
被用作现有解码算法的置信传播方法的解码算法可以接近当码长较大时理论上认为最佳的最大似然解码。即,可以实现对应于优化的全局最小值的Ising模型的基态。
并且,可以通过使用现有计算机的高速和轻量化处理,实现利用置信传播方法的解码算法。因此,可以在不使用量子退火所需的大规模***的情况下搜索Ising模型的基态。
如果使用该方法,可以使用现有的半导体电路而不是量子退火高速求解组合优化问题。因此,包括组合优化的应用可以在小型终端(例如,诸如个人计算机或智能电话的便携式终端)等中操作。例如,可以通过通信路径编码/解码应用或压缩感测应用等在小型终端中实现高精度算法。可替换地,该方法可用于作为包括组合优化问题的典型示例的路线搜索应用、信息搜索应用、调度应用以及存储器或布线的布局应用等。在一些情况下,还能够实现在日常生活中发生的组合优化的高速应用。这些应用的集成开发环境和用于支持图形用户界面的应用等也是可以设想的。
如上所述,根据本公开的信息处理装置包括至少两个处理器,所述至少两个处理器从输入到***的第一信息中提取被定制为组合优化问题的处理所需的第二信息,输入提取的第二信息,计算组合优化问题的目标函数,输入目标函数并输出组合优化问题的解。至少两个处理器中的一个是输出组合优化问题的解的处理器。因此,信息处理装置可以使得能够在不使用量子退火的情况下搜索Ising模型的自旋基态。例如,第一信息是信号串、观察数据和代码矩阵、或观察字典矩阵等。例如,第二信息是Ising模型的能量函数的系数或QUBO的损失函数等。上述两个处理器为例如用作从数据生成系数的问题生成单元的处理器和用作从系数计算解的问题求解单元的处理器。
[11.硬件构成]
根据上述实施例和变更例的诸如信息处理装置100和终端51的计算机,由例如具有图18所示的构成的计算机1000实现。图18是示出实现信息处理装置等的功能的计算机的示例的硬件构成图。在下面的说明中,作为示例说明信息处理装置100。计算机1000包括处理器1100、RAM 1200、ROM(只读存储器)1300、HDD(硬盘驱动器)1400、通信接口1500和输入/输出接口1600。计算机1000的单元由总线1050连接。
处理器1100基于存储在ROM 1300或HDD 1400中的程序动作,并且控制单元。例如,处理器1100将存储在ROM 1300或HDD 1400中的程序加载到RAM 1200中,并且执行对应于各种程序的处理。例如,处理器1100可以是诸如CPU或GPU的任何处理器。
计算机1000可以包括多个处理器1100。例如,计算机1000包括从输入到***的第一信息中提取被定制为组合优化问题的处理所需的第二信息、输入提取的第二信息并计算组合优化问题的目标函数的第一处理器(例如,多个处理器1100中的至少一个处理器)。例如,计算机1000包括从输入到***的第一信息中提取被定制为组合优化问题的处理所需的第二信息、输入提取的第二信息、输入目标函数并输出组合优化问题的解的第二处理器(例如,多个处理器1100中的至少一个处理器)。在这种情况下,计算机1000包括至少包括第一处理器和第二处理器的多个处理器1100。
ROM 1300存储当启动计算机1000时由处理器1100执行的诸如BIOS(基本输入输出***)的引导程序和取决于计算机1000的硬件的程序等。
HDD 1400是非瞬时地记录要由处理器1100执行的程序和由这种程序使用的数据等的计算机可读记录介质。具体地,HDD 1400是记录信息处理程序(诸如作为程序数据1450的示例的根据本公开的信息处理程序)的记录介质。
通信接口1500是计算机1000连接到外部网络1550(例如,因特网)的接口。例如,处理器1100经由通信接口1500从其它设备接收数据或将处理器1100生成的数据传送到其它设备。
输入/输出接口1600是用于连接输入/输出设备1650和计算机1000的接口。例如,处理器1100经由输入/输出接口1600从诸如键盘或鼠标的输入设备接收数据。处理器1100经由输入/输出接口1600向诸如显示器、扬声器或打印机的输出设备传送数据。输入/输出接口1600可以用作读取记录在预定记录介质(介质)中的程序等的介质接口。介质为例如诸如DVD(数字通用盘)或PD(相变可重写盘)的光学记录介质、诸如MO(磁光盘)的磁光记录介质、磁带介质、磁记录介质或半导体存储器。
例如,当计算机1000用作信息处理装置100时,计算机1000的处理器1100通过执行诸如加载在RAM 1200上的信息处理程序的信息处理程序实现控制单元130等的功能。在HDD1400中,存储诸如根据本公开的信息处理程序的信息处理程序和存储单元120中的数据。注意,处理器1100从HDD 1400读取程序数据1450并且执行程序数据。然而,作为另一示例,处理器1100可以经由外部网络1550从另一设备获取这些程序。
注意,本技术也可以采用以下构成。
(1)
一种信息处理装置,包括:
至少两个处理器,该至少两个处理器从输入到***的第一信息中提取被定制为组合优化问题的处理所需的第二信息,接收提取的第二信息的输入并计算组合优化问题的目标函数,以及
接收目标函数的输入并输出组合优化问题的解,其中,
该至少两个处理器中的一个处理器是输出组合优化问题的解的处理器。
(2)
根据(1)所述的信息处理装置,其中,
该至少两个处理器中的一个处理器基于与组合优化问题的类型对应的数据从输入的第一信息中提取第二信息。
(3)
根据(1)所述的信息处理装置,其中,
输出组合优化问题的解的处理器基于根据组合优化问题从输入的第二信息确定的运算来计算组合优化问题的目标函数。
(4)
根据(1)所述的信息处理装置,其中,
输出组合优化问题的解的处理器执行包括以下处理的处理:
转换处理,用于将输入目标函数转换为等价于组合优化问题的代码的解码问题的输入信号串;
解码处理,用于基于输入信号串处理解码问题以获得代码串;和
输出处理,用于将代码串转换为组合优化问题的解并输出该解。
(5)
根据(4)所述的信息处理装置,其中,
代码的解码问题是使用奇偶校验矩阵的奇偶约束最大似然解码问题,以及
转换处理包括用于根据目标函数的系数构成奇偶校验矩阵的处理或读取已经构成的奇偶校验矩阵的处理。
(6)
根据(5)所述的信息处理装置,其中,
解码处理由利用置信传播方法的解码算法构成,以及
解码处理基于利用置信传播方法的解码处理从输入信号串和奇偶校验矩阵中解码代码串。
(7)
根据(6)所述的信息处理装置,其中,
利用置信传播方法的解码处理是对于低密度奇偶校验码的解码处理。
(8)
根据(1)~(7)中的任一项所述的信息处理装置,其中,
组合优化问题的目标函数表达为Ising模型的能量函数。
(9)
根据(1)~(8)中的任一项所述的信息处理装置,其中,
组合优化问题的目标函数表达为QUBO(二次无约束二元优化)格式的目标函数。
(10)
根据(9)所述的信息处理装置,其中,
两个处理器中的至少一个处理器执行用于将Ising模型的能量函数的系数转换成QUBO格式的目标函数的系数的处理。
(11)
一种信息处理装置,包括:
存储电路,存储一个或更多个组合优化问题的处理过程;
第一处理电路,从一个或更多个组合优化问题的处理过程选择一个处理过程;
第二处理电路,从输入到***的信息中提取要输入到处理过程的数据并且输出组合优化问题的结果;和
显示电路,基于输出结果生成***所需的信息并且显示信息的至少一部分。
(12)
根据(11)所述的信息处理装置,其中,
第二处理电路以预定方式处理从接收的组合优化问题转换出的预定解码问题。
(13)
根据(11)所述的信息处理装置,其中,
第二处理电路是与连接到外部的量子计算机通信的通信电路。
(14)
一种信息处理方法,包括:
从输入到***的第一信息中提取被定制为组合优化问题的处理所需的第二信息;
接收提取的第二信息的输入并计算组合优化问题的目标函数;和
接收目标函数的输入并输出组合优化问题的解。
(15)
一种信息处理***,包括:
至少两个处理器,该至少两个处理器从输入到***的第一信息中提取被定制为组合优化问题的处理所需的第二信息,接收提取的第二信息的输入并计算组合优化问题的目标函数,以及
接收目标函数的输入并输出组合优化问题的解,其中,
该至少两个处理器中的一个处理器是输出组合优化问题的解的处理器。
附图标记列表
1信息处理***
2数据库
3应用CPU
4组合优化存储器
5组合优化处理CPU
6Ising模型存储器
7Ising解码器
8解码处理存储器
10组合优化转换单元
100信息处理装置
110通信单元
120存储单元
130控制单元
131第一处理单元
132第二处理单元
140输入单元
150显示单元
57量子退火机
571通信单元
572存储单元
573量子器件单元
574控制单元
575获取单元
576计算单元
577传送单元
Claims (15)
1.一种信息处理装置,包括:
至少两个处理器,所述至少两个处理器从输入到***的第一信息中提取被定制为组合优化问题的处理所需的第二信息,接收提取的第二信息的输入并计算组合优化问题的目标函数,以及
接收目标函数的输入并输出组合优化问题的解,其中,
所述至少两个处理器中的一个处理器是输出组合优化问题的解的处理器。
2.根据权利要求1所述的信息处理装置,其中,
所述至少两个处理器中的一个处理器基于与组合优化问题的类型对应的数据从输入的第一信息中提取第二信息。
3.根据权利要求1所述的信息处理装置,其中,
输出组合优化问题的解的处理器基于根据组合优化问题从输入的第二信息确定的运算来计算组合优化问题的目标函数。
4.根据权利要求1所述的信息处理装置,其中,
输出组合优化问题的解的处理器执行包括以下处理的处理:
转换处理,用于将输入的目标函数转换为等价于组合优化问题的代码的解码问题的输入信号串;
解码处理,用于基于输入信号串来处理解码问题以获得代码串;和
输出处理,用于将代码串转换为组合优化问题的解并输出该解。
5.根据权利要求4所述的信息处理装置,其中,
代码的解码问题是使用奇偶校验矩阵的奇偶约束最大似然解码问题,以及
转换处理包括用于根据目标函数的系数构成奇偶校验矩阵的处理或读取已经构成的奇偶校验矩阵的处理。
6.根据权利要求5所述的信息处理装置,其中,
解码处理由利用置信传播方法的解码算法构成,以及
解码处理基于利用置信传播方法的解码处理从输入信号串和奇偶校验矩阵中解码代码串。
7.根据权利要求6所述的信息处理装置,其中,
利用置信传播方法的解码处理是对于低密度奇偶校验码的解码处理。
8.根据权利要求1所述的信息处理装置,其中,
组合优化问题的目标函数表达为Ising模型的能量函数。
9.根据权利要求1所述的信息处理装置,其中,
组合优化问题的目标函数表达为QUBO(二次无约束二元优化)格式的目标函数。
10.根据权利要求9所述的信息处理装置,其中,
两个处理器中的至少一个处理器执行用于将Ising模型的能量函数的系数转换成QUBO格式的目标函数的系数的处理。
11.一种信息处理装置,包括:
存储电路,存储一个或更多个组合优化问题的处理过程;
第一处理电路,从一个或更多个组合优化问题的处理过程选择一个处理过程;
第二处理电路,从输入到***的信息中提取要输入到处理过程的数据并且输出组合优化问题的结果;和
显示电路,基于输出结果生成***所需的信息并且显示该信息的至少一部分。
12.根据权利要求11所述的信息处理装置,其中,
第二处理电路以预定方式处理从接收的组合优化问题转换出的预定解码问题。
13.根据权利要求11所述的信息处理装置,其中,
第二处理电路是与连接到外部的量子计算机通信的通信电路。
14.一种信息处理方法,包括:
从输入到***的第一信息中提取被定制为组合优化问题的处理所需的第二信息;
接收提取的第二信息的输入并计算组合优化问题的目标函数;和
接收目标函数的输入并输出组合优化问题的解。
15.一种信息处理***,包括:
至少两个处理器,所述至少两个处理器从输入到***的第一信息中提取被定制为组合优化问题的处理所需的第二信息,接收提取的第二信息的输入并计算组合优化问题的目标函数,以及
接收目标函数的输入并输出组合优化问题的解,其中,
所述至少两个处理器中的一个处理器是输出组合优化问题的解的处理器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020-195206 | 2020-11-25 | ||
JP2020195206 | 2020-11-25 | ||
PCT/JP2021/041071 WO2022113720A1 (ja) | 2020-11-25 | 2021-11-09 | 情報処理装置、情報処理方法及び情報処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116457780A true CN116457780A (zh) | 2023-07-18 |
Family
ID=81755835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180077799.2A Pending CN116457780A (zh) | 2020-11-25 | 2021-11-09 | 信息处理装置、信息处理方法和信息处理*** |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230409374A1 (zh) |
EP (1) | EP4235526A4 (zh) |
JP (1) | JPWO2022113720A1 (zh) |
CN (1) | CN116457780A (zh) |
WO (1) | WO2022113720A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117934689A (zh) * | 2024-03-25 | 2024-04-26 | 四川省医学科学院·四川省人民医院 | 一种骨折ct影像的多组织分割与三维渲染方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018119522A1 (en) * | 2016-12-30 | 2018-07-05 | 1Qb Information Technologies Inc. | Methods and systems for unified quantum computing frameworks |
JP7285516B2 (ja) * | 2019-03-08 | 2023-06-02 | 日本電信電話株式会社 | 処理装置、処理方法及び処理プログラム |
-
2021
- 2021-11-09 US US18/253,219 patent/US20230409374A1/en active Pending
- 2021-11-09 JP JP2022565198A patent/JPWO2022113720A1/ja active Pending
- 2021-11-09 EP EP21897695.9A patent/EP4235526A4/en active Pending
- 2021-11-09 WO PCT/JP2021/041071 patent/WO2022113720A1/ja active Application Filing
- 2021-11-09 CN CN202180077799.2A patent/CN116457780A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117934689A (zh) * | 2024-03-25 | 2024-04-26 | 四川省医学科学院·四川省人民医院 | 一种骨折ct影像的多组织分割与三维渲染方法 |
CN117934689B (zh) * | 2024-03-25 | 2024-06-11 | 四川省医学科学院·四川省人民医院 | 一种骨折ct影像的多组织分割与三维渲染方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022113720A1 (ja) | 2022-06-02 |
EP4235526A1 (en) | 2023-08-30 |
JPWO2022113720A1 (zh) | 2022-06-02 |
EP4235526A4 (en) | 2024-05-01 |
US20230409374A1 (en) | 2023-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10599989B2 (en) | Efficient reduction of resources for the simulation of fermionic Hamiltonians on quantum hardware | |
CN106951962B (zh) | 用于神经网络的复合运算单元、方法和电子设备 | |
CN113424202A (zh) | 针对神经网络训练调整激活压缩 | |
US20230196202A1 (en) | System and method for automatic building of learning machines using learning machines | |
JP4521318B2 (ja) | 量子回路、量子誤り訂正装置および量子誤り訂正方法 | |
Nannicini | Fast quantum subroutines for the simplex method | |
US20230147890A1 (en) | Quantum enhanced word embedding for natural language processing | |
Huai et al. | Zerobn: Learning compact neural networks for latency-critical edge systems | |
Cox | Syntactically informed text compression with recurrent neural networks | |
US20230042327A1 (en) | Self-supervised learning with model augmentation | |
Rek et al. | Typecnn: Cnn development framework with flexible data types | |
CN116457780A (zh) | 信息处理装置、信息处理方法和信息处理*** | |
Dov et al. | Approximate encoding of quantum states using shallow circuits | |
CN117313531A (zh) | 光子能带预测透射谱模型的训练、预测方法、介质及设备 | |
Zhou et al. | Compressed sensing in the presence of speckle noise | |
CN116341564A (zh) | 基于语义理解的问题推理方法和装置 | |
Zhu et al. | A hybrid model for nonlinear regression with missing data using quasilinear kernel | |
KR20230157339A (ko) | 활성화 함수들의 효율적인 압축 | |
US11966716B2 (en) | Apparatus and method for fully parallelized simulated annealing using a self-action parameter | |
Pelissier et al. | Quantum assisted image registration | |
Zhao et al. | Gradient‐based compressive sensing for noise image and video reconstruction | |
JP2009053933A (ja) | ユニタリ行列分解方法、ユニタリ行列分解装置、ユニタリ行列分解プログラム及び記録媒体 | |
Yang et al. | Hardware-efficient mixed-precision CP tensor decomposition | |
Semmler et al. | N-Dimensional Image Encoding on Quantum Computers | |
US11755890B2 (en) | Local training of neural networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |