Originally Posted by
IAmCoder
Yeah, very simple actually. It randomly generates new neurons with a strength of 100 and a random input or output key. And then randomly creates connections between them, also with a strength of 100. Then it runs through a pre-compiled list of things to learn, e.g:
Input:"1+1=",Output:"2"
Input:"1+2=",Output:"3"
Input:"1+3=",Output:"4"
And types the input into the program one letter at a time. Any neuron with say "+" as an input key will then fire and trigger all outgoing connections and a little current runs up the connection to the neuron at the end of it. The neuron's charge then counts up and once the threshold (I generally set it to 3) is reached, it fires all of its outgoing connections... Whenever a neuron with an output key is triggered, the app then types that as the response. So each time it runs a item in the learning list, it checks the output: if it matches, all neurons and connections that were used / triggered, get their strength counted up by one. And each time the output is incorrect, the strength is counted down until it reaches 0, then the neuron or connection is deleted.