Skip to content

Releases: Algorithmic-Battle/algobattle

Release 3.0.0

17 Jan 14:04
6342f3e
Compare
Choose a tag to compare

This release introduces new features, refactors quite a bit of code and fixes a few outstanding bugs.

Changes in more Detail:

  • Features
    • The project should now run under Windows 10, thanks to imogen.
    • It is now possible to scale the memory that a generator or solver has to the current instance size and available memory by overwriting the problem.py's new methods generator_memory_scaler and solver_memory_scaler.
    • It is now possible to postprocess instances after they have been run through the verifier. See #26.
    • If the docker containers of some team do not build correctly, they are removed from a battle rather than the battle being aborted altogether.
    • It is possible to manipulate the step size increase of the iterated battle wrapper more closely by using the new iter_exponent option of the battle script. This can be useful for debugging by setting it to 1.
  • Changes
    • The battle_wrappers were moved out of the match class into their own modules.
    • The methods formatting the match_data were moved into the new battle_wrappers.
    • Point calculations were moved out of the util module into the new battle_wrapperss.
    • The point calculation for the averaged battle wrapper was adjusted.
    • The available points are now split between each pair of teams, rather than among all pairs of teams.
    • Logging is now less verbose, with most output messages moved down to the debug level.
  • Bugfixes
    • Fixed #21 by forcing team names into lower case.
    • The iterated battle wrapper stopped if the next iteration step would be bigger than the iter_cap without actually executing a battle on this instance size. This would mean that several iterations could be unrightfully achieved.
    • Log paths set with the --output_folder option now always correctly resolve.
    • The timeout for the delaytest problem was increased to 300 seconds, as it sometimes timed out upon the first build.
    • Additional minor code cleanup and test cleanup.

Release 2.0.2

05 Nov 10:16
6546854
Compare
Choose a tag to compare

This minor release flips the GEN and SOL strings of the --ui output, which were previously in the wrong order.

Release 2.0.1

04 Nov 14:56
0fe4147
Compare
Choose a tag to compare

This release introduces minor changes to the battle script, updates to the CI pipeline and code cleanup.

The CI pipeline was cleaned up and extended, which mainly resulted in code cleanup and linting.

Since we currently are in demand of more compact log outputs, this release adds the output of the ui.format_ascii method to the end of the logs. This is done slightly hacky for now and the string formatting will be most likely moved out of the ui module in the next major release.

A noticeable correction is the renaming of the ui method previously named ui.formatt_ascii to ui.format_ascii. This technically changes the api, but since it only corrects a very small and obvious typo, we decided against increasing the major release number for this change.

Release 2.0.0

12 Oct 10:12
ffcd769
Compare
Choose a tag to compare

This release introduces a new ui feature, removes the problem files from this project (outsourced to algobattle-problems) and introduces an Observable pattern that makes it possible to observe the state of a match object during its run. As this means API changes, this is a major release.

Changes in more detail:

  • Use the new --ui option of battle to get a cleaner visual output during a run.
  • The match object now contains a match_data dict, replacing the old results dict. The contents of this dict are described in the docstring of the run method. The signature of run has been updated.
  • The calculation of points in util has been updated accordingly
  • Config files no longer include the options iteration_cap and approximation_iterations. These have been added as options (--iter_cap and --approx_iterations) to the battle script.
  • You can subscribe to a match object if you want to use the live data of a match. This is currently used for the ui output.
  • All problem files and their related tests (except for those used for unittests and delaytests) have been removed from this repository and moved into the algobattle-problems repository for logical separation.
  • Code, docstring and test cleanups

Release 1.0.0

02 Apr 11:20
b82a9a9
Compare
Choose a tag to compare

This release introduces a lot of smaller features that break backwards compatibility with release 0.1.0.

Changes:

  • Problems now have a flag whether they are approximable
  • Docstrings have been added and update to conform to the numpy standard
  • Automated workflow that lints the code and docstrings and runs tests
  • An arbitrary number of teams can now be associated with a match, using the new Team object.
  • Refactor the battle script, putting a lot of its functionality into a seperate util module

Release 0.1.0

07 Mar 13:58
Compare
Choose a tag to compare

This is the initial formal release of the Algorithmic Battle project.

It includes a number of sample problems as well as the capability to be extended further by custom problems.