量子退火算法入门(1) : QUBO是什么?

这篇具有很好参考价值的文章主要介绍了量子退火算法入门(1) : QUBO是什么?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

量子计算机

量子计算机是利用“量子叠加”,“纠缠”等量子力学现象实现并行计算的计算机。传统计算机需要大量时间才能得出答案的问题,量子计算机可能会在短时间内解决,因此有望在各个领域得到应用。根据解决问题的方法,量子计算机可以大致分为量子门法(门:gate)和量子退火法(退火:annealing)两种。本文只讲解量子退火法相关的建模和计算过程。

量子退火法能解决什么问题?

量子退火法就是模拟退火算法的量子实现版。我们先撇开量子力学的相关知识,关注于实际问题。本篇文章专注于量子退火法的输入输入输入

量子退火法都必须把问题映射成一个叫【哈密顿算符(Hamiltonian) 】的能量表达式,一般用H表示,然后求出让H值最小的变量组合。这个表达式是个二次多项式,里面的变量只能取0或1。下面举个例子。
量子退火算法入门(1) : QUBO是什么?
也就是x1和x2都只能取值0或1,我们要算出来,让H最小的x1和x2的值。因为x1和x2的取值组合和对应的H值,如下表所示:
量子退火算法入门(1) : QUBO是什么?
从上面的表格可以看出,(x1, x2) = (0, 1)的时候,H=0,是最小值。使用量子退火解决法,可以解决所有可以转变成二次多项式的,变量取值只能是0或1的问题。

上面的例子只有两个变量,所以很容易算出(x1, x2)的最优解,但是当有成千上万个x变量时,普通计算机就要花很久来计算,而量子退火机可以在数分钟内得出结果(计算时间依赖问题规模而定)。

那怎么把一次多项式和高次多项式转变成二次多项式呢?下面先举一个把一次多项式,转换成二次多项式的例子。

量子退火算法入门(1) : QUBO是什么?
上面是这个一次多项式,因为里面的x(x1,x2,x3)只能取0或1。所以,x = x2。那么就可以转换成下面👇的二次多项式了。
量子退火算法入门(1) : QUBO是什么?
同理,下面的四次多项式,可以这么转换。(三次多项式的转换比较麻烦,以后有机会再说。)
量子退火算法入门(1) : QUBO是什么?
因为即使把H里面的【每一项都乘以整数倍】和【去除常数项】也不会影响的最小值的解。所以,下面的转化没有任何问题。这里用→表示经过整数倍或者去掉常数项的过程。
量子退火算法入门(1) : QUBO是什么?

量子退火法和QUBO

上面的哈密顿算符H是个二次多项式,那么为了容易用数学描述,我们可以把他们用矩阵表示。
量子退火算法入门(1) : QUBO是什么?
中间这个数字的矩阵,叫做QUBO矩阵,QUBO是(Quadratic Unconstrained Binary Optimization)的缩写,翻译成汉语就是,二次无约束二值优化。

为了和物理模型对应,我们一般会把QUBO变换以下的形式,

  1. 把二次项的下标按照从小到大排列,比如(x2x1)→(x1x2)。
  2. 把能转换的二次项转换为一次项,并写在二次项后面。

下面是个例子:
量子退火算法入门(1) : QUBO是什么?

这样所有的哈密顿算符H都可以写成下面的形式了。
量子退火算法入门(1) : QUBO是什么?

Python演示模拟退火算法如何利用QUBO求解

最后用python的代码看一下怎么使用QUBO求解哈密顿算符H最小值。这次使用pip install wildqat安装wildqat包,然后用模拟退火算法演示。以后用D-Wave替换就是量子退火版了。

只需获得二项式的QUBO矩阵,就可以得到让哈密顿算符H取最小值的解。
下面的二项式,化简后的到QUBO矩阵。
量子退火算法入门(1) : QUBO是什么?
然后把QUBO矩阵输入到下面的程序中,就可以得到(x1, x2, x3)=(0, 1, 0)就是让y取最小值的解。


import wildqat as wq
a = wq.opt()
a.qubo = [[-3,4,-2],
		  [0,-5,6],
		  [0,0,3]]
a.sa()
>>> [0, 1, 0]

下一篇讲讲为什么要写成这样的形式,这样的形式怎么和物理模型对应。以及实际问题怎么转换成QUBO。

备注

这篇文章是我读下面这本书的读书感想,因为是日语的,我把感想写成了汉语,上面的截图很多出自这本书。这本书并不是正式出版的书,作者是研究生,书是自己编辑的,里面虽然有些小错误,但是质量非常好。感谢作者。
《最適化問題とWildqatを用いた量子アニーリング計算入門》
https://booth.pm/ja/items/1415833文章来源地址https://www.toymoban.com/news/detail-415199.html

到了这里,关于量子退火算法入门(1) : QUBO是什么?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 量子退火算法入门(7):如何QUBO中的三次多项式怎么转换?

    本文还是大部分截图来自于:《最適化問題とWildqatを用いた量子アニーリング計算入門》 https://booth.pm/ja/items/1415833 终于有人问到怎么将QUBO中的三次多项式转换为二次多项式了。直接以一个例题开始讲解。中间会用到之前文章里的知识,大家最好读了该系列前两篇之后,再阅

    2023年04月14日
    浏览(37)
  • 量子退火Python实战(3):投资组合优化(Portfolio) MathorCup2023特供PyQUBO教程

    提示:包含pyQUBO用法: 最近MathorCup2023的A题刚好是投资组合的QUBO建模,刚好有篇日文文章是讲这个的,直接翻译过来。供大家参考。【因为还没有获得作者同意,暂且没有把文章设置为翻译,之后会设置成翻译,或者再加一下自己的东西变成原创。】 什么是投资组合优化?

    2024年02月03日
    浏览(53)
  • 量子算法入门——2.线性代数与复数

    参考资料: 【【零基础入门量子计算-第03讲】线性代数初步与复数】 来自b站up:溴锑锑跃迁 建议关注他的更多高质量文章:CSDN:【溴锑锑跃迁】 强烈建议搭配b站原视频进行观看,这只是我当时看的笔记,读懂这堂课的内容可能需要:线性代数(初等变换、列向量)、离散

    2024年02月19日
    浏览(39)
  • matlab智能算法之模拟退火算法

    2023年04月29日
    浏览(47)
  • 数学建模-退火算法和遗传算法

    退火算法和遗传算法 一.退火算法 退火算法Matlab程序如下: [W]=load(\\\'D:100个目标经度纬度.txt\\\'); 二、遗传算法 [E]=xlsread(\\\'D:100个目标经度纬度\\\');  % 加载敌方 100 个目标的数据, 数据按照表格中的位置保存在纯文本文件 sj.txt 中 x=[E(:,1)]; y=[E(:,2)]; e =[x y]; d1=[70,40]; e =[d1;  e ;d1];

    2024年02月20日
    浏览(55)
  • 模拟退火算法,遗传算法,禁忌搜索算法的特点

    (1)借助物理学中退火的思想,从某一高温出发,随着温度参数不断下降, 在解空间中寻找目标函数的全局最优解,温度影响着当新解不优于当前解时, 接受新解的概率,温度越高,接受新解的概率越高。 (2)基于概率的算法 (3)需要设置如何产生新解 当产生的新解不

    2024年02月12日
    浏览(54)
  • 蚁群算法、模拟退火算法、遗传算法优缺点

    1.可以突破爬山算法的局限性,获得全局最优解(以一 定的概率接受较差解,从而跳出局部最;优解)。 2.初始解与最终解都是随机选取的,它们毫无关联,因此具有很好的鲁棒性,即抵御外界不稳定因素的能力。 3.其最优解常常受迭代次数k的影响,若k值越大,则搜索时间越长

    2024年02月01日
    浏览(40)
  • 【算法】模拟退火

    1.模拟退火介绍 ​ 模拟退火是模拟物理上退火方法,通过N次迭代(退火),逼近函数的上的一个 最值 (最大或者最小值)。比如在下面函数去逼近最大值C点 1.1模拟退火的可行性 ​ 模拟退火算法得益于材料统计力学的研究成果。 ​ 鉴于固体的退火原理,当固体的 温度很

    2024年02月12日
    浏览(44)
  • Matlab:遗传算法,模拟退火算法练习题

    1、遗传算法 (1) 遗传算法 是一种基于自然选择原理和自然遗传机 制的搜索(寻优)算法,它是模拟自然界中的生命进化机制,在人工系统中实现特定目 标的优化。遗传算法的实质是通过群体搜索技术,根据适者生存的原则逐代进化,最终 得到最优解或准最优解。它必须

    2024年01月21日
    浏览(46)
  • 【智能算法1】模拟退火算法_Python实现

    1.1 固体退火的原理 加热使得固体融化,然后缓慢地降低温度,以此来让固体内部的粒子排布更加均匀。 分为四个阶段: 升温阶段、降温阶段、等温阶段、达到目标温度退火完成 等温阶段就是在塑造形状。 1.2 Metropolis准则 概率接受新状态,称为Metropolis准则。 假设前一状态

    2024年02月05日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包