Benezivas / algobattle

Let teams compete by making them create hard instances and fast solvers for problems of your choice. Then pitch these instances and solvers against one another. All language-agnostic.
https://algobattle.org
MIT License
8 stars 3 forks source link

Add the Improving battle type #159

Closed ImogenBits closed 9 months ago

ImogenBits commented 9 months ago

This adds a new battle type called Improving. The idea behind these battles is that teams don't just create instances/solutions from scratch every time, but should improve on previous round's instances/solutions. To do this we basically run an Averaged battle, but also provide the programs with info on the previous rounds. A generator can then e.g. fine tune some parameters to create instances that it sees the solver has trouble handling. More details on this can be found in the battle type section of the docs.

This PR also shuffles around some other code to let battle types access each fight's instances/solutions directly and use config options when calculating scores. No externally visible functionality has been changed. The new battle type and associated classes come with extensive tests.

Benezivas commented 9 months ago

This is an interesting battle type, thank you.