ACM Programming Contest Results Revised
Goonie writes: "After the controversy over the results of the ACM programming competition, it appears that the results are being revised. Check out the new standings. The winner hasn't changed, but some teams have moved up the rankings." Actually, from the look of the page at 4:15GMT this morning, "final rankings are under review." Let's hope the fairest decisions prevail, and that all involved are gracious.
What happened to them sounded pretty lame, I hate it when people can't just fess up and admit they made a mistake.
:)
The rules sounded somewhat weird, but it's probably no weirder than the programming contest I've been doing lately (its monthly, so hold your horses). (and MazeMan can admit he makes mistakes.
---
pb Reply or e-mail; don't vaguely moderate.
pb Reply or e-mail; don't vaguely moderate.
I was very disappointed in this years contest. The automatic turnin program written in Java was not functioning at the Scranton site.
All our submissions had to be hand submitted by the judges which greatly reduced the speed of which we could get back feedback (you could have submitted a program an hour into the contest and chances are you wouldn't have known if it worked or not).
All editorial writers ever do is come down from the hill after the battle is over and shoot the wounded.
I don't see how anyone could have made enough sense of it for there to be a controversy.
Damn good programmers, them.
Got Rhinos?
how can one rate a programmer?
i program in many a language
i program so i can use my computer
in different.ways
programming is an art
http://siokaos.org/
I wonder if anyone hacked something together in perl....
C, C++, Pascal, and Java are the only acceptable languages.
I must have missed the controversy, or perhaps I'm looking at the wrong problem set, (gee, the pdf says 2000 ACM Programming Contest World Finals), but this doesn't seem to be at all vague. It is an application of graph theory. The classic question is 'what is the shortest route from node A to node B.' This just asks you to average all the answers to all the possible pairs of A and B.
Now, this does not mean that it is easy to do, or that I remember the algorithm I once learned for finding the shortest path from a to b on a graph, but I don't see why anyone with a bit of computer science knowledge wouldn't be able to understand the problem.
Of course, as I said, I missed the controversy, so that may not have been what the hubub was about.
-Matt
-Cheetah
The teams recently received letters from the contest directors, who say that they have finally decided to "personally re-examine all submissions of Problem F from the archives" and that "the results of the re-examination will be posted in the standings by April 24th."
So I'm not expecting to see any changes until April 24th, which is next Monday.
If they make any changes, teams will be bumped up to a higher position, but no team will have its position lowered. Best of all, they have changed their official policy so that in the future, teams will have access to their programs after the contest is over, and also there will be a standard procedure for regrading after the contest is over, in case this happens again.
I'm particularly happy since there's a reasonable chance that my team's score will improve, but I think everyone should be glad that they're making an effort to keep this a fair contest. I highly recommend this contest to all interested college students. If you haven't already, check out the problem set from this year.
Check out this link about the Controversy over Problem F, and look for Dominic_Mazzoni's post (+5 interesting). I'll quote from that article:
Take a look at problem F. (Here are the contest problems in PDF if you're interested.) In a nutshell, you're given a complete directed graph, and you need to return the average length of all shortest paths between all pairs of nodes. The problem explicitly stated that you will only be given graphs in which there exists a path from every node to every other.
This is not a hard problem to work out, but anyone who has had a formal course in computer science ought to recognize that the Floyd-Warshall all-pairs shortest path algorithm is designed to solve exactly this problem. Then all you have to do is add up all of the elements of the matrix and divide by n * (n-1).
Except that the judges made a mistake, and tested our input using a graph that was not connected - in other words, there were nodes that could not reach other nodes via a directed path. This would not be a big deal, except that the problem explicitly stated that this would not occur. (Input validation is never a part of this contest.) Furthermore, without further explanation it is unclear how these nonexistent paths should affect the average. It turns out that the judges' solution was not counting these paths, and averaging only the paths that existed. Some teams did this by accident, and others (including Waterloo) figured it out only after submitting multiple runs and incurring large penalties. My team was one of the many that did not figure out the judges' mistake, so we did not get credit for the problem, even though our solution was certainly correct as the problem was worded. If we had received credit we would have had four problems correct, possibly putting us in the top ten. Of course, if we had received credit right away, we might not have wasted so much time figuring out what was wrong with our solution and we could have solved another problem in that time. Of course, many other teams were in a similar situation, so I have no idea what the final ranking would have been, but clearly it would have been different.
"It's overkill, of course. But you can never have too much overkill." - Anonymous Slashdot Coward
You would think that the hosts of the world's foremost programming competition would take the time to write its own database software with a CGI interface, or at least have the sense to use a more stable, open source package. But NO!! Here's what you get by going to the ACM finals page and clicking "Teams":
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
/past/icpc2000/finals/RosterPublicFull.asp, line 11
You should never take life too seriously - You'll never get out of it alive.
So, the administration may have botched a little this year, but it was still a very interesting experience, being in the company of 240+ other intense geeks for four days. Plus you can't really beat a free trip to Florida. To repeat what some other guys have said, you should all go participate in programming contests; they're a lot of fun, and you can often win cool stuff! Oh, and props to IBM for the nicest promotional pens I have ever received. :)
Does anyone know which teams used what languages?
//John|3:16
The team from MIT spoke only in 13th century latin. The team from Oklahoma State communicated solely in cattle brands.
The team from NYU in Ebonics. The team from Dakota State University spoke only in a very slow drawl.
The team from Georgia Tech kept referring to functions as crackers, and arrays as yankees. The team from UCLA constantly threw in random "likes" like, like this, like.
The team from University of Winnipeg felt it necessary to say aye after each sentence. The team from University of Southern Florida wouldn't shut up about Elian, and often develoved into a Spanglish.
The team from Brigham Young University kept referring to the moral crumbling of the ACM contest. The team from Texas Christian University always commented their code in the form:
I was one of the University of Melbourne team (thats Melbourne, Australia).
;), others struggled with it for the entire five hours, trying to find bugs in their correct code.
;), but in this case (having spoken to several of the teams) I think most of those teams just came up against problem F and got stuck.
If it hasn't already been explained, problem F went as follows: find the average shortest path length between all pairs of nodes in a strongly connected directed graph. The judges appear to have put a non-strongly connected graph in the testing - one for which not all pairs of nodes have a connecting path. It was then pure luck whether you had chanced upon the same method for computing the average as the judges, so while some teams solved the problem in the first few minutes of the contest (notably St. Petersburg state U.
Because it was by far the easiest of the problems, many teams began with this question. By the end of the five hours, many perfectly clever teams had not solved anything, due to the stuff-ups on the part of the judges.
Now, making errors is one thing, and it certainly screwed up the contest for everyone, but in some sense errors are forgivable - what was really appalling was the way in which the situation was handled.
A protest regarding the question was submitted (by my team) within a minute or so of the end of the contest - there was no official channel for appeals, so we were just told to write it down on a piece of paper and give it one of the judges. We never received a response of any sort.
After the contest most of the teams were aware of the problem - one team had submitted a program designed to go into an infinite loop if the input graph was not strongly connected, thus working out what error the judges had made. In any case, we took our printouts to verify our solution, and later presented our arguments to the tournament director, Bill Poucher.
I have never met someone so unprofessional, with no concept of accountability or responsibility, and little even of courtesy. I am not sure what his background is, but if Mr. Poucher were the director any public company, he would have been on the street - or in court - in seconds. He refused to listen to any of the requests from the teams or coaches, telling them instead their memories of the contest perhaps weren't clear. Nothing was done and the prizes were awarded, with Bill Poucher announcing at the ceremony that "every problem was solved by at least one team" - so that there weren't any problems.
After the contest, in the face of protests from regional directors and coaches from around the world, with proofs that their solutions had been correct, the contest organisers continued to deny there had been any problem. It took quite a while for them to agree to remark the solutions.
Now, I have no especial gripe at the judges that an error was made, because people make mistakes - it's just an indication that they need better validation on the testing programs. I'm also not especially fussed that my team didn't come first - because in some sense, we were one of the LEAST affected teams. Just look at the results of the American universities. I mean, it's nice to have a laugh at America getting its ass kicked once in a while
What I do have a problem with is the contempt the organisation showed to the tens of thousands of man-hours of work that go into the contest on the part of the contestants. No channel for appeals, no official responses to protests, no means to elect new directors, no accountability, not even a report saying "we made a mistake; we plan to do this to fix it". There was a similar problem in our regional contest this year, and the regional director (Raewyn Boersen) fessed up, and sent around an email describing the problems, the changes she would put in place to the validation of the competition, and the transparency with which future contests would be conducted.
My question for slashdot is, how do you get an organisation like this to to act like it's accountable to the people who enter?
In any case, I'd still recommend entering the contest to any CS students - its an amazing experience, however it goes. I've never learnt as much CS in such a short time as in the week's training leading up to the finals. Ask yourself - if you had to, how fast could you code up a 3D voronoi tesselation? Or a fast constraint solver? Can you find a bug in someone else's uncommented code under time pressure, or look at a problem and say how long it will take to code, and what the best order algoritm is? These are the kind of things you learn.
cheers all,
John FitzGerald, University of Melbourne,
Australia
As someone who works with computer systems that have been coded in the near to remote past by other people, I can assure you that if your program displays some values, someone somewhere perhaps in the remote future will look at them and try to use them. Even if your specification gives the file output as the designated deliverable, in the real world outside of academia, I would consider any incorrectly formatted output a problem with the code.
Anomalous: inconsistent with or deviating from what is usual, normal, or expected
Anomalous: deviating from what is usual, normal, or expected
Canard: a false or unfounded repor
I don't know Mr. Poucher, but he sounds like the stereotypical American career academic. I've had the misfortune of studying under a few.
They rise to a certain level of recognition, probably higher then they feel (deep down) they deserve. They resolve this insecurity about their competency by believing that they are actually the 'right hand of God', and look down on the unwashed masses with utter contempt, from their Ivory Tower.
'How DARE this student (spoken through clenched teeth) question MY process and MY organization of MY contest!? Without ME he is nothing.'
Typical case of recto-cranial inversion, easily cured with a clue-stick beating and a few months at a REAL JOB.
-- What you do today will cost you a day of your life.
That's a pretty clueless statement coming from the director of a programming competition. Borland C++ in fact ships with two command-line compilers:
First rule of programming: Choose the right tool for the job. Apparently, this fellow skipped that class.
Dr. Poucher's a great guy. You just have to remember, in any contest, that you are catching the contest director in the absolute worst possible circumstances. I hope that you get to meet him some other time. Re: the ivory tower comment -- That may be a problem of some profs, but not Dr. Poucher -- he does a lot of "real world" work on the side.
I have had two classes from Dr. Poucher (one theory and one software development) and I never knew him to be anything but fair to students.
Ask yourself this, though, what would you have done in his situation? You knew that three people, whom you trusted, had checked the problem data. You knew that the problem had been solved on the data already. You've not encountered such a problem in ten years of running such a contest. You knew that every contestant at the contest was way keyed up and running on adrenaline.
I agree about contests though. They are a lot of fun and you do learn a lot. This is true in general, IMHO. Texas has statewide academic contests in high schools -- participation in those takes away all the "test anxiety" many otherwise excellent students face. Programming contest is the same way. It gives you a great confidence, whether you win a contest or not, to just sit down and start slamming out code.
Once again, I am sorry that you had to meet Dr. Poucher under such adverse circumstances!
Zorn
/ is the root of
--
The shareholder is always right.