I decided to take part in the ICTSA programming competition, which is renowned for having challenging problems to solve, along with a friend of mine. The problem that was released this year (described in full at the competition site) involved a robot that could traverse a map, containing different altitude values. The aim of the problem was to create a route for the robot to follow, maximizing the area of the map taken by photographs, while minimizing the energy costs encountered by traversing the map.
We approached the problem in a number of different ways, such as optimization algorithms and evolutionary algorithms (including genetic algorithms, harmony search, simulated annealing and others). We also considered decision trees, mimicking the way IBM’s Deep Blue played chess, by looking forward and considering each step. Other algorithms that we considered included Bresenham’s Line Algorithm and Bresenham’s Circle Algorithm (for the photography range and the line of sight algorithm), as well as the use of quadtrees.