Navid Zolghadr has no experience with sailing, but that didn’t stop this University of Alberta student from programming computer simulated-boats that very nearly bested the rest of the world in a head-to-head competition held at the University of Warsaw on Wednesday.
In a Masters of Computer Science program, Zolghadr watched his fleet of five watercraft sprites surf the virtual seas and win one match after another, all the way to the finals. In a large outdoor tent serving a Polish cuisine lunch and packed with the top computer programmers from around the world, all eyes were glued to monitors displaying the live match as the code played out. In a nail-biting final match, the University of Alberta was narrowly defeated by the Indian Institute of Technology, Delhi.
University of Alberta students react to the end of the final match at the ICPC Challenge
Photo credit: Qiyu Zhu
This virtual seafaring contest is the International Collegiate Programming Contest (ICPC) Challenge, a pre-cursor to the main event of a five-hour coding contest organized by the Association of Computer Machinery (ACM) and sponsored by IBM Corp. Zolghadr has been refining the artificial intelligence behind his boats since the game rules were issued in January, and had been paying close attention to the strategy of the other teams.“I had no idea whether our team was really better or not,” he says. “Probably our code was better for some maps, and that team’s code was better for this map.”The ICPC Challenge offers the programming contestants here a non-traditional coding task that is different from the final event. In that five-hour marathon, students use Java and C++ to solve mathematical problems created by a team of like-minded programming experts. For the Challenge, contestants must program automated “players” that try to win a live game against another player.It’s one more way to feature the talented programmers from around the globe that are collected here, explains David Sturgill, the ICPC Challenge Director from North Carolina State University.“There’s some teams that aren’t going to be on stage at the world finals, but they can be in the top four at the challenge,” he says. “It gives some different teams a chance to shine.”This year’s challenge, the Bumper Boat Rally, challenged coders to guide a convoy of boats of various shapes and sizes around a course and also pass a baton between boats. A team can score points by completing laps of a course, hitting rally points, or for each pass of the baton. As the name implied, interfering with the other team’s boats by means of collision is fair game.The graphical representation of the players and arena is crude, but the competition is all behind the scenes in the code. The players can be called “boats” because they are difficult to steer, sometimes drifting awkwardly after a turn. The field is like “water” because it provides friction, and there’s even a current around the outer edges that will push boats back towards the centre if they drift out of bounds.“The movement of the boats was really important,” Zolghadr says. “The sample players didn’t move well so we had to correct those movements.”Many teams devised a strategy of moving their fastest boats in a convoy through the rally points while passing the baton. That left the larger, slower boats to interfere with the opponent’s convoy. Slow them down enough while completing laps, and victory was at hand.“The final match was one of the most even contests between teams,” Sturgill says.At the very end of the final match, there was a moment the University of Alberta thought it had won. Its name was highlighted as the match came to a close, even though it was actually slightly behind in the score. The team cheered and pumped their arms in the air, reacting to the apparent victory.“I had a bug in my code that showed the highlight of who was ahead at the end, and theirs was on at the end,” Sturgill says. “I apologize for that.”A Canadian team previously performed well at the ICPC Challenge. In 2011, Simon Fraser University also finished runner-up in a set of brackets based on a team’s early coding attempts. That game featured circular players that attempted to horde playing pieces into their sectors of the playing field.On Thursday, the University of Alberta competes in the main event against 121 other teams from 85 countries for another shot at top prize