第03章约束推理精.ppt
《第03章约束推理精.ppt》由会员分享,可在线阅读,更多相关《第03章约束推理精.ppt(68页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第03章约束推理章约束推理第1页,本讲稿共68页2022/10/15史忠植 高级人工智能2第三章第三章 约束推理约束推理3.1概述概述3.2回溯法回溯法 3.3约束传播约束传播 3.4回跳法回跳法 3.5约束推理系统约束推理系统COPS3.6ILOGSOLVER第2页,本讲稿共68页2022/10/15史忠植 高级人工智能33.1 3.1 概概 述述最优化问题最优化问题 经济学所推崇的经济学所推崇的帕累托帕累托最优最优:几个人拎着水桶在一个水龙头前面排队几个人拎着水桶在一个水龙头前面排队打水,水桶有大有小。他们怎样排队,才能打水,水桶有大有小。他们怎样排队,才能使得总的排队时间最短。这是一个
2、寻求使得总的排队时间最短。这是一个寻求“最最优化优化”的题目,目标是节省总的排队时间,的题目,目标是节省总的排队时间,达到最优。达到最优。第3页,本讲稿共68页2022/10/15史忠植 高级人工智能43.1 3.1 概概 述述 优化问题优化问题 运筹学 遗传算法 神经网络 约束推理第4页,本讲稿共68页2022/10/15史忠植 高级人工智能5运筹学的工作步骤运筹学的工作步骤v1)提出和形成问题,)提出和形成问题,v2)建立模型,)建立模型,v3)求解,)求解,v4)解的检验,)解的检验,v5)解的控制,)解的控制,v6)解的实施。)解的实施。第5页,本讲稿共68页2022/10/15史忠植
3、 高级人工智能6线性规划问题线性规划问题l例例1(广告方式的选择广告方式的选择)中华家电公司推销一中华家电公司推销一种新型洗衣机,有关数据见下表。销售部第一种新型洗衣机,有关数据见下表。销售部第一月的广告预算为月的广告预算为20000元,要求至少有元,要求至少有8个电视个电视商业节目,商业节目,15家报纸广告;电视广告费不得超家报纸广告;电视广告费不得超过过12000元,电台广播至少隔日有一次。现问该元,电台广播至少隔日有一次。现问该公司销售部应当采用怎样的广告宣传计划,才能公司销售部应当采用怎样的广告宣传计划,才能取得最好的效果取得最好的效果?第6页,本讲稿共68页2022/10/15史忠植
4、 高级人工智能7线性规划问题线性规划问题广告方式广告方式广告费用广告费用(元元/次次)可用最高可用最高次数次数/月月期望的宣传期望的宣传效果效果/单位单位电视台电视台a(白天白天,1分钟分钟)5001650电视台电视台b(晚上晚上,30钞钞)10001080每日晨报每日晨报/(半版半版)1002430星期日报星期日报/(半版半版)300440广播电台广播电台/(1分钟分钟)802515表表1中华家电公司推销新型洗衣机广告方式选择的数据表中华家电公司推销新型洗衣机广告方式选择的数据表第7页,本讲稿共68页2022/10/15史忠植 高级人工智能8线性规划问题线性规划问题解:解:设x1,x2,x3
5、,x4,x5分别是第一个月内电视台a,电视台b,每日晨报,星期日报,广播电台进行广告宣传的次数,则其数学模型为 max50 x1+80 x2+30 x3+40 x4+15x5s.t.50 x1+80 x2+30 x3+40 x4+15x5 20000,x1+x28,x3+x4 15,500 x1+1000 x212000,x116,x210,x3 24,x44,15x525,x1,x2,x3,x4,x5 0。第8页,本讲稿共68页2022/10/15史忠植 高级人工智能9线性规划问题线性规划问题线性规划问题线性规划问题(LP)的一般形式为的一般形式为:min(max)z=c1x1+c2x2+c
6、nxns.t.a11x1+a12x2+a1nxn(,)b1 a21x1+a22x2+a2nxn(,)b2 am1x1+am2x2+amnxn(,)bmxj0,j=1,2,n第9页,本讲稿共68页2022/10/15史忠植 高级人工智能10线性规划问题线性规划问题线性规划问题的标准形式为:线性规划问题的标准形式为:minXCzT=注:任何形式的线性规划问题均可化为标准型。注:任何形式的线性规划问题均可化为标准型。AX=bs.t.X0 (假定b为非负)第10页,本讲稿共68页2022/10/15史忠植 高级人工智能11求解求解-单纯形法单纯形法l将所给问题化为标准形将所给问题化为标准形l找出一个初
7、始可行基,建立初始单纯形表找出一个初始可行基,建立初始单纯形表l检查所有检验数检查所有检验数(若全为非负,则已得到最优若全为非负,则已得到最优解解,计算停止。否则继续下一步计算停止。否则继续下一步)l考察是否无解考察是否无解(若是,计算停止,否则继续下一步若是,计算停止,否则继续下一步)l确定入基变量,出基变量确定入基变量,出基变量l对初始单纯形表进行单纯形变换对初始单纯形表进行单纯形变换第11页,本讲稿共68页2022/10/15史忠植 高级人工智能123.1 3.1 概概 述述 一个一个约束约束(Constraint)通常是指一个包含若干变量的关通常是指一个包含若干变量的关系表达式,用以表
8、示这些变量所必须满足的问题。系表达式,用以表示这些变量所必须满足的问题。约束表示广泛地应用于人工智能的各个领域,包括定性约束表示广泛地应用于人工智能的各个领域,包括定性推理、机械与电子设备的设计与分析等。推理、机械与电子设备的设计与分析等。约束满足系统的设计是一项困难而复杂的任务,因约束满足系统的设计是一项困难而复杂的任务,因为约束满足问题在一般情况下是一个为约束满足问题在一般情况下是一个NP(Nonpolynomia)问问题,所以必须使用各种策略与启发式信息。题,所以必须使用各种策略与启发式信息。第12页,本讲稿共68页2022/10/15史忠植 高级人工智能133.1 3.1 概概 述述
9、一个约束满足问题一个约束满足问题(Constraint Satisfaction Problem,简简称称CSP)包含一组变量与一组变量间的约束。包含一组变量与一组变量间的约束。变量表示领域参数,每个变量都有一个固定的值变量表示领域参数,每个变量都有一个固定的值域。域。一个变量的值域可能是一个变量的值域可能是有限的有限的,例如一个布尔变量,例如一个布尔变量的值域包含两个值;也可能是的值域包含两个值;也可能是离散无限离散无限的,如整数域;也的,如整数域;也可能是连续的,如实数域。可能是连续的,如实数域。x1,x2,xn,D1,D2,Dn,.4,5,6,7 red,green,blue 第13页,
10、本讲稿共68页2022/10/15史忠植 高级人工智能143.1 3.1 概概 述述 约束可用于描述领域对象的性质、相互关系、任务要求、目标等。约束可用于描述领域对象的性质、相互关系、任务要求、目标等。约束满足问题的约束满足问题的目标目标就是就是找找到所有变量的一个(或多个)到所有变量的一个(或多个)赋值赋值,使,使所有约束都得到满足。所有约束都得到满足。现有的约束表示可分为几类,现有的约束表示可分为几类,按复杂性的次序列举如下:按复杂性的次序列举如下:一元谓词。一元谓词。序关系语言,只包含偏序关系或实变量上的大小关系。序关系语言,只包含偏序关系或实变量上的大小关系。形如形如“x-y c”或或
11、“x-y c”的方程。的方程。单位系数的线性方程与不等式,即所有的系数为单位系数的线性方程与不等式,即所有的系数为-1,0,1。任意系数的线性方程与不等式。任意系数的线性方程与不等式。约束的布尔组合。约束的布尔组合。代数与三角方程。代数与三角方程。第14页,本讲稿共68页2022/10/15史忠植 高级人工智能153.1 3.1 概概 述述 约束表示易于理解、编码及有效实现,具有以下约束表示易于理解、编码及有效实现,具有以下优点优点:约束表示允许约束表示允许以说明性的方式以说明性的方式来表达领域知识,表达能力较来表达领域知识,表达能力较强,应用程序只需指定问题的目标条件及数据间的相互关系。强,
12、应用程序只需指定问题的目标条件及数据间的相互关系。因而具有逻辑表示的类似性质。因而具有逻辑表示的类似性质。约束表示允许约束表示允许变量的域包含任意多个值变量的域包含任意多个值,而不像命题只取真,而不像命题只取真假二值。它保存了问题的一些结构信息,如变量域的大小、变假二值。它保存了问题的一些结构信息,如变量域的大小、变量间的相关性等,从而为问题求解提供启发式信息。量间的相关性等,从而为问题求解提供启发式信息。易于并行实现易于并行实现。因为约束网络上的信息传播可以。因为约束网络上的信息传播可以认为是同时的。认为是同时的。适合于适合于递增型系统递增型系统。约束可以递增式地加入到约束网络。约束可以递增
13、式地加入到约束网络。易于易于与领域相关的问题求解模型与领域相关的问题求解模型相衔接。各种数学规划技术,相衔接。各种数学规划技术,方程求解技术等方程求解技术等,都可以自然地嵌入约束系统。都可以自然地嵌入约束系统。第15页,本讲稿共68页2022/10/15史忠植 高级人工智能163.1 3.1 概概 述述 目前,约束推理的研究主要集中于两个方面:目前,约束推理的研究主要集中于两个方面:约束搜约束搜索索与与约束语言约束语言。约束搜索约束搜索主要研究有限域上的约束满足。对有限域主要研究有限域上的约束满足。对有限域而言,约束满足问题一般情况下是一个而言,约束满足问题一般情况下是一个NP问题。大体包问题
14、。大体包括下列方法:括下列方法:回溯法;回溯法;约束传播;约束传播;智能回溯与真值维护;智能回溯与真值维护;可变次序例示;可变次序例示;局部修正法;局部修正法;第16页,本讲稿共68页2022/10/15史忠植 高级人工智能173.1 3.1 概概 述述约束推理研究的另一个主要方面是约束推理研究的另一个主要方面是约束语言约束语言。以下。以下是几个比较典型的约束语言:是几个比较典型的约束语言:CONSTRAINTS:面向电路描述的约束表示语言。面向电路描述的约束表示语言。Bertrand:Leler开发的一个高级约束语言。开发的一个高级约束语言。CHIP:约束逻辑程序设计语言。约束逻辑程序设计语
15、言。约束层次与约束层次与HCLP:层次型层次型约束逻辑程序设计语言。约束逻辑程序设计语言。COPS:面向对象的程序设计语言的基本形式。面向对象的程序设计语言的基本形式。ILOG:使用建模语言来表示约束问题。使用建模语言来表示约束问题。第17页,本讲稿共68页2022/10/15史忠植 高级人工智能18CONSTRAINTSCONSTRAINTS约束语言约束语言 CONSTRAINTS是一个面向电路描述的约束表示语言。作是一个面向电路描述的约束表示语言。作为一个约束表示语言,它使用了符号处理技术来求解数学方程。为一个约束表示语言,它使用了符号处理技术来求解数学方程。在在CONSTRAITS中,物
16、理部件的功能及器件的结构都用约中,物理部件的功能及器件的结构都用约束表示。束表示。这些约束一般是线性方程与不等式这些约束一般是线性方程与不等式,也包括条件表达式。也包括条件表达式。约束变量一般是表示物理量的实变量。也有一些取离散值的约束变量一般是表示物理量的实变量。也有一些取离散值的变量。如开关的状态、三极管的工作状态等。系统采用表达变量。如开关的状态、三极管的工作状态等。系统采用表达式推理与值推理。并实现相关制导的回溯。式推理与值推理。并实现相关制导的回溯。第18页,本讲稿共68页2022/10/15史忠植 高级人工智能19CONSTRAINTSCONSTRAINTS约束语言约束语言 CON
17、STRAINTSCONSTRAINTS的一个的一个优点:优点:在类型层次中表示约束,用约束来表示物在类型层次中表示约束,用约束来表示物理对象的功能与结构。理对象的功能与结构。缺点:缺点:是该语言缺乏类似于面向对象语言中的方法那是该语言缺乏类似于面向对象语言中的方法那样的成分,不能定义特定于某个类的概念。样的成分,不能定义特定于某个类的概念。同时,约束传播方法比较单一,既缺乏实域同时,约束传播方法比较单一,既缺乏实域上的区间传播机制,也缺乏有限域上的上的区间传播机制,也缺乏有限域上的 域传播域传播机制。机制。第19页,本讲稿共68页2022/10/15史忠植 高级人工智能20约束逻辑程序设计语言
18、约束逻辑程序设计语言CHIPCHIP CHIP(ConstrainthandlinginProlog)就是这样较有影就是这样较有影响一个约束逻辑程序设计语言,其目的是简便、灵活而有响一个约束逻辑程序设计语言,其目的是简便、灵活而有效地解决一大类组合问题。它通过提供几种新的计算域而效地解决一大类组合问题。它通过提供几种新的计算域而增强逻辑程序设计的能力;有限域、布尔项及有理项,对增强逻辑程序设计的能力;有限域、布尔项及有理项,对于每个计算域,都提供有效的约束求解技术,即有限域上于每个计算域,都提供有效的约束求解技术,即有限域上的一致性技术,布尔域的布尔合一技术及有理数域上的单的一致性技术,布尔域
19、的布尔合一技术及有理数域上的单纯型法。除此以外,纯型法。除此以外,CHIP还包含一个一般的延迟计算机制。还包含一个一般的延迟计算机制。CHIP主要应用于两个领域:运筹学与硬件设计。主要应用于两个领域:运筹学与硬件设计。CHIP缺乏类型机制,而这种机制对于表达领域概念是缺乏类型机制,而这种机制对于表达领域概念是极其重要的。极其重要的。第20页,本讲稿共68页2022/10/15史忠植 高级人工智能21面向对象约束语言面向对象约束语言COPSCOPS COPS系统利用面向对象技术,将说明性约系统利用面向对象技术,将说明性约束表达与类型层次结合起来。在形式上吸收了常束表达与类型层次结合起来。在形式上
20、吸收了常规语言,主要是面向对象的程序设计语言的基本规语言,主要是面向对象的程序设计语言的基本形式。内部求解时采用约束推理机制,使说明性形式。内部求解时采用约束推理机制,使说明性约束表达式与类型层次相结合,实现知识的结构约束表达式与类型层次相结合,实现知识的结构化封装,充分发挥两者的优点,力图实现一个具化封装,充分发挥两者的优点,力图实现一个具有较强表达能力和较高求解效率的约束满足系统。有较强表达能力和较高求解效率的约束满足系统。第21页,本讲稿共68页2022/10/15史忠植 高级人工智能22面向对象约束语言面向对象约束语言COPSCOPS COPS的设计考虑了软件工程的应用要求,尽量将一的
21、设计考虑了软件工程的应用要求,尽量将一个不确定问题确定化:它允许条件语句与循环语句,而不个不确定问题确定化:它允许条件语句与循环语句,而不是单纯以递归的形式来实现迭代计算;是单纯以递归的形式来实现迭代计算;通过类方法的重通过类方法的重栽实现同一约束的不同实现,提高了程序的执行效率。栽实现同一约束的不同实现,提高了程序的执行效率。COPS系统同时是一个渐增式的开放系统,用户能通过类型系统同时是一个渐增式的开放系统,用户能通过类型层次定义,实现新的数据类型和新的约束关系。约束语言层次定义,实现新的数据类型和新的约束关系。约束语言COPS具有许多人工智能程序设计语言的特点,如约束传播、面具有许多人工
22、智能程序设计语言的特点,如约束传播、面向目标和数据驱动的问题求解、有限步的回溯、对象分层中的继向目标和数据驱动的问题求解、有限步的回溯、对象分层中的继承等。承等。第22页,本讲稿共68页2022/10/15史忠植 高级人工智能23常用的算法常用的算法 在实际应用中,算法的表现形式千变万化,但是算法的在实际应用中,算法的表现形式千变万化,但是算法的情况也和数据结构类似,许多算法的设计思想具有相似之处,情况也和数据结构类似,许多算法的设计思想具有相似之处,我们可以对它们分类进行学习和研究。我们可以对它们分类进行学习和研究。常用的算法大致有常用的算法大致有如下一些:如下一些:贪心法贪心法 分治法(如
23、二分法检索)分治法(如二分法检索)回溯法回溯法 动态规划法动态规划法 局部搜索法局部搜索法 分支限界法分支限界法第23页,本讲稿共68页2022/10/15史忠植 高级人工智能24算法分析算法分析 评价一个程序优劣的重要依据是看这个程序的执行需要评价一个程序优劣的重要依据是看这个程序的执行需要占用多少机器资源。人们最关心的就是程序所用算法运行时占用多少机器资源。人们最关心的就是程序所用算法运行时所要花费的所要花费的时间代价时间代价和程序中使用的数据结构占有的和程序中使用的数据结构占有的空间代空间代价价。算法的空间代价算法的空间代价(或称或称空间复杂性空间复杂性):当被解决问题的规:当被解决问题
24、的规模模(以某种单位计算以某种单位计算)由由1增至增至n时,解该问题的算法所需占用时,解该问题的算法所需占用的空间也以某种单位由的空间也以某种单位由f(1)增至增至f(n),这时我们称该算法的,这时我们称该算法的空空间代价是间代价是f(n)。算法的时间代价算法的时间代价(或称或称时间复杂性时间复杂性):当问题规模以某种:当问题规模以某种单位由单位由1增至增至n时,对应算法所耗费的时间也以某种单位由时,对应算法所耗费的时间也以某种单位由g(1)增至增至g(n),这时我们称算法的,这时我们称算法的时间代价是时间代价是g(n)。第24页,本讲稿共68页2022/10/15史忠植 高级人工智能25穷尽
25、搜索方法穷尽搜索方法穷尽搜索方法 即产生所有可能的树,然后根据评价标准选择一棵最优的树。Exhaustive-Search-Top(P)wherePisaCSPoftheform(V,D,C)1.f:=thenullassignment2.returnExhaustive-Search(f,P)第25页,本讲稿共68页2022/10/15史忠植 高级人工智能26穷尽搜索方法穷尽搜索方法Exhaustive-Search(f,P)1.iffisatotalassignmentofthevariablesinP2.iffsatisfiestheconstraintsinP3.answer:=f4.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 约束 推理
限制150内