Code Monkey home page Code Monkey logo

algobattle-problems's Introduction

Algorithmic Battle: Problems

Collection of example problems that are ready to be used in the algobattle project, with a strong bias towards problems of theoretical computer science.

Each problem directory contains a description.md describing the problem and the I/O that the generator and solver use. The generator and solver directories contain dummy solvers that output instances which are technically legal, but rather unexiting. Finally, the problem.py implements the logic described in the description.md.

Setup and Usage

You need the algobattle tool to use any of the problems of this repository. Consult the official documentation on how to install the algobattle tool and how to use it for a given problem.

If you are using the algobattle-web framework, you can simply import these problems in the framework. Consult the documentation of the algobattle-web framework for more details.

A good and simple problem to start is the pairsum problem, which is well suited as a primer task at the start of a lab course, should you want to host one yourself. For this task, a simple randomized generator and solver are implemented which you may use to see how the everything behaves realistically.

Compatibility

The head of the main branch of this repository is always compatible with the head of the main branch of the algobattle repository.

If you are using an older version of algobattle, see the releases of this repository in order to find versions of problems that are compatible with older releases. We do not actively back-port problems to older versions of algobattle.

algobattle-problems's People

Contributors

benezivas avatar imogenbits avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

imogenbits

algobattle-problems's Issues

[develop] Three problems with failing generators

There are three problems that cause a generator failed when running them.
These are oscm3, pairsum and tsptimewindows.

Errors, extracted from logs, \n replaced with newlines by hand

oscm3:

`exit code: 1, error message:
Traceback (most recent call last):
  File "//main.py", line 8, in <module>
    json.dump(
  File "/usr/local/lib/python3.11/json/__init__.py", line 179, in dump
    for chunk in iterable:
  File "/usr/local/lib/python3.11/json/encoder.py", line 432, in _iterencode
    yield from _iterencode_dict(o, _current_indent_level)
  File "/usr/local/lib/python3.11/json/encoder.py", line 406, in _iterencode_dict
    yield from chunks\n  File "/usr/local/lib/python3.11/json/encoder.py", line 406, in _iterencode_dict
    yield from chunks\n  File "/usr/local/lib/python3.11/json/encoder.py", line 439, in _iterencode
    o = _default(o)
        ^^^^^^^^^^^
  File "/usr/local/lib/python3.11/json/encoder.py", line 180, in default
    raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type set is not JSON serializable
`

Pairsum:

`exit code: 1, error message:
Traceback (most recent call last):
  File "//main.py", line 4, in <module>
    with open("/input/size", "r") as input:
         ^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/input/size'
`

tsptimewindows:

"The tour visits a location too late."

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.