Project 1: Retroactive Soccer

When I was a teenager, I was an avid Australian football follower. I was often frustrated with my team that had a habit of winning some games by big margins, but losing the crucial games by small margins. If only I could have transferred some of the goals from the big-margin wins to the narrow-margin losses$\ldots$

Well, now you can do exactly that, in this retroactive soccer league. The league has 10 teams, each competing to rank as highly as possible after playing once against every other team. Following conventional soccer leagues, a win counts for 3 points, a draw is 1 point, and a loss earns 0 points.

The first round of the league is randomized, and you have no control over the outcome. The simulator will look at each of the 45 games and assign a random number of goals to each team in each game. The number of goals scored comes from the set {0,1,2,3,4,5,6,7,8}, where each of the nine games for a team uses exactly one element of this set. The outcome of all games can be computed based on the goals for each team, and the teams can then have their point totals calculated. Teams are then ranked from 1 to 10 based on the point totals. (If there is a tie for 2nd and 3rd, say, we'll say each team has rank 2.5.)

At this point, you get to change things up. In particular, you can reallocate your goals subject to the following constraints.

While you're planning your reallocation, all the other teams are doing the same thing. All reallocations are revealed simultaneously, and a new point total is computed. In the event that the simulator detects an invalid reallocation, the simulator will treat that as leaving the goal totals unchanged.

This reallocation is iterated over r rounds, where r is relatively large (say r=100). Your team's point score and rank is computed at the end of each round, and the average rank over all rounds will be called the final rank. Your goal is to get as high a final rank as possible.

You will not know which group's players you're up against, but you will be able to keep track of each team's behavior over many rounds. The simulator will provide a history of the game for you to utilize. We'll also provide a random player that makes random changes to the totals.

At the end of the project, we'll run a tournament to see how well the players perform. Reminder: The tournament outcomes do not affect your grades, but the ideas behind the players, as discussed in class and presented in your reports, do affect your grades. If you cared only about the tournament results, you might choose to keep your tactics secret. However, such a choice would be counter to the spirit of the class, and would also hurt your reports (e.g., another group might suggest the same tactic and be perceived as the originator of the idea).

Ken Ross 2020-09-09