ESPN and TopCoder Run College Football Algorithm Challenge 22
Mike writes with a timely link to a story about the ESPN/TopCoder Winning Formula Challenge, a combination of fantasy football and competitive programming. The goal is to write an algorithm to predict the outcome of college football games using a collection of historical data provided by the tournament organizers. The season is broken up into 3-4 week chunks that are used to evaluate the results. Prizes will total $100,000.
Problem (Score:1)
Re:Problem (Score:4, Insightful)
I'm assuming the winner will be the algorithm that most closely predicted the correct outcome.
Unfortunately, this wouldn't consider whether or not the algorithm just got lucky. Like you said, considering only historical data isn't nearly enough.
Also, given enough algorithms that essentially pick a random outcome (read: many of these simply luck into good predictions), the actual best algorithm could be totally overlooked.
Well, what can you expect when combining ESPN and coding?
Re: (Score:3, Informative)
Nevermind my previous comment.
Unless there's a ridiculous amount of algorithms being submitted, the scoring system seems to compensate well enough for luck.
Re: (Score:2, Insightful)
The problems you point out are no doubt real, but what other way is there to determine the "best" algorithm? You can get as fancy with statistics and theory as you want, but in what sense could an algorithm that doesn't perform best on the real prediction be "the actual best algorithm"?
Re: (Score:2)
Simply lucking into the "best real prediction" isn't enough to make the algorithm good.
but in what sense could an algorithm that doesn't perform best on the real prediction be "the actual best algorithm"?
The "best" algorithm would be one that, over a large number of tests, performs best. That means, although it might make any accurate predictions this season, or even the next, it will has a good success rate in the long run. There's no reason to abandon a good algorithm just be cause it's in a downswing.
Re: (Score:1)
The historical data is for all plays, not just games, so it is probably possible to account for a lot of that stuff.
Vegas (Score:4, Insightful)
Re: (Score:1)
Re: (Score:2, Insightful)
I vaguely remember this being the reason I ignored Top Coder in the past - a good programmer picks the best tool for the job, and Top Coder only provides the option of using some of the worst tools for any job.
Fair enough, but in the "real world" you often don't get that option. I suppose if you want a pure computer science competition, you should absolutely get to choose your language. A good computer scientist will pick the right language. A good hired gun will work within the constraints given.
Re: (Score:2)
It seems like you must be assuming a particular approach to the problem. Can you expand on why you think this problem is best solved with the languages you listed?
Re: (Score:3, Interesting)
Meh. The currently running Google Code Jam let people use whatever they wanted. In the last round (round 3), there was 1000 people. 3 used Haskell, 3 used Lisp, 1 used OCaml. Of those, 1 Haskell and 2 Lisp users got through to the round of 500 (and one of those was reid, who could have advanced using baling wire and twine). The remainder of advancers used C++, Java, Pascal, Python, and a couple other boring procedural languages. One poor fool used VB (me).
I think a good programmer can solve these kind
Re: (Score:2)
I think a good programmer can solve these kind of problems in any language. Sure some competitors might be more comfortable in one language or another, but in the end the meat of the solution is going to be the same anyways.
Yes, the meat of the solution is going to be the same, but the implementation may not be. The same algorithm written in different languages will run in different amounts of time. I'm sure you know this already, but every from the language type (compiled, interpreted, etc) to memory management will affect running time.
If you don't need a garbage collector (which I don't think you would for this kind of task) then don't use a language that enforces one. If you don't want the overhead of OO programming then
Re: (Score:2)
Sure there's differences in how much code it will take to implement an idea, and there's differences in runtimes, available libraries and what not.
I guess my point would be that for an interesting algorithm contest, none of those things are going to be much more than tie breakers. Now obviously if the problem is, "multiply these 100 digit numbers" it's going to be easier in a language that an arbitrary precision math class - but I wouldn't count that as much of an interesting contest. Similarly there migh
Contest is arbitrarily fundamentally flawed (Score:2, Insightful)
It's a shame that ESPN chose to do this through TopCoder, as TopCoder's general practices are poison for a machine learning contest. TopCoder chose to impose a gig memory limit and a nine minute runtime on any approach to this problem, which murders most machine learning tactics right out the door. It's a shame they didn't do this themselves on the NetFlix model, where contestants just submit predictions.
This contest isn't to get football predictions. It's to get football predictions under arbitrary ram
Here's your winning entry... (Score:2)
Start with Home team 21 Away team 17:
+7 score for the higher ranked team every 12 positions they are ahead of the other based on a general ranking(I don't think they give you this information). Overall maybe 10 lines of code. Put Ohio State #1, put Temple #117. The rest of the rankings are an exercise for the reader. You won't pick major upsets, but you're not going to be too far off the mark otherwise.
That's about as close as you're going to get. College football varies too much to get exact scoring. A #1
Topcoder in China is popular (Score:1)
Gambing on college is for suckers (Score:2)
Apparently the best algorithms submitted so far get about 75% of their win/loss predictions correct, which would be more than enough to make real money in a state such as Nevada that allows gambling on sports.
75% win/loss ratio is shit when gambling on college sports. There's no probability here - there is a major bias between teams and one could easily guess 75% by just choosing the higher ranked team. And win/loss means nothing since Vegas won't pay you money for choosing Ohio State over Montana State. They'll give you a spread, say Ohio State will win by 32, and you can choose to either agree with them or disagree. Obviously, if you pull for Montana State you win if they win, but you will win even if Mont