Artificial Intelligence (AI) has two significant contributors: Machine Learning (ML) and Deep Neural Networks (DNNs). ML employs statistical methods, enabling machines to take conclusions from datasets. DNNs, on the other hand, use non-linear computations to process input signals across neurons, creating a network capable of handling intricate tasks. This project is a DNN system with a layer of genetic algorithms (GA) to permit a process of natural selection.
Some design choices for this model are: neurons connect through layerless sparse axonal connections, intended so the brain complexity surge and adapt by experience during the living period through cadences of synapse engrams. Each neuron can be given a distinct name, to simplify the composition, tracking and understanding of the system, and to facilitate the abstraction and identification of which neurons plays which significant role in the decision making behavior. Reproduction is based on crossing-over and genetic mutation; as passing of generations, different species of beings are expected to happen, adapt and improve over time, mimicking life like organisms in nature.
Neurons form entities, beings. They can actively drive the their own evolution by interacting with each other, generating complexity and scenarios, adding to the overall dynamism. As they interplay, they make use of a reward/correction mechanism that alows them to decide to incentivize behaviors that yield certain outcomes, encouraging others to repeat actions. Beings will carry individual traits and characteristics, act different on each input and scenario, and adapt their performance as they live.
The program operates in real-time. A text-based interface is provided to allow for operations, interference and monitoring of the ecosystem status. This way, the user can experience events first-hand. Everything can be configured, generated and manipulated before or during the run: neurons, beings, objects, behaviors, actions, situations and circumstances. The interface also enables users to assume the roles of any being, bringing a somewhat immersive play.
cppneu is an ongoing project, continuously developed and improved. It is about adapting to code understandings of concepts from neuroscience, behaviournal algorithms, and self development. It will continue to evolve and adapt, just like the beings within the cppneu ecosystem.
For cases >= 0.0, < 1.0, "xxxx" represents "0.xxxx". For 1.0, use "1.0".
There must be a string for the name. All rest is optional. Check and set defaults on header.h.
string string string ...
min:max:unit
ixxxx
id (xxxx as integer), same as nxxxx, or bxxxx for bias.
n |
neuron |
v |
vital |
a |
action |
m |
measure |
p |
physical |
b |
bias |
q |
quiet |
c |
current |
o |
original threshold |
s |
short threshold |
t |
threshold |
x in-val-out
:
in | UID or Name |
val | uF notation multiplier |
out | UID or Name |
b n
- Make n new bias
x n
- Make n new axons
name:String string string ...
- sets the name.