top of page

Games AI CEMI Brain - Alternative Neural Network

So in my free time, I have been considering how to emulate 'CEMI' theory ( a brilliant scholarly document I was introduced to in Germany as a product of research for a future technology) as a games AI approach; CEMI theory is a brilliant approach to understanding intelligence, much like Fraud is to psychology; however both concepts are still unproven, but just kinda seem right or being onto something understandable and or usable. Neural Networks, are a newer form of AI, however, learning takes too long and the network has issues working with other networks - but I thinks that is because of how NN are being setup. The idea of turning thoughts into waves that circulate, seems a brilliant method for AI and especially Cognitive AI - which is the future of modern gaming; where a player actually bases plans of what they think the AI is thinking or the AI's state of mind - but is possibles wave forms can make an AI more reflexive and create random acts the player then must adapt to.

​

My idea also takes the premises of the NN and using class objects such as nodes (neurons), and the creation of a core object that can  process neuron objects or cluster data. I'm uncertain that each neuron should have up and down stream communication; however, because neurons can connect and disconnect from other neurons, much like a graph node display, up and down stream communication seems a redundant concept to apply - where as input and output functions seem a good idea. Basically the neuron class will create a 2D sine wave to begin with. However, I'm still trying to draft out which values best suit which emotions.

 

The Core object (is the data processor so far, I might change this later ) and Neuron clusters are then wrapped in a Brain manager class - the benefits are then that objects can have a clusters of neurons attached to different part of the objects body; and this itself can allow me to generate waves and data based on interactions, that inlcude sensory actions and movements. 

Update:

I'm still in the design and iteration phase, right now, but one issue I face is the functionality of the neurons, this is still being considered; I also had the idea that I could have different depths of neurons, meaning a form of layered data is created - but this is not necessary to begin with; but it will be a consideration - as neurons fire by degree and levels of connectivity; this led me to consider if a cluster should be something like a set of neurons attached to different body parts? Meaning a leg (sensor) neurons activity relates to the rest of the object, when creating a wave...but again this may be too complex for now. As such, the object that neurons or cluster are attached to, will define their use. However, an additional layer of neurons over the neuron cluster could represent memory; meaning two classes of neurons could be created. One class for attaching to body parts and another class that is connected to clusters, but represent memory for the AI.

​

Additionally, creating neuron in this was still allows the system to interact with other AI approaches and ability change states of these approaches. So at the moment I've solve the issue of memory in the AI. Also because neurons have a sine wave function each neuron creates a wave; and because C# have mapping functionally, mapping an action to a value is not an issue either, my biggest issue is still considering how the neurons in cluster will interact and also if an all in one neuron can be created rather than two separate classes.

​

But I'm optimistic about the CEMI Brain AI i'm developing, that that it should be kept simple for implementation methods. But then I realized, the wave that is created is not just the data but the memory; but the length of a wave is limited, so some physical memory class may be needed?

Update:

So although an up and down stream connectivity did not seem necessary, I feel it can make the process of understanding communications easier; so now I'm considering giving the neuron class two vectors, both vectors will  hold neurons or neuron addresses, but one will represent upstream neurons and the other downstream neurons. However, both vectors can be counted for depths of say 2-3 neurons, meaning a cluster or neurons become associated with any event; unless of course, I take the simpler approach, by just attaching a cluster of neurons to game objects? I'm still drawing up ideas on paper; again trying to keep things simple; essentially the reaction and emotive state of the AI is not an issue; but what I then want is the ability for consideration of the waves generated by the neurons, by the Core, which will process these thoughts, allowing a simple form of emulated consciousness; and allow random events to generate new causality in game. The idea is not to make a full brain, but something other can use easily, and taking sensory algorithms, which you can find code for in my games AI projects, and use this to create a small mind of activity.

​

Also I realized if I can get this working, it could illustrate how neurons can be connected to new neurons, for example if the arm neurons are damaged, the arm is no longer usable until new connection are forms or components of the brain are repaired...

bottom of page