Introduction
I debated with myself for a long time about whether or not to put this information online, but in the end, I figured it was nothing earth shatteringly special, so it really didn’t matter either way.
Concept
Violet is the evolution of Jane. Both are ventures into the realm of AI.
Differences from previous projects
The most notable change is the introduction of an important translation layer in the system. Each time step, after the ‘charges’ have been sent and collected but before edge weights are adjusted, a value called ‘voltage’ is calculated.
In electrostatics, voltage is a scalar quantity that is affected by a charge distribution and is measurable at each point in space. It indicates something about the charge distribution and can assist in calculating gradients.
I used the term voltage because in essence I’m calculating something similar. Violet-voltage is calculated by incorporating the following values:
- the current node’s charge
- the current node’s voltage
- the charges of the adjacent nodes
- the voltages of the adjacent nodes
- the edge weights between the current node and the adjacent nodes
The voltage incorporates information about the current node and the environment. I’m going to use this value to determine where the current node’s charge threshhold is, and how to shift edge weights appropriately.
Synthesis
The idea to travel down this path towards what would eventually be known as Violet came to me slowly, after working on several programming experiments and reading a few books.
References
Emergence: the connected lives of ants, brains, cities, and software
RichardBoyer