# 九宫重排实验报告
<center> 陶乐天 汽83</center>
## 1 作业清单
- 实验报告:实验报告.md
- 可执行文件:main.exe
- 源代码文件夹:源代码
## 2 可执行文件说明
<img src=".\fig\image-20201021195546584.png" alt="image-20201021195546584" style="zoom:50%;" />
### 2.1 随机打乱模式
- 点击[随机打乱],程序生成可解序列,右上方的显示框和拼图会发生改变;
- 点击[A*搜索],等待,一般2s以内能够完成;
- 点击[效果展示],拼图会随着设定速度复原,拼图速度设置需要在点击[效果展示]前。
### 2.2 手动打乱模式
- 在右上角输入0-8序列;
- 点击[手动打乱],程序会检测拼写错误和可解性,可解序列会使拼图打乱;
- 点击[A*搜索],等待,一般2s以内能够完成;
- 点击[效果展示],拼图会随着设定速度复原,拼图速度设置需要在点击[效果展示]前。
## 3 算法说明
核心算法在./源代码/Astar.py中,最主要的搜索过程在函数solution()中。
将初始节点放入Open表,每一pop一个状态now_state,访问now_state所有可能的移动方式,如果和移动后的状态和now_state的父状态不一样,就把移动后的状态放入Open表,而后不断从Open表pop状态。
Open表是以f作为优先级的优先级队列,且$$f=given+heuristic$$。
其中given表示初始状态转化为现状态的变换次数,$$heuristic=P+3S$$,P表示当前状态到目标状态对应点坐标的1-范数,S由下面的方法计算得到:
- 九宫中心位不是0,S加1,否则不变;
- 检测当前状态和目标状态九宫外围顺时针序列,遍历任意非0的两个数,若两个数在两个序列中相对顺序相反,S加2,否则不变。
## 4 未响应说明
有的时候可执行文件会未响应(不知道bug在哪里,算法测试正常),可以直接测试Astar.py。如果需要直接测试某个可行序列,可以在test.py的list_range直接输入序列,直接观察算法效果,避免图像界面的影响。
## 5 操作整理
(这部分和实验报告没有关系)
### 添加素材
```
pyrcc5 -o resource.py resource.qrc
```
其中resource.qrc写入素材路径
```
<!DOCTYPE RCC>
<RCC version="1.0">
<qresource>
<file alias="material/background">material/background.png</file>
<file alias="material/result/1">material/result/1.png</file>
<file alias="material/result/2">material/result/2.png</file>
<file alias="material/result/3">material/result/3.png</file>
<file alias="material/result/4">material/result/4.png</file>
<file alias="material/result/5">material/result/5.png</file>
<file alias="material/result/6">material/result/6.png</file>
<file alias="material/result/7">material/result/7.png</file>
<file alias="material/result/8">material/result/8.png</file>
<file alias="material/result/0">material/result/0.png</file>
</qresource>
</RCC>
```
### UI生成代码
```
pyuic5 -o ReRankSudoku.py ReRankSudoku.ui
```
### 文件打包
```
pyinstaller -F -i favicon.ico main.py Astar.py resource.py ReRankSudoku.py -w
```
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
<项目介绍> 人工智能基础-A-star求解九宫重排问题python源码+文档说明 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
资源推荐
资源详情
资源评论
收起资源包目录
ReRankSudoku-main.zip (22个子文件)
ReRankSudoku-main
resource.qrc 705B
main.py 4KB
Astar.py 5KB
ReRankSudoku.py 8KB
material
pooh bear.png 47KB
background.png 1.35MB
cut_image.py 2KB
result
9.png 11KB
3.png 9KB
0.png 28KB
1.png 11KB
6.png 6KB
5.png 17KB
4.png 9KB
8.png 18KB
7.png 18KB
2.png 16KB
test.py 2KB
resource.py 6.19MB
ReRankSudoku.ui 8KB
README.md 3KB
fig
image-20201021195546584.png 207KB
共 22 条
- 1
资源评论
机智的程序员zero
- 粉丝: 1532
- 资源: 4128
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功