评审表

search
Gridworld

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:
        1. 求解算法优化
          • 评估函数 (加权多因子? 分解子问题? … )
          • 搜索过程 (双向? 模拟退火? 剪枝? … )
        2. Java代码优化
          • 应用层 (String? Copy? … )
          • JVM 层 (GC? … )
        3. Hack
          • 注意评测时可能会崩溃
            • 最终评测代码并不是main.java
            • 敏感操作会导致崩溃
    • 凡是求解成功的分数都 >= 12

Sonar代码分析结果基本标准(共4分)

  1. Comments(注释):注释不得少于10%,少于10%扣2分
  2. Duplications(重复):允许重复行数最多为10行;多于10行的,每多10行扣1分(少于10行算10行)
  3. Rules compliance(遵守规则):遵守的规则至少为60%;低于60%的,少10%就扣1分;

    注:每出现1个Critical(严重)或者Blocker(阻断)问题,扣5分;

每部分给分: 图像处理部分(2分),走迷宫部分(2分)。(拼图部分不要求Sonar代码分析)

如果以上三个基本标准都达到了,且TA检查了代码风格较好,则可以得到每部分的全部分数。

每位同学在TA检查前都可以无限次修改自己的代码并进行分析。


代码检测部分(3分)

  1. 如果无抄袭现象,可获得该部分全部分数。
  2. 如发现抄袭,当天的所有工作0分。