人工智能学习(五):约束满足问题(上)

本文介绍了约束满足问题(CSP)的概念,通过地图着色和作业调度问题实例展示其定义与形式化。重点讲解了约束传播的原理,包括节点相容和弧相容,并介绍了AC-3算法的应用。CSP在优化问题中的优势以及处理连续值域和偏好约束的方法也被提及。

目录

引言

6.1 定义约束满足问题

6.1.1 实例:地图着色问题

6.1.2 实例:作业调度问题

6.1.3 CSP的形式化

6.2 约束传播:CSP中的推理

6.2.1 结点相容

6.2.2 弧相容


引言

本篇要讨论的是如何更有效地求解更多种类的问题。使用成分表示来描述状态:即一组变量,每个变量有自己的值。当每个变量都有自己的赋值同时满足所有关于变量的约束时,问题就得到了解决。这类问题称为约束满足问题,简称CSP。

CSP搜索算法利用了状态结构的优势,使用的是通用策略而不是问题专用启发式来求解复杂问题。主要思想是通过识别违反约束的变量/值的组合迅速消除大规模的搜索空间。

6.1 定义约束满足问题

约束满足问题包含三个成分XDC

X 变量集合\left \{ x_{1},.., x_{n} \right \}
D 值域集合\left \{ D_{1},.., D_{n} \right \},每个变量有自己的值域,值域D_{i}是由变量X_{i}的可能取值\left \{ v_{1},.., v_{n} \right \}组成的集合
C 描述变量取值的约束集合,每个约束C_{i}是有序对< scope,rel>,其中scope是约束中的变量组,rel则定义了这些变量取值应满足的关系

关系可以显式地列出所有关系元组,也可以是支持如下两个操作的抽象关系:测试一个元组是否为一个关系的成员和枚举所有关系成员。

例如,如果X_{1}X_{2}的值域均为\left \{ A,B \right \},约束是二者不能取相同值,关系可如下描述:<(X_{1}, X_{2}), [(A, B), (B, A)]><(X_{1}, X_{2}), X_{1}\neq X_{2}>

为求解CSP,需要定义状态空间和解的概念。问题的状态由对部分或全部变量的一个赋值来定义,\left \{ X_{i}=v_{i},X_{j}=v_{j}, ... \right \}。一个不违反任何约束条件的赋值称作相容的或者合法的赋值完整赋值是指每个变量都已赋值,而CSP的解是相容的、完整的赋值。部分赋值是指只有部分变量赋值。

6.1.1 实例:地图着色问题

现在来看澳大利亚地图,地图显示出每个州及边界。任务是对每个区域涂上红色、绿色或者蓝色,要求是相邻的区域颜色不能相同。将此任务形式化为CSP,把图中的区域定义为变量:

X= \left \{ WA, NT, Q,NSW, V,SA,T \right \}

D_{i}=\left \{ red, green, blue \right \}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值