8 coaches online • Server time: 02:42
* * * Did you know? 196 games were played yesterday.
Log in
Recent Forum Topics goto Post How do you beat Tomb...goto Post Convince a friend to...goto Post Norse coach looking ...
Christer
Last seen 3 hours ago
Christer (5)
Overall
Super Star
Overall
Record
22/4/11
Win Percentage
65%
Archive

2024

2024-06-25 11:47:16
rating 6
2024-06-22 21:49:09
rating 5.6
2024-06-18 15:06:20
rating 6
2024-03-31 20:20:37
rating 6
2024-03-30 15:14:25
rating 6
2024-03-09 00:15:17
rating 5.5
2024-02-02 13:57:16
rating 5.9
2024-01-28 12:41:38
rating 6
2024-01-14 13:14:20
rating 6
2024-01-07 00:13:05
rating 6
2024-01-05 18:07:03
rating 5.9

2023

2023-12-29 22:52:22
rating 6
2023-12-21 21:21:09
rating 6
2023-12-19 16:04:27
rating 6
2023-11-02 13:35:55
rating 6
2023-10-03 18:18:21
rating 6
2023-09-13 19:12:07
rating 6
2023-07-12 18:17:17
rating 5.9
2023-07-11 22:33:25
rating 6
2023-06-29 11:09:33
rating 6
2023-05-27 23:06:09
rating 5.4
2023-05-10 11:45:33
rating 6
2023-05-03 21:31:28
rating 5.9
2023-04-25 18:01:24
rating 5.6
2023-01-29 15:52:51
rating 5.8
2023-01-21 18:35:18
rating 6
2023-01-11 12:39:37
rating 5.4
2023-01-02 18:57:10
rating 6

2022

2022-12-31 12:10:19
rating 6
2022-11-30 23:28:31
rating 5.6
2022-03-28 15:32:21
rating 5.8

2021

2021-10-16 20:23:20
rating 5.9
2021-09-02 11:32:40
rating 6
2021-08-27 23:04:22
rating 6
2021-08-06 23:08:34
rating 5.8
2021-07-26 01:26:31
rating 5.8
2021-07-20 02:46:59
rating 6
2021-07-07 20:30:33
rating 5.9
2021-06-14 14:24:30
rating 6
2021-03-09 00:39:11
rating 5.9

2020

2020-12-09 11:20:11
rating 6
2020-11-30 18:03:36
rating 5.8
2020-10-13 11:59:57
rating 5.9
2020-08-08 22:48:43
rating 5.8
2020-08-07 21:32:26
rating 5.9
2020-03-18 14:09:47
rating 6

2019

2019-12-13 21:32:02
rating 6
2019-11-25 16:00:40
rating 5.9
2019-04-14 23:33:08
rating 6
2019-04-07 16:59:39
rating 6
2019-04-07 00:55:26
rating 6
2019-01-08 15:27:38
rating 5.9
2019-01-05 02:58:18
rating 5.8

2018

2018-08-17 17:28:31
rating 6
2018-08-15 00:05:40
rating 6
2018-07-17 20:17:40
rating 6
2018-06-28 14:28:08
rating 5.9
2018-05-23 17:55:10
rating 6
2018-05-10 22:42:46
rating 6
2018-05-09 19:42:28
rating 6
2018-04-30 10:44:23
rating 5.8
2018-04-23 12:33:02
rating 5.8

2017

2017-04-23 18:06:35
rating 6
2017-04-06 23:00:56
rating 6
2017-04-03 19:06:00
rating 6
2017-03-29 22:35:46
rating 6
2017-03-25 16:18:39
rating 6
2017-03-11 21:24:26
rating 6
2017-02-14 14:23:58
rating 6
2017-02-10 14:54:03
rating 6

2016

2016-11-30 00:04:21
rating 6
2016-11-27 23:40:04
rating 6
2016-11-17 18:18:07
rating 6

2015

2015-09-06 23:59:26
rating 6
2015-01-24 15:56:29
rating 6
2015-01-22 13:10:32
rating 6
2015-01-19 21:20:53
rating 6
2015-01-10 19:03:45
rating 6

2014

2014-09-09 15:35:53
rating 6

2013

2013-04-26 11:48:40
rating 5.7

2012

2012-12-18 17:37:29
rating 5.9
2012-11-18 18:19:19
rating 6
2012-09-25 13:47:16
rating 5.6
2012-08-15 12:31:53
rating 5.9
2012-08-10 23:12:22
rating 5.9
2012-06-27 22:53:48
rating 5.9
2012-04-10 11:56:38
rating 5.9
2012-03-07 13:52:00
rating 5.9
2012-02-16 16:59:56
rating 5.9
2012-02-04 19:00:41
rating 5.3

2011

2011-07-25 23:32:43
rating 5.6
2011-05-23 13:12:52
rating 5.6
2011-02-04 14:26:18
rating 5.4

2010

2010-03-26 11:38:41
rating 5.1
2010-03-01 12:16:53
rating 5.6

2009

2009-12-08 16:40:30
rating 5.8

2008

2008-09-11 14:47:19
rating 4.1
2008-02-26 21:16:54
rating 5.3
2008-01-21 01:01:58
rating 5.6

2007

2007-11-06 21:23:14
rating 5.1
2007-10-16 00:26:11
rating 5.4
2007-09-30 17:10:03
rating 5.4
2007-09-30 12:01:42
rating 5.3
2007-08-09 12:14:57
rating 4.5
2007-08-06 12:02:52
rating 4.9
2007-08-03 17:56:21
rating 5.4
2024-06-25 11:47:16
9 votes, rating 6
Steel Gauntlet qualifying algorithm
There's a thread on the forum with a suggestion for a change of how the wildcard slots are picked for the Steel Gauntlet tournament. In this thread, the question came up of how the wildcard slots work currently which is a pretty complicated algorithm. Instead of describing it in a forum thread, I'll do a longer write-up here to make it slightly easier to refer to.

Background
The Steel Gauntlet is a tournament that takes place at the end of a Blackbox Trophy (BBT) season, pairing the best performing teams for each roster against each-other in a play-off.

Given that there are currently 29 rosters in the game, I chose to aim for a 32 team tournament filling up the remaining slots with "wildcards" that are picked as the best over-all performing team in the BBT season.

Core constraints
There are some inherent restrictions to a system like this. As per the core design choice, we want one team of each roster in the tournament (if possible).

It is fairly common for the strongest coaches to have multiple qualifying teams, and the site allows coaches to set up a priority for which team they would rather bring should they have the choice. It is also possible to completely opt out of a spot with a team, whould it be too broken to feel competitive.

Algorithm
The way the pairings work is based on the Stable marriage problem, and fundamentally uses a modified version of the Gale-Shapley algortihm. I will explain how the site does it here, but if you want more "formal" descriptions, the linked Wikipedia articles are a good place to begin.

We begin with some definitions:
- Each of the 32 spots get defined as "acceptors" (as per the Gale-Shapley algorithm). This means that the spot is the side that decides which of the offers it should accept. The first 29 are "locked" into a specific roster, while the remaining 3 accept any team.
- Each participating coach get defined as "proposors". This means that a coach will send out offers to each spot as the algorithm progresses.

With each coach having potentially multiple teams, and these are all set up in a priority list, it gets a little bit complicated to understand how that maps to the above. So, here's an example:

Coach Alice has two teams they wish to bring to the Gauntlet: Underworld and Orcs, in that order of priority.

The pairing algorithm sets up priority lists as follows:
Alice:
- Underworld to the Underworld slot
- Underworld to wildcard slot 1
- Underworld to wildcard slot 2
- Underworld to wildcard slot 3
- Orcs to the Orc slot
- Orcs to wildcard slot 1
- Orcs to wildcard slot 2
- Orcs to wildcard slot 3

You'll notice that each team Alice wishes to bring will create multiple offers (one offer per eligible slot it could be accepted into).

The core algorithm itself has two steps that get repeated until there are no remaining offers:

1. Offers
Each coach that isn't currently matched (meaning they have an offer that is currently "selected" by a slot, more on this in step 2), takes their topmost offer and sends it to the slot.

2. Selection
Each slot takes the list of offers and picks the best one (by score and tie-breakers), and compares it to their currently selected offer (if any). If the new one is better, the previous offer is dropped and the new one is "selected". An offer that is not selected, or is dropped will be removed from the owning coach's list.

As simple as that looks, that's it. When there are no longer any new offer sent out in step 1 (meaning all unselected coaches have zero items remaining in their lists), the selected teams for each slot is the teams that qualified to the tournament.

If there are any slots that have no offers (which happened when gnomes were given a slot), the whole process is run again with only those remaining slots, setting them to wildcards that accept any roster.

Hopefully, this was interesting to some of you :)
Rate this entry
Comments
Posted by Candlejack on 2024-06-25 14:12:41
"An offer that is not selected, or is dropped will be removed from the owning coach's list."

Dropped means dropped by the last slot that was accepting that offer? As an offer can be proposed to multiple slots it might be accepted by multiple slots, correct?
Posted by Christer on 2024-06-25 15:16:12
Dropped in that context means canceling an offer that was made in the previous iteration.

An offer is specifically one team to one slot, and never changes. To handle the multiple slots, you have the 4 offers per team (main slot, 3x wildcard slots). So an offer is made once, and if rejected (immediately, or in a later round) it's discarded and ignored for the rest of the process.
Posted by Garion on 2024-06-25 15:42:12
Perfect :)

If/When GW release a new Team/Roster, will the Wild card number be reduced to 2?
Posted by Carthage on 2024-06-25 16:18:34
I love these technical posts from you Christer. Its like a cliffnotes from a lecture in a collegiate math class.
Posted by The_Murker on 2024-06-25 16:56:46
Fixing the tournament code must be like tidying up my basement. I'd say, 6 of 7 days a week, I'd rather enjoy writing a blog post like this rather than clean up my basement, which the wife says is a priority.

(Or maybe Big C finished the re-code.. or maybe this post is like his pre-breakfast brain warm-up!!)

@Carthage.. I like them too.
Posted by Christer on 2024-06-25 19:33:40
The tournament re-work is mostly done, except for some inevitable bugfixes. This was just a distraction while I switch my head back into the re-drafting context.
Posted by Igralius on 2024-06-26 11:33:17
This maybe be a stupid question but what happens in the following scenario? I got first in for example amazons. Now I delete the Team because Reason XYZ. Even though the Team no longer exists (under active teams) it is still listed in Blackbox team rankings. Does it still send an offer and if so is there a chance that a slot gets occupied by a deleted team? Haven't checked if you can still change preferences once you deleted a team or if it automatically goes to "not interested in qualifying"
Posted by Christer on 2024-06-26 13:36:53
Only "eligible" teams are considered. Retiring a team inherently makes it ineligible, as does playing additional matches, or leaving it in post-match state.