December 10, 2010
This program simulates the job of an Offensive Coordinator on an NFL team.
I used Bayesian networks to calculate a set of three to four plays that are most likely to give a first down given the offense's passing and running ratings, and the defense's passing and running defense ratings.
I save the data from each run in a table that updates overtime, allowing a user of the program to use the data from this table to change the ratings used to pick which play is going to be run on the fly so that the AI can adjust it's game plan accordingly if the opponent plays differently than normal. Also, the AI continuously runs play combinations until it comes to a set of plays that statistically produces a first down.
Technology Used Block Diagram
Evaluation of Results
It was harder than I initially thought to find success ratings and average amount of yards on passing and running plays, so I had to come with the weights for the success rates by hand, and tweak them until they made sense. Given this, I feel the program is fairly solid for what it was designed do, however there are many additional tweaks that could be added to increase the value of the product to potential buyers, if I was ever to sell this.
I've simplified the game of football to three offensive plays: passing, running, and the QB sneak, and two defensive plays: pass defense, and run defense. I also assumed there were no penalties, and minimal negative yardage. Further development would allow for a modular system that would allow for simple insertion of formations and other complex plays, as well as simulating an entire possession rather than just one first down.