Learning to Discover Efficient Mathematical Identities
In this paper we explore how machine learning techniques can be applied to the discovery of efficient mathematical identities. We introduce an attribute grammar framework for representing symbolic expressions. Given a grammar of math operators, we build trees that combine them in different ways, looking for compositions that are analytically equivalent to a target expression but of lower computational complexity. However, as the space of trees grows exponentially with the complexity of the target expression, brute force search is impractical for all but the simplest of expressions. Consequently, we introduce two novel learning approaches that are able to learn from simpler expressions to guide the tree search. The first of these is a simple n-gram model, the other being a recursive neuralnetwork. We show how these approaches enable us to derive complex identities, beyond reach of brute-force search, or human derivation.
The paper introduces a novel use case for neural nets, which is learning a representation for symbolic expressions and finding their mathematical identities.Even though the expressions studied are very limited and there is no proof that they can be extended to more complicated expressions, I find the paper interesting. And I believe it could have good impact for symbolic software libraries. -The problem statement states that we're looking for expressions with lower computational complexity. But nowhere in the algorithm such a constraint is enforced. I understand that this is not trivial, but have authors taught about possible solutions to limit the search space to such solutions?-About the restrictions mentioned in section 2, is the scheduler the only limiting factor for more complicated mathematical expression? I would have liked to see more formal or mention of empirical experiments for setting these restrictions.-Also the structure of the paper is a not easy to follow. It would be better if stages were explained more clearly. -Is there a constraint for size of the vector/matrix? e.g. for k=1,n=1 the expression for RBM-1 in the supplementary material doesn't seems to be valid.Some typos:332: show for148: has contains289: is is338: by be