Skip to main content

A command-line tool for automatically classifying LCL problems on rooted trees.

Project description

Description

This folder contains a program that decides round complexity of homogenous LCL problems on (binary) trees.

The program uses three subroutines to determines a problem's complexity.

  • constant_decider
    • decides whether a problem is O(1) solvable or it is inherently harder
  • log_decider
    • decides whether a problem is log(n) solvable or it is inherently harder
  • log_star_decider
    • decides whether a problem is log*(n) solvable or it is inherently harder

Usage

  1. Install dependencies by pip3 install -r requirements.txt.

  2. Run python -m rooted_tree_classifier and describe (on standard input) constraints of a problem. For example:

Note that one needs to first run the classifier (python -m rooted_tree_classifier) and only afterwards provide an input on a separate line.

python -m rooted_tree_classifier
111

Expected output is O(1)

python -m rooted_tree_classifier
112 121 122

Expected output is O(1)

python -m rooted_tree_classifier
121 131 212 323

Expected output is O(log*n)

python -m rooted_tree_classifier
112 121

Expected output is Θ(log n)

python -m rooted_tree_classifier
112 123 131

Expected output is Θ(log n)

python -m rooted_tree_classifier
121 212

Expected output is Ω(n)

Tests

To execute tests, run the following from the root directory:

python -m unittest discover

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

rooted-tree-classifier-0.2.2.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

rooted_tree_classifier-0.2.2-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file rooted-tree-classifier-0.2.2.tar.gz.

File metadata

  • Download URL: rooted-tree-classifier-0.2.2.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.9.5

File hashes

Hashes for rooted-tree-classifier-0.2.2.tar.gz
Algorithm Hash digest
SHA256 872a03913f6c5e6e254f30b406414e2b2ab042e12a8bdfcbab7d0493785ec643
MD5 e6cd847fc69041a250a81d3db3c4d167
BLAKE2b-256 781a7606652278f22b7dd49797396dff853a982dd5438ddd90805792bef3e276

See more details on using hashes here.

File details

Details for the file rooted_tree_classifier-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: rooted_tree_classifier-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.9.5

File hashes

Hashes for rooted_tree_classifier-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a1df8fc2e8c7bf32315cae8b17ce1a59a1be42a0f6edf2185ff5f6cb72c86191
MD5 ae7adc2772a0bfb05246b857723a99f2
BLAKE2b-256 a2467d066c2b1082ce0c0a521fd6346eee8d150c70013eab282a9bc97760b6dc

See more details on using hashes here.

Supported by

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