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 reaches the top, which means that the equation has become explicit.

Basically, this is rule-based artificial intelligence. It is an easy method to solve equations using a computer. This is the type of artificial intelligence that doesn't use neural nets. Symbolic AI. Not mentioned in the media so often as neural nets, but still very powerful.

Kommentare

Beliebte Posts aus diesem Blog

The Demoscene

Digital Art Natives

Autobiographical Sketch