定义问题以及用QUBO表示约束

本文介绍了如何使用QUBO(Quadratic Unconstrained Binary Optimization)来表示和解决二值优化问题。通过定义目标函数、问题缩放和建立QUBO来表示约束,展示了D-Wave系统在解决此类问题中的工作原理。具体讨论了如何构建一个确保只有一个变量为真的QUBO模型,并将其转换为图结构。通过实例解释了QUBO在解决如旅行销售人员问题等约束满足问题中的应用。
摘要由CSDN通过智能技术生成

定义问题以及用QUBO表示约束

D-Wave擅长解决的问题之一就是二值优化(optimization of binary variables)问题。二值变量只有变量 0(NO, or FALSE)和变量 1(YES, or TRUE)。

传统计算机可以被认为是由逻辑门(logic gates)组成的,逻辑门是一种简单的决策装置,其根据输入产生输出。虽然 D-Wave 系统并不是基于门的,但巧合的是一个特殊的门(异或门)形成了系统要解决的第一个优化问题。

异或门内容如下:
假设由两个二值的输入 a , b a,b a,b 。若 a = 0 且 b = 0 a=0 且b=0 a=0b=0,则输出为 1 1 1, 若 a = 1 且 b = 1 a=1 且b=1 a=1b=1,则输出为 1 1 1, 其他情况下输出为0.

定义目标函数

对于一个有两个qubit的问题,我们希望在退火之后的 qubits 得到一样的值。qubit 的状态有4种情况,如下表所示:

q 0 q_0 q0 q 1 q_1 q1
0 0
0 1
1 0
1 1

我们需要定义一个目标函数,使其最终实现状态(0,0)和(1,1)。在目标函数中,qubit 是变量。bias(qubit 偏置) 和 strengths(couplers 的强度)是线性项和二次项上的系数。两个 qubit 问题的目标函数有三个项。目标函数的形式如下:

f ( s ) = a 1 q 1 + a 2 q 2 + b 1 , 2 q 1 q 2 (5.1) f(s) = a_1 q_1 + a_2 q_2 + b_{1,2} q_1 q_2 \tag{5.1} f(s)=a1q1+a2q2+b1,2q1q2(5.1)

其中 s s s 是变量 q = [ q 1 , q 2 ] q=[q_1,q_2] q=[q1,q2] 的向量, a 1 a_1

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值