its really just fuzzy logic based ai.the general idea, from what ive read on the matter (i didnt read any of the articles posted here), is bascally you feed some analog signals (simulated with floats) into a network. each of these signals has a random entry point into a network of simulated neurons. some neural interaction goes on and another set of signals come out of the network. what the signals do or represent is not defined.
the network is a mass of virtual neurons. each neuron has a list of things its connected to, and potential value which starts at 0 and increases each time the neuron is 'zapped'. if the potential value passes some arbitrary threshold value, then all the neurons in the connection list get zapped. the amount of zap is the potential value of the neuron / number of entries in the connection list, and after zapping the potential value is set back to 0. you could also have a floating threshold that changes with time, to simulate a neuron going dumb. if a neuron is bored its threshold moves toward 0, and if its going off a lot the threshold moves away from zero. a neuron with a high threshold is healthy and can grow connections, and one with a low threshold is dumb and can only support a few. if a neuron is too active, say it overshoots its threshold by a large margin, can kill off some of its connections.
anyway you have a lot of these things in an array. they are all inited with random data within set ranges (potentials, thresholds, connections). each of the inputs is connected to a random neuron, zapping it with the input value. likewise each of the outputs has a random neuron bound to it, when the output is sampled it returns the potential value and sets it to zero. you simply iterate over the array, simulate each neuron in sequence, zap its list of connections if neccisary. essentially running in an endless loop. its probibly a good application for multithreading, as you want the brain to be thinking even in between applying stimuli and output sampling (you want it to use all available time on that core). it can go through thousands of simulation cycles a frame. when you want to apply stimuli, simulation is halted, the bound neurons are zapped, and the simulation resumes where it left off. sampling output follows the same rules.
thats the basis for how the network operates. the inputs and outputs can be anything. i would feed in raw facts. how much damage did i take last frame, how many times ive been hit this mission, current health status, number of hostile dots on its radar in relation to friendly dots. you could feed it advanced computer vision data, but the computer is fairly good at figuring out what the ai can see and what it cant. for outputs i would just use the data for behavioral characteristics about the ai. simulated fear or agression, bravery, desire to take risks, etc. the data is probibly not suitable for steering the ship or aiming. you would need a way more powerful brain for that. i really dont think it would do much other than make ai less predictable, and its also going to be a cpu hog, especially running it for multiple opponents. maybe some gpu power can be thrown at it.