A multi agent reinforcement learning architecture for discovering mathematical concepts: arXiv
curl -sSL https://install.python-poetry.org | python3 -Add it to your PATH, then verify:
poetry --versionNext install elan:
curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | shRestart the terminal and verify with
lake --versionNavigate to the root of the python project and install:
cd conj-refute
poetry install --no-rootNavigate to the root of the lean project and install:
cd ../formal_response
lake buildNavigate to the python project and run
poetry run pytest -qSet two experiment selectors before running:
- Dataset profile via
CONJ_REFUTE_DATASET_PROFILE:D0,D1,D2,D3 - Model profile via
--model-profile:M0,M1,M0_NOISE,M2
M0: Full system (formal response enabled, no Gaussian noise, skeptic active)M1: No formal responseM0_NOISE: Full system with Gaussian noise in formal responseM2: No skeptic (all datapoints have weight =1.0throughout)
More details on the model profiles can be found in the paper.
Training and evaluation take ~8-10 hours each on a macbook pro M3.
cd conj-refute
export CONJ_REFUTE_DATASET_PROFILE=D1
poetry run python src/conj_refute_env/train_maddpg.py \
--run-id demo_m0 \
--model-profile M0 \
--max-steps 50 \
--wandb-mode disabledcd conj-refute
export CONJ_REFUTE_DATASET_PROFILE=D1
poetry run python src/conj_refute_env/pickle_my_model.py \
--run-id demo_m0 \
--model-profile M0 \
--episodes 1 \
--max-steps 10 \
--wandb-mode disabledThe code for generating the datasets can be found at: surface_triangulations
All artifacts can be found at: artifacts.
This includes checkpoints for trained models, evaluation results and a collection of formalized conjectures along with a suggested proof. These are not required to run the code but are provided to cross verify with the paper.