A Taxonomy of Algorithms used in the ACM Programming Competition
description
Transcript of A Taxonomy of Algorithms used in the ACM Programming Competition
A Taxonomy of Algorithms used in the ACM Programming Competition
Douglas HobsonSupervisor: A.J. Ebden
Project Specification The hypothesis is that the problems
each year in the ACM Programming Competition have been drawn from the same set of algorithms
I will attempt derive all of or part of this set of algorithms
Solve as many of the problems as possible
Derive a classification of the algorithms.
Background Every year students from RU take part in the ACM
Programming Competition
Resources
“Algorithmics: The Spirit of Computing” by David Harel
Top Coder - practice and technique, algorithms etc
USACO – more of the same ACM Digital Library
Local and International ACM Programming Competition websites
Both have many problem sets and statistics about the competition
They have the problem sets that I will be looking at
Proposed Timeline
Analyse all ACM problems from the last 6 years. This will be done to try and find patterns and similarities among the problems
1 month
Start formulating and verifying algorithms.This will be done in conjunction with other steps 1 month
Program solutions to selected problems in C, C++ or Java in order to validate/verify the algorithm type/suitability of algorithm
4 months
Analyse results of programming attempts 2-3 weeks
Write up the project 1 month
Sample Problem
Deliverables
List of algorithms appearing in the ACM Programming Competition
Their frequency of appearance Level of difficulty: for humans and
machines.
Possible Extensions Tutorial could be developed on how to
approach the ACM Programming Competition
Method of ranking algorithms for their level of difficulty for humans
Analyse and formulate algorithms from the board game Go.
Classification of all algorithms, not just ACM – AI, chess, video games, sorting, searching etc.
Are there any questions?
Any comments or suggestions are also welcome