GridWorld阶段3评审表
此阶段占作业成绩的35%。要求:
图像处理部分(共6分)
- 利用二进制流读取Bitmap位图文件。注意,这里要求不能使用Java提供的API进行读取(TA检查)(2分);
- 把读取彩色图像转换成灰度图像(TA检查)(1分);
- 提取并且显示彩色图像各个色彩通道(TA检查)(1分);
- 把处理完的图像保存为bmp格式图像。注意,这里可以使用Java提供的API完成,但本文档不提供,希望各位同学自行上网查找资料自学。如果学有余力的同学,可以实现按照二进制流输出保存bmp图像(TA检查)(1分);
- Junit测试(TA检查)(1分)
走迷宫部分(共6分)
- 基础部分:定义一个继承Bug类的MazeBug类,使虫子的行走方向只有东南西北四个方向,且在碰到迷宫出口(红石头)时,虫子会自动停下来。(TA检查)(2分)
- 提高部分:深度优先搜索(TA检查)(2分)
- 进阶部分:增加方向概率估计(TA检查)(2分)
拼图部分(共16分)
此部分会对Solution.java
进行离线评判并给出得分。请仔细阅读代码包中README并遵守提交规范,否则评判结果会是0分。
- (Demo)运行演示脚本RunnerDemo,求解随机8数码问题(3*3拼图)。
- 利用广度优先搜索求出指定8-数码问题(3*3拼图)的最优解(Offline Judge)(2分)
- 利用启发式搜索求解随机生成的24-数码问题(5*5拼图)(Offline Judge)(14分)
- 根据求解效率(以求解时间度量)进行评分
- Hint:
- 求解算法优化
- 评估函数 (加权多因子? 分解子问题? … )
- 搜索过程 (双向? 模拟退火? 剪枝? … )
- Java代码优化
- 应用层 (String? Copy? … )
- JVM 层 (GC? … )
- Hack
- 注意评测时可能会崩溃
- 最终评测代码并不是
main.java
- 敏感操作会导致崩溃
- 最终评测代码并不是
- 注意评测时可能会崩溃
- 求解算法优化
- Hint:
- 凡是求解成功的分数都 >= 12
- 根据求解效率(以求解时间度量)进行评分
Sonar代码分析结果基本标准(共4分)
- Comments(注释):注释不得少于10%,少于10%扣2分
- Duplications(重复):允许重复行数最多为10行;多于10行的,每多10行扣1分(少于10行算10行)
-
Rules compliance(遵守规则):遵守的规则至少为60%;低于60%的,少10%就扣1分;
注:每出现1个Critical(严重)或者Blocker(阻断)问题,扣5分;
每部分给分: 图像处理部分(2分),走迷宫部分(2分)。(拼图部分不要求Sonar代码分析)
如果以上三个基本标准都达到了,且TA检查了代码风格较好,则可以得到每部分的全部分数。
每位同学在TA检查前都可以无限次修改自己的代码并进行分析。
代码检测部分(3分)
- 如果无抄袭现象,可获得该部分全部分数。
- 如发现抄袭,当天的所有工作0分。