GeoGen
Automated generation of planar geometry olympiad problems
Install / Use
/learn @PatrikBak/GeoGenREADME
Automated Generation of Planar Geometry Olympiad Problems (Patrik Bak)
This software generates geometry problems suitable for mathematical contests, including the IMO. See the list of already proposed problems.
It was developed as my master thesis.
An example of a non-trivial generated problem whose wording, and figure were entirely generated by the software:
<br />
<a name="generated-problem"></a>
<img src="Images/example.png" alt="Alt text" style="zoom:70%;" />
Generated problems
Here is a list of problems that have been created with the aid of the software. Many of them have been generated during the "big experiment" described in the thesis, page 56.
-
IMO 2022, P4 (statement) -- the story how the software helped to generate it is in the solution thread
-
ISL 2020, G6 (statement) -- generated in the big experiment and stated without modification
-
ISL 2020, G3 (statement) -- generated in the big experiment in a version where D was the reflection of B in the midpoint of AC, then generalized after solving
-
IGO 2020, A2 (statement) -- generated in the big experiment and stated without modification
-
MEMO 2021, I3 (statement) -- generated in the big experiment in a version where D was the projection of A onto BC, then generalized after solving
-
CPS 2021, P2 (statement) -- generated in the big experiment and stated without modification
-
CPS 2020, P1 (statement) -- generated in the big experiment and slightly restated
(The list is not exhaustive, it does not include many easier problems used in Czech-Slovak local competitions)
See also the examples from Appendix of the thesis.
How it works
1. Generation
The algorithm iteratively adds new objects (lines, points, circles) to an initial configuration. It manages combinatorial explosion through optimization techniques and verifies theorems probabilistically using analytic geometry.
2. Filtering
To identify difficult problems, the system uses an automated theorem prover optimized for speed. If the prover can easily prove a theorem, the problem is considered too simple. Remaining theorems are ranked by a heuristic system based on expert problem-writing experience.
Getting Started
You can download the latest pre-built release from the GitHub Releases page.
Unzip the downloaded archive and run the executable for your platform (e.g., GeoGen.exe on Windows).
Documentation
- User Guide: Usage instructions for running the application and understanding outputs.
- Input/Output Format Reference: Complete technical specification including all constructions, input file formats, and output file structures.
- Developer Guide: Instructions for building the source code and running tests.
Contact
If you are interested in my project, or if you have any other question, contact me via email.
