No project description provided
Project description
dpvis
The topic of dynamic programming (DP) is particularly challenging for learners newly introduced to algorithm design. The library will serve as a learning aid for studying DP. To this end, we design a widely accessible library that can be used by students to visualize and interact with DP algorithms.
The ultimate goal of this library is not to implement visualization for any finite collection of DP problems. Instead, the library will have the capacity to visualize any DP algorithm, provided that the algorithm is implemented correctly.
Our visualization library works with native Python implementations of DP.
The library has three major features:
- Capability to illustrate step-by-step executions of the DP as it fills out the dynamic programming array. This includes visualization of pre-computations and the backtracking process.
- Interactive self-testing feature in which the user will be quizzed on which cells will be used to compute the result, which cell will the result be stored, and what is the value of the result.
Installation
NOTE: This instruction should be updated after we release to PyPI.
-
Clone the fork locally and change directory:
# With SSH: git clone git@github.com:itsdawei/dpvis.git # Without SSH: git clone https://github.com/itsdawei/dpvis.git cd dpvis
-
There is a few options to managing virtual environment:
-
(Recommended) Install Conda and install the library locally via pip:
conda create -n dpvis python=3.11 conda activate dpvis pip install -e .
-
Alternatively, install Poetry and run:
poetry install
-
Although highly recommended, a virtual environment is not necessary as long as you have installed a Python package manager such as pip. In this case, you can install the library directly with:
pip install -e .
-
-
You can verify the installation by running one of our many demos.
python demos/knapsack.py # With Poetry poetry run python demos/knapsack.py
-
Open https://127.0.0.1:8050/ with your favorite browser.
Documentation
The documentation is compiled with mkdocs-material and mkdocstrings
To serve the documentation locally, run
poetry install --with docs
poetry run make servedocs
Contributors
dpvis is developed and maintained by
- Ramiro Deo-Campo Vuong
- Eric Han
- David H. Lee
- Aditya Prasad
- Tianyu Wang
License
dpvis is released under the MIT License.
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 Distributions
File details
Details for the file dpvis-0.1.0.tar.gz
.
File metadata
- Download URL: dpvis-0.1.0.tar.gz
- Upload date:
- Size: 20.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.0 CPython/3.11.7 Linux/6.6.18-1-lts
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff3b2a465721ff4acfd5273629d71971b823e5ab697d4b4d9012dc46b8d98973 |
|
MD5 | a0624e6f6b2b8a2edfaf04f2f1c17d50 |
|
BLAKE2b-256 | f92df4eb91a43b3da6b880043a8906d18f685c4f4d4ceb6d8d049281bce9ae06 |
File details
Details for the file dpvis-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: dpvis-0.1.0-py3-none-any.whl
- Upload date:
- Size: 21.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.0 CPython/3.11.7 Linux/6.6.18-1-lts
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 491e183f74851d20b6a1ffa677d202c1c6f5d60042a497f6a0579abeb9cf4c21 |
|
MD5 | 3487a285319769d79509542e06a4407c |
|
BLAKE2b-256 | d1c320843738775fe68072a5d0c2b14b45c1520bcb671d0d6e1a0369f31f33c0 |
File details
Details for the file dpvis-0.1.0-1-py3-none-any.whl
.
File metadata
- Download URL: dpvis-0.1.0-1-py3-none-any.whl
- Upload date:
- Size: 21.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.0 CPython/3.11.7 Linux/6.6.18-1-lts
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4f9d2e87adde22eed2224e262866dd948f80d9be4da89c202de19bd9ebd619b |
|
MD5 | 024d4c72a4efc3f5cc4820433c6a622f |
|
BLAKE2b-256 | 2e3ccd0b57f719353ab4ea9babd029fb82921d18c77c88f7840c786becc2f0cc |