[控场AI]
· 12 分钟阅读· 6,453 字

QuantumLogics:经典硬件上的量子启发式计算全解读

QuantumLogics:经典硬件上的量子启发式计算全解读

QuantumLogics 是开源量子启发算法仿真栈,用 Python 和 FastAPI 在普通 CPU 上跑组合优化、后量子密码与张量网络 AI。

QuantumLogics 是一个可运行的开源研究原型,把量子启发算法聚集到一个模块化 Python 栈中,通过 FastAPI 的八个类型化端点对外服务。最强模块是基于弹道模拟分叉(bSB)的 Max-Cut/QUBO 求解器,以及实现真实 LWE 格密码构造的后量子密码演示;此外还包含张量网络 AI、分子 VQE、DMRG 多体模拟、振幅估计蒙特卡洛、表面码纠错和元路由等概念验证模块。作者诚实地标注了边界:这是经典仿真而非量子硬件,Rust 加速层仍为占位符,多数模块属于教学级实现,尚无与经典基线的公开基准测试。适合作为学习量子启发算法的起点或组合优化原型开发的工作台。

TL;DR: QuantumLogics 是一个开源量子启发算法仿真栈,通过 Python 模块将组合优化、后量子密码、张量网络 AI、分子模拟等工作负载路由到普通 CPU,并提供统一的 FastAPI 八柱 API。它是一个研究原型,不是量子计算机——仓库对这条边界非常诚实。

QuantumLogics 项目源码截图

它解决什么问题

真正的量子硬件稀缺、昂贵且噪声大。但一大类“量子”算法——用于优化的模拟分叉、用于 AI 和化学的张量网络方法、基于格的密码学——今天就可以在经典硬件上仿真或近似,并且它们能解决实际问题:物流路由、投资组合优化、分子筛选、后量子密钥生成。

QuantumLogics 将这些技术汇集到一个模块化栈中,开发者可以通过 HTTP 调用量子启发优化器或格密码原语,而无需建立量子实验室,甚至不需要 GPU 集群。一切都使用 PyTorch 在 CPU 上运行。

仓库实际包含的内容

我核实了 GitHub 上的目录树——共 37 个文件。十个模块,每个都是一个专注的 Python 文件(外加一个 Rust crate 和 FastAPI 服务层):

quantumlogics/
├── vq-logics-ai/        # tensor_nn.py        — 张量神经网络
├── vq-logics-api/       # main.py             — FastAPI 八柱服务
├── vq-logics-chem/      # tensor_vqe.py       — 分子张量网络 VQE
├── vq-logics-crypto/    # lwe_crypto.py       — LWE 后量子密码
├── vq-logics-engine/    # Rust 核心 (Cargo.toml, src/lib.rs)
├── vq-logics-fin/       # qae_finance.py      — 振幅估计蒙特卡洛
├── vq-logics-geo/       # geo_router.py       — 元路由
├── vq-logics-opt/       # bsb_solver.py, sb_solver.py, maxcut.py, benchmark.py
├── vq-logics-sim/       # dmrg_sim.py         — DMRG 多体模拟
├── vq-logics-sys/       # error_correction.py — 表面码 QEC 仿真
├── serve.py             # UQEOS API 服务入口
└── docker-compose.yml   # 全栈部署

优化:弹道模拟分叉

最强的模块是 vq-logics-opt/bsb_solver.py,实现了 弹道模拟分叉(Ballistic Simulated Bifurcation,Goto 等人 2021 年提出)——一种受量子绝热演化启发的经典算法,在 Max-Cut 和 QUBO 问题上优于标准贪心启发式。实现紧凑且真实:通过谱半径估计(最大行和)归一化耦合矩阵,积分 bSB 微分方程(dy = -(a0 - a)·x + c0·interactions,对 x 进行 [-1, 1] 硬壁钳制并在撞墙时杀死动量),在 CPU 上运行 16 条并行轨迹批次,并返回能量最优的自旋配置。maxcut.py 端到端驱动它,甚至附带结果图(maxcut_result.png);benchmark.py 比较求解器。

模拟分叉(Simulated Bifurcation, SB) 是 2019 年由 Toshiba 的 Goto 等人提出的一类组合优化启发式算法,其灵感来自量子绝热演化。它把 Ising 问题中的每个自旋映射为一个非线性 oscillator 的位置变量,通过引入分叉参数 a(t) 从 0 逐渐增大,使系统在相空间中自然地分裂到两个稳定极值(对应自旋 ±1),从而在连续动力学中完成离散组合搜索。SB 有两种主要变体:离散模拟分叉(dSB) 直接在离散自旋空间做梯度式更新,适合低延迟硬件;弹道模拟分叉(bSB) 则保留连续动量与位置,让“粒子”在势阱中做近弹道飞行,遇到硬壁(|x|=1 边界)时翻转动量。bSB 因为保留了动量,逃逸局部极小值的能力更强,在 Max-Cut、QUBO 等实例上常被报告优于模拟退火与贪心启发式。它的最大优势是高度可并行——所有自旋可以同步更新,因而天然适合 GPU 或并行 CPU 批次运算。

后量子密码:LWE

vq-logics-crypto/lwe_crypto.py 实现了 带误差学习(Learning With Errors)——NIST 后量子标准底层的格问题——作为可运行的密钥生成/加密演示:公共矩阵 A(m×n)、秘密向量 S、小误差向量 E、公钥 B = (A·S + E) mod q,其中 n=256, q=3329,以及通过随机临时向量的单比特加密。这是教育规模,不是标准实现,但数学是真实的 LWE 构造。

带误差学习(Learning With Errors, LWE) 由 Oded Regev 于 2005 年提出,是后量子密码学的基石问题。其形式是:给定随机矩阵 A ∈ Z_q^{m×n} 和向量 b = A·s + e mod q,其中 s 是秘密向量、e 是取自离散高斯分布的小误差向量,求解 s 在计算上被认为困难。难点在于误差 e 的存在会把 b 与均匀随机向量在统计上不可区分,从而抵御格基约减攻击。LWE 已被证明与最坏情况下的格问题(如 SVP、GapSVP)同等困难,这为安全性提供了可证明的归约。NIST 后量子标准化选中的 CRYSTALS-Kyber(密钥封装)与 CRYSTALS-Dilithium(签名)都建立在带模 LWE(Module-LWE)变体上。文章中的 n=256、q=3329 正是 Kyber 使用的参数规模,属于教学级简化参数,真实 Kyber 的安全参数更大且包含多项式环形结构、压缩与 NTT 加速等工程化步骤,但核心数学构造与文中一致。

其他支柱

  • vq-logics-ai/tensor_nn.py — 张量网络神经推理。
  • vq-logics-chem/tensor_vqe.py — 通过张量网络的变分量子特征求解器风格分子模拟。
  • vq-logics-sim/dmrg_sim.py — 用于多体物理的密度矩阵重整化群。
  • vq-logics-fin/qae_finance.py — 量子振幅估计风格蒙特卡洛。
  • vq-logics-sys/error_correction.py — 表面码纠错仿真。
  • vq-logics-geo/geo_router.py — 元路由实验。

这些是紧凑的概念验证实现(每个几百字节到约 2KB)——有真实数学的真实代码,不是桩,但属于研究级而非库级。金融模块是这类作品的好例子:qae_finance.py 仅 423 字节,是最小的振幅估计循环,展示该技术的形状而非为真实衍生品定价。将这些模块视为可执行的讲义——每个模块通过运行来教授其算法——你就能得到它们所提供的一切。

一个 API 统管全部

vq-logics-api/main.py 将每个模块包装在 FastAPI 应用(“UQEOS 8-Pillar API”,v3.0.0)中,包含八个类型化端点:/api/v1/opt/maxcut、/api/v1/crypto/generate_keys、/api/v1/ai/infer、/api/v1/chem/simulate、/api/v1/sim/dmrg、/api/v1/fin/montecarlo、/api/v1/geo/route、/api/v1/sys/emulate_qec。例如,Max-Cut 端点从请求的边列表构建耦合矩阵,以 batch_size=16 运行 bSB 求解器,并将最佳自旋和能量作为 JSON 返回。serve.py 是部署入口(uvicorn serve:app),docker-compose.yml 启动整个栈。

如何运行它

pip install -r requirements.txt

# 直接运行任意模块
python vq-logics-ai/tensor_nn.py
python vq-logics-opt/maxcut.py

# 或通过 HTTP 服务所有 8 个支柱
uvicorn serve:app --host 0.0.0.0 --port 8000

# Docker(可选)
docker-compose up --build

然后向 /api/v1/opt/maxcut POST 一个边列表,就能得到求解后的割——无需量子硬件,无需 GPU。

诚实的现状与路线图

状态:研究原型,可运行。 Python 模块确实实现了它们所命名的算法——我端到端阅读了 bSB 求解器和 LWE 密码,FastAPI 层确实调用它们。对于学习量子启发算法或原型设计优化工作负载,这是一个合法的起点。

目录树中验证的诚实警告:

  1. Rust 引擎是占位符。 vq-logics-engine/src/lib.rs 是默认 Cargo 模板(add(2, 2) 及其示例测试)——README 描述的“Rust 核心”尚不存在。所有计算当前在 Python 模块中运行。
  2. 仿真,不是量子优势。 这里没有在 QPU 上运行,也没有声称比最先进的经典求解器更快;价值在于可访问性和教育。
  3. 模块深度不一。 优化器和密码模块是实质性的;其他几个支柱是等待扩展的薄包装。

使其严肃的路线图:在 Python API 后面放真正的 Rust 内核(替换桩引擎),发布 bSB 求解器与经典基线(OR-Tools、模拟退火)在标准 Max-Cut 实例上的基准测试,将模块打包为可安装库,以及在可用 QPU 时进行硬件验证(作者的 D-Wave LaunchPad 申请是自然下一步)。

求解器动物园内部

vq-logics-opt 目录值得仔细看,因为这是仓库工程最密集的地方。弹道求解器旁边是 sb_solver.py——离散模拟分叉变体——因此两者可以在相同实例上正面比较。benchmark.py(约 2.5KB)是运行该比较的测试框架,maxcut.py 是端到端驱动:生成或加载图、求解、写出作为 maxcut_result.png 随仓库发布的结果图。

这很重要,因为模拟分叉是少数几个可信地声称在某些组合问题上击败经典启发式的量子启发算法之一。同一目录中拥有两种变体加基准测试框架,将仓库从脚本集合变成了实验台:你可以实际测量弹道变体的硬壁动力学是否在你的图族上、在你的 CPU 上、今天,优于离散变体。

这里的“仿真”到底意味着什么

“仿真”这个词值得精确,因为量子领域充满了夸大的说法。QuantumLogics 中没有任何东西在量子处理单元上运行。它做的是实现设计来自量子思维的算法——绝热演化(模拟分叉)、张量网络收缩(VQE、DMRG、张量神经网络)、格问题(LWE)——作为经典程序。

这比“Python 中的量子计算机”更不花哨,但有用得多。物流团队今天下午就可以调用 /api/v1/opt/maxcut,得到比贪心启发式更好的车辆路由划分。学生可以阅读 60 行 LWE 代码,理解后量子密码标准背后的实际构造。研究人员可以原型设计张量网络想法,而无需学习量子 SDK。仓库的 README 从未声称量子优势,代码也从未假装需要 QPU——这种克制是一种特性。

张量网络(Tensor Network) 是经典仿真量子多体系统的一类数学工具,核心思想是把高维张量按系统结构分解为若干低维张量的收缩图,从而将指数级的状态空间压缩为多项式级。常用表示包括 MPS(矩阵乘积态)、PEPS、MERA 等。DMRG(密度矩阵重整化群)通过 MPS 迭代优化基态,是 1D 强关联电子系统最成功的经典算法之一;VQE(变分量子特征求解器)则原本是量子-经典混合算法,但在小分子上可以用张量网络直接模拟其变分态。张量神经网络(Tensor Neural Network)把网络权重表示为张量网络,从而在推理时利用低秩结构降低参数量。理解这一点就能明白:该仓库里的 AI、化学、物理模块共享同一套数学骨架——都是对高维态做结构化因式分解——只是披着不同应用的外衣。

服务层作为产品决策

将八个研究模块包装在一个 FastAPI 应用中是一个深思熟虑的产品决策,而不仅仅是便利。每个端点都是一个类型化契约:边列表输入,自旋和能量输出;提示输入,推理结果输出。这将“有趣的脚本”变成了前端、管道或其他服务可以调用的东西。serve.py 加 docker-compose.yml 意味着整个东西作为一个单元部署,Dockerfile 固定环境,使求解器编写时针对的 PyTorch 版本就是运行的版本。

如果你将其作为基础设施而非教育来评估,正确的问题是基准测试:在你的问题实例上,bSB 求解器击败你当前优化器的程度是否足以证明 HTTP 跳转的合理性?仓库给了你回答这个问题的工具——benchmark.py 是项目中最具商业相关性的文件。

常见问题

这是真正的量子计算机吗?

不——而且它也不声称是。它是一个经典仿真栈:量子启发算法(模拟分叉、张量网络、格密码)通过 PyTorch 在普通 CPU 上运行。重点是可访问性,不是量子优势。

今天我能用它做什么?

通过 HTTP 解决 Max-Cut/QUBO 优化问题,生成 LWE 格密钥对,并实验张量网络 AI、VQE 化学、DMRG 物理和表面码纠错——全部来自一个 FastAPI 服务或直接运行模块。

有什么陷阱?

Rust 加速层目前是桩,几个模块是薄原型,还没有针对经典基线的已发布基准测试。将其视为可构建的研究代码库,而非完成的库。

底线

QuantumLogics 是对经典硬件上量子启发计算的一次真正实现的巡览,其最佳工作在 bSB 优化器和 LWE 密码模块中,通过一个干净的 8 端点 API 提供服务。仓库公开在 github.com/Shivay00001/quantumlogics——从 python vq-logics-opt/maxcut.py 开始,看经典硬件进行量子风格求解。

#QuantumLogics#量子启发式计算#模拟分叉#后量子密码#张量网络#FastAPI#开源量子仿真
分享:

相关推荐