23.02.2015 Views

Machine Learning - DISCo

Machine Learning - DISCo

Machine Learning - DISCo

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

FIGURE 11.3<br />

Computing the weakest preimage of SafeToStack(0 bj 1, Obj2) with respect to the explanation. The<br />

target concept is regressed from the root (conclusion) of the explanation, down to the leaves. At each<br />

step (indicated by the dashed lines) the current frontier set of literals (underlined in italics) is regressed<br />

backward over one rule in the explanation. When this process is completed, the conjunction of<br />

resulting literals constitutes the weakest preimage of the target concept with respect to the explanation.<br />

This weakest preimage is shown by the italicized literals at the bottom of the figure.<br />

resulting in a set of generalized literals for the leaf nodes of the tree. This final<br />

set of literals, shown at the bottom of Figure 11.3, forms the body of the final<br />

rule.<br />

The heart of the regression procedure is the algorithm that at each step regresses<br />

the current frontier of expressions through a single Horn clause from the<br />

domain theory. This algorithm is described and illustrated in Table 11.3. The illustrated<br />

example in this table corresponds to the bottommost single regression step<br />

of Figure 11.3. As shown in the table, the REGRESS algorithm operates by finding<br />

a substitution that unifies the head of the Horn clause rule with the corresponding<br />

literal in the frontier, replacing this expression in the frontier by the rule body,<br />

then applying a unifying substitution to the entire frontier.<br />

The final Horn clause rule output by PROLOG-EBG is formulated as follows:<br />

The clause body is defined to be the weakest preconditions calculated by the above<br />

procedure. The clause head is the target concept itself, with each substitution from<br />

each regression step (i.e., the substitution Oh[ in Table 11.3) applied to it. This<br />

substitution is necessary in order to keep consistent variable names between the<br />

head and body of the created clause, and to specialize the clause head when the

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!