约束式编程学习笔记[4] 线性方程 线性不等式

本文探讨了线性方程和不等式在约束编程中的处理,包括线性方程的归一化和解的情况,以及线性不等式系统的解决策略。重点介绍了LIN证明系统,解释了SUBSTITUTION规则在特定情况下的应用,并对比了高斯-约当消元法和高斯消元法的效率和适用场景。同时,讨论了线性不等式处理中的normal form多样性和Fourier–Motzkin Elimination方法在求解全部解集和最优解中的应用。
摘要由CSDN通过智能技术生成

4 Some complete constraint solvers

4.3 Linear equations over reals

  1. Q: 利用教材的约定,试将 a − b = 2 c a-b=2c ab=2c表示成一阶逻辑原子公式。
    A: 形如 A 1 2 ( f + 2 ( f 1 1 ( a ) , f − 1 1 ( b ) ) , f 2 1 ( c ) ) A_1^2(f_+^2(f_1^1(a),f_{-1}^1(b)),f_2^1(c)) A12(f+2(f11(a),f11(b)),f21(c)),谓词和函项的解释略。
  2. Q: 对线性方程normalize可能得到什么?
    A: 希望得到 ∑ i = 1 n a i x i = r \sum_{i=1}^n a_ix_i=r i=1naixi=r
    但实际上可能是三种情况。 0 = 0 0=0 0=0(不提供信息), 0 = r ( r ≠ 0 ) 0=r(r\ne 0) 0=r(r=0)(相当于 ⊥ \perp 了),或者“正常情况” ∑ i = 1 n a i x i = r \sum_{i=1}^n a_ix_i=r i=1naixi=r,左侧至少有一项系数非零。
    注:只有“正常情况”可能导出pivot form.
  3. Q: 为了类比4.2节的结果,我们把哪些4.2节中针对一般一阶逻辑表达式的概念挪用到了此处?
    A: 如substitution:除了要求代入的项 t t t是normal form,其它都与一般的一阶逻辑情况一致。(显然,此处代入结果仍是linear equation)
    如unifier:让方程 s = t s=t s=t变成 0 = 0 0=0 0=0.(也可以模仿上一节把此结果称为 s ≡ t s\equiv t st,以示与 = = =的区分)
    如solved form:每一条方程都是pivot form,且每个左侧变量不出现在每个右侧。
    如strong mgu, determine含义都与之前对应。
  4. Q: solved form对应什么样的矩阵?
    A: x i = t i x_i=t_i xi=ti中的左侧变量不出现在其它任何地方,这实际上相当于矩阵分块为左右两部分,左侧是 n n n阶单位矩阵,右侧是 n × m n\times m n×m的一般的矩阵。其中 n n n是solved form的公式条数。
    当然,此形状的矩阵和最简阶梯形矩阵(简化阶梯形矩阵)有联系。
  5. Q: 如何理解"We pursue here a more general possibility according to which each variable domain consists of the set of linear expressions in normal form, that we denote by
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值