From a89e277308c650a410365e453a8d570ff3b77c2c Mon Sep 17 00:00:00 2001 From: EvanKomp Date: Thu, 7 Apr 2022 18:05:40 -0700 Subject: [PATCH] Update README.md --- balancer/README.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/balancer/README.md b/balancer/README.md index 0b5029c..096b114 100644 --- a/balancer/README.md +++ b/balancer/README.md @@ -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`