Skip to content

Commit

Permalink
further refinement of the expanding box
Browse files Browse the repository at this point in the history
  • Loading branch information
jwarren-scottlogic committed Nov 12, 2024
1 parent 5f87be6 commit e5974a5
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions _posts/2024-11-05-building-an-assignment-algorithm-3.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,16 @@ Spread is a measure given to each slot, representing how oversubscribed the talk

<p>
The spread score is calculated before any assignments are made, using the following process...
</p>

<ol>
<li>Each talk is given a “popular score” based on a sum of what choices people have made for that talk, minus a value for the capacity of the talk venue. If a talk has a high “popular score”, it is oversubscribed.</li>
<li>Order all the talks by the “popular score”, irrespective of slot to make a popularity list. It's order in the popularity list is its "popularity ranking"</li>
<li>Sum the "popularity rankings" (not popularity score) of a slot's talks. This is the slot’s “spread score”. </li>
<li>The popularity score: Each talk is given a “popular score” based on a sum of what choices people have made for that talk, minus a value representing the capacity of the talk venue. If a talk has a high “popular score”, it is oversubscribed. More details are given at the end of this expanding section. </li>
<li>The popularity ranking: order all the talks by the “popular score”, irrespective of slot to make a popularity list. Its order in the popularity list is its "popularity ranking"</li>
<li>The spread score: For each talk in a slot, sum the value calculated by subtracting each talk's "popularity ranking" from the total number of talks (in the whole conference). This is the slot’s “spread score”. </li>
</ol>
For example, if a talk is 1st in the popularity list of a 10 talk conference, its popularity ranking is 10, which would be added to the spread score of the slot it is from. The last talk in the list (least popular talk) would have a popularity ranking of 1, which would be added to the spread score of the slot it is from. The higher up the popularity list, the more oversubscribed the talk, the higher the value given to its associated slot. That is to say, the more oversubscribed talks a slot has, the higher its spread score, the more uneven its spread.

<p>
For example, if a talk is 1st in the popularity list of a 10 talk conference, its popularity ranking is 1 (being first), which would add 10-1=9 to the spread score of the slot it is from. The last talk in the list (least popular talk) would have a popularity ranking of 10, which would add 1-1=0 to the spread score of the slot it is from. The higher up the popularity list, the more oversubscribed the talk, the higher the value given to its associated slot. That is to say, the more oversubscribed talks a slot has, the higher its spread score, the more uneven its spread.
</p>

<h4>
Expand All @@ -91,13 +94,15 @@ The “popular score”, is given as follows:

<p>
For every 1st choice someone made for a talk, the talk is given +20 to their popular score (irrespective of whether everyone gets this first choice). +8 for every 2nd choice and +3 for every 3rd choice. So for every choice a talk gets (no matter whether it's assigned or not)...
</p>

<ol>
<ul style="list-style-type:none;">
<li>1st choice: +20</li>
<li>2nd choice: +8</li>
<li>3rd choice: +3</li>
</ol>
</ul>

<p>
The value attached to the venue capacity which we minus from the sum of these choice values is the equivalent of the room capacity full of 1st choices. So if the capacity is 10 people, this would be the equivalent of 10 x 20 = 200.
</p>
</details>
Expand Down

0 comments on commit e5974a5

Please sign in to comment.