Due to the file size of our algorithm being too large, the robot didn't have enough memory to run the program on its own. For the robot to work we needed to keep it plugged into the laptop. However, the tension from the cable would make the robot turn and move in directions that were not intended. So instead, we demonstrated our simulation program which displays a grid with the robot and user-inputted holes, gold, and wumpus location. By running the program, the robot shows its path of travel and can solve the hard puzzles chosen by Bram.
To improve on this, we could revise our program to be smaller while maintaining its original functions. While we attempted this during the night of the performance, we didn't end up reaching a small enough file size to be able to run the robot on it. Even though our program size ultimately prevented us from being able to run our robot, we noticed that other teams that were able to run the robot at plenary were unable to solve the harder board that our program successfully solved in simulations. Hence, we should find a balance point between the effectiveness of the algorithm and the program size.
Even though our algorithm can solve many hard puzzles, it does not solve 100% of them. Some specific puzzles will lead to the robot being stuck in a sophisticated loop that the program cannot detect.
Our algorithm is far from being perfect. In the future, we could improve it by incorporating well-known graph traversal algorithms such as A* search or Breadth First search algorithm. These algorithms could be more effective in exploring the map, hence maximizing the probability of gathering enough information to find the gold. Its may be an overkill for a 4x4 board, though.
Try for yourselves: https://github.com/chengus/MMFinal