- 1、本文档共68页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机算法基础(第七章)资料
计算机算法基础 分枝-限界法 0 预备知识 问题状态 解状态 状态空间 答案状态 状态空间树 活结点 E-结点 死结点 n-皇后问题描述 将n个皇后放置在一个n×n的棋盘上,要求没有两个皇后可以互相攻击。 攻击的定义:两个皇后出现在同一行、或同一列、或者同一条斜线上都视为出现了攻击。 8-皇后问题的一个解 n-皇后问题 用n-元组(x1,x2,…,xn)表示棋盘上皇后的位置状态 下标表示皇后i (i=1,2,…,n) xi表示放置皇后i所在的列号 显式约束条件:每个xi只从集合Si={1,2,…,n}取值 满足显式约束的所有元组确定一个可能的解空间 ? 解空间由nn个n-元组组成 隐式约束条件 没有两个xi可以相同,而且没有两个皇后可以在同一条斜线上 ? 由前者得,所有解都是n-元组(1,2,…,n)的置换,因此,解空间缩小为 n!个元组 4-皇后问题解空间的树结构 结点按深度优先检索编号 叶子结点有4!= 24个 解空间树结构的术语 树中每个结点确定求解问题的一个问题状态(problem state) 由根结点到其它结点的所有路径确定了这个问题的状态空间(state space) 解状态(solution states)是这样一些问题状态S,对于这些问题状态,由根到S的那条路径确定了这解空间中的一个元组(满足显式约束) 答案状态(solution states)是这样一些解状态S,由根到S的路径确定了问题的一个解(满足隐式约束) 解空间的树结构为状态空间树(state space tree) 利用状态空间树解题 1 设想状态空间树 2 生成问题状态 3 确定问题状态中哪些是解状态 4 哪些解状态是答案状态 生成问题状态 ? 构造状态空间树 状态空间树术语 活结点:自己已经生成而其所有的儿子结点还没有全部生成的结点。 E-结点(正在扩展的结点):当前正在生成其儿子结点的活结点。 死结点:不再进一步扩展或者其儿子结点已全部生成的生成结点。 构造状态空间树的两个方法 回溯法 当前E-结点R,生成一个新的儿子C,则C就变成一个新的E-结点,对子树C完全检测后,R结点再次成为E-结点 分枝-限界方法 一个E-结点一直保持到变成死结点为止 限界函数 以上两种方法都使用限界函数杀死还没有全部生成其儿子结点的那些活结点 4-皇后问题的限界函数 如果(x1, x2, …, xi)是到当前E-结点的路径,那么具有父-子标记xi+1的所有儿子结点是一些这样的结点,它们使得(x1, x2, …, xi+1)表示没有两个皇后正在互相攻击的一种棋盘格局。 4-皇后问题回溯法vs状态空间树 结点按深度优先检索编号 叶子结点有4!= 24个 4-皇后问题—回溯期间的生成树 分枝-限界法 在生成当前E-结点全部儿子之后再生成其它活结点的儿子 并且,用限界函数帮助避免生成不包含答案结点子树的状态空间 FIFO检索:活结点表采用队 LIFO检索:活结点表采用栈 FIFO分枝-限界法例7.1(4-皇后问题) 4-皇后问题—回溯 vs FIFO分枝-限界 LC-检索(Least Cost) 分枝-限界失败的原因 对下一个E-结点的选择规则过于死板 如何解决? 排序,让答案结点排在前面! 寻找一种“有智力”的排序函数C(·),该函数能够让答案结点尽早生成 排序的标准 下一个E-结点应当是生成答案结点花费成本最小的结点,因此C(·)又称作结点成本函数。 LC:Least Cost LC-检索(结点成本的两个标准) 一:在生成一个答案结点之前,子树X需要生成的结点数。 二:在子树X中离X最近的那个答案结点到X的路径长度。以图7.1为例 节点1、18和34、29和35、30和38的代价分别是4,3,2,1 其他2,3,4级上的点代价应分别大于3,2,1 生成结点(12 18 34 5019 24 2930 3231) LC-检索(结点成本函数) C(·)定义 如果X是答案结点,则C(X)是由状态空间树的根结点到X的成本(即花费的代价,可以是级数、计算复杂度等) 如果X不是答案结点且子树X不包含任何答案结点,则C(X)=∞ 如果X不是答案结点但子树X包含答案结点,则C(X)等于子树X中具有最小成本的答案结点的成本 LC-检索(成本估计函数) 从前面的两个成本度量标准看, 计算C(·)的工作量与原问题的解具有相同复杂度。这是因为计算一个结点的代价通常要检索包含一个答案结点的子树才能确定,而这正是解决此问题所要作的检索工作,因此要得到精确的成本函数一般是不现实的 因此需要成本估计函数g^(X) 出现的新问题 仅利用g^(X) 会导致算法偏向纵深检查,无法有效处理下面这种情况:即g^(W)g^(Z),但Z比W更接近答案结点 LC分枝-限界检索 为使算法不过分偏向
您可能关注的文档
- 计算机病毒原理与防范基础.ppt
- 液压气动_实验指导书概要.doc
- 计算机新技术.ppt
- 计算机病毒的历史.ppt
- 计算机病毒的发展过程.ppt
- 计算机病毒基础知识资料.ppt
- 液压模块三课题8.ppt
- 计算机病毒知多少.ppt
- 计算机的体系结构.ppt
- 计算机病毒virus_4讲.ppt
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
文档评论(0)