Go backward to Determining conditions and actions.
Go up to Learning in Soar.
Go forward to Ordering conditions.
Variablizing identifiers
========================
Chunks are constructed by examining the traces which include working memory
elements and preferences. To achieve any useful transfer of chunks,
identifiers of actual objects must be replaced by variables when the chunk is
created. A constant value is never variablized; the actual value appears
directly in the chunk.
When a chunk is built, all occurrences of the same identifier are replaced
with the same variable. This can lead to an overspecific chunk, when two
variables are forced to be the same in the chunk, even though distinct
variables in the original productions just happened to match the same
identifier.
A chunk's conditions are also constrained by any not-equal (<>) tests for
pairs of indentifiers used in the conditions of productions that are included
in the chunk. These tests are saved in the production traces and then added
in to the chunk.