量子退火算法入门(6):初识量子退火算法的发明过程

article/2025/9/20 23:44:03

文章目录

  • 一、量子计算机
  • 二、模拟退火算法
  • 三、量子退火算法的物理基础
    • 1. 量子涨落替换热涨落,提出量子退火算法
    • 2. 绝热量子演化解决横向磁场强度缓慢变化
    • 3. D-Wave Systems公司实现物理量子退火机
  • 总结


一、量子计算机

提示:量子退火机的发展简史(参考NTT量子计算指南):

量子计算机就是使用量子bit实现的计算机。之前提到过,可以分为两类,量子门(gate)方式和量子退火(annealing)方式。量子门方式的实现和现代计算机的电子逻辑门很像,比较容易理解,但是需要自己设计逻辑电路,现在开发的算法太少了,而且量子bit容易收到周围环境的影响,噪音比较多。

量子退火方式的话,只能用来解决组合优化问题,但是用户只需要设计QUBO就可以黑盒操作。但是要理解QUBO真正的硬件计算逻辑,还是需要一些物理知识的,本篇就讲一下需要的物理知识。

下面是NTT公司的量子计算指南总结的各种流派。

这个分类我觉得,量子退火机其实还是应该属于Ising machine的。因为,量子退火机解决的还是寻找Ising model的ground state的问题。当然这个分类也不是很重要,大家只要理清楚量子退火方式和Ising model的关系就好了。

在这里插入图片描述
用来解决组合优化问题的特殊机器,除了基于激光实现的CIM,还有以下几个:

  • 基于一种叫空间光学伊辛机的特殊硬件
  • 基于现代计算机电路进行物理模拟的算法(Simulated CIM,Hopfield-Tank,STATICA,Restricted Boltzmann machine)

使用量子退火机解决组合优化问题的步骤如下图所示:
在这里插入图片描述

二、模拟退火算法

想理清楚量子退火的物理模型的物理机制,我们要先理解模拟退火算法的原理。
在这里插入图片描述
纵轴 H H H代表需要最小化的Hamilton量, S i Si Si代表求解的binary变量,所以 S i Si Si应该是不连续的,函数曲线不应该是一个平滑的曲线,这里为了方便说明,大家不要误解。

Si模拟退火算法中,有一个和物理温度成反比的参数 β β β。算法运行时,越过山峰的概率和下面👇的式子成比例。
在这里插入图片描述
所以,以下温度的变化过程,也被称作热涨落

  • 温度越高,参数 β β β越小,上面👆的式子的值越大,越过山峰的概率越高;

  • 温度降到足够低时,越过山峰的概率就很低了,算法就找到一个谷底的最优解。

这里有一个设定,非常重要:

  • 温度必须降低得足够慢降低得足够慢降低得足够慢,模拟退火才可以可靠地获得最优解,但如果温度降低得太快,则可能会陷入局部解中。

三、量子退火算法的物理基础

提示:第二章参考了此文:https://qiita.com/Kashalpha/items/9337c4f9fe4fbbb636fe

1. 量子涨落替换热涨落,提出量子退火算法

1998年在东京工业大学的門脇正史(当时在读博士课程)和西森秀稔教授(当时的指导教授)提出了使用基于薛定谔动力学的 Ising 模型作为问题哈密顿量和横向磁场作为量子涨落(fluctuation)项,来替代模拟退火中的热涨落,从而提出量子退火算法。这个研究,只是理论上的探索,当时没有太多人关注。

Tadashi Kadowaki and Hidetoshi Nishimori, "Quantum annealing in the transverse Ising model." Phys. Rev. E 58, 5355 (1998), arXiv:9804280

1994年发表的下面👇论文里就出现过Quantum annealing的提法。

A. B. Finnila, et al. "Quantum annealing: a new method for minimizing multidimensional functions." Chemical physics letters 219, 5 (1994)

其实,在門脇和西森之前,利用量子隧穿效应来寻找自旋玻璃模型本身的最小能态的想法,已经在下文👇里提出了。

P. Ray, B. K. Chakrabarti, and Arunava Chakrabarti, "Sherrington-Kirkpatrick model in a transverse field: Absence of replica symmetry breaking due to quantum fluctuations." Phys. Rev. B 39 11828

下图👇代表,量子退火算法有趣的地方时, m m m个状态,不是独自寻找最优解,它们直接互相干涉,同时去寻找最优解。
在这里插入图片描述
量子退火算法中,有一个和模拟退火算法中的物理温度概念相似的概念,叫横向磁场强度

  • 横向磁场强度越弱,相邻 S i Si Si就会偏向于朝着不同方向,系统能量就越高,各个 S i Si Si就各自寻找自己的局部解。
  • 横向磁场强度越强,相邻 S i Si Si就会偏向于朝着相同方向,系统能量就越低,就越容易找到最优解。

和模拟退火算法类似,如果横向磁场强度下降太快,量子退火算法也会找不到最优解。

2. 绝热量子演化解决横向磁场强度缓慢变化

绝热量子计算(AQC:adiabatic quantum computation)是由 Edward Farhi 等人在 2000 年提出的。然而,此时并没有证明通用量子计算是可能的,所做工作与解决组合优化问题的量子退火研究几乎相同。新颖之处在于,作为量子算法提出(和模拟退火无关)使用绝热定理分析。相关论文如下:

E. Farhi, et al. "Quantum computation by adiabatic evolution." arXiv preprint quant-ph/0001106 (2000)
E. Farhi, et al. "A quantum adiabatic evolution algorithm applied to random instances of an NP-complete problem." Science 292, 5516 (2001), arXiv:quant-ph/0104129

绝热量子计算和量子退火的关系可以总结为:

  • 绝热量子计算,解决了量子退火算法中的横向磁场强度缓慢变化问题。

3. D-Wave Systems公司实现物理量子退火机

在 2010 年左右,根据的門脇和西森的理论设计,以及Edward Farhi 等人提出绝热量子演化算法,D-Wave Systems Inc. 基于超导量子bit制造出了第一台量子退火机。细节论文,如下:

M. B. Hastings, "The Power of Adiabatic Quantum Computation with No Sign Problem" arXiv:2005.03791

总结

该篇总结了量子退火算法的提出过程,以及相关原理。很多细节还没有讲透,后续会把量子退火算法的公式和绝热量子演化的公式讲清楚。


http://chatgpt.dhexx.cn/article/autPSm6u.shtml

相关文章

模拟退火算法(SA)详解

一.算法来源:模拟退火算法(SA)源于固体退火原理,是一种基于概率的算法。将固体加温至充分高的温度,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,分子和原子越不稳定。而徐徐冷…

模拟退火算法介绍和实例实现

一、模拟退火算法简介 模拟退火算法(SA)来源于固体退火原理,是一种基于概率的算法。将固体加温至充分高的温度,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,分子和原子越不稳定。而徐徐冷…

模拟退火算法(Python)

一、模拟退火算法 1、模拟退火算法的定义 模拟退火算法是一种现代优化算法。基于蒙特卡洛迭代求解方法的随机寻优算法,模拟退火算法于1983 年成功地应用到组合优化领域。因固体物理退火过程与组合优化问题存在着相似性,模拟退火算法对固体物质的退火过…

模拟退火算法详细说明

来源:固体退火。一种处理工艺:将金属缓慢加热到一定程度,保持足够的时间,然后以适宜的速度冷却。退火后的金属具有了新的属性降低硬度等。 一、爬山算法 1.爬山算法是一种局部择优的方法,是一种局部贪心的最优算法。…

【算法】模拟退火

文章目录 1.模拟退火介绍1.1模拟退火的可行性1.2退火模型 2.详解退火2.1退火过程2.2各变量说明2.2.1关于接收概率 3.退火模拟求根号n的值4.洛谷POJ-2420 1.模拟退火介绍 ​ 模拟退火是模拟物理上退火方法,通过N次迭代(退火),逼近…

模拟退火算法的原理+应用

本文转自https://www.cnblogs.com/ranjiewen/p/6084052.html 模拟退火算法 著名的模拟退火算法,它是一种基于蒙特卡洛思想设计的近似求解最优化问题的方法。 一点历史——如果你不感兴趣,可以跳过 美国物理学家 N.Metropolis 和同仁在1953年发表研究复杂…

优化算法——模拟退火算法

模拟退火算法原理 爬山法是一种贪婪的方法,对于一个优化问题,其大致图像(图像地址)如下图所示: 其目标是要找到函数的最大值,若初始化时,初始点的位置在 C C C处,则会寻找到附近的局部最大值 A A A点处&a…

模拟退火算法详细讲解(含实例python代码)

模拟退火算法详细讲解(含实例python代码) (一)模拟退火算法简介(二)模拟退火算法原理(三)退火过程中参数控制(四)算法步骤(五)实例分析…

模拟退火算法(SA)

一、算法简介 模拟退火算法(SA) 一种模拟物理退火过程而设计的优化算法 初始处于一个高温状态下,然后逐渐退火,在每个温度下慢慢冷却,最终达到物理基态(相当于算法找到最优解) 求解TSP问题(旅行商问题)、最值问题、全…

模拟退火算法(Simulated Annealing,SA)

这是一篇关于模拟退火算法的总结博客,包括算法思想,算法步骤,Python实现,MATLAB实现,算法进阶等。 目录 1 算法思想2 算法步骤3 SA解函数最小值(python实现)4 SA解旅行商问题(MATLA…

退火算法(Annealing)简介与详解

模拟退火算法(Simulated Annealing,SA) 秒懂爬山算法(Hill Climbing)退火算法 详解算法来源数学推导来源:metropolis准则(蒙特卡洛准则) 算法流程算法优劣例题 秒懂 爬山算法&#…

Instrumentation框架分析及其使用

本文旨在从Android系统源码出发,简单梳理Instrumentation框架的行为及逻辑结构,供有兴趣的同学一起学习 从am instrument谈起 am instrument命令的执行 我们知道,命令行运行Android测试的命令是adb shell am instrument,这个命令是如何调起我们的测试代码来进行测试的呢,…

android.app.instrumentation解析

已经在Android SDK中学习了很多关于JUnit的内容,但是感觉一直有几个问题没有解决(不知道大家是否有同样的感受)JUnit的测试都自动化的,完全是不需要任何操作的,有2个问题我一直都还没有找到答案,这2个问题如…

Java探针 Instrumentation

背景:假如我们想打印出某些系统->某些类->某些方法的执行耗时,方式有很多,但是想要无侵入的做到这一点,只有Java探针一种方式。这也是很多调用链系统依赖的技术基础。 什么是Java探针 通俗来讲,就是Java提供的一…

opentelemetry-java-instrumentation翻译

原文地址:原文 OpenTelemetry Instrumentation for Java 这个项目提供了一个Java agent JAR,这个jar可以attached to任何Java8的应用上,动态地注入(inject)字节码从大量的流行库和框架(popular libraries …

Instrument

使用Instruments 里面的Automation,可以对iOS进行自动化测试。 参考这篇文章:http://www.codeproject.com/KB/iPhone/UI_Automation_Testing.aspx 我用的是xcode4.2。 在这里下载修改好的项目,xcode4.2下用的:http://download.csd…

android Instrumentation

Android提供了一系列强大的测试工具,它针对Android的环境,扩展了业内标准的JUnit测试框架。尽管你可以使用JUnit测试Android工程,但Android工具允许你为应用程序的各个方面进行更为复杂的测试,包括单元层面及框架层面。 Android测…

Instrumentation 应用简介

引用: java-instrumentation 引用:Instrumentation 新功能 简介 java Instrumentation指的是可以用独立于应用程序之外的代理(agent)程序来监测和协助运行在JVM上的应用程序。这种监测和协助包括但不限于获取JVM运行时状态&#…

AndroidStudio单元测试——instrumentation

前言:这几天老大要我搞代码自动测试,eclispe的已经解决了,可他们都是用android studio,所以要在android studio 上重新试验,这个有难度啊,android studio国内资料极少,更不要说单元测试了。goog…

Android Instrumentation 简介

Instrumentation 简介 APIs && Source code 官方APIs地址(需要翻墙)Source code Instrumentation 特点 该框架基于JUnit,因此既可以直接使用Junit 进行测试,也可以使用Instrumentation 来测试Android 组件其为Android 应用的每种组件提供了测…