I don't think it has to be too complex mathematically, and if you figure how to space apart feedback, it might be doable with a neural network. I had considered making a neural network plugin for CC at one point and there were libraries for it for C++. I wouldn't be surprised if there are JS neural network libraries as well. It's not a magic automatic solution where you tell it to learn to fight and you're done. You'd have to study and experiment to find adequate starting weights for the nodes, how many inputs, etc, but I think that's the simplest approach to memorizing arbitrary patterns.
Fourier transforms are also supposed to be useful for the simplification and generalization of patterns, but you'd probably need to design alot more of the AI than for the neural network, and Fourier transforms really are computationally expensive.
Unless you're very interested in AI theory and want to do this for the sake of doing it, it'd be much easier to make fake learning. Program a stupidly hard AI that knows how to counter and dodge everything, and proper timing for effective attacks. Then dumb it down at the beginning of a round or game. Each time the player jump kicks, it increases the probability the AI player will "learn" that it's coming, and begin applying it's jumpkick counterattack behavior, randomizing timing, and mistakes will make it feel more natural. I believe this is how it's done in most fighting games. Even this approach would be timeconsuming, and it's probably the simplest of the three, but not impossible. Just know programming fun AI, even conventional AI will most likely be a long process.lucid2012-03-12 16:55:00