Statistics certainly provide an improvement over the purely theoretical approach, but there is still room for even further understanding. In many cases, the inputs and outputs exhibit more than statistical relationships. This knowledge of the problem domain is acquired in a more analytical fashion.
Properties of the Problem
Symmetry in the Domain
The different configurations of the variables may be indirectly related. In a certain part of the domain, for example, the values may be identical to another part (or even the opposite values). This is the case for navigation; turning left is the opposite of turning right.
This implies there is duplicate information, which the solution can take advantage of. Large problems will very often exhibit a certain level of redundancy. To extract this information, we need to make use of our own abstract thought and pattern-recognition abilities.
Tightness of the Solution
In the problem domain, particular combinations of inputs and outputs are classified as "valid" solutions (see Figure 21.7). For simple problems, the ratio of valid configurations over the total number will be very large (for instance, obstacle avoidance has much freedom in open space). With tougher problems, there will be significantly fewer valid solutions. (For instance, wall following required precise actions in each case.)
Figure 21.7. Two example problem domains. Above, the configurations are symmetrical. Below, different areas of the domain have different complexity.
Variable Complexity of Subdomains
Nature of the Problem
Analysis of the problem parameters can reveal indirect dependencies involving more than just two variables (for instance, symmetry and conditional dependence). Conceptually, we can understand this as a direct dependency with hidden parameters. Expressing these parameters explicitly can help us understand the true nature of the problem (see Figure 21.8).
Figure 21.8. The problem has hidden parameters (shot difficulty and proximity) that are mostly independent from each other, but establish dependencies between the inputs and outputs.
This isn't straightforward to understand, so let's use target selection as an example. It's possible to learn to estimate the potential damage of a targeted rocket based on the state of the enemy. However, there's a hidden concept there: the prediction of the enemy's future position. Indeed, the damage estimate depends on this prediction. So, internally, the problem can be split up to expose the prediction aspect. Alternatively, we can use a rough prediction as an additional input to assist the solution.