====== The Infinite Brain ====== In this project, I am undertaking the task of creating an infinitely scaleable brain. The idea is to create a structure that resembles an actual neural network in a brain that has been flattened and unrolled. ===== Biological Structure Overview ===== Neurons are made up of (essentially) four components: the Soma, axons, dendrites, and synapses. {{:people:taylor_berger:nb_neuron.gif|}} * **Soma**: stores the current charge of the neuron but also leaks charge over time. Once it charges up to a certain point, the charge is released via the axon hillock and sent down the rest of the axon to the synapses * **Axon(s)**: the output trajectory (path?) of the neuron. Think of it as an extension cord from the Soma to the synapse * **Dendrite(s)**: the input to the Soma. These tree-like structures collect and disperse the charge throughout the rest of the dendrites until it is collected by the Soma or dissipates. * **Synapse(s)**: responsible for transferring the charge from one neuron to the next, usually via synapse-dendrite connection or even synapse-soma ===== Model Proposal ===== I don't need to simulate down to the exact proportions, so I propose building four elements: * **Element_Soma**: * Single element, * Very low movement probability or maybe even stationary. * When activated, it collects charge from all dendrites in the event window. * If the charge it collects is above a certain threshold, it tells the adjacent Element_Axon to "fire". * If the number of times this atom "fires" within a certain number of activations, it dies and releases any Element_Axon and Element_Dendtrite attached to it * **Element_Axon**: * Chained together element * Very low movement probability or if it does move, it only moves "with" an Element_Soma or attached Element_Axon. * Only responsibility is to push a "fire" event to the next Element_Axon or Element_Synapse next to it (possibly integrate myelin sheathes into this element). * If not attached to either an Element_Synapse or Element_Soma, it dies. * **Element_Dendtrite**: * Chained together element * Very low movement probability or if it does move, it only moves "with" an Element_Soma or attached Element_Dendtrite. * Collects and perpetuates charge from stimulating Element_Synapse by pushing it in some direction along the attached Element_Dendtrites. * If not attached to an Element_Dendrite or Element_Soma, it dies. * **Element_Synapse**: * Attached to an Element_Axon * Very little movement or if it does move, it only moves with it's attached Element_Axon. * This looks for the closest Element_Dendrite and stimulates it by injecting the current charge it received from an Element_Axon. * If it is not attached to an Element_Axon, it dies. * May spawn new Element_Axon/Element_Synapse pair if it is constantly stimulated to strengthen the "learned" behavior. ===== Design Challenges ===== Given the previous information and stemming from the ever-present A-Life research cycle, some of my fears include: * Creating "attached" or "linked" elements. How to do this? Is it possible to do this? * Growing the network?!?! How can it grow? Each soma has an exponential decay function that determines if it spawns a new soma? Use Dreg/Reg? * Moving the network? Exponential decay function again? So maybe the outside edges "move" more than the internal edges? * Sensory neurons? Create separate elements designed to just look for things in their event window and have them stimulate themselves? Have other elements that stimulate them? I.E.: rods, cones and flash of light elements? * Output neurons? What can I do to interpret the output? WHAT DOES IT ALL MEAN?!?!? * Where can I find a u-shaped curve? Can I borrow yours? ===== Goals & Suggestions ===== * Developing a network that grows would be rewarding in and of itself * Use DRegs and Regs to construct a robust network of semi-ordered structure * Soma elements consume regs to create new dendrites/axons * dentrites and axon elements consume regs to create branches * Trivial computation (nand gate?) * Nix Element_synapse