- derive and execute a plan π to achieve the current goals,
- get feedback about π's success, and
- compute the individual rules' frequencies and in turn their suspiciousness/reliability to be considered when making future decisions (when deriving future plans).
Please note that we use the terms actions and rules interchangeably in this manuscript, since technically we reason with rules that describe a system's actions.
Formally and from an abstract point of view, for adopting SFL in our dynamic context, we have to add another row to A for specifying which rules were part of π whenever some plan π failed or succeeded. Furthermore, we have to enlarge the error vector e to report also whether π failed or not. From A and e, we can compute similarity coefficients via the formulae depicted in the previous section. In principle, also a sliding window could be used such as to only consider recent data, which might be desirable for some dynamic applications.
In practice, the computation is less complex since we can keep track of all the rules' four frequencies' values, and whenever a plan π fails or succeeds, we increase the appropriate frequencies by one and recalculate the coefficients. In our context, we do not establish a ranking with these values, but consider them as reliability measures for the corresponding rule. This value describes how likely a component is failing, so that like for standard SFL applications we have that the lower the value, the less likely a component is to cause troubles. A plan's reliability is then computed from the reliability of its individual actions as follows: