There are different levels of understanding of the problem: informal, theoretical, statistical, and analytical. These provide a good combination of experience:
This understanding enables us to manipulate the problem in two ways:
The AI engineer plays a crucial role in acquiring this understanding and applying it:
This chapter discussed knowledge of the problem in conceptual terms. More than half a
Part III. Conclusion
This part had everything to keep a modern AI game developer happy:
With a bit more distance, let's go over the various behaviors and techniques to extract key lessons.
This part showed us how to split a problem into manageable
The prediction of enemy movement is very efficient -in both computation and quality. However, the physics-based approach is fundamentally limited to linear trajectories; this can be error prone for large distances. Improving upon this requires getting into the mind of the enemies and simulating their movement, which requires different assumptions. The linear guess is the best compromise of quality/cost, without going into the full probabilistic analysis!
There were few problems applying the standard perceptrons to aiming. However, the problems were simple and the results were predictable. Although learning that task with a perceptron was somewhat unnecessary, it remains a good example to
The target-selection behavior provided a great example of applying a neural network. The learning component itself is not particularly effective, reaching 25 percent error in many cases. However, the behaviors are realistic and the system benefits from the experience of the perceptron (thanks to the quality of the design). This reveals the kind of problem to which neural networks should be applied: ones that don't require too much precision and where the learning can only improve the model. In this case, the generation mechanism allowed realistic results regardless of the neural network's performance.
The first technique used was based on physics. Although other solutions with predictive capabilities could be used, the hard-coded approach turned out to be the base of the other
Another technique we used was neural networks. Whenever possible, we should try to use the
Multilayer perceptrons are very good at solving problems, as long as they are applied correctly. Data preparation, feature selection, and topological choices are all parameters that the AI engineer has control of, so these neural networks can be applied to anything. However, this level of control