Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
EvanKomp authored Apr 8, 2022
1 parent 9ee36dc commit a89e277
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion balancer/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# chack_team_balancer
Sorts unassigned team members for the most balanced possible teams. Thw algorithm works by assigning a weight to each of a number of variables and assigning a score for each participant. A team score is then determined as the mean score of participants. The algorithm loops through participants, determines which team (or a new team) would minimize the standard deviation of team scores when the participant is placed there. A function is applied to the standard deviation, such as the square, and considered when minimizing. This allows for tuning of the algorithm. Finally, conditions can be applied to the teams such as a max size, or enforce a certain number of participants of a certain gender. See the config file.
Sorts unassigned team members for the most balanced possible teams. The algorithm works by assigning a weight or function to each of a number of variables and assigning a score for each participant. A team score is then determined as the mean score of participants. The algorithm loops through participants, determines which team (or a new team) would minimize the standard deviation of team scores when the participant is placed there. A function is applied to the standard deviation, such as the square, and considered when minimizing. This allows for tuning of the algorithm. Finally, conditions can be applied to the teams such as a max size, or enforce a certain number of participants of a certain gender. See the config file.

Example, if two variables are considered "A" with weight 2.0, and "B" with function "square"

A participant with `A = 2` and `B = 3` will have a score of `2 * 2.0 + 3**2 = 13.0`

A team's score is some aggregation of participant scores such as sum or mean.

## contents
```
environment.yml # conda environment specification file
config.py # python file allowijg user to specify how the balancer will run
baance.py # python script accessible by command line to create teams
```

## Use
- Install and activate the conda environment at `environment.yml`
Expand Down

0 comments on commit a89e277

Please sign in to comment.