{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,20]],"date-time":"2026-03-20T16:56:11Z","timestamp":1774025771466,"version":"3.50.1"},"publisher-location":"Cham","reference-count":25,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783030798758","type":"print"},{"value":"9783030798765","type":"electronic"}],"license":[{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2021,7,5]],"date-time":"2021-07-05T00:00:00Z","timestamp":1625443200000},"content-version":"vor","delay-in-days":185,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2021]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>We present a method for automatically building diagrams for olympiad-level geometry problems and implement our approach in a new open-source software tool, the Geometry Model Builder (GMB). Central to our method is a new domain-specific language, the Geometry Model-Building Language (GMBL), for specifying geometry problems along with additional metadata useful for building diagrams. A GMBL program specifies (1) how to parameterize geometric objects (or sets of geometric objects) and initialize these parameterized quantities, (2) which quantities to compute directly from other quantities, and (3) additional constraints to accumulate into a (differentiable) loss function. A GMBL program induces a (usually) tractable numerical optimization problem whose solutions correspond to diagrams of the original problem statement, and that we can solve reliably using gradient descent. Of the 39 geometry problems since 2000 appearing in the International Mathematical Olympiad, 36 can be expressed in our logic and our system can produce diagrams for 94% of them on average. To the best of our knowledge, our method is the first in automated geometry diagram construction to generate models for such complex problems.<\/jats:p>","DOI":"10.1007\/978-3-030-79876-5_33","type":"book-chapter","created":{"date-parts":[[2021,7,7]],"date-time":"2021-07-07T09:20:19Z","timestamp":1625649619000},"page":"577-588","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":6,"title":["Automatically Building Diagrams for Olympiad Geometry Problems"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6856-0248","authenticated-orcid":false,"given":"Ryan","family":"Krueger","sequence":"first","affiliation":[]},{"given":"Jesse Michael","family":"Han","sequence":"additional","affiliation":[]},{"given":"Daniel","family":"Selsam","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2021,7,5]]},"reference":[{"key":"33_CR1","unstructured":"M. Abadi, P. Barham, J. Chen, Z. Chen, A. Davis, J. Dean, M. Devin, S. Ghemawat, G. Irving, M. Isard, et al. Tensorflow: A system for large-scale machine learning. In 12th USENIX symposium on operating systems design and implementation (OSDI 16), pages 265\u2013283, 2016"},{"key":"33_CR2","doi-asserted-by":"crossref","unstructured":"Y. Bertot, F. Guilhot, and L. Pottier. Visualizing geometrical statements with GeoView. Electronic Notes in Theoretical Computer Science, 103:49\u201365, 2004","DOI":"10.1016\/j.entcs.2004.09.013"},{"key":"33_CR3","doi-asserted-by":"crossref","unstructured":"B. Bettig and C. M Homann. Geometric constraint solving in parametric computer-aided design. Journal of computing and information science in engineering, 11(2), 2011","DOI":"10.1115\/1.3593408"},{"key":"33_CR4","doi-asserted-by":"crossref","unstructured":"B. Bettig and J. Shah. Solution selectors: a user-oriented answer to the multiple solution problem in constraint solving. J. Mech. Des., 125(3):443\u2013451, 2003","DOI":"10.1115\/1.1587749"},{"key":"33_CR5","doi-asserted-by":"crossref","unstructured":"B. N. Freeman-Benson, J. Maloney, and A. Borning. An incremental constraint solver. Communications of the ACM, 33(1):54\u201363, 1990","DOI":"10.1145\/76372.77531"},{"key":"33_CR6","unstructured":"I. Fudos. Constraint solving for computer aided design. PhD thesis, Verlag nicht ermittelbar, 1995"},{"key":"33_CR7","doi-asserted-by":"crossref","unstructured":"W. Gan, X. Yu, T. Zhang, and M. Wang. Automatically proving plane geometry theorems stated by text and diagram. International Journal of Pattern Recognition and Artificial Intelligence, 33(07):1940003, 2019","DOI":"10.1142\/S0218001419400032"},{"key":"33_CR8","doi-asserted-by":"crossref","unstructured":"X.-S. Gao and Q. Lin. Mmp\/geometer-a software package for automated geometric reasoning. In International Workshop on Automated Deduction in Geometry, pages 44\u201366. Springer, 2002","DOI":"10.1007\/978-3-540-24616-9_4"},{"key":"33_CR9","doi-asserted-by":"crossref","unstructured":"S. Gulwani, V. A. Korthikanti, and A. Tiwari. Synthesizing geometry constructions. ACM SIGPLAN Notices, 46(6):50\u201361, 2011","DOI":"10.1145\/1993316.1993505"},{"key":"33_CR10","doi-asserted-by":"crossref","unstructured":"C. M. Hoffmann and R. Joan-Arinyo. Parametric modeling. In Handbook of computer aided geometric design, pages 519\u2013541. Elsevier, 2002","DOI":"10.1016\/B978-044451104-1\/50022-8"},{"key":"33_CR11","unstructured":"M. Hohenwarter and M. Hohenwarter. GeoGebra"},{"key":"33_CR12","doi-asserted-by":"crossref","unstructured":"S. Itzhaky, S. Gulwani, N. Immerman, and M. Sagiv. Solving geometry problems using a combination of symbolic and numerical reasoning. In International Conference on Logic for Programming Artificial Intelligence and Reasoning, pages 457\u2013472. Springer, 2013","DOI":"10.1007\/978-3-642-45221-5_31"},{"key":"33_CR13","doi-asserted-by":"crossref","unstructured":"P. Jani\u010di\u0107. GCLC\u2014a tool for constructive euclidean geometry and more than that. In International Congress on Mathematical Software, pages 58\u201373. Springer, 2006.","DOI":"10.1007\/11832225_6"},{"key":"33_CR14","unstructured":"G. A. Kramer. Solving geometric constraint systems. In AAAI, pages 708\u2013714, 1990."},{"key":"33_CR15","unstructured":"R. Krueger, J. M. Han, and D. Selsam. Automatically Building Diagrams for Olympiad Geometry Problems. tarXiv preprintarXiv:2012.02590, 2020."},{"key":"33_CR16","doi-asserted-by":"crossref","unstructured":"R. S. Latham and A. E. Middleditch. Connectivity analysis: a tool for processing geometric constraints. Computer-Aided Design, 28(11):917\u2013928, 1996.","DOI":"10.1016\/0010-4485(96)00023-1"},{"key":"33_CR17","doi-asserted-by":"crossref","unstructured":"A. Meurer, C. P. Smith, M. Paprocki, O. \u010cert\u00edk, S. B. Kirpichev, M. Rocklin, A. Kumar, S. Ivanov, J. K. Moore, S. Singh, et al. SymPy: symbolic computing in Python. PeerJ Computer Science, 3:e103, 2017.","DOI":"10.7717\/peerj-cs.103"},{"key":"33_CR18","doi-asserted-by":"crossref","unstructured":"J. C. Owen. Algebraic solution for geometry from dimensional constraints. In Proceedings of the first ACM symposium on Solid modeling foundations and CAD\/CAM applications, pages 397\u2013407, 1991.","DOI":"10.1145\/112515.112573"},{"key":"33_CR19","doi-asserted-by":"crossref","unstructured":"J. Richter-Gebert and U. H. Kortenkamp. The Cinderella. 2 Manual: Working with The Interactive Geometry Software. Springer Science & Business Media, 2012.","DOI":"10.1007\/978-3-540-34926-6"},{"key":"33_CR20","unstructured":"Scher, D.: Lifting the curtain: The evolution of the Geometer\u2019s Sketchpad. The Mathematics Educator\u00a010(2), 1999."},{"key":"33_CR21","doi-asserted-by":"crossref","unstructured":"P. Virtanen, R. Gommers, T. E. Oliphant, M. Haberland, T. Reddy, D. Cournapeau, E. Burovski, P. Peterson, W. Weckesser, J. Bright, et al. SciPy 1.0: fundamental algorithms for scientific computing in Python. Nature methods, 17(3):261\u2013272, 2020.","DOI":"10.1038\/s41592-019-0686-2"},{"key":"33_CR22","doi-asserted-by":"crossref","unstructured":"D. Wang. Geother 1.1: Handling and proving geometric theorems automatically. In International Workshop on Automated Deduction in Geometry, pages 194\u2013215. Springer, 2002.","DOI":"10.1007\/978-3-540-24616-9_12"},{"key":"33_CR23","doi-asserted-by":"crossref","unstructured":"D. Wang. Automated generation of diagrams with Maple and Java. In Algebra, Geometry and Software Systems, pages 277\u2013287. Springer, 2003.","DOI":"10.1007\/978-3-662-05148-1_15"},{"key":"33_CR24","unstructured":"K. Wang and Z. Su. Automated geometry theorem proving for human-readable proofs. In Twenty-Fourth International Joint Conference on Artificial Intelligence, 2015."},{"key":"33_CR25","doi-asserted-by":"crossref","unstructured":"K. Ye, W. Ni, M. Krieger, D. Ma\u2019ayan, J. Wise, J. Aldrich, J. Sunshine, and K. Crane. Penrose: from mathematical notation to beautiful diagrams. ACM Transactions on Graphics (TOG), 39(4):144\u20131, 2020.","DOI":"10.1145\/3386569.3392375"}],"container-title":["Lecture Notes in Computer Science","Automated Deduction \u2013 CADE 28"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-79876-5_33","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,7,7]],"date-time":"2021-07-07T09:34:37Z","timestamp":1625650477000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-79876-5_33"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"ISBN":["9783030798758","9783030798765"],"references-count":25,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-79876-5_33","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021]]},"assertion":[{"value":"5 July 2021","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"CADE","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Automated Deduction","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2021","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"12 July 2021","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"15 July 2021","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"28","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"cade2021","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.cs.cmu.edu\/~mheule\/CADE28\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"76","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"29","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"38% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"5","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2 invited papers and 7 system descriptions are also included.","order":10,"name":"additional_info_on_review_process","label":"Additional Info on Review Process","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}