If this is your first visit, you may want to see this post for more information.

You can reach me by email at resipsapoker then that at symbol, then hotmail and dot communism is a failed system

Friday, January 30, 2009

Fun With Computers, Part 2

{See Part 1 down the page for background}

So the results were as follows: Hand picked team 248 points (and no cash), Computer optimized team 228 points.

The hand picked team had Mo Williams perform double digits below projection, everyone else was pretty close, thus the team ended up 7 points below projection.

The computer optimized team had three guys perform double digits below projection - Williams, Shaq and Pietrus. Only Tony Parker was above projection, and his +8 was not enough to cancel out even one of the duds. You can optimize all you want, but there is no substitute for performance.

I updated the program database with yesterday's actual point totals and had the computer re-crunch the numbers. Your optimal team in terms of results:


313 points. Nice. The hand picked team put up 79% of that number, the computer optimized team 73%. Neither was within 50 points. The best score in my contests was 273 (87%).

It's interesting that the optimal team did not have either Lebron or Duncan. Both had solid games, but were very close to their point cost. Lebron was -3, while Duncan was even. Obviously you want those guys on your roster on nights they go off, but not necessarily on their "average" nights.

Well, that was a fun experiment.

***

What am I going to do with this program? Probably Most likely Almost certainly nothing. For a couple reasons: It's hard coded, meaning that it has fixed data relating to yesterday's games. It's written in Turbo Pascal 5.5, vintage late 1980s. It has no user interface worth mentioning. And it would be kind of a pain to scale it up to deal with days like today when there are 11 games and over 100 players worth considering.

The biggest obstacles, really, are first my lack of programming skill - it's been years since I've done any, and I've forgotten a lot - and knowledge. I haven't ever programmed in a Windows environment. Second: I haven't come up with a way to get mass amounts of data scraped and entered - to really be useful, you have to be able to plug in estimated performance for your players. You have to have the point/salary information for the players. And you have to be able to identify which players are actually playing! To do it all manually is too time consuming.

Having gone through this exercise, I think a more useful tool would allow you to enter up to 40-60 players maximum rather than use the entire player universe. I would probably add a dummy 10 point/10k player at each position (you could set the expected performance if you wished, otherwise, figure you can always scrape up a couple points from a scrub) by default. The program would then optimize your roster using that universe of players. You'd still have to do some manual data entry - maybe drag and drop for a lot of it, and it could keep a database of point/salary information - but it would be managable.

Hmm. It might be time to actually break out that "Teach Yourself Java" book I picked up a while back. Updates, if any, as they develop.

0 comments: