Solving Geometry Problems Using a Combination of Symbolic and Numerical Reasoning
We describe a framework that combines deductive, numeric, and inductive reasoning to solve geometric problems. Applications include the generation of geometric models and animations, as well as problem solving in the context of intelligent tutoring systems.
Our novel methodology uses (i) deductive reasoning to generate a partial program from logical constraints, (ii) numerical methods to evaluate the partial program, thus creating geometric models which are solutions to the original problem, and (iii) inductive synthesis to read off new constraints that are then applied to one more round of deductive reasoning leading to the desired deterministic program. By the combination of methods we were able to solve problems that each of the methods was not able to solve by itself.
The number of nondeterministic choices in a partial program provides a measure of how close a problem is to being solved and can thus be used in the educational context for grading and providing hints.
We have successfully evaluated our methodology on 18 Scholastic Aptitude Test geometry problems, and 11 ruler/compass-based geometry construction problems. Our tool solved these problems using an average of a few seconds per problem.
Keywordsgeometry reasoning synthesis
Unable to display preview. Download preview PDF.
- [AHV95]Abiteboul, S., Hull, R., Vianu, V.: Foundations of Databases. Addison-Wesley (1995)Google Scholar
- [GKT11]Gulwani, S., Korthikanti, V., Tiwari, A.: Synthesizing geometry constructions. In: Programming Language Design and Implementation, PLDI (2011)Google Scholar
- [GMUW09]Garcia-Molina, H., Ullman, J.D., Widom, J.: Database systems - the complete book, 2nd edn. Pearson Education (2009)Google Scholar
- [Hon86]Hong, J.: Proving by example and gap theorems. In: FOCS, pp. 107–116. IEEE Computer Society (1986)Google Scholar
- [IGIS12]Itzhaky, S., Gulwani, S., Immerman, N., Sagiv, M.: Solving geometry problems using a combination of symbolic and numerical reasoning. Technical Report MSR-TR-2012-8, Microsoft Research (January 2012), http://www.cs.tau.ac.il/~shachar/dl/tr-2012.pdf
- [KKS12]Köksal, A.S., Kuncak, V., Suter, P.: Constraints as control. In: ACM SIGPLAN Symposium on Principles of Programming Languages, POPL (2012)Google Scholar
- [KR11]Krötzsch, M., Rudolph, S.: Extending decidable existential rules by joining acyclicity and guardedness. In: Walsh, T. (ed.) IJCAI, pp. 963–968. IJCAI/AAAI (2011)Google Scholar
- [Nel85]Nelson, G.: Juno, a constraint-based graphics system. In: SIGGRAPH, pp. 235–243 (1985)Google Scholar
- [SL08]Solar-Lezama, A.: Program Synthesis by Sketching. PhD thesis, University of California, Berkeley (2008)Google Scholar
- [WCY05]Wong, W.-K., Chan, B.-Y., Yin, S.-K.: A dynamic geometry environment for learning theorem proving. In: Proceedings of the 5th IEEE International Conference on Advanced Learning Technologies, ICALT 2005, Kaohsiung, Taiwan, July 05-08, pp. 15–17. IEEE Computer Society (2005)Google Scholar