If you are looking at weighted input functions are you talking about pre-calculated input functions or using a machine learning technique to calculate the inputs. If it is a weighted average for each input doesn't this just become a neural network (please forgive my ignorance - machine learning is only on the periphery of what I know)?

Other approaches might be a classification algorithm (VSM style) of actions into two categories - optimal and not optimal - but as each action would only be optimal or not optimal within the context of what everyone else would do the calculations would quickly become pretty damn big.

One of the other things that is problematic with a machine learning approach is that it is difficult to represent RP aspects of combat. Is a caster conservative with their resources? Are they afraid of something else after this encounter? Are they smart/cryptic and unwilling to commit their full range of abilities until they can surprise an opponent particularly susceptible to them and so on. Still, just using it as a benchmark it is pretty useful.