Mildly interesting challenge:
There is a new internet community game taking off called Twitch Plays Pokemon. The concept is simple: set up a server that takes the next properly formatted input ("up", "down", "a button") from a chat window, and apply it - in order, with no filtering - to a copy of Pokemon Red.
This is going about as well as can be expected, with 90,000 players, about a third of whom are actively attempting to impede progress.
So, a TDT style challenge: Beat the game in the shortest number of steps
Use the stream-of-commands as seen from the chat and the stream to estimate the delay between inputs now and results later. Generate a probable future state, given the current distribution of commands. Evaluate what distribution of commands maximizes positive results, and spam that distribution.
The biggest time sink other than the program logic is creating pathing/scoring rules. I'd start with "how to successfully deposit the first pokemon in your party" - Markov chains is where you want to go.
If it's worth saying, but not worth its own post (even in Discussion), then it goes here.