@@ -43,11 +43,12 @@ rules that are qualitatively more general and expressive. In fact, any element
43
43
of a learned rule can now be variablized, and learned rules now have the full
44
44
expressive power of hand-written rules.
45
45
46
- Figure 4.1 shows an example of an explanation-based chunk and how it differs
47
- from a chunk learned from the original algorithm. It is interesting to note that
48
- in Soar 9.4, the arithmetic agent learns 1263 rules like the one on the
49
- left-side of the figure. In Soar 9.6, the same agent only learns 8 rules like
50
- the one on the right because they are so much more general.
46
+ The following side-by-side code comparison shows an example of an
47
+ explanation-based chunk and how it differs from a chunk learned from the
48
+ original algorithm. It is interesting to note that in Soar 9.4, the arithmetic
49
+ agent learns 1263 rules like the one on the left-side of the figure. In Soar
50
+ 9.6, the same agent only learns 8 rules like the one on the right because they
51
+ are so much more general.
51
52
52
53
<div class =" grid cards " markdown >
53
54
@@ -195,10 +196,11 @@ gamut of tests that hand-written rules can and can have any element variablized.
195
196
196
197
- Every condition and action in the explanation trace has three elements:
197
198
- For conditions, the three elements refer to the symbol in the positive
198
- equality test for the identifier, attribute and value of the condition. For
199
- example, the last condition of rule 2 in Figure 4.4 has ` <s> ` as the
200
- identifier element, number as the attribute element, and ` <y> ` as the value
201
- element.
199
+ equality test for the identifier, attribute and value of the condition.
200
+ For example, the last condition of rule 2 in the
201
+ <a href =" #fig_explanation_trace " >explanation trace figure</a > has ` <s> ` as
202
+ the identifier element, number as the attribute element, and ` <y> ` as
203
+ the value element.
202
204
- For actions, the three elements refer to the identifier, attribute and
203
205
value of the WME being created.
204
206
- An element is either a variable, like ` <s> ` or a literal constant, like ` 23 ` ,
@@ -233,11 +235,13 @@ shared identity:
233
235
interaction between the two rules indicates a shared identity between their
234
236
corresponding variables.
235
237
238
+ <p id =" fig_explanation_trace " />
236
239
![ An explanation trace of two simple rules that matched in a substate.] ( Images/chunking-trace2.png )
237
240
238
241
To get a better picture of what a shared identity is, consider the two simple
239
242
rules and the explanation trace of how they matched in a substate as shown in
240
- Figure 4.4. The connection between rule 2 and rule 1 will unify the identities
243
+ the <a href =" #fig_explanation_trace " >explanation trace figure</a >.
244
+ The connection between rule 2 and rule 1 will unify the identities
241
245
of ` <s> ` ,` <x> ` an ` <y> ` in rule 1 with the identities of ` <s> ` ,` <x> ` an ` <y2> `
242
246
in rule 2. So, the ` <x> ` in rule 2 shares the same identity as the ` <x> ` in rule
243
247
@@ -252,7 +256,8 @@ sharing an identity, the only thing that matters is how the rules interact,
252
256
namely whether there’s a connection between elements in the condition of one
253
257
rule and elements in the actions of another rule.
254
258
255
- All literal values, for example all of the attribute in Figure 4.4 (superstate,
259
+ All literal values, for example all of the attribute in the
260
+ <a href =" #fig_explanation_trace " >explanation trace figure</a > (superstate,
256
261
number, intermediate1, etc.) are considered members of the ` NULL ` identity.
257
262
258
263
Variable identities can also be mapped to the NULL identity, which means that
@@ -275,10 +280,12 @@ ways that a rule interaction can effect an identity literalization:
275
280
276
281
Identities are the basis of nearly every mechanism in explanation-based
277
282
chunking. EBC’s identity analysis algorithm, which is a fairly complicated
278
- process, determines all shared identities in an explanation trace. Figure 4.5
283
+ process, determines all shared identities in an explanation trace. The following
284
+ <a href =" #fig_explanation_trace_after_identity_analysis " >figure</a >
279
285
shows an explanation trace after identity analysis has been performed. Elements
280
286
that share an identity in the figure are colored the same.
281
287
288
+ <p id =" fig_explanation_trace_after_identity_analysis " />
282
289
![ An explanation trace after identity analysis.] ( Images/chunking-trace-identity.png )
283
290
284
291
While it’s not readable in this figure, note that each identity is assigned a
0 commit comments