Skip to content

Remove matches that will not affect the top rankings #3

@brennonbrimhall

Description

@brennonbrimhall

Since the algorithm is O(2^n), where n is the number of matches, a little bit of preprocessing can result in orders of magnitude of savings. See, for example, qualification match 66 and 71 at the 2018 IRI. Throwing both of these matches out would have resulted in the computation being sped up by a factor of 4.

Presumably, the algorithm would calculate the best-case scenario for each team. If the best-case was worse than the threshold provided as input, ignore matches. Some pseudocode follows:

create an empty set u
for each team t:
    for each match m:
        if that m contains t:
            have t's alliance win
    compute the rankings for this hypothetical scenario
    if the ranking of t is greater than the user-defined threshold, insert t into u
create an empty list m'
for each match m:
    if the teams in m are all in u, do nothing
    else put m into m'
use m' to calculate rankings

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions