Skip to main content

The Algobattle lab course package.

Project description

Algorithmic Battle

The lab course "Algorithmic Battle" is offered by the Computer Science Theory group of RWTH Aachen University since 2019. This repository contains the necessary code and documentation to set up the lab course yourself.

In an Algorithmic Battle, pairs of teams compete against one another in order to solve a problem of your choice, e.g. a problem from the class NP. The teams each design a generator, that outputs hard-to-solve instances for a given instance size, as well as a solver that accepts an instance and outputs a solution to it as quickly as possible.

The framework is written to be completely language-agnostic regarding the code of the generator and the solver, as each is wrapped in a docker container that only needs to adhere to an I/O structure of your choice (by default, in the form of json-files.)

If you are interested in how to use the framework for a lab course of your own, please consult the teaching concept in the documentation.

Installation and Usage

This project is developed and tested on all major operating systems.

Please consult the official documentation for detailed instructions on installation and usage.

Related projects

This repository only includes the core framework for executing an Algorithmic Battle. For a selection of concrete problems that you can use to play around with the framework, have a look at the algobattle-problems repository. These are problems that have been posed to students in some form over the past years.

While the framework provides all essential tools to host a tournament yourself, e.g. in the form of a lab course, you may be interested in the algobattle-web project. The algobattle-web project implements a webframework with which you are able to comfortably manage your students teams and their code, your problem files and their documentation as well as schedule matches to be fought between registered student teams, using the algobattle API.

Contributing

We welcome any input on how to make this project accessible to as many people as possible. If you have feedback regarding the usage of the framework, the documentation or would even like to help us out with corrections, new features, or translations, feel free to open an issue or pull request. We have developed this project on the basis of practical experience inside our lab courses, thus some design elements may be unintuitive to you. Feel free to point out anything that appears odd to you.

Funding

The development of version 4.0.0 was funded by Stiftung Innovation in der Hochschullehre (Project FRFMM-106/2022 Algobattle) and by the Department of Computer Science of RWTH Aachen University.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

algobattle_base-4.3.4.tar.gz (68.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

algobattle_base-4.3.4-py3-none-any.whl (70.4 kB view details)

Uploaded Python 3

File details

Details for the file algobattle_base-4.3.4.tar.gz.

File metadata

  • Download URL: algobattle_base-4.3.4.tar.gz
  • Upload date:
  • Size: 68.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.26.0 CPython/3.12.3 Linux/6.11.0-1018-azure

File hashes

Hashes for algobattle_base-4.3.4.tar.gz
Algorithm Hash digest
SHA256 fa236b50beca687b9b43e5d24cbc66ac662e3a413894af4ff632ef98754b1ebb
MD5 7a3f514df89bf94f5b3db9110cc5da16
BLAKE2b-256 cbbac32358bdb9e71a4592042adcd3f9d97745e9f5ed23d9fe45c99a9d32f179

See more details on using hashes here.

File details

Details for the file algobattle_base-4.3.4-py3-none-any.whl.

File metadata

  • Download URL: algobattle_base-4.3.4-py3-none-any.whl
  • Upload date:
  • Size: 70.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.26.0 CPython/3.12.3 Linux/6.11.0-1018-azure

File hashes

Hashes for algobattle_base-4.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0796c7b7fc1d45d0f457ee47327df6537574ba31c4eb90cb9bc09773f54960b1
MD5 27766b98b2f744fdeb45aa6e50cf5253
BLAKE2b-256 c901cff8ce0ebc44bdf7554bb8c60235754d1959c7006394147474e9df21b6e6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page