A self-contained repository for improving upper bounds on unknotting numbers with an RL-based reducer.
This version is set up to run locally and does not rely on Google Drive.
This repository already contains:
data/unknotting.xlsxmodels/best_model.zipnotebooks/upper_bound_unknotting_v6_local.ipynb
So the notebook can be run directly after installing the dependencies.
upper-bound-unknotting/
├─ README.md
├─ requirements.txt
├─ .gitignore
├─ notebooks/
│ ├─ upper_bound_unknotting_v6_local.ipynb
│ └─ upper_bound_unknotting_v5_original.ipynb
├─ data/
│ └─ unknotting.xlsx
├─ models/
│ └─ best_model.zip
├─ training_data/ # optional extra training files
│ ├─ hard_unknots.csv
│ ├─ very_hard_unknots.csv
│ └─ random_diagrams.csv
└─ outputs/
The notebook
- loads
data/unknotting.xlsx - fills missing Jones vectors from PD presentations when possible
- finds unresolved unknotting-number ranges such as
[a,b]witha != b - inflates the PD diagram
- flips one crossing at a time
- runs the RL unknotter / reducer
- computes the Jones vector of the reduced knot
- matches against the local workbook database, allowing mirrors
- updates the upper bound while preserving the lower bound, for example
[2,3] -> [2,2] - overwrites
data/unknotting.xlsx
Create an environment and install dependencies:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtThen launch Jupyter:
jupyter laband open:
notebooks/upper_bound_unknotting_v6_local.ipynb
The notebook first looks for a pretrained model in:
models/best_model.zipmodels/ppo_knot_rl_spherogram_continued.zipoutputs/best_model.zip
Since models/best_model.zip is already included here, it should run without retraining.
If you want to retrain or continue training, you can additionally place files such as
training_data/hard_unknots.csvtraining_data/very_hard_unknots.csvtraining_data/random_diagrams.csv
If no external training files are present, the notebook can fall back to PD data already stored inside unknotting.xlsx.
- The notebook is designed to work from inside this repository.
- The main editable parameters are in the configuration cell near the top of the notebook.
- Results are written back into
data/unknotting.xlsx.