2026-08-28·by Sijie Wang#math#logic#relaxation

hard-to-soft-constraints

硬约束到软约束(满足变成代价)

上级: relaxation

通向优化最重要的一步松弛:把一条硬约束(必须成立)变成一个惩罚项(成立更好,并且用违反了多少来衡量)。一个谓词变成了一个数量

这一步怎么走

  • SAT → MaxSAT。 SAT 问的是:"存在一个赋值满足所有子句吗?"(一个是/否的判定问题)。MaxSAT 问的是:"哪个赋值满足的子句最多?"(一个优化问题)。可行性 → 最优性。
  • CSP → 软约束 / 加权优化。 硬约束变成加权惩罚;目标是找到使总违反量最小的赋值。(正是把 harness 的 CSP 软化。)
  • 可行性 → 目标函数。 "在可行集里找一个点"变成"最小化到可行集的距离"——还是同一个集合,只是现在多了一个指向内部的梯度

Lagrangian 本身就是这个松弛

硬约束 g(x) ≤ 0 变成加到目标函数上的一个惩罚项 λ · max(g(x), 0)——这正是 Lagrangian 的手法,乘子 λ 就是违反该约束的价格。所以 约束优化 就是逻辑可行性的软约束松弛:不是禁止 g(x) > 0,而是对它收费,让优化器在违反量和目标函数之间做权衡。

为什么它是通往优化的门

"满足 φ"(一个你只能检验真假的谓词)变成了"最小化对 φ 的违反"(一个你可以下降的数字)。一旦约束有了幅度,梯度下降、对偶、连续搜索就都可用了——你已经从逻辑迈进了 optimization

代价: MaxSAT 依然是 NP-hard 的,而且惩罚权重 λ 必须被选定——难度并没有消失,只是转移到了给价格调参上(天下没有免费的午餐)。

about this entry

One of sijie's wiki entries. The AI on this site is grounded in the same corpus and answers in sijie's voice, with citations back to entries like this one — answering costs sijie money, so it waits behind a code: enter an access code →