Building a controller is one common use for a learned model. Suppose there is data showing the mapping from current states and control variable settings to resulting outputs from a system, and suppose that data has been used to build a model. What we would like to do then, is to give the learner the current state and the desired result, and have it choose an action that will achieve that result. Fig. 27 shows examples of control to target problems.
Figure 27: Examples of control to target problems
Figure 28: a) Forward model for a controller, b) Inverse model for a controller, c) what a correct inverse model would look like for this data.
There are two kinds of models that can be used to build controllers, called forward and inverse models. Suppose we have a system with one control variable, and one output variable, and we want to choose a control (or action) to achieve a desired output (behavior). An inverse model is one that maps outputs onto the controls that cause them, while a forward model maps controls onto resulting outputs. Examples of the two kinds of models are shown in fig. 28. You can create these models with Vizier as follows:
File -> Open -> control.mbl Edit -> Format -> action output behavior input Edit -> Metacode -> Q50:9 Model -> Graph -> Graph Edit -> Format -> action input behavior output Edit -> Metacode -> Q50:9 Model -> Graph -> Graph