The Geometry Model Builder (GMB) is a tool for generating olympiad-level geometry diagrams. The GMB takes Geometry Model-Building Language programs as input. For an overview of the GMBL, please refer to our arXiv paper (or the slightly shorter version published in the CADE 28 proceedings) or run this program as a local web server and read the tutorial.
The GMB can be run either as a locally-hosted web server or a command line tool.
Requred once: cd geo-model-builder && pip3 install -r requirements.txt
Required for each terminal session: cd src/ && FLASK_APP=server.py
To run server: flask run
cd geo-model-builder/src && python3 builder_cli.py --problem INPUT_FILE
The command line version accepts the following parameteters...
problem
: Input GMBL file (required)n_models
: The number of diagrams to generate for the GMBL file (maximum of 10).n_tries
: The maximum number of tries to generaten_models
. For example, ifn_models = 2
andn_tries = 2
but GMB fails once, only 1 diagram will be returned.n_inits
: The number of initializations to samplemin_dist
: The minimum distance between pointsplot_freq
: The frequency (in number of steps) of plotting the current model during optimizationlosses_freq
: The frequency (in number of steps) of printing a summary of loss valuesloss_freq
: The frequency (in number of steps) of printing the cumulative loss valueverbosity
: A coarser-grained control of plotting and loss printing
...as well as the following parameters for Tensorflow optimization:
learning_rate
: Initial learning ratedecay_rate
: Decay rateeps
: Epsilon value for stopping criterian_iterations
: Maximum number of iterations for gradient descent