版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
物电学院刘东八皇后问题最优解八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。回溯法概述1
内容提要八皇后问题2解决八皇后问题常用算法3算法分析与总结4回溯法概述1在8*8的国际象棋棋盘中放八个皇后,使随意两个皇后都不能相互吃掉。规则:皇后能吃掉同一行、同一列、同一对角线的随意棋子。八皇后问题2枚举法解决八皇后问题非递归回溯法解决八皇后问题递归回溯法解决八皇后问题解决八皇后问题常用算法3八皇后问题约束条件3.01234567812345678a()a()a()a()a()a()a()a()a(i)=j第i行j列放置皇后推断不同列推断不同对角线a(i)≠a(j)0-1-2-3-4-5-6-710-1-2-3-4-5-6210-1-2-3-4-53210-1-2-3-443210-1-2-3543210-1-26543210-176543210i-a(i)≠j-a(j)推断不同反对角线i+a(i)≠j+a(j)23456789345678910456789101156789101112678910111213789101112131489101112131415910111213141516a(i)=j第i行j列放置皇后推断不同列推断不同对角线a(i)≠a(j)i-a(i)≠j-a(j)推断不同反对角线i+a(i)≠j+a(j)八皇后问题约束条件3.0i-a(i)≠j-a(j)i+a(i)≠j+a(j)abs(i-j)≠abs(a(i)-a(j))枚举法解决八皇后问题3.1思想:利用8重循环,分别描述8个皇后处在各行的8个状态,再各个状态中依次找出符合约束条件的皇后状态。第一行q(1)所在列分别依次1~8列第二行q(2)所在列分别依次1~8列第三行q(3)所在列分别依次1~8列第四行q(4)所在列分别依次1~8列第五行q(5)所在列分别依次1~8列第六行q(6)所在列分别依次1~8列第七行q(7)所在列分别依次1~8列第八行q(8)所在列分别依次1~8列判断q是否符合约束条件,满足就打印取下一个q(8)取下一个q(7)取下一个q(1)取下一个………………Forq1=1To8
Forq2=1To8
Forq3=1To8
Forq4=1To8
Forq5=1To8
Forq6=1To8
Forq7=1To8
Forq8=1To8
q(q1)=q1:q(q2)=q2:q(q3)=q3:q(q4)=q4
q(q5)=q5:q(q6)=q6:q(q7)=q7:q(q8)=q8
Ifputdown(q)=1Thenprintstr(q)
Nextq8
Nextq7
Nextq6
Nextq5
Nextq4Nextq3Nextq2Nextq1用语言编程非递归回溯法解决八皇后问题3.2皇后放置行号r=1行号r>0列q(r)<8q(r)列符合放置条件r≥8输出解r=r+1q(r)=q(r)+1是是是否否否r=r-1q(r)=0否退出是
Dimr=1Whiler>0Whileq(r)<8
q(r)=qq(r)+1DimOK%=1Forj=1Tor-1Ifq(r)=q(j)Ormath.abs(r–j)=math.abs(q(r)-q(j))ThenOK=0ExitForEndIfNextIfOK=1Then
If(r<8)Thenr=r+1Else
printstr(q)‘调用打印输出放置解
EndIfEndIfEndWhileqq(r)=0r=r-1EndWhile递归回溯法解决八皇后问题3.3调用search(1)行号r=形参i<8q(r)列符合放置条件r>8输出解q(r)=i是是是否否返回0调用search(r+1)i=i+1否
PrivateFunctionsearch(ByValrAsInteger)If(r>8)Then
printstr(q)
Return0EndIfFori=1To8q(r)=iDimOK%=1Forj=1Tor-1Ifq(r)=q(j)OrMath.Acos(r-j)=Math.Abs(q(r)-q(j))Then
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生日蛋糕合同范本
- 苗木园合同范本
- 蔬菜订合同范本
- 裤子加工合同范本
- 认干爸的协议书
- 设备售后协议书
- 设备索赔协议书
- 请月嫂协议合同
- 建筑订金合同范本
- 居间贷款合同协议
- 计算思维与人工智能 课件 第8章 智能图像处理
- 2025年全屋定制合同协议装修材料品牌选择指南
- 探索丝绸之路课件
- 2025秋季国开《经济学(本)》期末考试题库及答案
- (新教材)2026年人教版八年级下册数学 24.3 数据的四分位数 课件
- 戥秤的课件教学课件
- 砂石赠与合同范本
- 五常管理餐饮培训
- (12)普通高中技术与工程课程标准日常修订版(2017年版2025年修订)
- 2025年仲钨酸铵行业分析报告及未来发展趋势预测
- 【正版授权】 ISO 11154:2023/Amd 1:2025 EN Road vehicles - Roof load carriers - Amendment 1
评论
0/150
提交评论