Solving equations by rule-based artificial intelligence
This probably isn't new, but it is an idea I've had now. When I was younger I wondered why computer programs can compute assignments but are unable to solve equations in which the variable that was to be assigned was not explicit. In fact it is quite easy to program a computer so that it is able to solve equations. The easiest way is to use a binary tree to represent an equation. A binary tree has an operator as its root, e.g. equality, and the operands as its right and left children. It is basically similar to a linked list and can be represented in prefix notation. For instance, the equation "(3 x + 5) * 4 = 44" would be "= * + * 3 x 5 4 44" in prefix notation. Now the computer only needs to know some rules such as that "= + a b c" is equal to "= - c b a". Then the computer can systematically use these rules to consecutively move the variable (e.g. x) to a higher position inside the binary tree than where it initially is, until it reach