CN117763277A - 优化问题的顺序分组处理 - Google Patents
优化问题的顺序分组处理 Download PDFInfo
- Publication number
- CN117763277A CN117763277A CN202311206963.2A CN202311206963A CN117763277A CN 117763277 A CN117763277 A CN 117763277A CN 202311206963 A CN202311206963 A CN 202311206963A CN 117763277 A CN117763277 A CN 117763277A
- Authority
- CN
- China
- Prior art keywords
- variables
- variable
- local field
- optimization problem
- weight
- 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
- 238000005457 optimization Methods 0.000 title claims abstract description 156
- 238000012545 processing Methods 0.000 title claims abstract description 29
- 239000011159 matrix material Substances 0.000 claims abstract description 89
- 238000000034 method Methods 0.000 claims abstract description 78
- 230000008569 process Effects 0.000 claims abstract description 53
- 230000008859 change Effects 0.000 claims abstract description 25
- 230000003993 interaction Effects 0.000 claims abstract description 5
- 230000004044 response Effects 0.000 claims description 5
- 238000012360 testing method Methods 0.000 abstract description 49
- 238000004364 calculation method Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000007792 addition Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000009847 ladle furnace Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000005309 stochastic process Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Operations Research (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
方法可以包括:获得表示与优化问题相关的特征的变量以及与变量对应的权重。变量可以被划分为组,每个组包括变量的子集。方法可以包括:获得每组变量的组局部字段矩阵。每个局部字段矩阵可以包括局部字段值,该局部字段值指示相应变量与受其相应权重影响的其他变量之间的相互影响。方法可以包括:执行半顺序试验处理,该半顺序试验处理可以是随机处理,该处理包括:执行针对变量的试验,其中每次试验确定是否改变变量的状态。可以包括:基于随机处理结果更新所有组局部字段矩阵,并且基于结果确定优化问题的解。
Description
技术领域
本公开内容总体上涉及优化问题的顺序分组处理。
背景技术
优化问题可以通过为表示优化问题的函数找到返回最大值或最小值的输入值来求解。一些优化问题可以包括多个输入,每个输入都包括多个可能的输入值,使得确定求解优化问题的最大值或最小值可以包括:调整多个输入中的一个或更多个。计算机系统可以用于更有效且更高效地确定优化问题的解。
本公开内容中要求保护的主题不限于解决任何缺点或者仅在诸如上述环境的环境中工作的实施方式。而是,提供该背景技术仅用于示出可以实践本公开内容中描述的一些实施方式的一个示例技术领域。
发明内容
根据实施方式的一个方面,方法可以包括:获得表示与优化问题相关的特征的变量以及与变量对应的权重。变量可以被划分为组,每个组包括变量的子集。方法可以包括:获得每组变量的组局部字段矩阵。每个局部字段矩阵可以包括局部字段值,该局部字段值指示相应变量与受其相应权重影响的其他变量之间的相互影响。方法可以包括:执行半顺序试验处理,该半顺序试验处理可以是随机处理,该处理包括:执行针对变量的试验,其中每次试验确定是否改变变量的状态。半顺序试验处理可以包括:基于随机处理结果更新所有组局部字段矩阵,并且基于结果确定优化问题的解。
实施方式的目的和优点将至少通过权利要求中特别指出的元件、特征以及组合来实现和完成。应当理解,前面的总体描述和下面的详细描述两者都是说明性的,而并非是对所要求保护的本发明的限制。
附图说明
将通过附图更加具体且详细地描述和说明示例实施方式,在附图中:
图1是多核计算机处理器架构的示例实施方式的图,该多核计算机处理器架构被配置成根据本公开内容的至少一个实施方式的执行与求解优化问题相关的一个或更多个操作。
图2是根据本公开内容的至少一个实施方式的多核计算机处理器架构的示例实施方式的图,该多核计算机处理器架构被配置成执行用于求解优化问题的试验步骤和更新步骤。
图3是根据本公开内容的至少一个实施方式的将与优化问题相关联的神经元映射到一个或更多个计算核的示例实施方式的图。
图4是根据本公开内容的至少一个实施方式的在试验核中选择和试验一个或更多个神经元的示例实施方式的图。
图5是示出根据本公开内容的至少一个实施方式的多核计算机处理器架构的试验核与更新核之间的通信的图。
图6A示出了根据本公开内容的至少一个实施方式的权重矩阵的示例实施方式。
图6B示出了根据本公开内容的至少一个实施方式的权重矩阵的转置。
图7示出了根据本公开内容的至少一个实施方式的混合权重存取处理的示例实施方式。
图8是根据本公开内容的至少一个实施方式的使用多核计算机处理器架构执行与优化问题相关的操作的示例方法的流程图。
图9是示例计算系统。
具体实施方式
求解优化问题可能具有挑战性,因为可能需要调整各种输入变量来确定优化问题的解。附加地或者替选地,可能难以断定所确定的优化问题的解是否表示最佳的甚至是高度优化的解。例如,特定的优化问题可能寻求使与特定优化问题相关联的参数最大化,但是可能难以确认特定的解是否得到参数的最大可能值,或者参数的值是否在最大可能值的某个阈值范围内。
计算机系统可以用于协助求解优化问题。然而,在识别由计算机系统提供的解是否是优化问题的优化解时,各种计算方法都会遇到类似的问题。例如,特定计算方法可以确定特定优化问题的特定解。然而,确认该特定解是否为最优解可能是困难的,因为该特定计算方法可能已经确定了表示特定优化问题的局部极值的解。附加地或者替选地,执行与优化问题相关的计算可能涉及大量计算机资源的使用,因为确定优化问题的优化解可能是涉及大量操作和计算的迭代处理。
由于优化问题的复杂性和多变量性质,可以使用近似方法来减少计算机资源的使用,同时仍然提供优化问题的解。例如,可以使用二次无约束二值优化(QUBO)模型,将特定优化问题表示为具有二值输入值(例如0或1)的一系列节点。然而,目前求解QUBO问题和其他二值优化问题的方法可能只能容纳少量的输入变量,以及/或者随着变量数目的增加,可能需要大量的处理时间和计算资源来求解二值优化问题。
本公开内容涉及如下操作,与传统方法相比,所述操作允许优化问题的扩展,同时减少了可能使用的计算资源的量。在一些实施方式中,可以将与优化问题对应的变量划分为多个组,并且可以对特定组中包括的每个变量并行执行计算性试验。在这些和其他实施方式中,在执行与特定变量组对应的并行计算性试验之后,可以更新与每组变量相关联的局部字段值,并且在基于针对特定变量组执行的并行计算性试验更新与每个变量组相关联的局部字段值之后,可以顺序地执行涉及不同变量组的计算性试验。在一些实施方式中,多核计算机处理器架构可以被配置成使用上文所指示并且在下文详细讨论的顺序分组处理来执行与求解优化问题相关的一个或更多个操作和计算。本公开内容中描述的多核计算机处理器架构的一个或更多个实施方式可以通过以例如在求解优化问题(例如QUBO问题)方面更高效地执行计算机系统的操作的方式布置计算处理、数据存储和/或数据检索的改进计算机系统的功能。
参照附图来说明本公开内容的实施方式。
图1是根据本公开内容的至少一个实施方式的系统100的示例实施方式的图,该系统100被配置成执行与求解优化问题相关的一个或更多个操作。在一些实施方式中,系统100可以包括变量调整模块120和/或计算模块130。系统100的元件,包括例如变量调整模块120和/或计算模块130(一般称为“计算模块”),可以包括代码和例程,这些代码和例程被配置成使计算系统能够执行一个或更多个操作。附加地或者替选地,计算模块可以使用硬件来实现,所述硬件包括处理器、微处理器(例如,用于执行或控制一个或更多个操作的性能)、现场可编程门阵列(FPGA)或专用集成电路(ASIC)。在其他一些情况下,计算模块可以使用硬件和软件的组合来实现。在本公开内容中,描述为由计算模块执行的操作可以包括计算模块可以指示一个或更多个对应系统执行的操作。计算模块可以被配置成执行关于优化问题变量110、经更新的局部字段矩阵125和/或优化问题解135的一系列操作,下文将结合图8的方法800进一步详细描述。
变量调整模块120可以获得优化问题变量110并且输出经更新的局部字段矩阵125,其中局部字段矩阵125的每个元素对应于特定的优化问题变量110。在一些实施方式中,优化问题变量110可以描述与对应优化问题相关的方面或细节。每个优化问题变量110都可以是二值变量,该二值变量包括两种状态,其中特定优化问题变量的特定状态有助于与优化问题相关的特定输出。重新配置优化问题变量的状态可能导致优化问题的输出变为2N个值中的一个,其中N是优化问题变量的数目,因为给定了N个二值变量,优化问题变量状态可以有2N种可能的组合。例如,特定优化问题变量的二值状态配置可能与第一动作或第二动作(如左转与右转)、第一工作状态或第二工作状态(如“开启”状态与“关闭”状态)或者第一选择或第二选择(如通过第一递增与通过第二递增来调整参数)相关,并且与特定优化问题变量相关联的特定优化问题的输出可以是若干个此类第一动作或第二动作、第一工作状态或第二工作状态或者第一选择或第二选择的二值状态配置的组合。
附加地或者替选地,每个优化问题变量110可以包括多个状态,所述多个状态包括比将优化问题变量110设置为两个状态之一更多的状态。例如,特定的优化问题变量可以包括三个、四个、五个、六个或更多的状态,这些状态表示可能的动作、工作状态或者对特定优化问题变量可能作出的选择。在该示例和其他示例中,特定优化问题变量可以表示为许多二值状态,并且与特定优化问题变量相关联的优化问题可以被建模为由许多二值状态组成的二次无约束二值优化(QUBO)问题,其中二值状态的分组表示特定的非二值变量。
由变量调整模块120获得的每个优化问题变量110可以包括默认状态。在一些实施方式中,优化问题变量110的默认状态可以表示优化问题变量110的初始状态。例如,在二值状态的情况下,每个优化问题变量110的默认状态可以是第一状态(例如,“关闭”状态,不调整参数值等)。附加地或者替选地,优化问题变量110的默认状态可以表示先前确定的状态,例如由用户提供的优化问题变量110的状态配置或者先前对状态的迭代调整。
变量调整模块120可以改变与每个优化问题变量110相关联的状态,以生成经更新的变量状态。在一些实施方式中,改变优化问题变量110的状态可以是随机处理,在该随机处理中,一个或更多个状态被随机调整。改变优化问题变量110状态的随机处理可以包括试验步骤和更新步骤。
在试验步骤期间,可以随机选择优化问题变量110中的一个或更多个,并且可以改变与所选择的优化问题变量110对应的状态。改变优化问题变量110状态可以包括:二值变量从第一状态切换到第二状态。附加地或者替选地,非二值变量的状态可以根据预先指定的规则随机调整或改变。例如,包括三种可能状态的非二值变量可以包括将第一状态改变为第二状态、将第二状态改变为第三状态、将第三状态改变为第一状态的试验规则。
在更新步骤期间,变量调整模块120可以基于优化问题变量110的已改变状态来更新与优化问题变量相关联的输出值,优化问题变量110与该优化问题相关。在一些实施方式中,优化问题的输出值可以由局部字段矩阵表示,在局部字段矩阵中,每个优化问题变量110都被分配为局部字段矩阵中的元素。局部字段矩阵可以用于指示当系统100的特定变量的状态发生改变时,系统100的能量的改变量。在试验步骤期间,任何优化问题变量110的状态改变不仅会导致已试验优化问题变量的局部字段发生改变,还会导致未试验优化问题变量的局部字段发生改变。因此,可以基于变量的仅子集的改变在更新步骤期间重新计算由局部字段矩阵的元素表示的系统的能量。
在一些实施方式中,试验步骤期间的随机处理可以基于表示优化问题的系统的温度来执行。在高温下,可以在随机处理期间执行更多次数的试验,使得试验更多的优化问题变量110,而执行的试验次数随着系统温度的降低而减少。优化问题变量110可以被分配初始温度,并且在试验步骤期间执行与第一温度对应的试验次数之后,可以在更新步骤期间更新局部字段矩阵。在更新局部字段矩阵之后,系统温度可能会降低。在这些和其他实施方式中,试验步骤和更新步骤可以递归执行达设置的迭代次数,或者直到达到阈值温度。
随着优化问题变得更加复杂,可以通过变量调整模块120获得更多的优化问题变量110,并且可能需要更重的计算负荷来执行试验和更新步骤。在一些实施方式中,可以将优化问题变量110划分成多组变量,以减少随机试验优化问题变量110和更新局部字段矩阵的计算负荷。
在这些和其他实施方式中,可以基于被配置成执行与变量调整模块120的试验和更新步骤相关联的操作的计算机系统中包括的计算核的数目来确定可以将优化问题变量110划分的组的数目。例如,与特定优化问题相关联的优化问题变量可以使用包括五个计算核的特定计算机系统进行试验和更新,并且优化问题变量可以相应地划分为五个组,每组优化问题变量在不同的计算核上进行处理。附加地或者替选地,可以考虑将优化问题变量划分为其相应组的每个计算核的处理能力。返回到前面的示例,第一计算核可以比第二计算核、第三计算核、第四计算核或第五计算核包括更强的处理能力;因此,相对于其他计算核,可以将更多的优化问题变量分配到与第一计算核对应的组中。附加地或者替选地,可以基于变量的总数和每个计算核的计算能力来确定组的数目。作为另一个示例,特定的优化问题可以包括总共100,000个变量,并且每个计算核可以能够并行处理8,000个变量。在该示例和其他示例中,可能最少需要13个计算核来处理特定的优化问题。因此,在这种情况下,组的数目可以是13个或更多。
在一些实施方式中,包括在同一组中的变量的局部字段可以被组织成组局部字段矩阵。由于对包括在特定组中的特定变量的状态进行重新配置可能会导致其他变量的局部字段发生改变,因此在试验步骤期间接受的状态配置可能会影响与特定变量相关联的整个组局部字段矩阵和/或其他变量组的组局部字段矩阵。在这些和其他实施方式中,由变量调整模块120执行的更新步骤可以包括:响应于包括在特定变量组中的特定优化问题变量的已接受状态配置的改变,更新所有组局部字段矩阵。
可以由计算模块130获得经更新的局部字段矩阵125,经更新的局部字段矩阵125可以包括对经更新的局部字段矩阵125的值有贡献的对应变量状态。在一些实施方式中,计算模块130可以基于变量状态确定优化问题变量110所对应的优化问题的输出,并且优化问题的输出可以表示优化问题解135。随着变量调整模块120的操作调整优化问题变量110的状态,优化问题解135可以被调整为趋向于朝向优化问题的目标输出(例如,使特定结果最小化、使特定结果最大化或者趋向于朝向优化问题的特定值)。
在不脱离本公开内容的范围的情况下,可以对系统100进行修改、添加或省略。例如,以所描述的方式指定不同的元件意在帮助说明本文描述的概念,而不是限制性的。例如,在一些实施方式中,变量调整模块120和计算模块130以所述的特定方式划分,以帮助说明本文所述的概念,但这种划分并不意味着限制。此外,系统100可以包括任意数目的其他元件,或者可以在除了所描述的系统或环境之外的其他系统或环境中实现。
图2是根据本公开内容的至少一个实施方式的多核计算机处理器架构200的示例实施方式的图,该多核计算机处理器架构被配置成执行用于求解优化问题的试验步骤和更新步骤。多核计算机处理器架构200可以是实现图1的系统100的示例计算机架构。例如,多核计算机处理器架构200可以是系统100的变量调整模块120的示例。在一些实施方式中,多核计算机处理器架构200可以被配置成执行与第一组变量212直至第N组变量214相关的操作。每组变量可以包括由位202表示的多个变量。每个组中的一个或更多个位可以被选择作为试验位204,并且与试验位204对应的状态可以在试验步骤期间改变。如果与试验位204对应的至少一个状态配置被接受,则与该组变量对应的组局部字段矩阵230可以基于重新配置的状态和与每个单独变量对应的权重225进行更新。例如,对包括在第一组变量212中的一个或更多个位202的状态进行重新配置可能导致第一组局部字段矩阵发生对应改变,而对包括在第N组变量214中的位202的状态进行重新配置可能导致第N组局部字段矩阵发生对应改变。附加地或者替选地,可以更新与该组变量相关联的温度240。
在一些实施方式中,与多核计算机处理器架构200相关的操作可以在本地存储器(例如第一图形处理单元(GPU)的存储器存储装置)中执行。多核计算机处理器的每个计算核可以被配置成对包括在一个或更多个组中的变量执行试验步骤和/或更新步骤。例如,涉及第一组变量212的操作可以被分配给特定多核计算机处理器的第一计算核,并且涉及第二组变量的操作可以被分配给同一特定多核计算机处理器的第二计算核。在该示例和其他示例中,将变量划分为组的数目可以与特定多核计算机处理器中包括的计算核的数目对应,使得涉及第N组变量214的操作被分配给第M个计算核。因此,特定计算核可以被配置成:改变与特定计算核对应的变量组中包括的试验位204的状态,计算一个或更多个组局部字段矩阵,以及在所有组局部字段矩阵230更新之后更新温度240。
在这些和其他实施方式中,权重225可以被存储在高速全局存储器220例如第二GPU的存储器上。响应于确定特定变量的状态在试验步骤期间发生改变,特定计算核可以访问与涉及特定计算核的特定变量对应的权重225(例如,特定变量被包括在分配给特定计算核的组中)。高速全局存储器220可以被配置成:响应于从一个或更多个计算核接收到对对应权重225的请求,选择性地检索一个或更多个权重225,并且将检索到的权重225发送到在其上发生多核计算机处理器的操作的本地存储器。
在不脱离本公开内容的范围的情况下,可以对多核计算机处理器架构200进行修改、添加或省略。例如,以所描述的方式指定不同的元件意在帮助说明本文描述的概念,而不是限制性的。此外,多核计算机处理器架构200可以包括任意数目的其他元件,或者可以在除了所描述的系统或环境之外的其他系统或环境中实现。
图3是根据本公开内容的至少一个实施方式的计算机架构300的示例实施方式的图,该计算机架构300被配置成执行与将与优化问题相关联的变量305划分给一个或更多个计算核相关的操作。计算机架构300可以是关于图2所述的多核计算机处理器架构200全部或部分的补充或替代。在一些实施方式中,每个变量305都可以被标记(例如用数字)并且按顺序组织。变量305可以被随机分配标签,使得在按顺序组织时彼此相邻的变量305可以在相邻变量305如何影响它们所涉及的优化问题方面几乎没有任何关系。附加地或者替选地,变量305可以被分配标签,使得相邻变量以相同或相似的方式影响优化问题。附加地或者替选地,以相同或相似方式影响优化问题的变量305可以被分配不同的标签,使得这些变量被划分为不同的组。
如图3所示,可以将每组变量分配给特定计算核来执行试验和/或更新步骤。例如,第一计算核310可以被配置成执行与第一组变量315相关的操作,该组变量315包括标记为1至某个整数k的变量,并且第M个计算核320可以被配置成执行与第N组变量325相关的操作,该组变量325包括标记为k x(M-1)+1至最后的第N个变量的变量。包括第一计算核310和第M个计算核320的每个计算核都可以与关于图2的多核计算机处理器架构200描述的计算核相同或类似。因此,每个计算核都可以被配置成执行随机试验处理,以改变一个或更多个变量305的状态,并且更新与每组变量相关联的组局部字段矩阵。在一些实施方式中,每个计算核可以被配置成基于与每个变量305对应的权重更新组局部字段矩阵,这些权重可以被存储在片外存储器330上。每个计算核可以被配置成访问片外存储器330并且检索与计算核的操作中涉及的任何变量305对应的权重。
在不脱离本公开内容的范围的情况下,可以对计算机架构300进行修改、添加或省略。例如,以所描述的方式指定不同的元件意在帮助说明本文描述的概念,而不是限制性的。此外,计算机架构300可以包括任意数目的其他元件,或者可以在除了所描述的系统或环境之外的其他系统或环境中实现。
在一些实施方式中,与试验步骤相关联的操作可以由第一计算核(即“试验核”)以顺序方式执行,并且与更新步骤相关联的操作可以由单独的第二计算核(即“更新核”)执行。图4是根据本公开内容的至少一个实施方式的与对变量集400中包括的一个或更多个变量进行顺序选择和试验相关的操作的示例实施方式的图。例如,变量集400可以包括与关于图3的计算机架构300描述的第一组变量315和/或第N组变量325中包括的变量、与关于图2的多核计算机处理器架构200描述的第一组变量212和/或第N组变量214中包括的变量以及/或者与图1的系统100相关描述的优化问题变量110中包括的变量。作为示例,变量集400可以包括1,024个变量,如由从ni至ni+1024标记的变量表示。在一些实施方式中,变量集400中包括的每个变量可以表示为位,该位包括两个状态(在二值位的情况下)或更多个状态(在非二值位的情况下)。
转向图4所示的示例,可以并行试验作为1,024个变量的集的子集的第一组变量410,以确定改变第一组410中包括的一个或更多个变量415的状态是否可以改进变量415所对应的优化问题的输出解。可以通过计算与第一组变量410对应的局部字段矩阵的改变相关的能量的改变来确定是否通过改变特定变量的状态改进了优化问题的输出解,其中局部字段矩阵的改变可以反过来基于将计算的与建议状态配置相关联的局部字段矩阵与没有建议状态配置的第一组变量410的局部字段矩阵进行比较。在该示例和其他示例中,第一组变量410可以包括从第一变量ni至第三十二个变量ni+31的三十二个变量。
在一些实施方式中,可以为第一组410中包括的每个变量415分配试验标志420,其中试验标志420指示是否接受了与如试验标志420的相同变量415对应的状态配置。例如,试验标志420可以用二值位来表示,其中二值位的第一值(例如0)指示所建议的状态配置被拒绝,二值位的第二值(例如1)表示所建议的状态配置被接受。
在这些和其他实施方式中,对第一组410中包括的变量415的状态配置的试验可以并行执行,使得同时对每个变量415进行试验。在对第一组410中的变量415进行试验之后,可以基于任何已接受的状态配置(即包括具有指示已接受状态配置的值的试验标志420的任何变量415)更新与变量集ni至ni+1024对应的局部字段矩阵。附加地或者替选地,可以在更新了与第一组410相关联的局部字段矩阵之后选择第二组变量430,使得对第二组变量430顺序地执行试验步骤。在一些实施方式中,第二组变量430可以包括与第一组变量410相同或相似数目的变量,并且第二组430可以包括从第一组410中包括的变量415开始的变量435,该变量435包括已接受的状态配置。
如图4所示,第一组410中包括的变量可以被标记为ni+k,并且包括指示接受与第ni+k个变量相关联的状态配置的试验标志420。第二组430可以包括从第ni+k个变量开始并且以标记为ni+k+32的变量结束的32个变量435。在这些和其他实施方式中,试验步骤和更新步骤可以针对第二组430中包括的变量435执行。试验步骤和更新步骤可以针对第三组、第四组等顺序地执行,直到变量集400中包括的阈值数目的变量已被试验并且已计算出对应的局部字段矩阵。
图5是根据本公开内容的至少一个实施方式的计算机系统500的示例实施方式的图,图5示出了试验核510与更新核530之间的与试验步骤和更新步骤的操作相关的通信。在一些实施方式中,试验核510可以包括一个或更多个计算核,每个计算核都被配置成执行与一个或更多个变量的试验状态配置相关的操作,如分别关于图1、图2、图3和/或图4中的系统100、多核计算机处理器架构200、计算机架构300和/或变量集400的描述。在一些实施方式中,试验内核510可以被配置成变量的试验状态配置,这些变量可以被划分为与试验内核510中包括的计算核的数目对应的若干组,并且确定是接受还是拒绝一个或更多个试验状态配置。
在一些实施方式中,试验核510可以将与试验状态配置相关的信息传递给全局存储器520,更新核530可以从该全局存储器520获得关于试验状态配置的信息,并且更新与试验核510中包括的每组变量对应的局部字段矩阵。在这些和其他实施方式中,全局存储器520可以从试验核510接收信息,例如已接受状态配置试验的数目522Naccepted、包括已接受状态配置试验的变量的对应状态524Saccepted、和/或包括已接受状态配置试验的变量在对应局部字段矩阵中的索引526LOCaccepted。附加地或者替选地,全局存储器520可以包括试验核510中包括的每对变量之间的权重,其中特定权重表示第一变量的状态对第二变量的状态的影响程度,该影响程度与第一变量和第二变量的局部字段矩阵值相关,如图6A、图6B和图7的描述中进一步详细描述的那样。在试验核510完成了与变量相关的状态配置试验之后,试验核510可以向全局存储器520发送信息。因此,更新核530可以在假设试验核510的操作已经结束的情况下从全局存储器520接收状态信息。
在一些实施方式中,更新核530可以包括各种计算核,例如第一计算核532和第M计算核534。更新核530中包括的计算核的数目可以与试验核510中包括的计算核的数目相同或相似,使得试验核510中使用的变量的分组就可以转换到更新核530中。附加地或者替选地,可以根据更新核530中包括的计算核的数目和/或处理能力,对试验核510中试验的变量进行重新分组。例如,第一计算核532可以包括指数在1与N/M之间的变量,其中N表示变量的总数,M表示计算核的总数,而第M计算核534包括指数在与N之间的变量。
在一些实施方式中,更新核530的计算核可以被配置成获得存储在全局存储器520上的信息,并且针对包括已接受状态配置试验的每组变量计算局部字段矩阵的更新。与变量的特定组X对应的局部字段矩阵可用以下关系表示:
其中,LFk(X)表示变量的特定组的局部字段矩阵,该局部字段矩阵可以基于特定组中包括的第k个变量与第i个变量之间的连接权重wki、与第i个变量对应的状态的值xi以及与第k个变量对应的偏差bk计算得出。
在不脱离本公开内容的范围的情况下,可以对计算机系统500进行修改、添加或省略。例如,以所描述的方式指定不同的元件意在帮助说明本文描述的概念,而不是限制性的。此外,计算机系统500可以包括任意数目的其他元件,或者可以在除了所描述的系统或环境之外的其他系统或环境中实现。
图6A示出了根据本公开内容的至少一个实施方式的半权重矩阵600的示例实施方式。在一些实施方式中,权重矩阵可以包括每对变量之间的权重,该权重指示这对变量中的第一变量的状态对与这对变量中第二变量对应的局部字段矩阵的元素的影响。在这些和其他实施方式中,每对变量之间的权重可以是双向的,使得这对变量中的第一变量的状态对与第二变量对应的局部字段矩阵的元素的影响可以相当于第二变量的状态对与第一变量对应的局部字段矩阵的元素的影响。因此,涉及变量i和变量j的第一权重wij可以等于同样的这两个变量之间的第二权重wji。
半权重矩阵600可以包括指示变量对之间关系的元素610。可以读取半权重矩阵600的特定行和半权重矩阵600的特定列,以基于与读取半权重矩阵600的特定行和特定列对应的单个变量的特定状态改变,更新局部字段矩阵的所有元素。例如,如图6A所示,可以读取半权重矩阵600的第二行620和第二列630,以更新与索引为2的变量对应的局部字段矩阵的元素。
由于变量对之间的权重是双向的,因此半权重矩阵600可以完全表示与特定优化问题相关的每对变量之间的关系,而相对于完全填充的权重矩阵,只包括权重元素中的一半。因此,与存储包括与半权重矩阵600相同信息的全填充权重矩阵相比,在全局存储器中存储半权重矩阵600可以占用更少的存储器资源。图6B示出了根据本公开内容的至少一个实施方式的将权重矩阵640转置到全局存储器中的情况。
权重矩阵640可以由第一部分650构成,第一部分650包括已经写入全局存储器的权重元素(如权重元素652)和列(如列654)。换句话说,第一部分650可以表示已存储在全局存储器上的第一半权重矩阵。权重矩阵640还可以包括第二部分660,第二部分660包括未写入全局存储器的权重元素(如权重元素662)和行(如行664)。在这些和其他实施方式中,第二部分660可以包括权重元素,这些权重元素是存储在全局存储器中的第一部分650中包括的权重元素的双向对应物。例如,权重元素662可以是权重元素652的双向对应物,并且行664可以包括列654的双向对应元素。
在不脱离本公开内容的范围的情况下,可以对半权重矩阵600和/或权重矩阵640进行修改、添加或省略。例如,以所描述的方式指定不同的元件意在帮助说明本文描述的概念,而不是限制性的。此外,半重矩阵600和/或权重矩阵640可以包括任意数目的其他元件,或者可以在除了所描述的系统或环境之外的其他系统或环境中实现。
图7示出了根据本公开内容的至少一个实施方式的促进混合权重访问的计算机架构700的示例实施方式。混合权重访问可以促进在试验核和更新核中的任一个或二者的操作期间,由试验核和/或更新核分别存储和/或检索存储在全局存储器中的权重。因此,混合权重访问处理可以减少试验核和更新核的运行时间,而这与涉及全局存储器中存储的权重的任一核的操作相关。
在一些实施方式中,计算机架构700可以包括在第一流710和第二流720中并行工作的两个处理。第一流710可以包括执行与试验步骤相关联的操作的试验核712以及执行与更新步骤相关联的操作的更新核715,如分别关于图1、图2和/或图3中的系统100、多核计算机处理器架构200和/或计算机架构300的描述。第二数据流720可以包括一个或更多个转置核,例如第一转置核722和第二转置核724,这些转置核与第一流710的试验核712和更新核714一起被包括在本地存储器中。
转置核可以被配置成从存储在全局存储器中的权重矩阵(例如,权重中的一行或更多个行)中检索一个或更多个特定权重,使得更新核714可以在不与全局存储器通信的情况下访问特定权重。在一些实施方式中,试验核712和更新核714可以基于由试验核712和更新核714正在采样的变量的数目,顺序地执行试验步骤和更新步骤若干次(即试验步骤和更新步骤的“运行”次数)。试验步骤的顺序早期运行可以在较高温度下进行,这指示相对于在较低温度下执行的运行,可以建议和/或接受更多的建议状态配置。因此,更新核714可以对与已接受的状态配置对应的局部字段矩阵执行更次的更新,这可能会导致更新核714相对于较低温度下的运行以更高的频率参考存储在全局存储器中的权重。为了促进更新核714的更新步骤并且减少运行时间,包括转置核的第二流720可以抢先从全局存储器中检索一个或更多个权重,使得更新核714可以通过与本地存储器而不是全局存储器通信来检索对应的权重。由与试验核712和/或更新核714的操作并行的转置核抢先检索的权重可以包括与已接受的状态配置所涉及的变量对应的权重的一个或更多个行和/或列。
在这些和其他实施方式中,随着在由更新核714执行的顺序运行过程中变量温度的降低,可以接受较少的建议状态配置。由于接受的状态配置的数目的减少,由试验核712和/或更新核714执行的操作的运行时间可能会减少,使得由转置核执行的操作的运行时间相对于试验核712和/或更新核714的运行时间变得更长。因此,在较低温度下,可以关闭第二流720中包括的转置核的操作,并且更新核714可以从存储在全局存储器中的权重矩阵(例如,半权重矩阵)而不是从转置核中检索权重。
在不脱离本公开内容的范围的情况下,可以对计算机架构700进行修改、添加或省略。例如,以所描述的方式指定不同的元件意在帮助说明本文描述的概念,而不是限制性的。此外,计算机架构700可以包括任意数目的其他元件,或者可以在除了所描述的系统或环境之外的其他系统或环境中实现。
图8是根据本公开内容的至少一个实施方式的使用多核计算机处理器架构执行与优化问题相关的操作的示例方法800的流程图。方法800可以由任何合适的系统、装置或装置执行。例如,变量调整模块120或计算模块130可以执行与方法800相关联的一个或更多个操作。虽然图示的是离散块,但是与方法800的一个或更多个块相关联的步骤和操作可以根据特定的实现方式划分为更多的块,合并为更少的块或者取消。
方法800可以在区块810处开始,在810处,可以获得优化问题以及与优化问题对应的多个变量。如分别关于图1和图2的系统100和多核计算机处理器架构200的描述,优化问题可以包括影响优化问题的结果的各种变量。求解优化问题可能需要调整与影响特定结果的一个或更多个变量对应的值,如结果的最大值或最小值。特定变量的值可以由变量的状态表示,并且改变特定变量的状态可以导致特定变量的值发生对应改变。在一些实施方式中,变量可以包括二值状态,使得变量的状态就可以用第一状态(如零或“关闭”)或第二状态(如一或“开启”)来表示。附加地或者替选地,变量可以包括非二值状态,使得变量的状态就可以用多个不同的状态来表示。
在块820处,可以获得与变量对应的权重。特定变量的权重可以表示特定变量影响优化问题的结果的程度。在一些实施方式中,特定变量影响优化问题的结果的程度可以取决于特定变量的状态如何影响与优化问题相关联的其他变量的状态。因此,特定变量可以涉及特定变量与优化问题中包括的每个其他变量之间的多个成对权重。
在块830处,可以将每个变量划分为组。在一些实施方式中,可以基于处理变量和求解优化问题的计算机系统的规格将变量划分为若干组。例如,可以基于多核计算机处理器中包括的计算核的数目和/或每个计算核的处理能力来确定变量可以被分划分的组的数目。
在块840处,可以获得与每组变量对应的组局部字段矩阵。特定组局部字段矩阵可以指示对应变量组的值和/或对应变量组对优化问题的结果的影响。在一些实施方式中,每个局部字段矩阵可以表示与特定变量的特定状态对应的能量,并且组局部字段矩阵可以表示与基于组中包括的变量的状态的变量组对应的能量。
在块850处,可以针对每组变量执行随机试验处理。在一些实施方式中,针对特定变量组执行随机处理可以包括:在试验步骤期间针对特定组中包括的一个或更多个变量执行试验。每次试验可以基于特定变量组的对应权重和局部字段值确定是否改变相应变量的相应状态。
在块860处,可以更新所有组局部字段矩阵。在一些实施方式中,与每个其他组相关联的组局部字段矩阵可能会受到特定变量组的组局部字段矩阵的改变的影响。因此,在接受与任何一组变量对应的状态配置之后,可以更新所有组局部字段矩阵。更新组局部字段矩阵可能涉及基于每个组中包括的变量的状态以及变量相对于每个其他变量的相关联的权重的计算,如关于更新步骤所述。
在一些实施方式中,在块850和块860处执行的操作可以顺序地执行,并且对每组变量迭代重复,直到根据块850处的操作对所有变量组进行了试验,并且根据块860处的操作完成了对所有组局部字段矩阵的对应更新。
在块870处,可以确定优化问题的解。在一些实施方式中,优化问题的解可以包括:基于重新配置变量的状态使优化问题的一个或更多个特征或参数最小化或最大化。附加地或者替选地,优化问题的解可以包括:确定变量的状态,使得优化问题的结果接近特定值或值范围。在这些和其他实施方式中,优化问题的解可以基于一个或更多个组局部字段矩阵来计算,这些组局部字段矩阵是在通过关于图1至图7描述的试验步骤和更新步骤的若干次连续运行之后更新的。
在不脱离本公开内容的范围的情况下,可以对方法800进行修改、添加或省略。例如,以所描述的方式指定不同的元件意在帮助说明本文描述的概念,而不是限制性的。此外,方法800可以包括任意数目的其他元件,或者可以在除了所描述的系统或环境之外的其他系统或环境中实现。
图9是根据本公开内容的至少一个实施方式的计算系统900的示例。计算系统900可以包括处理器910、存储器920、数据存储装置930和/或通信单元940,所有这些都可以被通信地耦接。图1的系统100的任何或全部都可以被实现为与计算系统900一致的计算系统。
通常,处理器910可以包括任何合适的专用或通用计算机、计算实体或包括各种计算机硬件或软件模块的处理装置,并且可以被配置成执行存储在任何适用的计算机可读存储介质上的指令。例如,处理器910可以包括微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或被配置成解释和/或执行程序指令和/或处理数据的任何其他数字或模拟电路。
尽管在图9中被示为单个处理器,但是应当理解,处理器910可以包括分布在任何数目的网络或物理位置上的任何数目的处理器,该任何数目的处理器被配置成单独地或共同地执行在本公开内容中描述的任何数目的操作。在一些实施方式中,处理器910可以解释和/或执行程序指令和/或处理存储在存储器920、数据存储装置930或者存储器920和数据存储装置930中的处理数据。在一些实施方式中,处理器910可以从数据存储装置930中取得程序指令,并将程序指令加载到存储器920中。
在程序指令被加载到存储器920中之后,处理器910可以执行程序指令,例如使计算系统900执行图8的方法800的操作的指令。例如,计算系统900可以执行程序指令以获得优化问题及其相关联的变量,获得与变量对应的权重,将变量划分为组,获得每组变量的组局部字段矩阵,针对每组变量执行随机试验处理,基于每个随机试验处理更新所有组局部字段矩阵,并且确定优化问题的解。
存储器920和数据存储装置930可以包括具有存储在其上的计算机可执行指令或数据结构的计算机可读存储介质或者一个或更多个计算机可读存储介质。这样的计算机可读存储介质可以是可以由通用或专用计算机例如处理器910访问的任何可用介质。例如,存储器920和/或数据存储装置930可以包括图1中的优化问题变量110、经更新的局部字段矩阵125或者优化问题解135。在一些实施方式中,计算系统900可以包括或者可以不包括存储器920和数据存储装置930中的任何一个。
作为示例而非限制,这样的计算机可读存储介质可以包括非暂态计算机可读存储介质,包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、致密盘只读存储器(CD-ROM)或其他光盘存储装置、磁盘存储装置或其他磁存储装置、闪存装置(例如,固态存储装置)、或者可以用于存储计算机可执行指令或数据结构形式的特定程序代码并且可以由通用或专用计算机访问的任何其他存储介质。以上的组合也可以被包括在计算机可读存储介质的范围内。计算机可执行指令可以包括例如被配置成使处理器910执行某个操作或一组操作的指令和数据。
通信单元940可以包括被配置成通过网络发送或接收信息的任何部件、装置、系统或其组合。在一些实施方式中,通信单元940可以与在其他位置或相同位置处的其他装置通信,或者甚至与同一系统内的其他部件通信。例如,通信单元940可以包括调制解调器、网卡(无线的或有线的)、光通信装置、红外通信装置、无线通信装置(诸如天线)和/或芯片组(诸如蓝牙装置、802.6装置(例如,城域网(MAN))、WiFi装置、WiMax装置、蜂窝通信设施或其他)和/或类似装置。通信单元940可以允许与网络和/或本公开内容中描述的任何其他装置或系统交换数据。例如,通信单元940可以允许系统900与其他系统(诸如计算装置和/或其他网络)进行通信。
在阅读了本公开内容之后,本领域技术人员可以认识到,可以在不脱离本公开内容的范围的情况下对系统900进行修改、添加或省略。例如,系统900可以包括比明确示出和描述的部件更多的部件或更少的部件。
前述公开内容并非意图将本公开内容限制为所公开的确切形式或特定使用领域中。因此,可以预期的是,根据本公开内容,无论是在本文中明确描述还是暗示的对本公开内容的各种替选实施方式和/或修改都是可行的。在如此描述了本公开内容的实施方式的情况下,可以认识到,可以在不脱离本公开内容的范围的情况下在形式和细节上做出改变。因此,本公开内容仅由权利要求进行限制。
在一些实施方式中,本文描述的不同部件、模块、引擎和服务可以被实现为在计算系统上执行的对象或处理(例如,作为单独的线程)。尽管本文描述的一些系统和处理通常被描述为以软件实现(存储在通用硬件上和/或由通用硬件执行),但是特定的硬件实现或者软件与特定的硬件实现的组合也是可行的并且可预期的。
在本公开内容中使用的术语,并且特别地在所附权利要求(例如,所附权利要求的主体)中使用的术语通常意在是“开放式术语”(例如,术语“包括”应当被解释为“包括但不限于”)。
另外,如果意在表达特定数目的引入的权利要求叙述,则这样的意图将在权利要求中明确记载,并且在没有这样的叙述的情况下,不存在这样的意图。例如,为了有助于理解,所附权利要求可以包含使用引入性短语“至少一个”和“一个或更多个”以引入权利要求叙述。然而,即使当同一权利要求包括引入性短语“一个或更多个”或“至少一个”以及不定冠词如“一(a)”或“一个(an)”时(例如,“一”和/或“一个”应当被解释为意指“至少一个”或“一个或更多个”),对这样的短语的使用也不应当被解释为暗含由不定冠词“一”或“一个”引入的权利要求叙述将包含这样引入的权利要求叙述的任何特定权利要求限制为包含仅一个这样叙述的实施方式;这同样适用于对用于引入权利要求叙述的定冠词的使用。
另外,即使明确地记载了所引入的权利要求叙述的具体数目,本领域技术人员也将认识到,这样的叙述应被解释为至少意指所记载的数目(例如,没有其他修饰语的“两个叙述”的无修饰叙述意指至少两个叙述,或者两个或更多个叙述)。此外,在使用类似于“A、B和C等中的至少一个”或“A、B和C等中的一个或更多个”的惯用语的那些情况下,通常这样的构造旨在包括仅A、仅B、仅C、A和B一起、A和C一起、B和C一起、或A、B和C一起等。
此外,无论是在说明书、权利要求中还是在附图中,呈现两个或更多个可替选术语的任何分隔词或短语都应当被理解为考虑包括术语之一、术语中的任一个或所有术语的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”或“A和B”的可能性。
本公开内容中记载的所有示例和条件语言旨在用于教导目的以有助于读者理解本公开内容和发明人为了促进本领域的发展所贡献的构思,并且应被解释为不限于这样的具体记载的示例和条件。尽管已经详细地描述了本公开内容的实施方式,但是在不脱离本公开内容的精神和范围的情况下可以对本公开内容的实施方式进行各种改变、替换和变更。
Claims (20)
1.一种方法,包括:
获得多个变量,每个变量表示与优化问题相关的特征;
获得与所述变量对应的权重,每个相应权重与相应变量和关于所述优化问题的一个或更多个其他变量之间的一个或更多个关系相关;
将所述变量划分为多个组,其中每个相应组包括所述多个变量中的变量的子集;
针对每个相应组的变量获得相应组局部字段矩阵,每个组局部字段矩阵包括局部字段值,每个局部字段值指示相应变量与所述多个变量中的受所述相应变量的相应权重影响的其他变量之间的相互影响;
针对所述多个组执行半顺序试验处理,所述半顺序试验处理包括:
基于与所述多个组中的第一组第一变量对应的第一权重和第一局部字段值,执行针对所述第一组的第一随机处理,所述第一随机处理是关于改变所述第一组中的所述第一变量中的一个或更多个的相应状态,所述第一随机处理包括:执行针对所述第一变量中的一个或更多个的第一试验,其中相应第一试验确定是否改变相应第一变量的相应状态;
基于所述第一随机处理的结果更新所有组局部字段矩阵;
基于与所述多个组中的第二组第二变量对应的第二权重和第二局部字段值,执行针对所述第二组的第二随机处理,所述第二随机处理是关于改变所述第二组中的所述第二变量中的一个或更多个的相应状态,所述第二随机处理包括:执行针对所述第二变量中的一个或更多个的第二试验,其中相应第二试验确定是否改变相应第二变量的相应状态;以及
基于所述第二随机处理的结果更新所有组局部字段矩阵;以及基于所述半顺序试验处理确定所述优化问题的解。
2.根据权利要求1所述的方法,其中,获得与所述变量对应的权重包括:参考权重矩阵,所述权重矩阵包括每个变量相对于所述优化问题中包括的每个其他变量的权重。
3.根据权利要求2所述的方法,其中,所述权重矩阵是半权重矩阵,所述半权重矩阵包括每个相应变量相对于所述优化问题中包括的每个其他变量的权重,但不包括每个其他变量与所述每个相应变量之间的双向权重。
4.根据权利要求2所述的方法,其中,所述变量被存储在第一存储器上,并且参考所述权重矩阵包括:访问存储有所述权重矩阵的第二存储器,所述第二存储器与所述第一存储器分离。
5.根据权利要求1所述的方法,其中,针对所述第一随机处理执行的所述第一试验的次数基于与每个相应第一变量相关联的相应温度来确定,其中:
所述温度从第一温度开始;并且
在基于所述第一随机处理的结果更新所有组局部字段矩阵之后,所述温度被更新为第二温度,所述第二温度低于所述第一温度。
6.根据权利要求1所述的方法,其中,将所述变量划分为所述多个组基于被配置成执行所述半顺序试验处理的计算机系统的计算核的数目以及所述计算核中的每一个的处理能力。
7.根据权利要求1所述的方法,其中,所述优化问题是二次无约束二值优化(QUBO)问题。
8.一种系统,包括:
一个或更多个处理器,所述处理器中的每一个包括多个计算核;
本地存储器
片外存储器;以及
一个或更多个非暂态计算机可读存储介质,被配置成存储指令,所述指令响应于被所述本地存储器执行而使所述系统执行操作,所述操作包括:
获得多个变量,每个变量表示与优化问题相关的特征;
获得与所述变量对应的权重,每个相应权重与相应变量和关于所述优化问题的一个或更多个其他变量之间的一个或更多个关系相关;
将所述变量划分为多个组,其中每个相应组包括所述多个变量中的变量的子集;
针对每个相应组的变量获得相应组局部字段矩阵,每个组局部字段矩阵包括局部字段值,每个局部字段值指示相应变量与所述多个变量中的受所述相应变量的相应权重影响的其他变量之间的相互影响;
针对所述多个组执行半顺序试验处理,所述半顺序试验处理包括:
基于与所述多个组中的第一组第一变量对应的第一权重和第一局部字段值,执行针对所述第一组的第一随机处理,所述第一随机处理是关于改变所述第一组中的所述第一变量中的一个或更多个的相应状态,所述第一随机处理包括:执行针对所述第一变量中的一个或更多个的第一试验,其中相应第一试验确定是否改变相应第一变量的相应状态;
基于所述第一随机处理的结果更新所有组局部字段矩阵;
基于与所述多个组中的第二组第二变量对应的第二权重和第二局部字段值,执行针对所述第二组的第二随机处理,所述第二随机处理是关于改变所述第二组中的所述第二变量中的一个或更多个的相应状态,所述第二随机处理包括:执行针对所述第二变量中的一个或更多个的第二试验,其中相应第二试验确定是否改变相应第二变量的相应状态;以及
基于所述第二随机处理的结果更新所有组局部字段矩阵;以及基于所述半顺序试验处理确定所述优化问题的解。
9.根据权利要求8所述的系统,其中,获得与所述变量对应的权重包括:参考权重矩阵,所述权重矩阵包括每个变量相对于所述优化问题中包括的每个其他变量的权重。
10.根据权利要求9所述的系统,其中,所述权重矩阵是半权重矩阵,所述半权重矩阵包括每个相应变量相对于所述优化问题中包括的每个其他变量的权重,但不包括每个其他变量与所述每个相应变量之间的双向权重。
11.根据权利要求9所述的系统,其中,所述变量被存储在第一存储器上,并且参考所述权重矩阵包括:访问存储有所述权重矩阵的第二存储器,所述第二存储器与所述第一存储器分离。
12.根据权利要求8所述的系统,其中,针对所述第一随机处理执行的所述第一试验的次数基于与每个相应第一变量相关联的相应温度来确定,其中:
所述温度从第一温度开始;并且
在基于所述第一随机处理的结果更新所有组局部字段矩阵之后,所述温度被更新为第二温度,所述第二温度低于所述第一温度。
13.根据权利要求8所述的系统,其中,将所述变量划分为所述多个组基于被配置成执行所述半顺序试验处理的计算机系统的计算核的数目以及所述计算核中的每一个的处理能力。
14.根据权利要求8所述的系统,其中,所述优化问题是二次无约束二值优化(QUBO)问题。
15.一种或更多种非暂态计算机可读存储介质,其被配置成存储指令,所述指令响应于被执行而使系统执行操作,所述操作包括:
获得多个变量,每个变量表示与优化问题相关的特征;
获得与所述变量对应的权重,每个相应权重与相应变量和与所述优化问题相关的一个或更多个其他变量之间的一个或更多个关系相关;
将所述变量划分为多个组,其中每个相应组包括所述多个变量中的变量的子集;
获得每个相应变量组的相应组局部字段矩阵,每个组局部字段矩阵包括局部字段值,每个局部字段值指示相应变量与所述多个变量中的受所述相应变量的相应权重影响的其他变量之间的相互影响;
针对所述多个组执行半顺序试验处理,所述半顺序试验处理包括:
基于与所述多个组中的第一组第一变量对应的第一权重和第一局部字段值,执行针对所述第一组的第一随机处理,所述第一随机处理是关于改变所述第一组中的所述第一变量中的一个或更多个的相应状态,所述第一随机处理包括:执行针对所述第一变量中的一个或更多个的第一试验,其中相应第一试验确定是否改变相应第一变量的相应状态;
基于所述第一随机处理的结果更新所有组局部字段矩阵;
基于与所述多个组中的第二组第二变量对应的第二权重和第二局部字段值,执行针对所述第二组的第二随机处理,所述第二随机处理是关于改变所述第二组中的所述第二变量中的一个或更多个的相应状态,所述第二随机处理包括:执行针对所述第二变量中的一个或更多个的第二试验,其中相应第二试验确定是否改变相应第二变量的相应状态;以及
基于所述第二随机处理的结果更新所有组局部字段矩阵;以及基于所述半顺序试验处理确定所述优化问题的解。
16.根据权利要求15所述的一种或更多种非暂态计算机可读存储介质,其中,获得与所述变量对应的权重包括:参考权重矩阵,所述权重矩阵包括每个变量相对于所述优化问题中包括的每个其他变量的权重。
17.根据权利要求16所述的一种或更多种非暂态计算机可读存储介质,其中,所述权重矩阵是半权重矩阵,所述半权重矩阵包括每个相应变量相对于所述优化问题中包括的每个其他变量的权重,但不包括每个其他变量与所述每个相应变量之间的双向权重。
18.根据权利要求16所述的一种或更多种非暂态计算机可读存储介质,其中,所述变量被存储在第一存储器上,并且所述参考权重矩阵包括:访问存储有所述权重矩阵的第二存储器,所述第二存储器与所述第一存储器分离。
19.根据权利要求15所述的一种或更多种非暂态计算机可读存储介质,其中,针对所述第一随机处理执行的所述第一试验的次数基于与每个相应第一变量相关联的相应温度来确定,其中:
所述温度从第一温度开始;并且
在基于所述第一随机处理的结果更新所有组局部字段矩阵之后,所述温度被更新为第二温度,所述第二温度低于所述第一温度。
20.根据权利要求8所述的一种或更多种非暂态计算机可读存储介质,其中,将所述变量划分为所述多个组基于被配置成执行所述半顺序试验处理的计算机系统的计算核的数目以及所述计算核中的每一个的处理能力。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/952,296 | 2022-09-25 | ||
US17/952,296 US20240104160A1 (en) | 2022-09-25 | 2022-09-25 | Sequential group processing of optimization problems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117763277A true CN117763277A (zh) | 2024-03-26 |
Family
ID=88068895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311206963.2A Pending CN117763277A (zh) | 2022-09-25 | 2023-09-19 | 优化问题的顺序分组处理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240104160A1 (zh) |
EP (1) | EP4343638A1 (zh) |
JP (1) | JP2024046750A (zh) |
CN (1) | CN117763277A (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7185140B2 (ja) * | 2019-04-11 | 2022-12-07 | 富士通株式会社 | 最適化装置及び最適化装置の制御方法 |
JP7417074B2 (ja) * | 2020-02-19 | 2024-01-18 | 富士通株式会社 | 最適化装置、最適化方法及び最適化装置の制御プログラム |
-
2022
- 2022-09-25 US US17/952,296 patent/US20240104160A1/en active Pending
-
2023
- 2023-09-14 EP EP23197379.3A patent/EP4343638A1/en active Pending
- 2023-09-19 CN CN202311206963.2A patent/CN117763277A/zh active Pending
- 2023-09-20 JP JP2023152927A patent/JP2024046750A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240104160A1 (en) | 2024-03-28 |
EP4343638A1 (en) | 2024-03-27 |
JP2024046750A (ja) | 2024-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20190086134A (ko) | 인공 신경망을 구성하는 복수의 학습 모델 중 최적 학습 모델 선택 방법 및 장치 | |
US5926632A (en) | Circuit partitioning method, circuit partitioning apparatus, and computer-readable recording medium having thereon circuit partitioning program | |
US20200090051A1 (en) | Optimization problem operation method and apparatus | |
US20200089728A1 (en) | Optimization problem arithmetic method and optimization problem arithmetic device | |
CN114077805A (zh) | 信息处理系统 | |
CN111931939A (zh) | 一种单振幅量子计算模拟方法 | |
CN115860100A (zh) | 一种神经网络模型训练方法、装置及计算设备 | |
Phan et al. | Enhancing multi-objective evolutionary neural architecture search with training-free Pareto local search | |
US11106761B2 (en) | Optimization problem arithmetic method and optimization problem arithmetic apparatus | |
US20080052496A1 (en) | Method And Apparatus For Priority Based Data Processing | |
CN117763277A (zh) | 优化问题的顺序分组处理 | |
US12072799B2 (en) | Programmable multi-level data access address generator | |
US6799151B1 (en) | Method and apparatus for parallel processing | |
CN117012303A (zh) | 一种基于强化学习的dti预测方法、系统、存储介质和装置 | |
CN116052759A (zh) | 一种哈密顿量构造方法及相关装置 | |
CN114492811B (zh) | 量子连通图谱的优化方法、装置、终端及存储介质 | |
CN113887730A (zh) | 量子模拟器实现方法、装置、相关设备以及量子模拟方法 | |
CN112513837A (zh) | 网络结构搜索方法和装置 | |
JP2954074B2 (ja) | 回路分割方法及び回路分割装置 | |
US11163528B2 (en) | Reformatting matrices to improve computing efficiency | |
CN116050528B (zh) | 振幅放大线路的构建方法、装置、介质及电子装置 | |
CN117574964A (zh) | 一种基于硬件感知的cnn层级搜索分析建模方法 | |
Al-Neama et al. | An Efficient Parallel Algorithm for Global Sequence Alignment on Multi-cores | |
CN116720877A (zh) | 变电站工程成本预测的方法、装置、终端及存储介质 | |
CN118114728A (zh) | 被配置为执行人工神经网络的集成电路 |
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 |