Search: Evaluation

The evaluation of the search task consists of two parts:

Subject of evaluation Eval. type Points note
Algorithm quality Automatic evaluation 0-5 Does the solution work correctly?
Code quality Manual evaluation 0-2 Is the solution implementation clear?

Algorithm quality:

  • Tested on multiple mazes of varying size and complexity. They can have multiple goal states. There does not have to exist a path from start to goal. The costs of transitions between states do not have to be the same.
  • The solution shall run without errors.
  • Is the path valid? (It shouldn't cross walls, go outside of the maze, and should be continuous on the 4-neighbourhood.)
  • Is the path optimal?
  • Is the algorithm efficient? Doesn't it explore more states than actually needed to find the optimal path?

Code quality:

  • Suitable comments or the code is so clear that it does not need comments.
  • Reasonably long (or rather short) functions/methods.
  • The names of variables, functions, methods, etc. are meaningful and help in understanding and reading the code.
  • No repetitive code (no copy-pasting with minimal changes).
  • Saving processing time and memory (i.e. no unnecessary nested loops)

You can follow PEP8, although we do not check all PEP8 demands. Most of the IDEs (certainly PyCharm) point out conflicts with regards to PEP8, and even can automatically format the code according to PEP8. You can also read some other sources for inspiration about clean code (e.g., here) or about idiomatic python (e.g., medium, python.net).

courses/be5b33kui/semtasks/01_search/evaluation.txt · Last modified: 2026/02/17 14:24 by xposik