0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

量子计算场景实用秘籍:开物SDK之subQUBO算法分解

玻色量子 来源:玻色量子 2024-08-13 11:05 次阅读

在各行业应用场景的数学模型构建中,经常会遇到实际问题的计算规模巨大,模型所包含的变量数超出现有量子计算机比特数的情况,导致无法直接使用量子计算机进行求解,而是先要对原问题进行拆分,这时就需要一种称为“subQUBO算法”的帮助。

subQUBO算法是一种将大规模组合优化问题分解为若干个小规模问题以便能在当前中小规模量子计算机上实现求解的方法。它的核心思想是通过软件手段将原问题拆解,并融合经典和量子两种模型,重构成一种“量子计算+经典计算”混合架构的全新数学模型,从而使得现有的光量子计算机能够直接处理,同时,该算法可以确保被分解后的小问题集合在求解质量上,仍旧与原有大问题是完全一致的。这项非常实用的模型预处理功能,也是玻色量子发布的开物SDK强大能力之一。

subQUBO算法的应用场景主要集中在解决大规模优化问题中,尤其是在受到当前量子计算机比特数限制而难以直接求解的问题上。例如,生物制药领域的药物发现和网络科学领域的社区发现两大典型场景案例。

药物发现场景

药物发现作为生物制药领域的核心环节,致力于寻找对特定疾病具有疗效的潜在药物分子,包括了靶标鉴定、药物设计,合成、评价等多个步骤。其中,分子对接作为药物发现早期虚拟筛选、药物设计的重要技术手段之一,多被用于预测和分析配体(小分子化合物)与受体(蛋白质或核酸)之间的结合过程。

通过计算配体受体之间的空间互补以及能量匹配来寻找其最佳的复合物模式。我们将分子对接过程中的构象采样问题转化为配体原子和受体结合口袋的空间格点匹配问题,通过构建QUBO模型可以在相干光量子计算机上实现求解,再将求得的解转换为空间位置以最终获得复合物pose信息,从而加速了分子对接的计算过程,并且还能有效的提高分子对接的规模和质量。

但是,当配体和受体的分子量较大时,或是可选的受体结合口袋较多时,原有的QUBO模型所包含的变量数也会随之增加,这就对量子计算机的比特规模提出了更高的要求。这时我们通过subQUBO方法就可以从原QUBO问题中抽取出部分变量形成若干子问题,并通过迭代更新来优化求解过程,使得分解后的问题求解结果能够不断逼近最优解。

社区发现场景

网络科学是利用数学理论研究数据网络的学科,重点在于分析和表征网络行为。现实世界网络的一个重要特征是它们具有社区结构,这可以通过图方法来实现建模。识别社区结构是理解不同网络结构的重要手段,在社交网络、金融风控、生命科学等领域都有巨大应用价值。

尤其在大规模网络中,检测社区结构更加有价值,有许多应用产品都是使用社区检测算法来揭示网络中的隐藏信息。例如,在社交网络中找到具有相似行为的用户,通过他们的购物习惯对电子商务中的客户进行分类能够有效提升营销成功率。同样,社区检测在设计延迟容忍网络中的网络协议和在线社交网络中的蠕虫遏制中能够发挥重要作用。在数据网络中,识别恶意用户社区是很有帮助的。在智能营销中社区发现具有一些有趣的应用,例如增强在线购物者、产品推荐和定向广告。在大型购物网络中,社区检测可以用于分类客户并根据他们的购买历史提供未来购买的建议。

社区检测算法的性能在很大程度上取决于网络的拓扑结构,网络可以是静态的或动态的。模块度最大化和谱聚类分别被认为是静态网络中社区识别的主要方法。我们将传统的基于模块度的社区发现模型转化为QUBO形式,并使用玻色量子的相干光量子计算机实现了求解。而往往在实际场景中,在线网络用户数或者生命科学领域的细胞数量非常庞大,所涉及的计算规模都会超过现有量子比特数量的限制,那么我们就可以借助subQUBO算法算法,进行问题拆分,最终完成求解。

QUBO问题的分解 一个较大的QUBO优化问题,在固定一部分变量的取值后,可以形成一个更小的QUBO优化问题。

令原始的QUBO问题为:

39372f5e-4fa8-11ef-b8af-92fbcf53809c.png

令可活动变量下标集合为Sf。令固定的变量下标集合为Sc=SSf,取值为

393e4bcc-4fa8-11ef-b8af-92fbcf53809c.png

如此,原始的QUBO问题可改写为以xi∈Sf为变量的问题:

3947d80e-4fa8-11ef-b8af-92fbcf53809c.png

其中,二次项为:

39528dbc-4fa8-11ef-b8af-92fbcf53809c.png

一次项为:

39675544-4fa8-11ef-b8af-92fbcf53809c.png

常数项为:

397c686c-4fa8-11ef-b8af-92fbcf53809c.png

忽略常数项,则有:

398f0044-4fa8-11ef-b8af-92fbcf53809c.png

相干光量子计算机直接求解的Ising模型和QUBO模型是等价的,在实现时直接对Ising模型抽取子问题也可以达到同样的作用。优化过程:

39a5aa6a-4fa8-11ef-b8af-92fbcf53809c.png

如伪代码所示,通过subqubo优化时,首先要确定初始解向量,之后的求解过程不断更新解向量。之后的迭代过程中,需要执行的操作包括子问题变量集合的选取,子问题的求解与更新答案,全局优化。

子问题变量集合的选取:

变量集合的选取有很多不同的策略,策略的选取取决于实际问题。选取的策略包括:

(1)将QUBO问题看成一张图,根据图的连通性选择子问题

(2)有限选择重要的或者当前不确定程度更高的变量

(3)根据实际问题的结构选择,如选择在实际问题中相关的变量

子问题的求解与更新答案:

参考前一节问题的分解,我们在选取变量集合之后就可以用原问题和当前的解生成新的子问题。子问题的变量就是我们所选的变量集合。求解子问题之后,将变量的改变在原问题的解中做相应的更新。有时subQUBO算法会维护一个解集合,这只需将新产生的解加入到解集合中并对维护的解集作相应更新。

全局优化

每次优化都只考虑使用同一标准选取的一部分变量,有时候可能会导致算法错过一些变量。通过禁忌搜索,模拟退火等算法,引入不同的优化方式,可以帮助跳出局部最优。

子问题如何选取?

本节以选择不确定程度更高的变量为例,讲解子问题的选取过程。

当被固定的变量都已经得到最优解,那么subQUBO表达式的最优解与QUBO表达式的最优解相同。因此,合理的方式应该是将有更高概率已经获得正确解的变量固定,subQUBO表达式选取难以确定最优解的变量。

于是,该方法通过之前求解时获得的解来判断每个变量当前的解有多大信心为正确解,结果多数为1则为1,多数为0则为0,1和0的次数差不多说明难以确定。具体操作为通过 |解为1的次数-求解次数/2| 来判断。

当该值较大时,变量有较高信心为1或0的某一个值,反之则说明难以判断该变量的值应该为1或0,应该优先加入subQUBO。

总结

现实中的问题普遍存在大规模求解的情况,subQUBO算法为用户提供了一种全新的解决思路,并证明其是一种用于解决大规模QUBO问题的有效方法。它通过将原始问题分解为多个子问题,并在迭代过程中优化这些子问题的求解效果,从而逐步逼近全局最优解。

在药物发现和社区发现等实际应用中,subQUBO算法能够处理超出量子计算机比特数限制的问题,提高了量子计算能够覆盖到的问题规模。并且子问题的选取策略也是多样的,可根据实际问题特点选择合适的变量集合。

显然,通过结合经典算法和量子计算,subQUBO算法为解决复杂优化问题提供了新的思路和方法。基于玻色量子自研的开物SDK,用户只需关注建立与场景所对应的数学模型,SDK提供的方法可以自动完成问题分解,用户无需担心其背后的复杂度,这将极大的降低用户使用相干光量子计算机求解实际问题的难度。

文章来源 :玻色量子 在此特别鸣谢!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4540

    浏览量

    91930
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1002

    浏览量

    45379
  • 量子计算
    +关注

    关注

    4

    文章

    1046

    浏览量

    34705
  • 玻色量子
    +关注

    关注

    0

    文章

    31

    浏览量

    452

原文标题:量子计算场景实用秘籍:开物SDK之subQUBO算法分解

文章出处:【微信号:玻色量子,微信公众号:玻色量子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    量子计算场景实用秘籍SDK“高阶函数降阶”

    现实应用场景往往具有复杂的多变量交互作用和非线性行为,在数学上均属于高阶问题,存在于实际应用中的各个领域,如图像处理中的去噪和超分辨率、工程设计与优化、金融工程中的期权定价和投资组合优化、医疗领域
    的头像 发表于 08-29 11:14 746次阅读
    <b class='flag-5'>量子</b><b class='flag-5'>计算</b><b class='flag-5'>场景</b>实用<b class='flag-5'>秘籍</b>:<b class='flag-5'>开</b><b class='flag-5'>物</b><b class='flag-5'>SDK</b><b class='flag-5'>之</b>“高阶函数降阶”

    量子计算机重构未来 | 阅读体验】+ 初识量子计算

    分介绍了量子计算机的工作原理、计算能力、研发现状等专业知识点;第二部分介绍了量子计算机的应用场景
    发表于 03-05 17:37

    量子计算机重构未来 | 阅读体验】第二章关键知识点

    ,Snor算法和Grover算法。Snor算法典型的应用场景为超大数的质因数分解,普通计算机需要
    发表于 03-06 23:17

    量子计算机重构未来 | 阅读体验】+ 了解量子叠加原理

    作为零基础初学级的量子小白,对神秘诡异的量子世界充满了好奇。说起量子计算机,我有许多问号,量子计算
    发表于 03-13 17:19

    量子

    具有一些特殊的性质,如叠加和纠缠,使得量子计算机能够在某些情况下比传统计算机更高效地解决某些问题。 量子计算机的一个重要应用领域是密码学。
    发表于 03-13 18:18

    量子计算机重构未来 | 阅读体验】 跟我一起漫步量子计算

    计算机在加密和密码破解领域也具有巨大的潜力。传统的加密算法量子计算机面前可能不再安全,这将促使我们发展更加安全的加密技术。虽然这带来了挑战,但同时也为信息安全领域提供了新的发展机遇。
    发表于 03-13 19:28

    【《计算》阅读体验】量子计算

    time)。BQF类问题是量子计算研究的主要问题之一。 Shor 算法结合了经典算法量子算法
    发表于 07-13 22:15

    量子计算走向商业化会怎么样

    量子计算,梦幻概念走进现实,那如果走向商业化呢?量子计算的概念起源于20世纪80年代,量子物理学蓬勃发展引发了
    发表于 05-24 06:26

    量子力学经典固态物理应用

    本帖最后由 ygpotsyyz 于 2020-8-6 21:30 编辑 量子力学经典固态物理应用量子力学传统经典为现代乃至当今量子计算
    发表于 08-06 21:03

    量子是个啥?量子计算机有啥用?

    写在前面此文觉得非常有逻辑性,而且有很多量子计算方面的常识介绍。大部分资料都是网络公开的,这里做了一个汇集。因此,转发到博客里。文章目录(一)量子是个啥?(二)各种量子技术都是啥?(三
    发表于 07-27 07:19

    计算中任务分解算法的改进

    计算中任务分解是提高任务执行并行度的重要手段。针对云计算中任务分解算法在解决复杂任务分解问题时
    发表于 01-08 16:17 0次下载

    量子计算量子计算机的介绍与量子计算基础的分析

    多项式时间内解决大数质因子分解问题;以 Grover 算法为代表的量子搜索算法,极大地提高搜索效率;量子通信技术利用
    发表于 09-28 18:48 12次下载

    混合量子经典计算平台QODA

      首先,我们需要在理解量子算法方面取得进展。去年, NVIDIA 发布了 cuQuantum ,这是一款用于加速量子计算模拟的软件开发工具包( S
    的头像 发表于 10-10 11:43 812次阅读

    窦猛汉:量子计算的未来研究方向与挑战

    量子计算机的退相干时间只是微秒级别的,从这方面来说,量子计算机还有非常大的发展空间。其次,如果想要运行Shor算法等大数
    的头像 发表于 08-17 01:44 554次阅读
    窦猛汉:<b class='flag-5'>量子</b><b class='flag-5'>计算</b>的未来研究方向与挑战

    玻色量子发布新一代550计算量子比特相干光量子计算

    机——“天工量子大脑550W”及SDK等核心研究成果,充分展现出量子计算与AI的融合,是实用
    的头像 发表于 04-19 15:06 333次阅读
    玻色<b class='flag-5'>量子</b>发布新一代550<b class='flag-5'>计算</b><b class='flag-5'>量子</b>比特相干光<b class='flag-5'>量子</b><b class='flag-5'>计算</b>机