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分。