My name is Spencer Bauman and I am a senior at Pine Crest School. I have always been interested in math and science, and I became a member of my high school's science research program three years ago. I will be continuing my love of STEM subjects at Princeton University in the fall. I am currently undecided in what I want to major in, but I look forward to exploring the research opportunities available at the institution.
Teaching a Neural Network to Solve Calculus Problems
Programs such as WolframAlpha, Mathematica, and Symbolab have all been established as useful tools for solving mathematical problems. However, the coding behind these programs is extensive and fails to solve many more complex math problems. Convolutional neural networks have been cited to be able to surpass the abilities of programs such as these and other coding libraries in solving complex math problems, specifically related to calculus. This research focuses on the use of neural networks trained on data generated from a Python library known as SymPy to solve integral calculus problems. SymPy provides computer algebra capabilities that can be used to generate pairs of functions and their integrals, which can then be used to train the neural network to be able to integrate functions through trial and error. In a past study, the trained neural network was found to be able to solve integration problems that SymPy was not able to solve, even though the data it learned from comprised only problems SymPy was able to solve. This demonstrated the neural network’s ability to generalize beyond the data set, and to further extend the boundaries of what the computer was able to do. This research focuses on replicating and expanding upon this previous study to show the capabilities of deep learning in solving calculus problems and learning through examples with multiple iterations.