Project 2: Hoop Dreams

In an abstracted form of the game of basketball, a player is specified by a vector of weights (S,B,P,D) where each of the weights is a number between 0 and 1. (Only the simulator will know these weights; more later.) S specifies the strength of the player to shoot. B specifies the strength of the player to block a shot. P specifies the strength of the player to pass successfully. D specifies the strength of the player to intercept a pass. For a defensive player it is good to have a small B and D, while a high S and P is better for an attacker.

The offensive team gets to choose which player starts with the ball. Each team has five players on the floor. During the game, players and opponents will use ``man defense,'' where the team without the ball gets to choose which defender opposes each offensive player. This matchup is fixed for a possession, and can change during the game. Suppose that the offensive player has weights (SO,BO,PO,DO) and that the matched defender has weights (SD,BD,PD,DD). The offensive player can choose one of two actions:

If possession changes, after an unsuccessful pass or a scoring attempt, the teams switch roles. The new defensive team chooses match-ups knowing which opponent starts with the ball.

The only other game action rule is that there must always be at least one pass before a scoring attempt. Games last for a fixed number of possessions n for each team, known in advance. The team that starts with the ball is determined randomly.

As hinted above, you do not know the weights for your team members or your opponents. You will have to estimate them based on how well the player is playing over time. Your players will carry over from one game to the next in a tournament, so you can get better over time at using your best players for critical offensive and defensive roles. You can also gather information about opponents by analyzing their games (both against you and against other teams).

To generate the initial teams in a fair way, each group will be given a pool of c candidate players, where c might be about 50. The pools are different for each team, but they are generated using the same set of weights as follows. For each weight, the simulator will select c possible values. You won't know the distribution of the weights. c players are generated by randomly combining one of each kind of weight. So the only difference between groups is the combination of the weights; the set of weights is the same.

Groups run an internal tournament to select what they believe to be their best team of five players. The results of the internal tournament are not public, so groups will enter the main tournament with some understanding of their own players' capabilities, but less information about their opponents' capabilities. The number of rounds in this internal tournament will be limited; we'll discuss in class what a reasonable limit might be.

Some things to think about:

Ken Ross 2012-09-17