Establishment of the heuristic calculations


Document concerned

This document covers the features of heuristic calculations. I am writing this short document to clarify the necessary programming work.


07/12/2016: initial version


Invisible Media


Framework of the project

This project is a digital and algebraic calculation software. This project is a way to train very long and tedious equations and to factor them according to a common approach. Goal: solve equations, find all the solutions algebraically and get an equation based on parameters and fixed digital data.

All the features

The set of features is detailed in this document: All features (unbundled) .xlsx

Name of the feature covered here


Relative need

Neurons are elements of graph also called node. In each node in the graph, there may be 0 to N branches or arc where the other end is the next node.

The arithmetic operations are one together recurring that perfectly fits the notion of graph. In particular, a complete equation is a tree set of operations. We're talking about graph when a node has multiple parents. An equation where some words are repeated will form a graph where a repeated word is associated with a single node, and each parent node will go on this node.
The neurons of algebraic distribution concern all the multiplication of terms.

Relationship with other features


Neurons are objects that can communicate with each other. From the programming point of view, neurons form a directed graph. Then, each neuron with an application that is unique, the application traverses the graph through the neurons that react differently depending on the settings.

We note each node on a two-dimensional grid where is the number of nodes. Each square of the grid hosts a number positive or zero. This number is the number of links that connect two different nodes (in both directions). The diagonal axis of the grid corresponds to a diagonal of numbers zero, with the understanding that there is no node in relation to himself.


Different heuristics are implemented. Each heuristic has its own objectives.

Canonical heuristic

The first important heuristic is the canonical form of an equation. To save time by searching the terms in the equations, I consider a canonical form which operations are always organized in the same way; I also note that, as usual, we present equations in a canonical way. For example:

y = a x ^ 2 + b x + c

This equation has the following standard properties:
  1. terms them to the left of each sum are constant terms or constant numeric values.
  2. then, on the right the unknown terms.
  3. Finally, the sum is organized left to right starting with the end of greater power and each term is declining.

A heuristic calculates different situations in terms of the order of the products and the order of the additions.

Division and subtraction are the same conditions except that the sign belongs to the number.

Then in a second step, it will take into account the fact that:
  1. operations with numerical terms are Computable to give a number or possibly a Euclidean division.
  2. operations terms coefficients are posted simultaneously after the selection of the heuristic: If a coefficient is divided by a coefficient then the coefficient disappears. Hence, the General transformation
  3. operations of terms are and differences are grouped when unfamiliar terms are formed by the same powers. The terms coefficient and the numerical terms form an equation with products and sums. Their order is the same as for unknown terms.

It is important to save time in calculating both perform the heuristic search and algebraically admitted simplifications. Clearly: priority to simplified product heuristics and heuristics of sums. Then back to the amount inside each product heuristics simplified by are heuristics (heuristics produces are supposed to be without effect at this stage).

Last edited Dec 11, 2016 at 10:01 PM by skercrow, version 2