使用 Dynex 平台找到 HIV 病毒和烟草淡绿花叶病毒 RNA 序列的最佳茎结构。该示例采用 RNA 序列并应用二次模型来追求最佳茎配置。
参考dynex用例原文:
https://github.com/dynexcoin/DynexSDK/blob/main/example_rna_folding.ipynb
量子算法贡献者:
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9022793/pdf/pcbi.1010032.pdf
知识背景:这是量子计算机算法
量子计算机上运行的程序,并非全都具有所谓的“量子优势”,其中很多其实可以用经典计算机模拟的,这些高效模拟量子计算过程的方法就衍生出一批“量子启发式算法”(Quantum Inspired Algorithm),比方说从量子绝热演化定理(Quantum Adiabatic Theorem)衍生出来了模拟分岔算法(Simulated Bifurcation),这是经典计算机上运行的算法,最近几年在组合优化领域大杀四方。
不过,也有一些量子计算过程是难以用经典计算机模拟的(如Shor算法),其中一个关键的特征就是要利用量子纠缠。在凝聚态物理领域,人们发现对于纠缠很强烈的“量子多体系统”,经典计算机上的仿真非常困难,目前比较有效的是张量网络算法,但也受到问题规模的限制。对于带有强烈纠缠的系统,一般认为难以用经典计算机模拟。
量子纠缠含量评估
RNA 分子的 3 维折叠很大程度上取决于碱基之间分子内氢键的模式。从序列预测碱基配对网络,也称为 RNA 二级结构预测或 RNA 折叠,是一个非确定性多项式时间 (NP) 完全计算问题。分子的结构可以强烈预测其功能和生化特性,因此准确预测结构的能力是生物化学家的重要工具。已经提出了许多方法来有效地采样可能的二级结构模式。经典方法采用动态编程,最近的研究探索了受进化和机器学习算法启发的方法。这项工作演示了利用量子计算硬件来预测 RNA 的二级结构。导出以二元二次模型 (BQM) 形式编写的哈密顿量,以驱动系统最大化连续碱基对的数量,同时共同最大化茎的平均长度。将量子退火器 (QA) 与使用相同目标函数编程的复制交换蒙特卡罗 (REMC) 算法进行比较,结果表明 QA 在快速识别低能耗解决方案方面具有很强的竞争力。
量子纠缠侦查
迄今为止,量子计算机(QC) 主要有两种模型:门模型和量子退火。门模型量子器件具有广泛的应用范围,最常用于量子化学和量子机器学习计算。D-Wave 公司首创的另一种设计是 QA。与门模型 QC 的众多应用相比,QA 的范围要窄得多,并且只专注于通过最小化问题哈密顿量来优化问题的解决方案。迄今为止,已经构建了包含数千个量子位的 QA,并且这些设备能够解决足够大的离散组合优化问题,以允许针对现实世界的工业用例进行测试。QA 不是由量子算子序列编程,而是被设计为以方程 的形式对二次哈密顿量进行退火。
本研究原型中使用的 D-Wave QA 是一个包含大约 5,000 个量子位的模拟设备。该器件通过设置局部磁场和耦合强度的值来编程,并且退火过程通过绝热降低横向磁场的强度来进行。该设计类似于伊辛哈密顿量的模拟退火,主要区别在于退火过程避免通过量子隧道而不是热波动陷入局部最小值,并且跳出局部最小值的概率由宽度决定障碍的大小而不是高度。
当前在量子设备上执行计算的方法需要在经典设备上预先计算相互作用项,并通过专门的 API 读入量子设备。该程序是使用 D-Wave 系统提供的 python 库构建和执行的。dimod 0.9.10 python 库中的 BinaryQuadraticModel 类用于根据经典准备的数据构建模型,并将其转换为与量子设备兼容的数据结构。一体和二体交互项已预先计算,存储在 numpy 数组中,并连同偏移量 0.0 作为 dimod.BINARY 表示传递到 BinaryQuadraticModel 实例中。该模型是使用 dwave.system python 库中的 LeapHybridSampler 类执行的。为求解器分配了 3 秒的执行时间。选择具有最低相关特征值的本征态来表示模拟结果。
本研究迁移到Dynex
Dynex SDK提供了神经形态/QUBO采样器,可以从任何Python代码中调用。开发人员和应用程序开发人员已经熟悉DIMOD框架将发现在Dynex神经形态计算平台上运行计算非常容易:Dynex Sampler对象可以简单地替换默认的采样器对象,该对象通常用于运行计算,例如,例如D-wave系统,且没有量子机的局限性。