CN106575286A - 用于组合优化和统计采样的递归分层过程 - Google Patents

用于组合优化和统计采样的递归分层过程 Download PDF

Info

Publication number
CN106575286A
CN106575286A CN201580041941.2A CN201580041941A CN106575286A CN 106575286 A CN106575286 A CN 106575286A CN 201580041941 A CN201580041941 A CN 201580041941A CN 106575286 A CN106575286 A CN 106575286A
Authority
CN
China
Prior art keywords
small pieces
layer
sub
subset
individuality
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
Application number
CN201580041941.2A
Other languages
English (en)
Inventor
M·B·哈斯廷斯
M·特洛耶
I·津特琴科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106575286A publication Critical patent/CN106575286A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

在一些示例中,用于求解组合优化问题或统计采样问题的技术和架构使用分层方法。这样的分层方法可以以类似小片的形式被应用于系统或过程。该系统的元素的集合对应于第一层。目标函数将元素的集合彼此关联。元素的集合被划分为对应于第二层的小片。小片各自包括作为该元素的集合的子集的第二层元素,并且个体小片具有能量配置。该小片的第二层元素被随机初始化。至少部分基于该目标函数,对个体小片的第二层元素执行组合优化操作从而对该个体小片的第二层元素进行修改。

Description

用于组合优化和统计采样的递归分层过程
背景技术
现有的用于优化的方法取决于所涉及的系统或过程的类型,包括工程系统设计、光学系统设计、经济学、电力系统、电路板设计、运输系统、调度系统、资源分配、人员规划、建筑设计和控制系统。优化过程的目标通常包括获得“最佳”或“接近最佳”的可能结果,就一些定义的意义而言,其受到所施加的限制或约束的影响。因此,对系统或过程进行优化通常涉及到开发系统或过程的模型并且分析由于该模型的调节所导致的性能变化。
隔间根据应用,这样的模型的复杂度的范围从非常简单到极其复杂。简单模型的示例是能够由一个变量的单一代数函数表示的示例。另一方面,复杂模型经常包含许多变量的数千个线性和非线性函数。
有时优化问题被描述为能量最小化问题,这类似于具有由称作能量函数或目标函数的函数表示的能量的物理系统。经常,一种使得目标函数最小化(或者最大化,如果其目标如此的话)的可行解被称作最优解。在最小化问题中,可能出现若干的局部最小值和局部最大值。大多数用于求解优化问题的算法无法在局部最优解(例如,找出局部极值)和严格最优解(例如,找出全局极值)之间进行区分。此外,许多算法由于被困于局部最小值的现象而针对优化问题花费指数阶的大量时间。
发明内容
本公开描述了用于使用递归分层方法求解组合优化问题或统计采样问题的技术和架构。这样的方法以类似小片(patch-like)的方式被应用于系统或过程。系统或过程可以通过元素的集合进行定义,元素的集合根据个体元素的值在n维空间中进行分布。例如,这样的元素可以包括被采样或收集的数据。元素的整个集合可以对应于层级中的第一层。目标函数将元素的集合彼此关联。在该求解优化问题的递归过程的个体步骤中,例如,元素的集合可以被划分为对应于层级中的高阶层的小片,该高阶层诸如为第二层、第三层等。小片是元素的集合的子集并且具有特定的能量配置。个体小片的元素被随机初始化。基于该目标函数,对个体小片执行组合优化操作或统计采样操作以修改个体小片的元素。该组合优化操作或统计采样操作例如可以是模拟退火操作。
提供该发明内容而以简化形式对随后将在下文的具体实施方式中进一步进行描述的代表性概念的选择进行介绍。该发明内容并非意在标识所请求保护主题的关键特征或必要特征,其也并非意在被用来以任何方式对所请求保护主题的范围进行限制。术语“技术”例如可以是指系统、方法、计算机可读指令、模块、算法、硬件逻辑(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD))、量子设备,诸如量子计算机或量子退火器,和/或如上文以及贯穿本文而被允许的其它技术。
附图说明
详细描述参考附图被给出。在附图中,附图标记中最左侧的数字标示出该附图标记首次出现的示图。不同示图中使用同样的附图标记来指示相似或相同的事项或特征。
图1是描绘根据各个示例的用于使用分层方法求解组合优化问题或统计采样问题的环境的框图。
图2是描绘根据各个示例的用于使用分层方法求解组合优化或统计采样问题的设备的框图。
图3图示了根据各个示例的与目标函数相关的多个层上的小片的集合的截面图。
图4图示了根据各个示例的与目标函数相关的多个层上的小片的集合的透视图。
图5图示了根据一些示例的在距小片中心的特定距离内被定义的两个小片。
图6和图7是图示根据一些示例的用于求解优化问题的过程的流程图。
具体实施方式
概述
在许多应用中,将要被优化的系统或过程可以被公式表示为在求解优化问题时对其进行分析的数学模型。例如,这样的优化问题涉及通过从被允许集合内系统地选择输入值并计算函数的值而使得实际函数最大化或最小化。因此,优化中的初始步骤可以是获得有待优化的过程或系统的数学描述。过程或系统的数学模型随后至少部分基于该描述而被生成。
在各个示例中,一种计算机系统被配置有如这里所描述的用于求解组合优化或统计采样问题的技术和架构。这样的问题例如可以由能量函数定义并且被描述为用于找出该能量函数的最小能量的最小化问题。该能量函数将进一步定义该组合优化和统计采样问题的元素的集合互相关联。
虽然这里所描述的技术和架构能够被应用于组合优化问题和统计采样问题,但是该讨论出于清楚的原因而集中于组合优化问题(随后被称作“优化问题”)。所请求保护的主题并不局限于此。
计算机系统的处理器通过将元素的集合划分为层级中的多个层上的小片,而使用递归分层过程来求解优化问题。例如,第一层可以包括元素的整个集合,处理器可以将其划分为多个第二层小片,每个第二层小片是第一层的元素的集合的子集。该处理器可以将每个第二层小片划分为第三层小片,并且将每个第三层小片划分为第四层小片,等等。
该过程的递归步骤包括通过将小片的个体元素设置为随机值而对多个层的小片中的每一个进行初始化。然而,在一些实施方式中,这样的初始化并不需要是随机的,并且所请求保护的主题在这方面并无限制。基于能量函数,处理器可以对小片执行优化操作从而修改小片中的元素以生成经修改的小片。在一种实施方式中,这样的处理器可以是量子设备,诸如量子计算机或量子退火器。如这里所描述的,对小片执行优化操作涉及执行(例如,“调用”)函数“SOLVE”,其包括作用于小片上的一个或多个操作。在一些示例中,SOLVE包括计算机可读介质上的可执行指令,其在被一个或多个处理器执行时对该一个或多个处理器进行配置从而实施作用于小片上的一个或多个操作。例如,组合优化操作可以是模拟退火操作。
操作之后,该处理器可以将所产生的每个经修改的小片的能量与优化操作之前该小片的能量进行比较。如果优化操作产生了更低的能量,则该处理器保留经修改的小片的元素并且将其用于该优化操作的后续应用。另一方面,如果优化操作产生了高于之前能量的能量,则该处理器基于概率函数丢弃或保留经修改的小片的元素,并且将该经修改的小片的元素用于该优化操作的后续应用。如以下详细讨论的这样的概率函数可以取决于参数(诸如小片存在于其中的层)的数目、所执行的优化操作的数目等等。
在执行产生具有充分低能量的经修改的小片的多个优化操作之后,该过程可以在“重启”过程中进行重复。例如,这样的重启过程可以涉及对经修改的小片中的个体元素随机地进行初始化。该重启过程在具有重新初始化的元素的经修改的小片上重复该优化操作。后续的重启过程趋向于产生具有不断降低的能量的小片。
在一些示例中,该处理器将对层级中的具体层的小片应用优化操作的结果传递至下一个较低层的小片。例如,对第二层小片的元素执行优化操作可以基于对第三层小片的元素应用该优化操作的结果。
处理器基于系统的变量的递归优化群组(例如,小片)来使用分层过程,从而启发式地找到自旋(spin)玻璃的基态(例如,为+1或-1的元素)。用于找出系统的最优解的相对简单的启发式过程包括生成随机自旋配置并且记录所产生的配置的能量。这样的过程类似于或等同于随机猜测。通过这样的过程找出N个自旋的全局基态的概率是每次猜测2-N,出于简明的目的,假设其为非退化基态。用于猜测系统的最优解的更为复杂的过程是生成Nr个自旋的随机配置,使得Nr=N-Ng个自旋以及针对每个配置通过枚举自旋的所有可能的组合而找出剩余Ng个自旋的最低能量。该过程可以提高猜测出正确解的概率,但是找出剩余Ng个自旋的最优方位的成本可能高达2Ng。然而,该过程可以被扩展以求解自旋的多个小片。例如,处理器可以选择分别具有N1个自旋和N2个自旋的两个小片,而使得一个小片中的自旋并不耦合至其它小片中的任何自旋。在这种情况下,对于剩余的Nr=N-N1-N2个自旋的每个随机猜测,针对系统的剩余部分找出两个小片的最优配置的复杂度为2N 1+2N 2,因此将整体复杂度以指数级的数目从降低至在一些实施方式中,小片很少彼此耦合。在这样的情况下,用于找出针对系统的解的过程的复杂度与小片并不彼此耦合的情形相比有所下降。
进一步参考图1-7对各个示例进行描述。
示例环境
图1是描绘根据各个示例的用于使用分层方法求解优化问题的环境100的框图。在一些示例中,环境100的各个设备和/或组件包括分布式计算资源102,它们可以经由一个或多个网络104彼此通信以及与外部设备进行通信。
例如,网络104可以包括诸如互联网的公共网络,诸如机构和/或个人内部网络的私有网络,或者私有网络和公共网络的一些组合。网络104还可以包括任意类型的有线和/或无线网络,包括但并不局限于局域网(LAN)、广域网(WAN)、卫星网络、有线网络、WiFi网络、WiMAX网络、移动通信网络(例如,3G、4G等),或者它们的任意组合。网络104采用多种通信协议,包括基于分组的和/或基于数据报的协议,诸如互联网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP),或者其它类型的协议。此外,网络104还可以包括促成网络通信和/或形成网络的硬件基础的多个设备,诸如交换机、路由器、网关、接入点、防火墙、基站、中继器、骨干设备,等等。
在一些示例中,网络104可以进一步包括使得能够连接至无线网络的设备,诸如无线接入点(WAP)。经由WAP而通过各种电磁频率(例如,射频)发送和接收数据的示例支持连接包括支持电气电子工程师协会(IEEE)1302.11标准(例如,1302.11g、1302.11n等)以及其它标准的WAP。
在各个示例中,分布式计算资源102包括诸如设备106(1)–106(N)的计算设备。示例支持其中设备106可以包括以集群或其它分组配置进行操作从而分享资源、平衡负载、提高性能、提供容错支持或冗余度或者用于其它目的的场景。虽然被图示为台式计算机,但是设备106可以包括各种设备类型而并不被局限于任何具体类型的设备。设备106可以包括专用计算设备108。
例如,设备106可以包括具有操作连接至计算机可读介质112、I/O接口114和网络接口116的一个或多个处理单元110的任意类型的计算设备。计算机可读介质112可以具有存储于其上的优化构架118。例如,优化构架118可以包括计算机可读代码,其在被处理单元110执行时针对系统而对元素的集合的小片执行优化操作。而且,可以经由网络104与设备106进行通信的专用计算设备120可以包括具有操作连接至计算机可读介质124、I/O接口126和网络接口128的一个或多个处理单元122的任意类型的计算设备。计算机可读介质124可以具有存储其上的专用计算设备侧的优化构架130。例如,与优化构架118相似或相同,优化构架130可以包括在被处理单元122执行时实施优化操作的计算机可读代码。
图2描绘了说明性设备200,其例如可以表示设备106或108。说明性设备200可以包括任意类型的计算设备,其具有一个或多个处理单元202,诸如处理单元110或122,其操作连接至诸如计算机可读介质112或124的计算机可读介质204。该连接可以经由总线206,后者在一些实例中可以包括系统总线、数据总线、地址总线、PCI总线、迷你PCI总线以及任意各种本地、外部和/或独立总线中的一种或多种,或者经由另一种可操作连接。处理单元202例如可以表示在设备200中进行互连的CPU。处理单元202类似地可以操作耦合至计算机可读介质204。
计算机可读介质204可以包括至少两种类型的计算机可读介质,即,计算机存储介质和通信介质。计算机存储介质可以包括以用于存储诸如计算机(或其它电子设备)可读指令、数据结构、程序模块或其它数据的信息(以压缩或未压缩形式)从而执行这里所描述的过程或方法的任意方法或技术所实施的易失性和非易失性、可移动和非可移动媒体。计算机可读介质112和计算机可读介质124是计算机存储介质的示例。计算机存储介质可以包括但并不局限于硬盘、软盘、光盘、CD-ROM、DVD、只读存储器(ROM)、随机访问存储器(RAM)、EEPROM、闪存、习性或光学卡、固态存储器设备,或者适于存储电子指令的其它类型的媒体/机器可读介质。
作为比较,通信介质可以以诸如载波或其它传输机制的调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据如这里所定义的,计算机存储介质并不包括通信介质。
设备200可以包括但并不局限于台式计算机、服务器计算机、web服务器计算机、个人计算机、移动计算机、膝上计算机、平板计算机、可佩戴计算机、植入式计算设备、电信设备、车用计算机、支持网络的电视、瘦客户端、个人数字助理(PDA)、游戏机、游戏设备、工作站、媒体播放器、个人视频录影机(PVR)、机顶盒、相机、用于包括在计算设备中的集成组件、电器,或者任意其它类型的计算设备,诸如一个或多个单独的处理器设备208,诸如CPU型处理器(例如,微处理器)210、GPU 212或加速器设备214。
在一些示例中,如关于设备200所示出的,计算机可读介质204可以存储能够由处理单元202执行的指令,后者可以表示整合在设备200中的CPU。计算机可读介质204还可以存储能够由外部CPU型处理器210、GPU 212和/或加速器214所执行的指令,上述加速器214诸如FPGA型加速器214(1)、DSP型加速器214(2),或者任意的内部或外部加速器214(N)。
存储在计算机可读介质202上的可执行指令例如可以包括操作系统216、优化构架218,以及能够被处理单元202和/或210所加载并执行的其它模块、程序或应用。例如,优化构架218可以包括计算机可读代码,其在被处理单元220所执行时针对系统而对元素的集合的小片实施优化操作。可替换地或除此之外,这里所描述的功能可以由诸如加速器214的一个或多个硬件逻辑组件来执行。作为示例而非限制,可以被使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、诸如量子计算机或量子退火器的量子设备、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等。例如,加速器214(N)可以表示混合设备,诸如包括嵌入在FPGA架构中的CPU内核的设备。
在所图示的示例中,计算机可读介质204还包括数据存储220。在一些示例中,数据存储220包括诸如数据库、数据仓库的数据存储,或者其它类型的结构化或非结构化的数据存储。在一些示例中,数据存储220包括具有一个或多个表格、索引、所存储过程等从而使得能够进行数据访问的关联数据库。数据库存储220可以存储用于计算机可读介质204中所存储和/或被处理器202和/或210和/或加速器所执行的过程、应用、组件和/或模块的操作的数据。例如,数据存储220可以存储版本数据、迭代数据、时钟数据、优化参数,以及被优化构架218所存储并能够被其访问的其它状态数据。可替换地,一些或所有以上所提到的数据都可以存储在分散的存储器222上,诸如板载CPU型处理器210(例如,微处理器)上的存储器222(1),板载GPU 212上的存储器222(2)、板载FPGA型加速器214(1)上的存储器222(3),板载DSP型加速器214(2)上的存储器222(4),和/或另一种板载加速器214(N)上的存储器222(M)。
设备200可以进一步包括一个或多个输入/输出(I/O)接口224,诸如I/O接口116或126,从而允许设备200与输入/输出设备进行通信,上述与输入/输出设备诸如包括外部输入设备(例如,键盘、鼠标、笔、游戏控制器、语音输入设备、触摸输入设备、手势输入设备等)的用户输入设备和/或包括外部输出设备(例如,显示器、打印机、音频扬声器、触觉输出等)的输出设备。设备200还可以包括一个或多个网络接口226,诸如网络接口116或128,从而使得能够通过网络104在计算设备200和诸如其它设备120之类的其它联网设备之间进行通信。这样的网络接口226可以包括一个或多个网络接口控制器(NIC)或者其它类型的收发器设备以便通过网络发送和接收通信。
图3图示了根据各个示例的系统300的截面图,其包括与针对系统300定义的目标函数306相关的层级中的多个层304中的小片和子小片的集合302。例如,处理器可以将小片和子小片的集合302用于在针对系统的状态的集合{s}上使目标函数306最小化(或最大化)的过程。该处理器可以使用这样的过程来对由目标函数306定义的针对系统的优化问题求解。
在一些示例中,该系统的目标函数306可以是通过等式[1]彼此相关的元素的集合的函数。
E({s})=Σi,j(Ji,jsisj)+Σi(sihi) [1]
Ji,j表示在i和j上进行索引的实数的矩阵,hi是实数,并且si和sj是集合{s}中的元素。在一些实施方式中,这样的元素可以包括实数的集合。包括Ji,j的第一项是定义元素的集合之间的耦合的耦合项。在具体实施方式中,集合{s}包括具有值+1或-1的自旋状态。针对系统的E({s})可以被称作该系统的“能量”。(术语“自旋状态”和“能量”源自于优化和冶金之间的类比。)存在按照i=1…N进行标记的N个不同的si。E({s})是所有s,s1…sN的集合的函数。求解涉及E({s})的优化问题包括找出产生E({s})的最大值或最小值的元素的集合{s},但是所请求保护的主题并不局限于此。针对元素的集合{s}包括自旋的集合的情形,针对E({s})的优化问题在si=+1和-1上执行。
这里,出于清楚的原因,对各个示例的讨论集中于目标函数的最小化(与最大化相反)。通常,目标函数包括多个局部最小值和一个全局最小值。例如,图3中所示的具体E({s})包括多个最小值,其中的几个被示出。特别地,E({s})包括局部最小值308、310、312以及全局最小值314。由目标函数306定义的针对系统的优化问题的解可以产生局部最小值,而不足以找出全局最小值。至少出于该原因,用于求解优化问题的技术可以是递归的,持续地寻求改进直到找到最终解。例如,用于求解优化问题的过程可以产生作为局部最小值308的第一解,并且将无法得知308是局部最小值还是全局最小值。因此,该过程可以继续搜索更好的解,该更好的解是全局最小值314。
处理过程可以使用递归分层方法对目标函数306所定义的优化问题进行求解,上述递归分层方法将针对系统的具体状态的元素{s}划分为小片和子小片。例如,第一小片包括元素{s}的第一子集,第二小片包括元素{s}的第二子集,等等。此外,处理器可以将每个这样的小片划分为对应于层的子小片。如这里所描述的,与小片相比,小片的子小片处于更高阶的层中。例如,如果小片处于第二阶的层中,则该小片的子小片处于第三阶的层中。除非以其它方式是显而易见的,否则根据上下文,术语“小片”和“子小片”能够互换使用。
用于求解优化问题的过程可以被划分为多个较小的问题,其中每一个小问题对应于个体小片。换句话说,取代在单一过程中对系统的整个优化问题进行求解,处理器可以通过将该优化问题递归地细分为子小片来求解该优化问题,这就形成了分层求解的过程。以这种方式,被用来优化小片或子小片的元素的操作就可以被单独地应用于每个小片或子小片。如以下所解释的,随后被称为“SOLVE(p,n)”的具体操作的细节针对不同小片和子小片可能有所不同,并且取决于该小片或子小片处于哪个层。这里,SOLVE(p,n)被书写为指示操作SOLVE(p,n)的形式可以取决于被应用于第n阶的层的SOLVE(p,n)中的哪个小片或子小片p。在一些实施方式中,该递归求解过程以相对小的子小片大小终止,处理器通过不同于SOLVE(p,n)的操作对该相对小的子小片求解。例如,SOLVE(p,n)可以包括用于最高阶层中的相对小的小片的模拟退火或者一些其它算法,但是处理器可以通过针对较低阶层上的SOLVE的调用而递归地实施SOLVE(p,n)。
在一些具体示例中,求解系统的优化问题的分层过程包括通过在对小片中的个体子小片应用SOLVE(p,n)之前随机地将每个元素设置为随机值而对小片中的元素进行初始化。以这种方式,处理器使用包括随机局部重启的过程对个体子小片进行优化而并不影响该系统的元素的全局配置。然而,求解优化问题的分层过程并非需要涉及这样的随机重启(例如,随机初始化),并且所请求保护的主题在该方面并无限制。
求解目标函数306所定义的优化问题的过程可以取决于参数L,L是将在该过程期间被考虑的层级中的层的总数。如以上所讨论的,每个这样层包括一个或多个小片或子小片。可以使用任意数目的方法来定义小片或子小片。例如,在一种方法中,针对具体的第n阶层,小片包括到一些中心值(例如,中心自旋)的距离为dn以内的元素(例如,自旋)的集合,其中dn随着的n增大而减小。对dn的选择可以取决于具体的优化问题。该距离dn例如可以使用图形量度进行定义。在其它方法中,可以对小片或子小片进行定义而使得该小片或子小片包括以一些具体方式互相耦合的元素。这样的耦合可以针对距彼此为距离dn之内的元素而存在。在一些实施方式中,距离dn可以随着n的增大而以几何方式减小。例如,元素之间这样的耦合可以由等式[1]中的Ji,j定义。
在图3所示的具体示例中,一阶层L1包括一个小片P1。在一些实施方式中,一阶层可以包括单个小片,后者包括系统的整个元素的集合。二阶层L2包括三个小片P2,1、P2,2和P2,3,它们是小片P1的子小片。三阶层L3包括六个小片P3,1、P3,2、P3,3、P3,4、P3,5和P3,6,其中P3,1是P2,1的子小片;P3,2和P3,3是P2,2的子小片;而P3,4、P3,5和P3,6则是P2,3的子小片。
第四阶层L4包括九个小片P4,1、P4,2、P4,3、P4,4、P4,5、P4,6、P4,7、P4,8和P4,9,其中P4,1是P3,1的子小片;P4,2和P4,3是的P3,2子小片;P4,4是P3,3的子小片;P4,5和P4,6是P3,4的子小片;P4,7是P3,5的子小片;并且P4,8和P4,9是P3,6的子小片。虽然图示了具体数目的层和子小片,但是所请求保护的主题在该方面并无限制。此外,求解优化问题可能涉及任意数目的层和子小片。例如,二阶层L2中的子小片P2,1可以包括任意数目的三阶层L3中的子小片,等等。虽然出于清楚的原因并未进行图示,但是子小片可以互相重叠。因此,例如,子小片P3,2可以与子小片P3,3相重叠。这里,重叠意味着子小片的重叠(例如,合集)中的元素被多个小片共享(例如,具体元素同时处于多于一个的小片之中)。
现在对用于求解针对系统300的优化问题的递归分层过程的示例进行描述。出于清楚的原因,描述集中于包括子小片P2,2的更高阶子小片的分层过程。换句话说,为了简明,子小片P2,1和P2,3的子小片并未被讨论,但是该过程也可以被应用于它们。
以层级中最高阶的层作为开始,处理器可以在对四阶层L4上的子小片P4,2的元素进行随机初始化之后对子小片P4,2应用操作SOLVE(4,2)。这样的操作修改子小片P4,2的元素的集合。子小片P4,2的经修改的元素是针对系统300的优化问题的部分解(例如,启发式解)。换句话说,包括经修改的元素的子小片P4,2可以是针对系统300所定义的目标函数306的多个局部最小值之一。
类似地,处理器可以在对子小片P4,3的元素进行随机初始化之后对子小片P4,3应用操作SOLVE(4,3)。这样的操作修改子小片P4,3的元素的集合。子小片P4,3的经修改的元素是针对系统300的优化问题的部分解(例如,启发式解)。包括经修改的元素的子小片P4,3可以是针对系统300所定义的目标函数306的多个局部最小值之一。
最后,针对四阶层L4,处理器可以在对子小片P4,4的元素进行随机初始化之后对子小片P4,4应用操作SOLVE(4,4)。这样的操作修改子小片P4,4的元素的集合。子小片P4,4经修改的元素是针对系统300的优化问题的部分解(例如,启发式解)。包括经修改元素的子小片P4,4可能是针对系统300所定义的目标函数306的多个局部最小值之一。
在一些实施方式中,SOLVE(4,2)、SOLVE(4,3)和SOLVE(4,4)可以是彼此相等的并且等于SOLVE(4),SOLVE(4)被定义为是在四阶层L4中的所有子小片上使用的优化算子。
在针对四阶层L4中的子小片找到针对系统300的优化问题的部分解之后,求解针对系统300的优化问题的分层过程继续进行至三阶层L3中的子小片。该处理器可以使用从应用于四阶层L4中的子小片的优化操作(例如,SOLVE(4))所得到的部分解来初始化三阶层L3中的子小片的至少一些元素。其它元素可以被随机初始化。该处理器通过从该优化操作的子例程返回值而将四阶层L4的部分解中的元素的值传递至三阶层L3。换句话说,该元素的值并未在该子例程的参数(arguments)中被传递,而是从该子例程被返回。给定层处的每个子例程将这样的值返回至下一个较低层。
处理器处理器可以在对子小片P3,2的元素进行随机初始化之后对子小片P3,2应用操作SOLVE(3,2)。这样的操作修改子小片P3,2的元素的集合。子小片P3,2的经修改的元素是针对系统300的优化问题的部分解(例如,启发式解)。包括经修改的元素的子小片P3,2可以是针对系统300所定义的目标函数306的多个局部最小值之一。
最后,针对三阶层L3,处理器可以在对子小片P3,3的元素进行随机初始化之后对子小片P3,3应用操作SOLVE(3,3)。这样的操作修改子小片P3,3的元素的集合。子小片P3,3的经修改的元素是针对系统300的优化问题的部分解(例如,启发式解)。包括经修改的元素的子小片P3,3可以是针对系统300所定义的目标函数306的多个局部最小值之一。
在一些实施方式中,SOLVE(3,2)和SOLVE(3,3)可以彼此相等并且等于SOLVE(3),SOLVE(3)被定义为是在三阶层L3中的所有子小片上使用的优化算子。
在针对三阶层L3中的子小片找到针对系统300的优化问题的部分解之后,针对系统300求解优化问题的分层过程继续进行至二阶层L2中的子小片。该处理器可以使用从应用于三阶层L3中的子小片的优化操作(例如,SOLVE(3))所得到的部分解来初始化二阶层L2中的子小片的至少一些元素。其它元素可以被随机初始化。该处理器通过从该优化操作的子例程返回值而将三阶层L3的部分解中的元素的值传递至二阶层L2。换句话说,该元素的值并未在该子例程的参数中被传递,而是从该子例程被返回。给定层的每个子例程将这样的值返回至下一个较低层。
处理器处理器可以在对子小片P2,1的元素进行随机初始化之后对子小片P2,1应用操作SOLVE(2,1)。这样的操作修改子小片P2,1的元素的集合。子小片P2,1的经修改的元素是针对系统300的优化问题的部分解(例如,启发式解)。包括经修改的元素的子小片P2,1可以是针对系统300所定义的目标函数306的多个局部最小值之一。
类似地,处理器可以在对子小片P2,2的元素进行随机初始化之后对子小片P2,2应用操作SOLVE(2,2)。这样的操作修改子小片P2,2的元素的集合。子小片P2,2的经修改的元素是针对系统300的优化问题的部分解(例如,启发式解)。包括经修改元素的子小片P2,2可以是针对系统300所定义的目标函数306的多个局部最小值之一。
最后,针对二阶层L2,处理器可以在对子小片P2,3的元素进行随机初始化之后对子小片P2,3应用操作SOLVE(2,3)。这样的操作修改子小片P2,3的元素的集合。子小片P2,3的经修改的元素是针对系统300的优化问题的部分解(例如,启发式解)。包括经修改的元素的子小片P2,3可以是针对系统300所定义的目标函数306的多个局部最小值之一。
在一些实施方式中,SOLVE(2,1)、SOLVE(2,2)和SOLVE(2,3)可以相等并且等于SOLVE(2),SOLVE(2)被定义为是在二阶层L2中的所有子小片上使用的优化算子。
在针对二阶层L2中的子小片找到针对系统300的优化问题的部分解之后,求解针对系统300的优化问题的分层过程继续进行至一阶层L1中的子小片。该处理器可以使用从应用于二阶层L2中的子小片的优化操作(例如,SOLVE(3))所得到的部分解来初始化一阶层L1中的子小片的至少一些元素。其它元素可以被随机初始化。该处理器通过从该优化操作的子例程返回值而将二阶层L2的部分解中的元素的值传递至一阶层L1。换句话说,该元素的值并未在该子例程的参数中被传递,而是从该子例程被返回。给定层的每个子例程将这样的值返回至下一个较低层。
因此,针对一阶层L1,处理器可以在对小片P1的元素进行随机初始化之后对小片P1应用操作SOLVE(1)。这样的操作修改小片P1的元素的集合。小片P1的经修改的元素是针对系统300的优化问题的部分解(例如,启发式解)。换句话说,包括经修改的元素的小片P1是针对系统300所定义的目标函数306的多个局部最小值之一。
SOLVE(1)、SOLVE(2)、SOLVE(3)和SOLVE(4)可以彼此相等。在其它实施方式中,SOLVE(1)、SOLVE(2)和SOLVE(3)可以彼此相等而并不与SOLVE(4)相等,SOLVE(4)可以是精确求解器。换句话说,精确求解器可以被应用于最高阶的层。通常,精确求解器令人期望地找到优化问题的精确解,但是该精确求解器为此可能耗费相对长的时间。随着层阶的增大,子小片的大小减小。因此,最高阶的层包括相对小的子小片,精确求解器可以被应用于这些相对小的子小片,以便在相对短的时间内针对每个子小片产生精确解。在一些示例中,该处理器可以使用模拟退火作为用于相对小的子小片的求解器。在一些实施方式中,这样的处理器可以是量子设备,诸如量子计算机或量子退火器。例如,量子设备可以被用来对包括相对小的小片的最高阶的层执行优化操作(例如,SOLVE(4))。
在一些示例中,SOLVE(n,p)(其中n是层阶,P是小片或子小片)可以通过以下伪代码进行描述。
If如果n=L,则遵循具体调度对小片p执行模拟退火并返回。可替换地,调用精确求解器或其它求解例程,或者调用以数字或模拟硬件实施的经典或量子求解器。
Else否则,
小片p的能量被计算并被存储为E0
p的当前自旋配置被存储为S0
For对于m=1到k,,其中k是重启的数目,执行
p中的自旋配置被随机化过程。
针对N个随机选择的子小片p',对Solve(p',l+1)执行N次调用。
在每次调用之后,如果能量低于原始的能量,则将给定子小片更新为Solve(p',l+1)所返回的配置。否则,利用依赖于温度的概率进行更新。
p的最终配置的能量被计算并被存储为E1。如果E1小于E0,则保留当前自旋配置。否则,p中的自旋被逆转为S0
返回针对p所找到的最低能量配置。
图4图示了根据各种示例的系统400的透视图,其包括与针对该系统定义的目标函数402有关的多个分层的层L1-L4中的小片和子小片。例如,处理器可以使用各个层中的小片和子小片用于在针对该系统的状态的集合{s}上使目标函数402最小化(或最大化)的过程。这样的过程可以被用于求解目标函数402所定义的针对系统400的优化问题。
在图4的透视图中,针对状态的具体集合{s}的目标函数402被图示为具有多个极值的地形表面,其中几个极值被标记。出于清楚的原因,该拓扑边缘上的几个极值被标记。
在一些示例中,如以上所描述的,系统400的目标函数402可以是通过诸如等式[1]的等式彼此相关的元素的集合{s}。一阶层L1中的多个元素404被图示为通过线条406进行互连的小圆圈,上述线条表示任意元素可以耦合至一个或多个其它元素的可能性,但是这样的耦合并非针对所有元素都存在。在一些实施方式中,这样的元素可以包括实数的集合。在具体实施方式中,集合{s}包括具有值+1或-1的自旋状态。
类似于关于图3所描述的示例,处理器可以使用分层方法来求解目标函数402所定义的优化问题,上述分层方法将针对系统的具体状态的元素{s}划分为小片和子小片。例如,第一小片包括元素{s}的第一子集,第二小片包括元素{s}的第二子集,等等。此外,该处理器可以进一步将每个这样的小片划分为与分层的层对应的子小片。如这里所定义的,小片的子小片与该小片相比处于较高阶的层中。例如,如果小片处于二阶层中,则该小片的子小片就处于三阶层中。
在图4所示的具体示例中,一阶层L1包括一个小片408,小片408包括L1中的全部元素。小片408可以被划分为小片410、412、414和416。因此,二阶层L2包括四个小片410、412、414和416,它们是小片408的子小片。如以上所解释的,该处理器可以将个体小片划分为子小片,后者进而可以被划分为更高阶的小片,等等。因此,继续对图4的描述,该处理器可以将小片410、412、414和416中的每一个划分为子小片,而使得例如小片414包括子子小片418、420和422。小片416包括子小片424、426和428。小片410、412、414和416利用三阶层L3上的虚线轮廓以及二阶层L2中的实线轮廓进行图示。
针对下一个更高阶的层(其是四阶层L4),该处理器可以将小片418、420、422、424、426和428(它们分别是小片414和416的子小片)中的每一个划分为子小片,而使得例如小片422包括子小片430和432。小片426包括子小片434。出于清楚的原因,并未对所有子小片进行标记。小片418、420、422、424、426和428利用四阶层L4中的虚线轮廓以及三阶层L3中的实线轮廓进行图示。
迭代地定义阶增加的层上的子小片的分层过程可以继续超出四阶层L4。虽然图示了具体数目的层和子小片,但是所请求保护的主题并不局限于此。此外,求解优化问题可以涉及到任意数目的层、小片和子小片。例如,二阶层L2中的小片414可以包括任意数目的三阶层L3的子小片,等等。虽然出于清楚的原因并未进行图示,小片或子小片可以互相重叠。因此,例如,小片414可以与小片416重叠。
与针对系统300的过程相同或相似,处理器可以执行用于求解针对系统400的优化问题的分层过程。在具体示例实施方式中,该分层过程可以涉及用于求解针对层L1-L4中的任意小片或子小片的优化问题的模拟退火的过程。例如,处理器可以对较高阶的层的子小片使用模拟退火。换句话说,该处理器可以对n阶层中的子小片应用包括模拟退火操作的操作SOLVE(n),其中n是最高阶的层的阶编号。然而,在一些实施方式中,该处理器可以对任意层中的小片或子小片应用模拟退火。针对说明性的情形,系统400的集合{s}中的元素si可以包括具有+1或-1值的自旋。在这种情况下,在模拟退火的过程中,该处理器将子小片的元素si随机初始化为+1或-1,在随机初始化的过程中独立地对每一个进行选择。以下对找到针对自旋的系统的解的示例进行描述。
在一些实施方式中,被称作“温度”T的参数基于关于系统400的任意数目的细节进行选择。处理器可以针对不同小片和/或针对分层过程的不同迭代而为T选择不同的值。该随机初始化之后,该处理器使用针对T所选择的值执行“退火步骤”的序列。在退火步骤中,该处理器对元素si进行修改从而针对子小片生成新的集合{s'},其中si的值可以从+1翻转至-1,反之亦然。该处理器随后确定新的集合{s'}的能量是否低于原始集合{s}的能量。换句话说,该处理器确定该退火步骤是否产生低于原始能量E(s)的新的能量E(s')。如果是,即E(s')<E(s),该处理器将集合{s}的元素替换(例如,“接受更新”)为集合{s'}的元素。另一方面,如果(s’)>E(s),则该处理器基于概率有条件地将集合{s}的元素替换为集合{s'}的元素,上述概率可以取决于E(s')、E(s)和T之间的差异。例如,这样的概率可以被表达为exp[-(E(s')-E(s))/T],其中“exp”是作用于方括号内的表达式的指数算子。该处理器在给定的T执行退火步骤的序列,随后减小T,再次执行退火,并且以该迭代方式继续进行。T的序列以及针对每个T的退火步骤的数目被称作“调度”。在该过程结束时,T可以被减小为零,并且新集合{s”}的元素的最后配置是最小值的候选。该处理器执行该过程的若干重启,以随机初始化的配置再次开始并且再次遵循调度减小T,并且该过程结束时{s}的最佳选择可以是最小值的最佳候选。整体过程的示例实施方式由以下伪代码进行概括:
For对于m=1到k,其中k是重启的数目,执行
随机初始化{s}
对于c=1到l,其中l是(根据调度所确定的)不同温度选择的数目,执行
将T设置为根据调度所确定的值Tc
执行Nc个退火步骤,其中Nc根据调度确定。
返回在该退火算法中找到的最低能量配置。
针对T的调度的选择可以由T的具体序列以及在每个温度所执行的步骤数目的具体序列所指定。该调度还可以指定重启的数目。模拟退火过程例如可以以T的不同值并行执行。
在通过自旋集合描述的示例系统中,该处理器可以通过对自旋的子集进行递归优化的过程而为该系统找出全局基态。该处理器可以以随机全局状态开始并且后续拾取每个子集中具有Ng个自旋的M个子集。该处理器可以通过应用算子SOLVE对子集的配置进行优化。
通过优化自旋的小片所获得的新的自旋配置可以替换先前的配置,或者在启发式求解器的情况下,在配置能量更低的情况下替换先前的配置。可替换地,这样的替换可以基于概率标准。针对其中Ng=1的小片大小,该过程可以与模拟退火相同或相似。
针对更大的自旋小片,该处理器可以通过将该小片递归地细分为子小片而求解每个这样的小片,这就形成了分层过程。换句话说,该处理器可以对每个小片中的自旋的字节应用函数SOLVE。例如,这样的分层过程的递归可以以相对小的小片大小终止,这可以由另一个过程解决。
如以上所描述的,该处理器通过对多个小片中的小片进行优化而在求解每个小片之前对其配置进行随机优化,因此在并不影响全局自旋配置的情况下实施随机的局部重启。该随机化过程还意味着多于一次地连续求解具体小片是无意义的,而是可以在已经优化了一个小片之后选择新的小片。然而,随机重启仅是一种对小片状态进行初始化的可能方式,并且所请求保护的主题在该方面并无限制。
在一些示例中,小片被定义为使得小片内的自旋互相强耦合并且与小片之外的系统弱耦合。这样的小片可以通过从单个自旋开始并且增加自旋直至小片已经达到所期望的大小进行构建。最强耦合至小片且与其余系统进行弱耦合的自旋可以优先添加。因此,与已经处于小片中的那些相邻的自旋可以被考虑。在其它示例中,可以以概率方式添加单个自旋。在再其它的示例中,可以向小片添加自旋集合而不是单个自旋。
图5图示了根据一些示例的两个小片502和504。处理器可以在由目标函数E({s})针对系统而定义的优化问题中使用这样的小片,上述目标函数将集合{s}中的元素si进行关联。小片502和504可以处于具体的n阶层中。小片502和504源自于针对系统的具体状态而对元素{s}进行划分。例如,小片502包括元素{s}的第一子集,其中的一些被示出。特别地,小片502包括元素506、508和510。针对以下的讨论,元素506被认为是“小片中心”元素。小片504包括元素{s}的第二子集,其中的一些被示出。特别地,小片504包括元素510、512、514和516。虽然并未在图5中图示,但是可能存在另外的小片并且这样的小片可以被划分为包括集合{s}的子集的子小片。
虽然被图示为正方形并且是二维的,但是小片502和504可以具有任意的形状并且具有任意数目的维度。小片可以以任意多种方式进行定义。例如,小片502可以被定义为包括在第一方向处于小片中心元素506的距离518之内并且在第二方向处于中心元素506的距离520之内的元素的子集。在其它并未示出的示例中,可以定义圆形或球体小片以包括处于中心元素的半径距离之内的元素的子集。这样的距离的选择可以取决于具体的优化问题。距离例如可以使用图形量度进行定义。
补丁小片可以互相重叠。例如,小片502和小片504重叠而使得二者都包括区域522中的元素的子集。一个这样的元素是510,它是同时属于小片502和小片504的元素。
集合{s}中的元素可以以各种方式互相耦合。在一些实施方式中,诸如等式[1]中的Ji,j的实数矩阵可以定义元素间的耦合。例如,元素间的耦合可以基于相应元素之间的距离。在一些实施方式中,这样的距离可以随着层阶的增加而按几何级数减小。这样的耦合的强度也在具体层内的元素的配对之间发生变化。例如,元素514和516之间的耦合可以比元素514和510之间的耦合更弱。小片可以被定义为使得该小片包括相对于该小片之外的元素彼此更强地被耦合的元素。
图6是图示根据一些示例的用于求解优化问题的过程600的流程图。例如,可以由诸如处理单元110、122和202之类的处理器执行的过程600涉及在多个层中以分层方式定义多个小片。特别地,处理器将一阶层中的小片划分为下一个更高阶层中的子小片,并且该子小片自身又在下一个更高阶的层中被划分,等等。因此,更高层中的子小片比更低层中相对应的小片(或子小片)更小。至少出于该原因,对更高阶层中的子小片执行的优化操作与更低层中的小片(或子小片)相比更容易找到求解。在一些实施方式中,处理器针对最高阶层中的小片应用优化操作的“精确”求解器。这里,术语“精确”是指该求解器被配置为找出全局极值,但是所请求保护的主题在该方面并无限制。因此,在框602,该处理器对最高阶层中的小片p应用精确求解器。例如,这样的求解器可以结合模拟退火。
在框604,根据针对个体小片指定重启次数k的调度,该处理器对个体小片执行优化操作。针对每个这样的操作,小片中的元素在框606被随机初始化。然而,在一些实施方式中,该元素可以以非随机的方式被初始化。在框608,该处理器针对子小片执行操作SOLVE。有关SOLVE的具体细节可以取决于SOLVE在哪个字小片p'和哪个层l上进行操作。对子小片执行操作SOLVE生成经修改的子小片。在框610,该处理器将该经修改的子小片所产生的能量与SOLVE操作之前该小片的能量进行比较。如果SOLVE操作产生了更低的能量,则过程600继续进行至框612,其中经修改的子小片的元素被保留并且被用于该SOLVE操作的后续应用。另一方面,如果该SOLVE操作产生了比之前能量更高的能量,则过程600继续进行至框614,其中该经修改的子小片中的元素被丢弃或者基于概率函数而被保留并且被用于该优化操作的后续应用。这样的概率函数可以取决于多个参数,诸如子小片的层、所执行的SOLVE操作的数目、温度等。
在执行SOLVE操作之后,过程600返回至框604,其中过程600的多个部分在重启过程中被重复。例如,子小片的个体元素可以被随机地重新初始化并且该重启过程对具有重新初始化的元素的子小片重复SOLVE操作。后续的重启过程趋向于产生具有不断降低的能量的子小片。
图7是根据一些示例的用于以分层方式求解优化问题的过程700的流程图。例如,图1所示的处理单元110可以执行过程700。因此,在框702,处理单元接收元素的集合{s},其可以是被采样或收集的数据。该元素的集合被定义为处于第一层。在框704,处理单元使用目标函数将每个元素互相关联。例如,这样的目标函数可以与等式[1]相同或相似,并且可以包括表达元素如何互相耦合的项或因子。在框706,该处理单元将该元素的集合划分为对应于第二层的小片。该个体小片包括作为该元素的集合的子集的第二层元素。个体小片还具有表示该个体子小片中的元素的配置的能量。
在框708,该处理器单元将每个小片的第二层元素进行随机初始化。基于该目标函数,在框710,该处理单元对小片的第二层元素执行组合优化操作。该操作修改该小片的第二层元素,并且因此修改该小片的能量配置。在一些实施方式中,过程700产生使得个体小片的能量配置最小化的解。最终能够找到元素的集合和目标函数的全局最小值。
示例条款
A.一种方法,包括:接收与第一层对应的元素的集合;接收将元素的所述集合彼此关联的目标函数;将元素的所述集合划分为与第二层对应的小片,其中所述小片各自包括作为元素的所述集合的子集的第二层元素,并且其中所述小片中的每一个具有能量配置;对所述小片的所述第二层元素进行随机初始化;以及至少部分地基于所述目标函数,对所述个体小片的所述第二层元素执行组合优化操作,以修改所述个体小片的所述第二层元素。
B.根据段落A所述的方法,其中所述组合优化操作包括模拟退火。
C.根据段落A或B所述的方法,进一步包括:在执行所述组合优化操作之后,通过对所述小片的所述第二层元素随机地重新初始化而针对所述小片执行重启。
D.根据段落A至C中任一个所述的方法,进一步包括:将所述小片各自划分为与第三层对应的子小片,其中所述子小片各自包括作为所述第二层元素的子集的第三层元素,并且其中所述子小片中的每一个具有能量配置;对所述子小片的所述第三层元素进行随机初始化;以及至少部分地基于所述目标函数对所述个体子小片的所述第三层元素执行组合优化操作,以修改所述子小片的所述第三层元素。
E.根据权利要求D所述的方法,其中对所述小片的所述第二层元素执行所述组合优化操作至少部分地基于所述子小片的经修改的第三层元素。
F.根据权利要求D所述的方法,其中所述目标函数包括定义元素的所述集合之间的耦合的耦合项。
G.根据段落A至F中任一个所述的方法,进一步包括:将具有所述第二层元素的小片的所述个体的能量配置与具有经修改的第二层元素的所述小片的个体的能量配置进行比较;以及至少部分地基于所述比较来确定是否通过将所述小片的个体中的所述第二层元素替换为所述经修改的第二层元素来更新所述小片。
H.根据段落A至F中任一个所述的方法,进一步包括:将具有所述第二层元素的所述小片的个体的能量配置与具有经修改的第二层元素的所述小片的个体的能量配置进行比较;以及至少部分地基于概率函数(关系),通过将所述小片中的所述第二层元素替换为所述经修改的第二层元素来更新所述小片。
I.根据权利要求H所述的方法,其中所述小片的个体的大小在所述更新期间并不被改变。
J.根据段落A至I中任一个所述的方法,其中将元素的所述集合划分为与所述第二层对应的所述小片包括针对两个或更多小片中的个体小片:在元素的所述集合中选择小片中心元素;以及在元素的所述集合中选择围绕所述小片中心元素的元素,其中选择的所述元素包括所述第二层元素,并且其中所述第二层元素处于距所述小片中心元素的特定耦合距离之内。
K.根据段落J所述的方法,其中所述第二层元素至少部分地基于所述第二层元素和所述小片中心元素之间的相应距离而彼此耦合。
L.根据段落A-K中任一个所述的方法,其中所述小片中的一个小片的第二层元素的至少一部分被耦合至所述小片中的另一个小片的第二层元素中的至少一部分。
M.一种系统,包括:一个或多个处理单元;以及其上具有模块的计算机可读介质,所述模块包括:存储器模块,用以存储元素的集合和目标函数,所述目标函数将元素的所述集合彼此关联;划分模块,用以将元素的所述集合划分为第二层小片、第三层小片和第四层小片,其中:所述第四层小片处于所述第三层小片内,并且所述第三层小片处于所述第二层小片内,并且所述第二层小片的个体包括元素的所述集合的第一子集,所述第三层小片的个体包括所述第一子集的第二子集,并且所述第四层小片的个体包括所述第二子集的第三子集;初始化模块,用以对所述第二层小片、所述第三层小片和所述第四层小片进行初始化;以及求解模块,用以至少部分地基于所述目标函数:对所述第二层小片执行组合优化操作以修改所述第一子集的所述元素,对所述第三层小片执行所述组合优化操作以修改所述第二子集的所述元素,以及对所述第四层小片执行所述组合优化操作以修改所述第三子集的所述元素。
N.根据段落M所述的系统,其中组合优化操作包括模拟退火。
O.根据段落M或N所述的系统,其中所述求解模块对所述第三层小片执行比第二层小片更多次数的组合优化操作。
P.根据段落M-O中任一个所述的系统,其中所述划分模块被配置为:随机选择所述第二层小片、第三层小片和第四层小片的大小。
Q.根据段落M-P中任一个所述的系统,其中所述划分模块被配置为至少部分地基于所述元素的集合之间的耦合选择所述第二层小片、第三层小片和第四层小片的大小。
R.一个或多个存储计算机可执行指令的计算机可读介质,所述计算机可执行指令在一个或多个处理器上被执行时对计算机进行配置以执行动作,所述动作包括:将元素的集合划分为第二层小片、第三层小片和第四层小片,其中所述第四层小片处于所述第三层小片内,并且所述第三层小片处于所述第二层小片内,并且其中所述第二层小片的个体包括元素的所述集合的第一子集,所述第三层小片的个体包括所述第一子集的第二子集,并且所述第四层小片的个体包括所述第二子集的第三子集;对所述第二层小片、所述第三层小片和所述第四层小片进行初始化;以及至少部分地基于将元素的所述集合彼此耦合的目标函数(i)对所述第二层小片执行组合优化操作以修改所述第一子集的所述元素,(ii)对所述第三层小片执行所述组合优化操作以修改所述第二子集的所述元素,并且(iii)对所述第四层小片执行组合优化操作以修改第三子集的元素。
S.根据段落R所述的一个或多个计算机可读介质,其中所述动作进一步包括:随机选择第二层小片、第三层小片和第四层小片的大小。
T.根据段落R或S所述的一个或多个计算机可读介质,其中所述动作进一步包括:至少部分地基于元素的集合之间的耦合选择第二层小片、第三层小片和第四层小片的大小。
结论
虽然已经以具体于结构特征和/或方法动作的语言对主题进行了描述,但是所要理解的是,所附权利要求中所定义的主题并非必然被局限于以上所描述的具体特征和动作。相反,以上所描述的具体特征和动作作为实施权利要求的示例形式而公开。
以上所描述的所有方法和过程可以以一个或多个通用计算机或处理器所执行的软件代码模块所体现并且经由其被完全自动化。代码模块可以被存储在任意类型的计算机可读介质、计算机存储介质或者其它计算机存储设备中。可替换地,一些或全部方法可以以专用计算机硬件来体现,作为示例,其诸如量子计算机或量子退火器。
出入除非以其它方式特别指出,否则除其它之外,诸如“能够”或“可以”的条件语言在上下文中被理解为表示某些示例包括某些特征、元素和/或步骤,而其它示例则并不包括该特征、元素和/或步骤。因此,这样的条件语言总体上并非意在暗示某些特征、元素和/或步骤以任何方式被一个或多个示例所要求或者一个或多个示例必然包括用于在具有或没有用户输入或提示的情况下决定某些特征、元素和/或步骤是否被包括或者要在任何具体示例中被执行。
除非另外特别指出,否则诸如短语“X、Y或Z中的至少一个”的连接语言要被理解为表示元素、事项等可以是X、Y或Z或者它们的组合。
这里以流程图描述和/或以附图描绘的任何程序描述、元素或框都应当被理解为可能表示代码的模块、分段或部分,其包括用于实施程序中的具体逻辑功能或元素的一个或多个可执行指令。可替换实施方式被包括在这里所描述示例的范围之内,其中如本领域技术人员将要理解的,元素或功能可以根据所涉及的功能而被删除或者以不同于所示出或讨论的顺序来执行,包括基本上同时执行或逆序执行。
应当强调的是,可以针对以上所描述的示例进行各种变化和修改,其元素要被理解为属于其它可接受的示例。所有这样的修改和变化意在被包括在本公开的范围之内并且被以下权利要求所保护。

Claims (15)

1.一种方法,包括:
接收与第一层对应的元素的集合;
接收将元素的所述集合彼此关联的目标函数;
将元素的所述集合划分为与第二层对应的小片,其中所述小片各自包括作为元素的所述集合的子集的第二层元素,并且其中所述小片的个体具有能量配置;
对所述小片的所述第二层元素进行随机初始化;以及
至少部分地基于所述目标函数,对所述个体小片的所述第二层元素执行组合优化操作,以修改所述个体小片的所述第二层元素。
2.根据权利要求1所述的方法,其中所述组合优化操作包括模拟退火。
3.根据权利要求1所述的方法,进一步包括:
在执行所述组合优化操作之后,通过对所述小片的所述第二层元素随机地重新初始化而针对所述小片执行重启。
4.根据权利要求1所述的方法,进一步包括:
将所述小片各自划分为与第三层对应的子小片,其中所述子小片各自包括作为所述第二层元素的子集的第三层元素,并且其中所述子小片的个体具有能量配置;
对所述子小片的所述第三层元素进行随机初始化;以及
至少部分地基于所述目标函数对所述个体子小片的所述第三层元素执行所述组合优化操作,以修改所述子小片的所述第三层元素。
5.根据权利要求4所述的方法,其中对所述小片的所述第二层元素执行所述组合优化操作至少部分地基于所述子小片的经修改的第三层元素。
6.根据权利要求4所述的方法,其中所述目标函数包括定义元素的所述集合之间的耦合的耦合项。
7.根据权利要求1所述的方法,进一步包括:
将具有所述第二层元素的所述小片的个体的能量配置与具有经修改的第二层元素的所述小片的个体的能量配置进行比较;以及
至少部分至少部分地基于所述比较来确定是否通过将所述小片的个体中的所述第二层元素替换为所述经修改的第二层元素来更新所述小片。
8.根据权利要求1所述的方法,进一步包括:
将具有所述第二层元素的所述小片的个体的能量配置与具有经修改的第二层元素的所述小片的个体的能量配置进行比较;以及
至少部分至少部分地基于概率函数(关系),通过将所述小片中的所述第二层元素替换为所述经修改的第二层元素来更新所述小片。
9.根据权利要求8所述的方法,其中所述小片的个体的大小在所述更新期间并不被改变。
10.根据权利要求1所述的方法,其中将元素的所述集合划分为与所述第二层对应的所述小片包括针对两个或更多小片中的个体小片:
在元素的所述集合中选择小片中心元素;以及
在元素的所述集合中选择围绕所述小片中心元素的元素,其中选择的所述元素包括所述第二层元素,并且其中所述第二层元素处于距所述小片中心元素的特定耦合距离之内。
11.根据权利要求10所述的方法,其中所述第二层元素至少部分地基于所述第二层元素和所述小片中心元素之间的相应距离而彼此耦合。
12.一种系统,包括:
一个或多个处理单元;以及
其上具有模块的计算机可读介质,所述模块包括:
存储器模块,用以存储元素的集合和目标函数,所述目标函数将元素的所述集合彼此关联;
划分模块,用以将元素的所述集合划分为第二层小片、第三层小片和第四层小片,其中:
所述第四层小片处于所述第三层小片内,并且所述第三层小片处于所述第二层小片内,并且
所述第二层小片的个体包括元素的所述集合的第一子集,所述第三层小片的个体包括所述第一子集的第二子集,并且所述第四层小片的个体包括所述第二子集的第三子集;
初始化模块,用以对所述第二层小片、所述第三层小片和所述第四层小片进行初始化;以及
求解模块,用以至少部分地基于所述目标函数:
对所述第二层小片执行组合优化操作以修改所述第一子集的所述元素,
对所述第三层小片执行所述组合优化操作以修改所述第二子集的所述元素,以及
对所述第四层小片执行所述组合优化操作以修改所述第三子集的所述元素。
13.根据权利要求12所述的系统,其中所述求解模块对所述第三层小片执行比所述第二层小片更多次数的所述组合优化操作。
14.一个或多个存储计算机可执行指令的计算机可读介质,所述计算机可执行指令在一个或多个处理器上被执行时对计算机进行配置以执行动作,所述动作包括:
将元素的集合划分为第二层小片和第三层小片,
其中所述第三层小片处于所述第二层小片内,并且
其中所述第二层小片的个体包括元素的所述集合的第一子集,并且所述第三层小片的个体包括所述第一子集的第二子集;
对所述第二层小片和所述第三层小片进行初始化;以及
至少部分至少部分地基于将元素的所述集合彼此耦合的目标函数(i)对所述第二层小片执行组合优化操作以修改所述第一子集的所述元素,并且(ii)对所述第三层小片执行所述组合优化操作以修改所述第二子集的所述元素。
15.根据权利要求14所述的计算机可读介质,其中所述动作进一步包括:
至少部分至少部分地基于元素的所述集合之间的耦合来选择所述第二层小片和所述第三层小片的大小。
CN201580041941.2A 2014-08-04 2015-08-04 用于组合优化和统计采样的递归分层过程 Pending CN106575286A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/450,655 2014-08-04
US14/450,655 US20160034423A1 (en) 2014-08-04 2014-08-04 Algorithm for Optimization and Sampling
PCT/US2015/043515 WO2016022507A1 (en) 2014-08-04 2015-08-04 Recursive hierarchical process for combinatorial optimization and statistical sampling

Publications (1)

Publication Number Publication Date
CN106575286A true CN106575286A (zh) 2017-04-19

Family

ID=53879799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580041941.2A Pending CN106575286A (zh) 2014-08-04 2015-08-04 用于组合优化和统计采样的递归分层过程

Country Status (4)

Country Link
US (1) US20160034423A1 (zh)
EP (1) EP3178014A1 (zh)
CN (1) CN106575286A (zh)
WO (1) WO2016022507A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110211031A (zh) * 2019-06-05 2019-09-06 山东大学 基于递归划分的多类散点图采样方法、系统、存储介质及设备
CN113544711A (zh) * 2019-01-17 2021-10-22 D-波系统公司 用于使用聚类收缩的混合算法系统和方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018222205A1 (en) * 2017-06-02 2018-12-06 Google Llc Systems and methods for black-box optimization
US11132422B2 (en) * 2019-06-20 2021-09-28 Fujitsu Limited Automating solving NP problems in annealer systems
US11373112B2 (en) 2020-01-24 2022-06-28 United States Of America As Represented By The Secretary Of The Navy Quantum computer based method for analyzing cyber data and spectra while performing optimization based on the analysis

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269351B1 (en) * 1999-03-31 2001-07-31 Dryken Technologies, Inc. Method and system for training an artificial neural network
US7653522B2 (en) * 2005-12-07 2010-01-26 Utah State University Robustness optimization system
WO2013006836A1 (en) * 2011-07-06 2013-01-10 D-Wave Systems Inc. Quantum processor based systems and methods that minimize an objective function
US20150120256A1 (en) * 2011-12-31 2015-04-30 Bgi Tech Solutions Co., Ltd. Method of reconstructing haplotype of diploid and system thereof
US9588940B2 (en) * 2013-12-05 2017-03-07 D-Wave Systems Inc. Sampling from a set of spins with clamping

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113544711A (zh) * 2019-01-17 2021-10-22 D-波系统公司 用于使用聚类收缩的混合算法系统和方法
CN110211031A (zh) * 2019-06-05 2019-09-06 山东大学 基于递归划分的多类散点图采样方法、系统、存储介质及设备

Also Published As

Publication number Publication date
WO2016022507A1 (en) 2016-02-11
EP3178014A1 (en) 2017-06-14
US20160034423A1 (en) 2016-02-04

Similar Documents

Publication Publication Date Title
CN111465944B (zh) 用于生成对象的结构化表示的图形神经网络系统
CN109117953B (zh) 网络参数训练方法和系统、服务器、客户端及存储介质
Li et al. Development and investigation of efficient artificial bee colony algorithm for numerical function optimization
US20170161612A1 (en) Partial Reinitialization for Optimizers
CN106575286A (zh) 用于组合优化和统计采样的递归分层过程
WO2022068623A1 (zh) 一种模型训练方法及相关设备
CN110366734A (zh) 优化神经网络架构
CN109657805A (zh) 超参数确定方法、装置、电子设备及计算机可读介质
WO2022095659A1 (zh) 用于确定分子逆合成路线的神经网络的训练方法和装置
CN111406264A (zh) 神经架构搜索
US20180101805A1 (en) System and method for goal-oriented big data business analatics framework
Venturelli et al. A Kriging-assisted multiobjective evolutionary algorithm
US11410069B2 (en) Grouping of Pauli observables using Bell measurements
CN114072809A (zh) 经由神经架构搜索的小且快速的视频处理网络
CN111370074A (zh) 一种分子序列的生成方法、装置和计算设备
CN110837567A (zh) 实现知识图谱嵌入的方法和系统
CN117312881B (zh) 临床试验治疗效果评估方法、装置、设备及存储介质
US11620550B2 (en) Automated data table discovery for automated machine learning
CN112216353A (zh) 一种用于预测药物-靶标相互作用关系的方法和设备
US11295046B2 (en) Systems and methods for expediting design of physical components through use of computationally efficient virtual simulations
US11544425B2 (en) Systems and methods for expediting design of physical components through use of computationally efficient virtual simulations
WO2022252596A1 (zh) 构建ai集成模型的方法、ai集成模型的推理方法及装置
CN113196274A (zh) 根据材料属性的自定义元胞晶格核的计算机辅助设计
CN116189769A (zh) 神经网络的训练方法和预测蛋白质结构的方法
Amiriebrahimabadi et al. A comprehensive survey of feature selection techniques based on whale optimization algorithm

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170419