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
-
Install dependencies by
pip3 install -r requirements.txt
. -
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 872a03913f6c5e6e254f30b406414e2b2ab042e12a8bdfcbab7d0493785ec643 |
|
MD5 | e6cd847fc69041a250a81d3db3c4d167 |
|
BLAKE2b-256 | 781a7606652278f22b7dd49797396dff853a982dd5438ddd90805792bef3e276 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1df8fc2e8c7bf32315cae8b17ce1a59a1be42a0f6edf2185ff5f6cb72c86191 |
|
MD5 | ae7adc2772a0bfb05246b857723a99f2 |
|
BLAKE2b-256 | a2467d066c2b1082ce0c0a521fd6346eee8d150c70013eab282a9bc97760b6dc |