约束式编程学习笔记[0] CSP基本概念 整数示例 实数示例

本文介绍了约束满足问题(CSP)的基本概念,包括在整数和实数上的应用。讨论了如何将问题建模为CSP,强调了建模的困难和多种自然表示的选择。并通过SEND+MORE=MONEY问题和八皇后问题等实例展示了CSP在解决实际问题中的应用。
摘要由CSDN通过智能技术生成

2 Constraint satisfaction problems: examples

  1. Q: 列举"modeling"中可能出现的困难。
    A:

For other problems the appropriate representation as a CSP is by no means straightforward and relies on a non-trivial ‘background’ theory that ensures correctness of the adopted representation.

这时需要专家知识对问题进行表述,并论证正确性。
以及

more than one natural representation exists.

此时需要适当选择表述,提高效率等。

  1. Q: 快速阅读章简介,说出本章行文中分类标准。
    A:

the domains over which they are defined
integer, real, boolean, symbolic

之前的四类都是satisfaction问题,如果同时需要优化(最小或最大化)某个objective就是optimization问题. 后者也单独作为了本章一节。

2.1 Basic concepts

  1. Q: ⟨ C ; D E ⟩ \langle \mathcal C; \mathcal D\mathcal E\rangle C;DE中的两者有什么区别和联系?
    A: 先由后者限定各个变量 y i y_i yi的定义域,在此基础上再由前者进一步进行约束。从更大的角度来看,限定定义域也是一种特殊的约束。
    某种意义上,两者是“全集和子集”的关系。

a constraint C C C on Y Y Y we mean a subset of …

满足约束就是在子集中。
注:从这个角度可帮助理解(对于 m m m元约束)满足约束的记号是 ( d i 1 , ⋯   , d i m ) ∈ C (d_{i_1},\cdots,d_{i_m})\in C (di1,,dim)C.
注:此处可以联系数理逻辑中论域、扩展的一阶语言、变元的类型、谓词等概念。如 m m m元谓词对应 m m m元约束。而 D E \mathcal D\mathcal E DE可以看成指定“变元类型”,也可以看成一元谓词。

  1. Q: 如何理解"no syntax was assumed".
    A: 在最基础的定义中,约束都是直接由子集表示的。syntax实际上可以看成辅助表示子集,提高书写效率的某些合理描述方式和人为约定。例如 x < y x<y x<y表示集合 { ( x , y ) ∣ x ∈ D x , y ∈ D y , x < y } \{(x,y)|x\in D_x, y\in D_y,x<y\} { (x,y)xDx,yDy,x<y}.
    从根本上来说,syntax在原始定义中没有涉及,且不是必须的、本质的。
  2. Q: 简要阐释"define constraints and CSPs to the sequences".
    A: 定义约束时都是有序的,不是无序的set,这在实际求解中带来好处。(必要性)
    这么做是可行的。举例:通过移项,引入辅助变量等手段。(可行性)
    注:更深入地,这和谓词和函项在计算机中的表示有关。在计算机内部表示中并不会用中缀的函项符和谓词符,所以其实移项只是表面而不是本质。比如,我们想把 a a a排在 b b b前,那么对于谓词 A ( b , a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值