From 17a3026900faea6f4a508b56ee9aecd5f4ce2e61 Mon Sep 17 00:00:00 2001 From: Moritz Schmidt Date: Thu, 29 Aug 2024 12:25:07 +0200 Subject: [PATCH 1/3] Update Manual Syntax and Learning and Tutorial Planning This allow the div HTML elements for grid views --- .markdownlint.json | 5 + docs/soar_manual/03_SyntaxOfSoarPrograms.md | 2 +- .../04_ProceduralKnowledgeLearning.md | 1042 ++++++++++------- .../Images/chunking-rule-formation.png | Bin 78670 -> 0 bytes .../Images/chunking_comparison.png | Bin 229376 -> 0 bytes docs/tutorials/soar_tutorial/05.md | 60 +- includes/abbreviations.md | 2 + 7 files changed, 641 insertions(+), 470 deletions(-) delete mode 100644 docs/soar_manual/Images/chunking-rule-formation.png delete mode 100644 docs/soar_manual/Images/chunking_comparison.png diff --git a/.markdownlint.json b/.markdownlint.json index 51080c6a..a0eda482 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -20,5 +20,10 @@ }, "MD025": { "front_matter_title": "" + }, + "MD033": { + "allowed_elements": [ + "div" + ] } } diff --git a/docs/soar_manual/03_SyntaxOfSoarPrograms.md b/docs/soar_manual/03_SyntaxOfSoarPrograms.md index 4ca12fbe..01c27c4f 100644 --- a/docs/soar_manual/03_SyntaxOfSoarPrograms.md +++ b/docs/soar_manual/03_SyntaxOfSoarPrograms.md @@ -1938,7 +1938,7 @@ After this rule fires, working memory might look like: `(S1 ^heading 526.432 ^true-heading 166.5)`. **size** — This function returns an integer symbol whose value is the count of -WME aug- mentations on a given ID argument. Providing a non-ID argument results +WME augmentations on a given ID argument. Providing a non-ID argument results in an error. For example: ```Soar diff --git a/docs/soar_manual/04_ProceduralKnowledgeLearning.md b/docs/soar_manual/04_ProceduralKnowledgeLearning.md index 12accbe2..57e315d5 100644 --- a/docs/soar_manual/04_ProceduralKnowledgeLearning.md +++ b/docs/soar_manual/04_ProceduralKnowledgeLearning.md @@ -1,3 +1,4 @@ + {{manual_wip_warning}} # Procedural Knowledge Learning @@ -5,13 +6,13 @@ ## Chunking Chunking is Soar’s experience-based mechanism for learning new procedural -knowledge. Chunking utilizes Soar’s impasse-driven model of problem +knowledge. Chunking utilizes Soar’s impasse-driven model of problem decomposition into sub-goals to create new productions dynamically during task execution. These new productions, called **chunks**, summarize the substate problem-solving that occurred which led to new knowledge in a superstate. Whenever a rule fires and creates such new superstate knowledge, which are called **results**, Soar learns a new rule and immediately adds it to production -memory. In future similar situations, the new chunk will fire and create the +memory. In future similar situations, the new chunk will fire and create the appropriate results in a single step, which eliminates the need to spawn another subgoal to perform similar problem- solving. In other words, rather than contemplating and figuring out what to do, the agent immediately knows what to @@ -32,7 +33,8 @@ Note that Soar builds the chunk as soon as the result is created, rather than waiting until the impasse is resolved. While chunking is a core capability of Soar, procedural learning is disabled by -default. See section [usage](#usage) for more information about enabling and using chunking. +default. See section [usage](#usage) for more information about enabling and +using chunking. ## Explanation-based Chunking @@ -47,7 +49,90 @@ in Soar 9.4, the arithmetic agent learns 1263 rules like the one on the left-side of the figure. In Soar 9.6, the same agent only learns 8 rules like the one on the right because they are so much more general. -![A Soar 9.4.0 chunk (left) vs. an explanation-based chunk (right) in the arithmetic demo agent](Images/chunking_comparison.png) +
+ +```Soar title="Soar 9.4.0 chunk" +sp {chunk-94*process-column*apply + (state ^operator + ^arithmetic-problem + ^one-fact 1 + + ^top-state + ^arithmetic + ^arithmetic ) + ( ^name process-column) + ( ^operation subtraction + ^current-column ) + ( -^new-digit1 + ^digit1 0 + ^digit2 7 + ^next-column ) + ( ^digit1 0 + ^new-digit1 9 + ^next-column ) + ( ^digit1 5 + ^new-digit1 4) + ( ^subtraction-facts + ^subtraction-facts + ^subtraction-facts ) + ( ^add10-facts ) + + ( ^digit1 0 + ^digit-10 10) + + + ( ^digit1 10 ^digit2 1 + ^result 9) + ( ^digit1 5 ^digit2 1 + ^result 4) + ( ^digit1 10 ^digit2 7 + ^result 3) + --> + ( ^result 3)} +``` + + +```Soar hl_lines="4 5 13 14 16 17 19 20 25-35 37" title="Soar 9.6.0 explanation-based chunk" +sp {chunk-96*process-column*apply + (state ^operator + ^arithmetic-problem + ^one-fact + ^one-fact + ^top-state + ^arithmetic + ^arithmetic ) + ( ^name process-column) + ( ^operation subtraction + ^current-column ) + ( -^new-digit1 + ^digit1 { < } + ^digit2 + ^next-column ) + ( ^digit1 { < } + ^new-digit1 + ^next-column ) + ( ^digit1 { >= } + ^new-digit1 ) + ( ^subtraction-facts + ^subtraction-facts + ^subtraction-facts ) + ( ^add10-facts + ^add10-facts ) + ( ^digit1 + ^digit-10 { >= }) + ( ^digit1 + ^digit-10 { >= }) + ( ^digit1 ^digit2 + ^result ) + ( ^digit1 ^digit2 + ^result ) + ( ^digit1 ^digit2 + ^result ) + --> + ( ^result )} +``` + +
To achieve this generality, chunking needs information about why rules matched in a sub-state and how those rules interacted. This allows it to determine what @@ -84,14 +169,15 @@ to be dependent on the operator in the super-state that led to it, which means that chunks learned which tested that `^item` augmentation will cause the chunk to also be dependent on the operator in the superstate. -Similarly, architectural instantiations are created for structures recalled by semantic and episodic memory in the substate. +Similarly, architectural instantiations are created for structures recalled by +semantic and episodic memory in the substate. -All of the instantiations that were created in a substate form the *instantiation -graph* of that substate. As chunking **backtraces** through the instantiation graph, it -determines the subset of instantiations that contributed to a result. This set -of instantiations and the connections between them composes the explanation -trace for a learning episode. (So, the explanation trace is a subgraph of the -instantiation graph.) +All of the instantiations that were created in a substate form the +_instantiation graph_ of that substate. As chunking **backtraces** through the +instantiation graph, it determines the subset of instantiations that contributed +to a result. This set of instantiations and the connections between them +composes the explanation trace for a learning episode. (So, the explanation +trace is a subgraph of the instantiation graph.) ![A visualization of the explanation trace of a chunk learned by the arithmetic agent. Each box represents a rule that fired in the substate. Arrows show dependencies between rules that create working memory elements and conditions that test those working memory elements.](Images/chunking-trace.png) @@ -100,51 +186,52 @@ problem-solving episode and (2) what constraints on those variables had to be met in order for the substate rules to match. EBC then uses the results of this analysis to create more expressive and general rules, which can contain the full gamut of tests that hand-written rules can and can have any element variablized. + ## Overview of the EBC Algorithm **Basic concepts**: -- Every condition and action in the explanation trace has three elements: - - For conditions, the three elements refer to the symbol in the positive - equality test for the identifier, attribute and value of the condition. For - example, the last condition of rule 2 in Figure 4.4 has `` as the - identifier element, number as the attribute element, and `` as the value - element. - - For actions, the three elements refer to the identifier, attribute and - value of the WME being created. -- An element is either a variable, like `` or a literal constant, like `23`, - `3.3`, or `someString` +- Every condition and action in the explanation trace has three elements: + - For conditions, the three elements refer to the symbol in the positive + equality test for the identifier, attribute and value of the condition. For + example, the last condition of rule 2 in Figure 4.4 has `` as the + identifier element, number as the attribute element, and `` as the value + element. + - For actions, the three elements refer to the identifier, attribute and + value of the WME being created. +- An element is either a variable, like `` or a literal constant, like `23`, + `3.3`, or `someString` ### Identity Before we can discuss the algorithm, we must first define one of its central -concepts: *identity*. - -- **An identity is the set of all variables in a trace that refer to the same -underlying object.** - - So we can say that two *variables* are said to *share an identity* if they - both refer to the same underlying object. -- **The NULL identity is a special identity that indicates an element which -cannot be generalized and must contain a specific value.** - - All elements in the original rule that reference specific constant values - are trivially assigned the NULL identity. - - A variable’s identity can also be *mapped to the NULL identity*. When this hap- - pens, we say the identity has been **literalized**. - -EBC traverses an explanation trace of the problem-solving that occurred in the substate -to determine which variables in different rule instances refer to the same underlying object. -There are two ways that an explanation trace can show a shared identity: - -1. Variables that have the same name and are in the same rule firing will share - an identity This is the trivial case. The basic semantics of rules implies that - the same variable in a rule references the same underlying object. -2. If a RHS action of one rule creates a WME and a LHS condition of another - rules tests that same WME, then all variables in the condition and actions will - possess the same identity as their counterpart’s corresponding element. The - interaction between the two rules indicates a shared identity between their - corresponding variables. +concepts: _identity_. + +- **An identity is the set of all variables in a trace that refer to the same + underlying object.** - So we can say that two _variables_ are said to _share + an identity_ if they both refer to the same underlying object. +- **The NULL identity is a special identity that indicates an element which + cannot be generalized and must contain a specific value.** - All elements in + the original rule that reference specific constant values are trivially + assigned the NULL identity. - A variable’s identity can also be _mapped to the + NULL identity_. When this hap- pens, we say the identity has been + **literalized**. + +EBC traverses an explanation trace of the problem-solving that occurred in the +substate to determine which variables in different rule instances refer to the +same underlying object. There are two ways that an explanation trace can show a +shared identity: + +1. Variables that have the same name and are in the same rule firing will share + an identity This is the trivial case. The basic semantics of rules implies that + the same variable in a rule references the same underlying object. +2. If a RHS action of one rule creates a WME and a LHS condition of another + rules tests that same WME, then all variables in the condition and actions will + possess the same identity as their counterpart’s corresponding element. The + interaction between the two rules indicates a shared identity between their + corresponding variables. ![An explanation trace of two simple rules that matched in a substate.](Images/chunking-trace2.png) @@ -153,12 +240,13 @@ rules and the explanation trace of how they matched in a substate as shown in Figure 4.4. The connection between rule 2 and rule 1 will unify the identities of `` ,`` an `` in rule 1 with the identities of `` ,`` an `` in rule 2. So, the `` in rule 2 shares the same identity as the `` in rule -1. Similarly, the `` in rule 2 shares the same identity as `` in rule 1. -In contrast, the `` in rule 2 does NOT share the same identity as the `` -in rule 1. + +1. Similarly, the `` in rule 2 shares the same identity as `` in rule 1. + In contrast, the `` in rule 2 does NOT share the same identity as the `` + in rule 1. It doesn’t matter that the `` in rule 1 uses the same variable name as -the`` in rule 2. It also doesn’t matter that both conditions with `` +the`` in rule 2. It also doesn’t matter that both conditions with `` happen to match the same working memory element, `(S1 ^number 3)`. In terms of sharing an identity, the only thing that matters is how the rules interact, namely whether there’s a connection between elements in the condition of one @@ -172,18 +260,18 @@ any elements in the final rule that share that identity will not be variablized. When this happens, we say that the identity has been literalized. There are two ways that a rule interaction can effect an identity literalization: -1. If a RHS action of one rule creates a WME element using a constant, literal - value in an element and a LHS condition tests that element, then the identity of - the condition’s variables is literalized and mapped to the NULL identity. - Because the variable in the condition matched a rule that will always create the - same constant, literal value, the condition’s variable must have that same - value. Otherwise, it would not have matched. -2. If a RHS action of one rule creates a WME element using a variable and a LHS - condition tests that that element is a specific value, then the identity of the - action’s variables is literalized and mapped to the NULL identity. Because the - condition requires that the rule that created the matched WME to have a specific - constant, literal value, the action’s variable must have that same value. - Otherwise, it would not have created something that matched the condition. +1. If a RHS action of one rule creates a WME element using a constant, literal + value in an element and a LHS condition tests that element, then the + identity of the condition’s variables is literalized and mapped to the NULL + identity. Because the variable in the condition matched a rule that will + always create the same constant, literal value, the condition’s variable + must have that same value. Otherwise, it would not have matched. +2. If a RHS action of one rule creates a WME element using a variable and a LHS + condition tests that that element is a specific value, then the identity of the + action’s variables is literalized and mapped to the NULL identity. Because the + condition requires that the rule that created the matched WME to have a specific + constant, literal value, the action’s variable must have that same value. + Otherwise, it would not have created something that matched the condition. Identities are the basis of nearly every mechanism in explanation-based chunking. EBC’s identity analysis algorithm, which is a fairly complicated @@ -198,44 +286,44 @@ numeric ID. Both the explainer and the visualizer annotate elements of an explanation with the identity ID in square brackets. These numbers are simply syntactic sugar to ease debugging and make traces easier to understand. Underneath the hood, every test in a condition has a pointer to more complicated -identity data structure that will be discussed in more detail in Section +identity data structure that will be discussed in more detail in Section [Identity Assignment and Propagation](#identity-assignment-and-propagation) on the identity graph. ![Note that the two rows on the bottom indicate when each component occurs during Soar’s processing.](Images/chunking-ebc-components.png) - ### The Five Main Components of Explanation-Based Chunking -1. **Identity analysis** - This component determines which variables in an explanation trace share the same - identity. It also determines which identities are ineligible for variablization because - they were tested against literal values in some rules. - Note that this component has two distinct mechanisms that occur at very different - times. The first mechanism, identity propagation, occurs constantly while problem- - solving in the substate. The second mechanism, identity graph manipulation, occurs - during the learning episode. -2. **Relevant operator selection knowledge tracking** - This component also occurs before the learning episode. Whenever an operator is se- - lected, it analyzes what rule firings contributed necessary operator selection preferences - and caches them in all rule instances that tests that operator. -3. **Constraint tracking** - This component keeps track of every value or relational constraint (e.g. `<> - ,>= 3.14,<< disjunction of constants >>`) placed on the various variables - that share an identity. It is used by the rule formation component to make - sure that the learned rule only fires when all constraints required are met. -4. **Operationality analysis** - This component determines which conditions in an - explanation trace tested working memory elements in a superstate. The rule - formation component will use these conditions as a basis for the left-hand side - of the chunk. While it does have a few key new differences, this is the one step - that is similar to previous versions of chunking. -1. **Rule Formation** - The above four components performed the analysis that EBC needs to form a - general but correct rule. This final component uses the results of that - analysis to actually build the new rule. This is a complex component that has - seven different stages. If a valid rule is created, Soar immediately adds the - rule to production memory. +1. **Identity analysis** + This component determines which variables in an explanation trace share the + same identity. It also determines which identities are ineligible for + variablization because they were tested against literal values in some + rules. Note that this component has two distinct mechanisms that occur at + very different times. The first mechanism, identity propagation, occurs + constantly while problem- solving in the substate. The second mechanism, + identity graph manipulation, occurs during the learning episode. +2. **Relevant operator selection knowledge tracking** + This component also occurs before the learning episode. Whenever an operator + is selected, it analyzes what rule firings contributed necessary operator + selection preferences and caches them in all rule instances that tests that + operator. +3. **Constraint tracking** + This component keeps track of every value or relational constraint (e.g. `<> + ,>= 3.14,<< disjunction of constants >>`) placed on the various variables + that share an identity. It is used by the rule formation component to make + sure that the learned rule only fires when all constraints required are met. +4. **Operationality analysis** + This component determines which conditions in an + explanation trace tested working memory elements in a superstate. The rule + formation component will use these conditions as a basis for the left-hand side + of the chunk. While it does have a few key new differences, this is the one step + that is similar to previous versions of chunking. +5. **Rule Formation** + The above four components performed the analysis that EBC needs to form a + general but correct rule. This final component uses the results of that + analysis to actually build the new rule. This is a complex component that has + seven different stages. If a valid rule is created, Soar immediately adds the + rule to production memory. The following sections will describe each component in more detail. @@ -263,44 +351,45 @@ during the problem- solving. Identities are not simply IDs. Each identity is a declarative object that describes a set of variables across multiple rule firings and the various properties they hold. -*When an instantiation is created, EBC assigns all elements of every condition -and action to an identity, creating new identities as necessary.* Identities are +_When an instantiation is created, EBC assigns all elements of every condition +and action to an identity, creating new identities as necessary._ Identities are created and propagated using the following rules: -1. If the same variable appears in multiple places in the same rule, it must be - assigned the same identity. -1. The NULL Identity is assigned to any element with a literal value in the - original rule. -1. A new identity is created and assigned for: - - All right-hand side action elements that produce a new Soar identifier in - the substate These are also known as unbound RHS variables. - - All variable elements of conditions that matched superstate WMEs It is - important to note that if two conditions both match the same superstate WME, - each condition is considered independent. This means that each condition is - assigned new identities for each of its elements and will produce its own - condition in the final learned rule. This is a key way that EBC differs - from previous versions of chunking. -1. An existing identity is propagated for: - - Any condition element that matched a substate WME with existing identities - Each element is assigned the identity found in the corresponding element of - the action of the rule that created that WME. This propagates identities - forward through the explanation trace, which allows us to represent that the - variable in the condition refers to the same object as the variable in the - action of the other rule. - - Any element that matches special working memory elements called singletons - are assigned the same identity. Singletons are working memory elements that - are guaranteed to only have a single possible value in a state. The most - important singleton is the local `^superstate` singleton, which is an - architecturally created WME that links the substate to the superstate, for - example `(S2 ^superstate S1)`. Since we know that it’s impossible for there to - be two superstate features in a state, all conditions that test that - singleton WME will be assigned the same identities. While there are a - variety of built-in singletons for architecturally-created WMEs, users can - also specify their own domain-specific singletons to eliminate unnecessary - generality when learning. See section - [Using Singletons to Simplify a Rule's Conditions](#using-singletons-to-simplify-a-rules-conditions). - The full list of architecturally-created singletons can be found - in the [`chunk` command’s](../reference/cli/cmd_chunk.md) help entry. +1. If the same variable appears in multiple places in the same rule, it must be + assigned the same identity. +1. The NULL Identity is assigned to any element with a literal value in the + original rule. +1. A new identity is created and assigned for: + - All right-hand side action elements that produce a new Soar identifier in + the substate These are also known as unbound RHS variables. + - All variable elements of conditions that matched superstate WMEs It is + important to note that if two conditions both match the same superstate + WME, each condition is considered independent. This means that each + condition is assigned new identities for each of its elements and will + produce its own condition in the final learned rule. This is a key way + that EBC differs from previous versions of chunking. +1. An existing identity is propagated for: + - Any condition element that matched a substate WME with existing identities + Each element is assigned the identity found in the corresponding element + of the action of the rule that created that WME. This propagates + identities forward through the explanation trace, which allows us to + represent that the variable in the condition refers to the same object + as the variable in the action of the other rule. + - Any element that matches special working memory elements called singletons + are assigned the same identity. Singletons are working memory elements + that are guaranteed to only have a single possible value in a state. The + most important singleton is the local `^superstate` singleton, which is + an architecturally created WME that links the substate to the + superstate, for example `(S2 ^superstate S1)`. Since we know that it’s + impossible for there to be two superstate features in a state, all + conditions that test that singleton WME will be assigned the same + identities. While there are a variety of built-in singletons for + architecturally-created WMEs, users can also specify their own + domain-specific singletons to eliminate unnecessary generality when + learning. See section + [Using Singletons to Simplify a Rule's Conditions](#using-singletons-to-simplify-a-rules-conditions). + The full list of architecturally-created singletons can be found + in the [`chunk` command’s](../reference/cli/cmd_chunk.md) help entry. Note that rule 1 may conflict with other rules. For example, if a variable appears in two different conditions, then two different identities may propagate @@ -328,14 +417,14 @@ that substate. In practice, however, it may make sense to design an agent so that search control does affect the correctness of search. Here are just two examples: -1. Some of the tests for correctness of a result are included in productions -that prefer operators that will produce correct results. The system will work -correctly only when those productions are loaded. -2. An operator is given a worst preference, indicating that it should be used -only when all other options have been exhausted. Because of the semantics of -worst, this operator will be selected after all other operators; however, if -this operator then produces a result that is dependent on the operator occurring -after all others, this fact will not be captured in the conditions of the chunk. +1. Some of the tests for correctness of a result are included in productions + that prefer operators that will produce correct results. The system will work + correctly only when those productions are loaded. +2. An operator is given a worst preference, indicating that it should be used + only when all other options have been exhausted. Because of the semantics of + worst, this operator will be selected after all other operators; however, if + this operator then produces a result that is dependent on the operator occurring + after all others, this fact will not be captured in the conditions of the chunk. In both of these cases, part of the test for producing a result is implicit in search control productions. This move allows the explicit state test to be @@ -361,31 +450,32 @@ encoded in the operator evaluation rules. Specifically, this component does two things: -1. When an operator is selected, it analyzes the operator preferences that led -to the decision, and caches any operator selection knowledge that played a -necessary role in the selection. -All necessity preferences, i.e. prohibit and require preferences, are always -included in the ROSK since they inherently encode the correctness of whether an -operator is applicable in a problem space. In contrast, some desirability -preferences (rejects, betters, worses, bests, worsts and indifferents) are -included in the ROSK depending on the role they play in the selection of the -operator. How Soar determines which of those preferences to include in the ROSK -is determined by the preference semantics it uses to choose an operator. During -the decision phase, operator preferences are evaluated in a sequence of seven -steps or filters, in an effort to select a single operator, as described in -Section 2.4.2. Each step, or filter, handles a specific type of preference. As -the preference semantics are applied at each step to incrementally filter the -candidate operators to a potential selected operator, EBC incrementally adds -operator preferences to the ROSK based on the preferences that were instrumental -in applying each filter. A more detailed explanation of the logic used at each -step can be found in Section 4.6.15. -2. When an o-supported rule matches, EBC caches the operator’s ROSK in the -instantiation of that rule. Since that selection knowledge was necessary to -select the operator needed for the rule to match, chunking must backtrace -through that knowledge. The operationality analysis component uses the cached -ROSK to do this and incorporate the necessary operator selection reasoning -knowledge into the learned rule. For some types of agent designs, including -operator selection knowledge is needed to ensure correctness. +1. When an operator is selected, it analyzes the operator preferences that led + to the decision, and caches any operator selection knowledge that played a + necessary role in the selection. + All necessity preferences, i.e. prohibit and require preferences, are always + included in the ROSK since they inherently encode the correctness of whether + an operator is applicable in a problem space. In contrast, some desirability + preferences (rejects, betters, worses, bests, worsts and indifferents) are + included in the ROSK depending on the role they play in the selection of the + operator. How Soar determines which of those preferences to include in the + ROSK is determined by the preference semantics it uses to choose an + operator. During the decision phase, operator preferences are evaluated in a + sequence of seven steps or filters, in an effort to select a single + operator, as described in Section 2.4.2. Each step, or filter, handles a + specific type of preference. As the preference semantics are applied at each + step to incrementally filter the candidate operators to a potential selected + operator, EBC incrementally adds operator preferences to the ROSK based on + the preferences that were instrumental in applying each filter. A more + detailed explanation of the logic used at each step can be found in Section + 4.6.15. +2. When an o-supported rule matches, EBC caches the operator’s ROSK in the + instantiation of that rule. Since that selection knowledge was necessary to + select the operator needed for the rule to match, chunking must backtrace + through that knowledge. The operationality analysis component uses the cached + ROSK to do this and incorporate the necessary operator selection reasoning + knowledge into the learned rule. For some types of agent designs, including + operator selection knowledge is needed to ensure correctness. ## What EBC Does During the Learning Episode @@ -401,10 +491,11 @@ learning episode begins. ### Calculating the Complete Set of Results -A chunk’s actions are built from the results of a subgoal. Aresultis any working memory -element created in the substate that is linked to a superstate. A working memory element is -linked if its identifier is either the value of a superstate WME, or the value of an augmentation -for an object that is linked to a superstate. +A chunk’s actions are built from the results of a subgoal. Aresultis any +working memory element created in the substate that is linked to a superstate. +A working memory element is linked if its identifier is either the value of a +superstate WME, or the value of an augmentation for an object that is linked to +a superstate. The results produced by a single production firing are the basis for creating the actions of a chunk. A new result can lead to other results by linking a @@ -429,7 +520,7 @@ were used to produce a result. If an instantiation being backtraced through tested a selected operator, EBC will backtrace through each instantiation that created a preference in that operator’s relevant operator selection knowledge set. This behavior is off by -default and can be enabled with chunk add-osk on(See Section 9.4.1.5.) +default and can be enabled with [`chunk add-osk on`](../reference/cli/cmd_chunk.md). Multiple components of EBC perform their work during backtracing: operationality analysis, identity analysis and constraint tracking. The following sections will @@ -440,7 +531,7 @@ backtracing. The traditional core function of chunking’s backtracing is to determine which conditions in the working memory trace tested working memory elements accessible -to the superstate. These conditions will form the left-hand side of the rule. +to the superstate. These conditions will form the left-hand side of the rule. The determination of which conditions to include is analogous to the concept of operationality in explanation-based techniques. In classic EBL literature, @@ -492,27 +583,27 @@ second phase achieves these corrections by building an identity graph, which represent the identities involved during problem-solving, and manipulating it as it backtraces through the explanation trace. -**The Identity Graph** +##### The Identity Graph The identity graph initially contains a node for each identity used in the -explanation trace. Each node can have multiple edges that point to children +explanation trace. Each node can have multiple edges that point to children identities and a single directed join edge that initially points back to itself. As the agent backtraces through the explanation trace, EBC will manipulate the identity graph based on the condition-action pairs it encounters. -1. **Joining identities** - If a condition matches an action with a conflicting identity, EBC performs a - join operation between the two identities. This chooses one identity as - the joined identity and points the join edges of the other identity and any - previously joined identities to the new joined identity. Note that any time - EBC uses an element’s identity, it is actually using the joined identity. -2. **Literalizing identities** - If a condition/action with a variable element matches - an action/condition with a literal element, EBC marks the identity - as literalized. This means that any conditions in the final chunk that have - elements with that identity will be considered to have the NULL identity, just - like constants, and will not be variablized. Instead, the matched value will be - used for that element. +1. **Joining identities** + If a condition matches an action with a conflicting identity, EBC performs a + join operation between the two identities. This chooses one identity as + the joined identity and points the join edges of the other identity and any + previously joined identities to the new joined identity. Note that any time + EBC uses an element’s identity, it is actually using the joined identity. +2. **Literalizing identities** + If a condition/action with a variable element matches an action/condition + with a literal element, EBC marks the identity as literalized. This means + that any conditions in the final chunk that have elements with that identity + will be considered to have the NULL identity, just like constants, and will + not be variablized. Instead, the matched value will be used for that + element. #### Constraint Tracking @@ -529,21 +620,28 @@ To handle this limitation,EBC keeps track of all constraints found in non-operational conditions that it encounters while backtracing in the following manner: -- It stores constraints on the value a single identity, for example>= 0,< 23. -- It stores relational constraints between two identities, for example> -``, `< ` or `<> `. -- EBC stores all of these constraints based on the underlying identities, not -the variables used. For example, if a variablehad the constraint<> , -EBC would record that the variables that share the identity ofcannot have -the same value as variables that share the identity of. +- It stores constraints on the value a single identity, for example>= 0,< 23. +- It stores relational constraints between two identities, for example> + ``, `< ` or `<> `. +- EBC stores all of these constraints based on the underlying identities, not + the variables used. For example, if a variable `` had the constraint `<> +`, EBC would record that the variables that share the identity of + `` cannot have the same value as variables that share the identity of + ``. ### Rule Formation -![](Images/chunking-rule-formation.png) - There are seven distinct, sequential stages to rule formation. The following sections will give a brief overview of each one. +1. Conditions and Action Generation +2. Constraint Enforcement +3. Identity-based Generalization +4. Condition Merging +5. Condition Polishing +6. Rule Repair and Validation +7. Condition Re-Ordering + #### Condition and Action Creation This stage creates the basis for the left-hand and right-hand side of the rule. @@ -563,7 +661,7 @@ enforce the constraint by adding a new test to that condition. One situation in which attaching a constraint can be tricky occurs when the constrained identity has been literalized but the constraint itself refers to an -identity that has not been literalized, for example{ > 3 }. While that +identity that has not been literalized, for example `{ > 3 }`. While that constraint references a condition element that can only match a value of 3 , the relationship between 3 and the identity o `` must still hold (assuming `` appears in a different element somewhere else in the rule.) Since these @@ -582,7 +680,7 @@ variablization has already been performed by the identity analysis component. So, this step simply needs to replace all elements with non-NULL identities with variables, making sure that elements with the same joined identity are assigned -the same variable. This step also makes sure to skip and elements with +the same variable. This step also makes sure to skip and elements with identities that have been flagged as literalized. #### Merging Redundant Conditions @@ -601,15 +699,15 @@ EBC polishes the conditions of the learned rule by pruning unnecessary constraints on literalized elements and replacing multiple disjunction constraints with a single simplified dis- junction. - -1. Merging disjunctions: If an element in a condition has two disjunction tests, the - constraints will be merged into a single disjunction that contains only the shared val- - ues. `{ << a b c >> << b c d >> }` becomes `{ <> }`, because it is - impossible fo `` to be either a or b. This will also eliminate any duplicate disjunctions. -2. Throwing out unnecessary constraints: If an element in a condition has been -literalized but also has a literal constraint on its value, then the constraint -is unnecessary and will be thrown out. For example, ` ^value{ < 33 23 }` becomes -` ^value 23`. +1. Merging disjunctions: If an element in a condition has two disjunction + tests, the constraints will be merged into a single disjunction that + contains only the shared val- ues. `{ << a b c >> << b c d >> }` becomes `{ +<> }`, because it is impossible fo `` to be either a or b. This + will also eliminate any duplicate disjunctions. +2. Throwing out unnecessary constraints: If an element in a condition has been + literalized but also has a literal constraint on its value, then the + constraint is unnecessary and will be thrown out. For example, ` ^value{ < +33 23 }` becomes ` ^value 23`. #### Validating Rule and Repairing Unconnected Conditions @@ -666,15 +764,27 @@ when learning is on, a justification is not needed since the chunk will provide the correct support.) Justifications use all the components described in the following sections and -are even affected by the current chunk settings.[1](#footnote1) You +are even affected by the current chunk settings. You can even print justifications out like other rules. The only differences between chunks and justifications are: -1. Every condition and action in a justification contain the literal values that matched. - Justifications contain no variables.[2](#footnote2) -2. Justifications don’t contain any of the value constraints that a chunk would have. -3. Justifications get removed from production memory as soon as their conditions no - longer match. +???+ info +Even though justifications don’t contain variables, justifications can be over-general +because they don’t incorporate enough knowledge, for example, operator +selection knowledge. + +1. Every condition and action in a justification contain the literal values + that matched. Justifications contain no variables. + + ???+ info + Justifications can have variables in the negated conditions and negated + conjunctions of conditions. They just don’t have any variables in its + positive conditions. + +2. Justifications don’t contain any of the value constraints that a chunk would + have. +3. Justifications get removed from production memory as soon as their + conditions no longer match. ### Chunk Inhibition @@ -690,7 +800,6 @@ To prevent this, Soar uses inhibition. This means that each production that is built during chunking is considered to have already fired with an instantiation based on the exact set of working memory elements used to create it. - Note that inhibition does not prevent a newly learned chunk from immediately matching other working memory elements that are present and creating a new instantiation. @@ -740,7 +849,8 @@ subgoal, execute the same substate reasoning that it previously performed when learning the chunk, and produce the same results that the learned chunk produces. -Note that an over-general rule is an incorrect rule, but not all incorrect rules are over-general. +Note that an over-general rule is an incorrect rule, but not all incorrect +rules are over-general. ### Over-specialization and Over-generalization @@ -810,10 +920,10 @@ If those rules are modified so that they match the previous results by referencing them relative to the superstate than the the local substate, EBC will be able create a valid rule without any repair. -To detect when this is happening, use the chunk stats command. (See section -9.4.1.2 It will tell you if any of an agent’s learned rules that required -repair. If you instruct the explainer to record the chunk, you can also see -whether a specific chunk was repaired by looking at the chunk’s individual stats +To detect when this is happening, use the ['chunk' stats command](../reference/cli/cmd_chunk.md). +It will tell you if any of an agent’s learned rules that required repair. If +you instruct the explainer to record the chunk, you can also see whether a +specific chunk was repaired by looking at the chunk’s individual stats ### Missing Operator Selection Knowledge @@ -823,7 +933,7 @@ those rules needs to be incorporated in any rule learned. This topic is discussed in greater detail in Section 4.4.2. EBC will incorporate relevant operator selection knowledge if you enable the -chunk setting add-osk, which is off by default. (See Section 9.4.1.5.) +[chunk setting add-osk](../reference/cli/cmd_chunk.md), which is off by default. ### Generalizing Over Operators Selected Probabilistically @@ -863,7 +973,7 @@ learned. If you suspect that a rule may be over-general because of locally negated condition, you can verify whether such a condition was encountered during -backtracing by using the chunk stats command and explain stats command. See +backtracing by using the chunk stats command and explain stats command. See Sections 9.4.1.2 and 9.6.3.8 for more information. If such chunks are problematic, turning off chunking’s correctness filter @@ -922,7 +1032,7 @@ is why this potential source of incorrect rules is called disjunctive context conflation. If this type of reasoning is needed, agents can move the conflating WME to the -superstate. The rule learned would then produce only one result regardless of +superstate. The rule learned would then produce only one result regardless of the number of rules that repeatedly created that WME. ### Generalizing knowledge retrieved from semantic or episodic memory @@ -930,34 +1040,34 @@ the number of rules that repeatedly created that WME. Generalizing problem-solving based on knowledge recalled from an external memory system can be problematic for three main reasons. -1. **Knowledge can change after the learning episode** - Semantic knowledge can be modified by the agent. Different semantic knowledge can - effect different problem-solving, in which case a rule based on the original problem- - solving would be incorrect. -2. **Justification for a memory recall is opaque to agent** - EBC does not have access - to the reasoning behind why a piece of knowledge was recalled from a memory - system. For example, consider the case of a semantic memory that is recalled - because it has the highest level of activation at a particular time. In a future - situation, the same semantic memory may not be the most active, in which case - something else would be recalled and different problem-solving could occur. - Because of that possibility, the original rule is not guaranteed to produce the - same result and hence has the potential to be incorrect. (Note that this can - also occur with episodic memory queries.) -3. **Knowledge from semantic or episodic memory recalled directly into the - substate is considered local** - To understand why this is a problem, remember that a chunk’s conditions are - based on the conditions in the explanation trace that tested knowledge linked - to a superstate. (See section 4.5.2.1 for more information.) If semantic or - episodic memory is recalled directly into the substate, then any conditions - that test that recalled knowledge is considered local to the substate and - will not be included as a condition in the chunk. So, even though the - substate reasoning required some piece of semantic knowledge to exist, the - chunk will not require it. And, since the learned rule is not incorporating - some of the reasoning and constraints that involved the recalled knowledge, - the rule may be over-general. To avoid this situation, an agent can retrieve - the knowledge in a higher-level state rather than the substate in which the - rule is learned. +1. **Knowledge can change after the learning episode** + Semantic knowledge can be modified by the agent. Different semantic + knowledge can effect different problem-solving, in which case a rule based on + the original problem-solving would be incorrect. +2. **Justification for a memory recall is opaque to agent** + EBC does not have access + to the reasoning behind why a piece of knowledge was recalled from a memory + system. For example, consider the case of a semantic memory that is recalled + because it has the highest level of activation at a particular time. In a future + situation, the same semantic memory may not be the most active, in which case + something else would be recalled and different problem-solving could occur. + Because of that possibility, the original rule is not guaranteed to produce the + same result and hence has the potential to be incorrect. (Note that this can + also occur with episodic memory queries.) +3. **Knowledge from semantic or episodic memory recalled directly into the + substate is considered local** + To understand why this is a problem, remember that a chunk’s conditions are + based on the conditions in the explanation trace that tested knowledge linked + to a superstate. (See section 4.5.2.1 for more information.) If semantic or + episodic memory is recalled directly into the substate, then any conditions + that test that recalled knowledge is considered local to the substate and + will not be included as a condition in the chunk. So, even though the + substate reasoning required some piece of semantic knowledge to exist, the + chunk will not require it. And, since the learned rule is not incorporating + some of the reasoning and constraints that involved the recalled knowledge, + the rule may be over-general. To avoid this situation, an agent can retrieve + the knowledge in a higher-level state rather than the substate in which the + rule is learned. ### Learning from Instruction @@ -980,7 +1090,7 @@ instructions. Since conditions that test the recalled knowledge are not incorporated into the learned rule, it is very easy to learn over-general chunks. To avoid this, any substate rules which test recalled knowledge must also test superstate -structures that correspond to the recalled knowledge. Doing so removes the need +structures that correspond to the recalled knowledge. Doing so removes the need for the instructions to exist while avoiding over-generality by ensuring that structures in the superstate corresponding to those instructions are still being tested. Those conditions that test superstate WMEs will be generalized and @@ -991,51 +1101,54 @@ recalled instructions. ### Determining Which OSK Preferences are Relevant The following outline describes the logic that happens at each step. For a more -detailed description of the various filters (but not the ROSK) see Section 2.4.2 -on page 21. Note that depending on the set of preferences being processed, -impasses may occur at some of these stages, in which case, no operator is -selected and the ROSK is emptied. Moreover, if the candidate set is reduced to -zero or one, the decision process will exit with a finalized ROSK. For -simplicity’s sake, this explanation assumes that there are no impasses and the -decision process continues. - -Require Filter If an operator is selected based on a require preference, that -preference is added to the ROSK. The logic behind this step is straightforward, -the require preference directly resulted in the selection of the operator. - -Prohibit/Reject Filters If there exists at least one prohibit or reject -preference, all prohibit and reject preferences for the eliminated candidates -are added to the ROSK. The logic behind this stage is that the conditions that -led to the exclusion of the prohibited and rejected candidates is what allowed -the final operator to be selected from among that particular set of surviving -candidates. - -Better/Worse Filter For every candidate that is not worse than some other candidate, -add all better/worse preferences involving the candidate. - -Best FilterAdd any best preferences for remaining candidates to the ROSK. - -Worst Filter If any remaining candidate has a worst preference which leads to -that candidate being removed from consideration, that worst preference is -added to the ROSK. Again, the logic is that the conditions that led to that -candidate not being selected allowed the final operator to be chosen. - -Indifferent Filter This is the final stage, so the operator is now selected -based on the agent’s exploration policy. How indifferent preferences are added -to the ROSK depends on whether any numeric indifferent preferences exist. - -1. If there exists at least one numeric indifferent preference, then every numeric - preference for the winning candidate is added to the ROSK. There can be multi- - ple such preferences. Moreover, all binary indifferent preferences be- tween that - winning candidate and candidates without a numeric preference are added. -2. If all indifferent preferences are non-numeric, then any unary indifferent preferences for the winning candidate are added to the ROSK. Moreover, all binary - indifferent preferences between that winning candidate and other candidates are - added. - -The logic behind adding binary indifferent preferences between the selected -operator and the other final candidates is that those binary indifferent -preferences prevented a tie impasse and allowed the final candidate to be chosen -by the exploration policy from among those mutually indifferent preferences. +detailed description of the [various filters](02_TheSoarArchitecture.md#how-preferences-are-evaluated-to-decide-an-operator) +(but not the ROSK). Note that depending on the set of preferences being +processed, impasses may occur at some of these stages, in which case, no +operator is selected and the ROSK is emptied. Moreover, if the candidate set is +reduced to zero or one, the decision process will exit with a finalized ROSK. +For simplicity’s sake, this explanation assumes that there are no impasses and +the decision process continues. + +- **Require Filter** If an operator is selected based on a require preference, + that preference is added to the ROSK. The logic behind this step is + straightforward, the require preference directly resulted in the selection of + the operator. + +- **Prohibit/Reject Filters** If there exists at least one prohibit or reject + preference, all prohibit and reject preferences for the eliminated candidates + are added to the ROSK. The logic behind this stage is that the conditions that + led to the exclusion of the prohibited and rejected candidates is what allowed + the final operator to be selected from among that particular set of surviving + candidates. + +- **Better/Worse Filter** For every candidate that is not worse than some + other candidate, add all better/worse preferences involving the candidate. + +- **Best Filter** Add any best preferences for remaining candidates to the ROSK. + +- **Worst Filter** If any remaining candidate has a worst preference which + leads to that candidate being removed from consideration, that worst preference + is added to the ROSK. Again, the logic is that the conditions that led to that + candidate not being selected allowed the final operator to be chosen. + +- **Indifferent Filter** This is the final stage, so the operator is now selected + based on the agent’s exploration policy. How indifferent preferences are added + to the ROSK depends on whether any numeric indifferent preferences exist. + + 1. If there exists at least one numeric indifferent preference, then every + numeric preference for the winning candidate is added to the ROSK. There + can be multiple such preferences. Moreover, all binary indifferent + preferences between that winning candidate and candidates without a + numeric preference are added. + 2. If all indifferent preferences are non-numeric, then any unary indifferent + preferences for the winning candidate are added to the ROSK. Moreover, all + binary indifferent preferences between that winning candidate and other + candidates are added. + + The logic behind adding binary indifferent preferences between the selected + operator and the other final candidates is that those binary indifferent + preferences prevented a tie impasse and allowed the final candidate to be chosen + by the exploration policy from among those mutually indifferent preferences. Note that there may be cases where two or more rules create the same type of preference for a particular candidate. In those cases, only the first preference @@ -1044,8 +1157,8 @@ chunks. It may still be possible to learn similar chunks with those other preferences if the agent subgoals again in a similar context. Note also that operator selection knowledge is not tracked and incorporated into -chunks by default. The setting must be turned on via the chunk command’s add-osk -setting. See Section 9.4.1 on page 233 for more information. +chunks by default. The setting must be turned on via the +[chunk command’s add-osk setting.](../reference/cli/cmd_chunk.md#chunk-add-osk). The ROSK also affects the conditions of justifications, so the `add-desirability-prefs` setting does have an effect on the agent even if @@ -1061,7 +1174,7 @@ arguments. It is important to note that this ability is limited. EBC can only learn rules with generalized RHS functions in its actions when the rule that created the -result contained a RHS function. In many cases, RHS functions will be used in +result contained a RHS function. In many cases, RHS functions will be used in the intermediate rule firings in the explanation trace. Not only will these intermediate RHS function not appear in the chunk, but any chunk learned based on their output will become more specific. This is one of the sources of @@ -1072,7 +1185,7 @@ with because the problem-solving may have placed constraints on the intermediate results that cannot be represented in a single Soar rule. For example, consider the case of one rule that used a RHS function to add two -numbers. Now consider another rule that matched the output of the RHS function, +numbers. Now consider another rule that matched the output of the RHS function, but only if it was less than 5. If the second rule matched, it would return the total as a result. How could we encode the reasoning of those two rules into one rule? Since Soar’s production syntax does not allow using RHS function as @@ -1094,66 +1207,66 @@ correct. Soar learns a chunk every time a subgoal produces a result, unless one of the following conditions is true: -1. Chunking is off - This corresponds to the command chunk never. See Section 9.4.1 on page 233 for - details of chunk and how to turn chunking on or off. -2. Chunking was only enabled for some states, and the subgoal in question is not - one of them When chunking is enabled via the only or except command, the agent - must specify which states learning either occurs in or doesn’t occur in, - respectively. For the except setting, Soar will learn rules in all states in - which a dont-learnRHS production action was not executed. Similarly, for the - only setting, Soar will learn rules in all states where a force-learn RHS - production action was executed. See Section 3.3.6.7 on page 82 for more - information. This capability is provided for debugging and practical system - development, but it is not part of the theory of Soar. -3. The chunk learned is a duplicate of another production or chunk already in - production memory In some rare cases, a duplicate production will not be - detected because the order of the conditions or actions is not the same as an - existing production. -4. The problem-solving in the substate violated one of the enabled correctness - guarantee filters During the development of explanation-based chunking, we have - developed a list of possible causes of incorrect chunks. EBC’s correctness - guarantee filters detect when those situations occur and prevents a chunk from - being learned. For example, the allow-local-negations filter will prevent a rule - from being formed if the problem-solving that led to the result was dependent on - a condition that tested whether a subgoal WME doesn’t exist. Since there is no - practical way to determine why a piece of knowledge doesn’t exist, testing a - local negation can result in an over- general and incorrect chunk. See Section - 4.7.3.1 on page 121 for more information. Note that correctness filters have - not yet been implemented for all the identified potential sources of - correctness issues. -5. The chunking option bottom-only is on and a chunk was already built in the - bottom subgoal that generated the results With bottom-only chunking, chunks are - learned only in states in which no subgoal has yet generated a chunk. In this - mode, chunks are learned only for the "bottom" of the subgoal hierarchy and not - the intermediate levels. With experience, the subgoals at the bottom will be - replaced by the chunks, allowing higher level subgoals to be chunked. See - Section 9.4.1 on page 233 for details of chunk used with the bottom-only - setting. -6. The problem-solving that led to the result contained a condition that tested - the architecturally-created ` ^quiescence t` augmentation This mechanism - is motivated by the chunking from exhaustion problem, where the results of a - subgoal are dependent on the exhaustion of alternatives (see Section 4.6.11 on - page 114). If this substate augmentation is encountered when determining the - conditions of a chunk, then no chunk will be built for the currently considered - action. This is recursive, so that if an un-chunked result is relevant to a - second result, no chunk will be built for the second result. This does not - prevent the creation of a chunk that would include^quiescence tas a condition. -7. The problem-solving in the substate did not test any knowledge in the - superstate In these cases, the chunk learned does not have any conditions and is - not a legal production. Note that this creates an unusual persistence issue for - any results that came out of the substate. Since a justification or chunk was - not learned, there is no rule in the superstate that can provide either - i-support or o-support for the result that came out of the substate. - Consequently, those result WMEs will be completely dependent on the rules that - fired within the substate. So, when the substate is removed, those results will - also be removed. +1. Chunking is off + This corresponds to the [command chunk never](../reference/cli/cmd_chunk.md). +2. Chunking was only enabled for some states, and the subgoal in question is not + one of them When chunking is enabled via the only or except command, the agent + must specify which states learning either occurs in or doesn’t occur in, + respectively. For the except setting, Soar will learn rules in all states in + which a `dont-learn` RHS production action was not executed. Similarly, for the + only setting, Soar will learn rules in all states where a `force-learn` RHS + production action was executed, cf. [Controlling chunking](03_SyntaxOfSoarPrograms.md#controlling-chunking) + for more information. This capability is provided for debugging and + practical system development, but it is not part of the theory of Soar. +3. The chunk learned is a duplicate of another production or chunk already in + production memory In some rare cases, a duplicate production will not be + detected because the order of the conditions or actions is not the same as an + existing production. +4. The problem-solving in the substate violated one of the enabled correctness + guarantee filters During the development of explanation-based chunking, we have + developed a list of possible causes of incorrect chunks. EBC’s correctness + guarantee filters detect when those situations occur and prevents a chunk from + being learned. For example, the allow-local-negations filter will prevent a rule + from being formed if the problem-solving that led to the result was + dependent on a condition that tested whether a subgoal WME doesn’t exist. + Since there is no practical way to determine why a piece of knowledge + doesn’t exist, testing a local negation can result in an over- general and + incorrect chunk, cf. [prohibiting known sources for correctness issues](04_ProceduralKnowledgeLearning.md#prohibiting-known-sources-of-correctness-issues) + for more information. Note that correctness filters have not yet been + implemented for all the identified potential sources of correctness issues. +5. The chunking option bottom-only is on and a chunk was already built in the + bottom subgoal that generated the results With bottom-only chunking, chunks are + learned only in states in which no subgoal has yet generated a chunk. In this + mode, chunks are learned only for the "bottom" of the subgoal hierarchy and not + the intermediate levels. With experience, the subgoals at the bottom will be + replaced by the chunks, allowing higher level subgoals to be chunked. See + [chunk reference](../reference/cli/cmd_chunk.md) for details of chunk used + with the bottom-only setting. +6. The problem-solving that led to the result contained a condition that tested + the architecturally-created ` ^quiescence t` augmentation This mechanism + is motivated by the chunking from exhaustion problem, where the results of a + subgoal are dependent on the exhaustion of alternatives + (see [Problem-Solving that does not test the superstate](04_ProceduralKnowledgeLearning.md#problem-solving-that-doesnt-test-the-superstate)). + If this substate augmentation is encountered when determining the + conditions of a chunk, then no chunk will be built for the currently considered + action. This is recursive, so that if an un-chunked result is relevant to a + second result, no chunk will be built for the second result. This does not + prevent the creation of a chunk that would include^quiescence tas a condition. +7. The problem-solving in the substate did not test any knowledge in the + superstate In these cases, the chunk learned does not have any conditions + and is not a legal production. Note that this creates an unusual persistence + issue for any results that came out of the substate. Since a justification + or chunk was not learned, there is no rule in the superstate that can + provide either i-support or o-support for the result that came out of the + substate. Consequently, those result WMEs will be completely dependent on + the rules that fired within the substate. So, when the substate is removed, + those results will also be removed. ## Usage ### Overview of the chunk command -``` +```shell =================================================== Chunk Commands and Settings =================================================== @@ -1196,32 +1309,33 @@ See Section 9.4.1 for more detailed information about the chunk command’s sett By default, explanation-based chunking is off. -- To turn on chunking: `chunk always` -- To turn off chunking: `chunk never` +- To turn on chunking: `chunk always` +- To turn off chunking: `chunk never` In real world agents, there may be certain problem spaces in which you don’t want your agent to learn rules. Chunking has a mechanism to allow agents to dynamically specify the states in which rules are learned. -- To turn off chunking in all states except ones manually flagged on: - - Use chunk only setting. - - Design an agent rule that executes the RHS action force-learn, which only - matches in states in which you want to learn rules. -- To turn on chunking in all states except ones manually flagged off: - - Use chunk except setting. - - Design an agent rule that executes the RHS action dont-learn, which only - matches in states in which you don’t want to learn rules. +- To turn off chunking in all states except ones manually flagged on: + - Use chunk only setting. + - Design an agent rule that executes the RHS action force-learn, which only + matches in states in which you want to learn rules. +- To turn on chunking in all states except ones manually flagged off: + - Use chunk except setting. + - Design an agent rule that executes the RHS action dont-learn, which only + matches in states in which you don’t want to learn rules. Depending on your agent design, you may want to consider enabling the add-osk -option. As of Soar 9.6.0, EBC does not incorporate operator selection knowledge +option. As of Soar 9.6.0, EBC does not incorporate operator selection knowledge into learned rules by default, since there is a performance cost and not all -agents designs require its inclusion. You may want to enable this option if +agents designs require its inclusion. You may want to enable this option if your agent has rules that test knowledge in the superstate to create operator -preferences in the substate. See section 4.4.2 on page 103 for more information -about learning and operator selection knowledge. +preferences in the substate. Refer to +[learning and operator selection knowledge](#relevant-operator-selection-knowledge-tracking) +for more information. -See Section 9.4.1 on page 233 for more information about using the chunk command -to enable and disable procedural learning. +See [chunk command](../reference/cli/cmd_chunk.md) for more information about +using the chunk command to enable and disable procedural learning. ### Fine-tuning What Your Agent Learns @@ -1261,48 +1375,46 @@ Section 4b, there are several architectural singleton’s that EBC already knows about. To specify patterns for domain-specific singletons, the chunk singleton command can be used. -See Section 9.4.1 for more information about the chunk singleton command. +See [chunk singelton](../reference/cli/cmd_chunk.md#user-singletons) for more +information about the command. ### Examining What Was Learned -#### Printing and Traces +#### Printing Rules -**Printing Rules** +- To print all chunks learned: + `print --chunks` or `print -c` -- To print all chunks learned: -`print --chunks` or `print -c` +- To print all justifications learned (and still matching): + `print --justifications` or `print -j` -- To print all justifications learned (and still matching): -`print --justifications` or `print -j` +- To print a rule or justification: + `print ` -- To print a rule or justification: -`print ` +For more information on print, see the [print command](../reference/cli/cmd_print.md). -For more information on print, see section 9.3.1 on page 217. +#### Trace Messages -**Trace Messages** +- To print when new rules are learned (just the name): + `trace --learning 1` or `trace -l 1` -- To print when new rules are learned (just the name): -`trace --learning 1` or `trace -l 1` +- To print when new rules are learned (the full rule): + `trace --learning 2` or `trace -l 2` -- To print when new rules are learned (the full rule): -`trace --learning 2` or `trace -l 2` +- To print a trace of the conditions as they are collected during backtracing: + `trace --backtracing` or `trace -b` -- To print a trace of the conditions as they are collected during backtracing: -`trace --backtracing` or `trace -b` +- To print warnings about chunking issues detected while learning: + `trace --chunk-warnings` or `trace -C` -- To print warnings about chunking issues detected while learning: -`trace --chunk-warnings` or `trace -C` +- To print when learned chunks match and fire: + `trace --backtracing` or `trace -b` -- To print when learned chunks match and fire: -`trace --backtracing` or `trace -b` - -For more information on trace, see section 9.6.1 on page 259. +For more information on trace, see the [trace command](../reference/cli/cmd_trace.md). Note that the most detailed information about why a particular rule was learned -can be acquired using the explain mechanism as described in section 9.6.3 on -page 269. That is highly recommended over printing the backtracing trace -messages. +can be acquired using the [explain mechanism](../reference/cli/cmd_explain.md). +That is highly recommended over printing the backtracing trace messages. #### Chunking Statistics @@ -1310,7 +1422,7 @@ Chunking automatically compiles various statistics about the procedural rule learning that an agent performs. To access these stats, use the command `chunk`, `stats` or `stats -l`. -``` +```shell =========================================================================== Explanation-Based Chunking Statistics =========================================================================== @@ -1385,28 +1497,31 @@ Skipped because MAX-CHUNKS exceeded in a decision cycle 0 Skipped because MAX-DUPES exceeded for rule this decision cycle 0 ``` -Note that similar statistics for a specific learned rule can be acquired using the explain -mechanism as described in section 9.6.3 on page 269. +Note that similar statistics for a specific learned rule can be acquired using +the [explain mechanism](../reference/cli/cmd_explain.md). #### Interrupting Execution To Examine Learning -- To stop Soar after each successful learning episode: -``` +- To stop Soar after each successful learning episode: + +```shell chunk interrupt on ``` -- To stop Soar after detecting any learning issue: -``` +- To stop Soar after detecting any learning issue: + +```shell chunk warning-interrupt on ``` -- To stop Soar after learning a rule that the explainer recorded: -``` +- To stop Soar after learning a rule that the explainer recorded: + +```shell chunk explain-interrupt on ``` -For more information about how to record when a specific rule is learned, see section -on page 269 that describes the explain mechanism. +For more information about how to record when a specific rule is learned, see +the [explain mechanism](../reference/cli/cmd_explain.md). ## Explaining Learned Procedural Knowledge @@ -1443,30 +1558,86 @@ into minimizing the cost of the explainer. When debugging, we often let it record all chunks and justifications formed because it is efficient enough to do so. -Use the explain command without any arguments to display a summary of which rule firings the explainer is watching. It also shows which chunk or justification the user -has specified is the current focus of its output, i.e. the chunk being +Use the explain command without any arguments to display a summary of which rule +firings the explainer is watching. It also shows which chunk or justification +the user has specified is the current focus of its output, i.e. the chunk being discussed. Tip: This is a good way to get a chunk id so that you don’t have to type or paste in a chunk name. - +```shell +======================================================= + Explainer Summary +======================================================= +Watch all chunk formations Yes +Explain justifications Nof +Number of specific rules watched 0 + +Chunks available for discussion: chunkx2*apply2 (c 14) + chunk*apply*o (c 13) + chunkx2*apply2 (c 12) + chunk*apply*d (c 11) + chunkx2*apply2 (c 6) + chunk*apply* (c 15) + chunkx2*apply (c 8) + chunk*apply*c (c 5) + chunkx2*apply (c 10) + chunk*apply (c 1) + +* Note: Printed the first 10 chunks. 'explain list' to see other 6 chunks. + +Current chunk being discussed: chunk*apply*down-gripper(c 3) +``` + +```shell +explain chunk [ | ] +``` This command starts the explanation process by specifying which chunk’s explanation trace you want to explore. Tip: Use the alias to quickly start discussing a chunk, for example: - +```shell +soar % c 3 +Now explaining chunk*apply*move-gripper-above*pass*top-state*OpNoChange*t6-1. +- Note that future explain commands are now relative + to the problem-solving that led to that chunk. + +Explanation Trace Using variable identity IDs Shortest Path to Result Instantiation + +sp {chunk*apply*move-gripper-above*pass*top-state*OpNoChange*t6-1 +1: ( ^top-state ) ([140] ^top-state [162]) + -{ +2: ( ^operator ) ([140] ^operator [141]) +3: ( ^name evaluate-operator) ([141] ^name evaluate-operator) + } +4: ( ^gripper ) ([162] ^gripper [156]) i 30 -> i 31 +5: ( ^position up) ([156] ^position up) i 30 -> i 31 +6: ( ^holding nothing) ([156] ^holding nothing) i 30 -> i 31 +7: ( ^above ) ([156] ^above [157]) i 30 -> i 31 +8: ( ^io ) ([162] ^io [163]) i 31 +9: ( ^output-link ) ([163] ^output-link [164]) i 31 +10: ( ^gripper ) ([164] ^gripper [165]) i 31 +11: ( ^clear { <> }) ([162] ^clear { <>[161] [161] }) i 30 -> i 31 +12: ( ^operator ) ([140] ^operator [149]) +13: ( ^moving-block ) ([149] ^moving-block [161]) +14: ( ^name pick-up) ([149] ^name pick-up) + --> +1: ( ^command move-gripper-above +) ([165] ^command move-gripper-above +) +2: ( ^destination +) ([165] ^destination [161] +) +} +``` Once you specify a rule to explain, this will be one of the first commands you issue.explain formation provides an explanation of the initial rule that fired which created a result. This is what is called the ‘base instantiation’ and is what led to the chunk being learned. Other rules may also be base instantiations if they previously created children of the base instantiation’s results. They -also will be listed in the initial formation output. soar % explain formation +also will be listed in the initial formation output. soar % explain formation -``` +```shell The formation of chunk ’chunk*apply*move-gripper-above*pass*top-state*OpNoChange*t6-1’ (c 1) Initial base instantiation (i 31) that fired when apply*move-gripper-above*pass*top-state matched at level 3 at time 6: @@ -1503,7 +1674,7 @@ the most common things you will do while using the explainer. Tip: Use the alias `i ` to quickly view an instantiation, for example: -``` +```shell soar % i 30 Explanation trace of instantiation # 30 (match of rule pick-up*propose*move-gripper-above at level 3) @@ -1536,7 +1707,7 @@ To switch between traces, you can use the `explain e` and the `explain w` comman Tip: Use `et` and `wt`, which are aliases to the above two commands, to quickly switch between traces. -``` +```shell soar % explain w Working memory trace of instantiation # 30 (match of rule pick-up*propose*move-gripper-above at level 3) 1: (S9 ^name pick-up) No i 28 (elaborate*state*operator*name) @@ -1563,7 +1734,7 @@ not have occurred. This feature is not yet implemented. You can use explain stats to see if any transitive constraints were added to a particular chunk. -#### explain identity +### explain identity explain identity will show the mappings from variable identities to identity sets. If avail- able, the variable in a chunk that an identity set maps to will @@ -1573,8 +1744,7 @@ By default, only identity sets that appear in the chunk will be displayed in the identity analysis. To see the identity set mappings for other sets, change the only-chunk-identities setting to `off`. -``` -# soar % explain identity +```shell# soar % explain identity - # Variablization Identity to Identity Set Mappings - @@ -1616,7 +1786,7 @@ Explain’s `stat` command prints statistics about the specific chunk being discussed. This is a good way to see whether any generality or correctness issues were detected while learning that rule. -``` +```shell =========================================================== Statistics for ’chunk*apply*move-gripper-above*pass*top-state*OpNoChange*t6-1’ (c 1): =========================================================== @@ -1647,7 +1817,7 @@ Conditions merged 2 After-Action Reports The explainer has an option to create text files that contain statistics about the rules learned by an agent during a particular run. When enabled, the explainer will write out a file with the statistics when -either Soar exits or a `soar init` is executed. This option is still considered +either Soar exits or a `soar init` is executed. This option is still considered experimental and in beta. ![A colored visualization of an explanation trace](Images/chunking-trace-identity.png) @@ -1660,21 +1830,21 @@ more date, these images are the easiest and most effective ways to quickly understand how a chunk was formed, especially for particularly complex chunks. The visualizer can create two types of chunking- related images: -1. An image that shows the entire instantiation graph at once and how it - contributed to the learned rule. Use the command visualize ebc analysis to - create a very informative graph that shows all rules that fired in a substate - with arrows that indicate dependencies between actions in one rule and - conditions in others. In addition to all of the dependencies between the rules - that fired, this visualization also shows which conditions in the instantiations - tested knowledge in the superstate and hence became the basis for a condition in - the final learned rule. Finally, the individual elements in the explanation are - color-coded to show which variables share the same identity. -2. An image that shows the graph of how variable identities were combined. Use - the visualize identity graph to create a graph that shows how identities were - used to determine the variablization of a learned rule. This shows all - identities found in the chunk and how the identity analysis joined them based on - the problem-solving that occurred. This can be useful in determining why two - elements were assigned the same variable. +1. An image that shows the entire instantiation graph at once and how it + contributed to the learned rule. Use the command visualize ebc analysis to + create a very informative graph that shows all rules that fired in a substate + with arrows that indicate dependencies between actions in one rule and + conditions in others. In addition to all of the dependencies between the rules + that fired, this visualization also shows which conditions in the instantiations + tested knowledge in the superstate and hence became the basis for a condition + in the final learned rule. Finally, the individual elements in the + explanation are color-coded to show which variables share the same identity. +2. An image that shows the graph of how variable identities were combined. Use + the visualize identity graph to create a graph that shows how identities were + used to determine the variablization of a learned rule. This shows all + identities found in the chunk and how the identity analysis joined them + based on the problem-solving that occurred. This can be useful in + determining why two elements were assigned the same variable. Note that Soar will automatically attempt to launch a viewer to see the image generated. If you have an editor that can open Graphviz files, you can have Soar @@ -1686,11 +1856,3 @@ For the visualizer to work, you must have Graphviz and DOT installed, which are free third-party tools, and both must be available on your path. To date, the visualizer has only been tested on Mac and Linux. It is possible that certain systems may not allow Soar to launch an external program. - -## Footnotes -- [1]: Even though they don’t contain variables, - justifications can be over-general because they don’t incorporate enough - knowledge, for example, operator selection knowledge. -- [2]: Justifications can have variables in the negated - conditions and negated conjunctions of conditions. They just don’t have any - variables in its positive conditions. diff --git a/docs/soar_manual/Images/chunking-rule-formation.png b/docs/soar_manual/Images/chunking-rule-formation.png deleted file mode 100644 index f7c4116be633a124c08dfa12b6555e8169e80985..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78670 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 aPV?~fwvvQD!x{zf($_V)U2)Sc@_zvE>e;ja diff --git a/docs/soar_manual/Images/chunking_comparison.png b/docs/soar_manual/Images/chunking_comparison.png deleted file mode 100644 index 40e4cb2282972d00bd0446c5a58bcded39383707..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229376 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�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 diff --git a/docs/tutorials/soar_tutorial/05.md b/docs/tutorials/soar_tutorial/05.md index 70ad35c9..a185719a 100644 --- a/docs/tutorials/soar_tutorial/05.md +++ b/docs/tutorials/soar_tutorial/05.md @@ -27,7 +27,7 @@ internally before executing them in the world. In addition, planning provides a way of comparing alternative operators based on the states they produce. Chunking builds rules that summarize the comparisons and evaluations that occur in the look-ahead search so that in the future the rules fire, making look-ahead -search unnecessary – converting deliberation into reaction. +search unnecessary - converting deliberation into reaction. Many planning systems have a two-stage cycle of planning and execution. They always plan when given a new problem and then execute the plan step @@ -354,11 +354,12 @@ a few Water Jug specific rules; however, that means that with each new task, new state copy rules must also be written. To avoid this, we have written a general set of rules that can copy down the augmentations. These rules match against augmentations of the problem space to -determine with state augmentations to copy. Below are the legal +determine which state augmentations to copy. Below are the legal augmentations dealing with state copying and their meaning: -- default-state-copy no: Do not copy any augmentations automatically. -- one-level-attributes: copies augmentations of the state and preserves their value. +- `default-state-copy no`: Do not copy any augmentations automatically. +- `one-level-attributes`: copies augmentations of the state and preserves + their value. Example: @@ -367,7 +368,7 @@ augmentations dealing with state copying and their meaning: (s2 ^color c1) ``` -- two-level-attributes: copies augmentations of the state and creates +- `two-level-attributes`: copies augmentations of the state and creates new identifiers for values. Shared identifiers replaced with same new identifier. @@ -378,9 +379,9 @@ augmentations dealing with state copying and their meaning: (s2 ^color c5) (c5 ^hue green) ``` -- all-attributes-at-level one: copies all attributes of state as - one-level-attributes (except dont-copy ones and Soar created ones - such as impasse, operator, superstate) +- `all-attributes-at-level one`: copies all attributes of state as + one-level-attributes (except `dont-copy` ones and Soar created ones + such as `impasse`, `operator`, `superstate`) Example: @@ -389,9 +390,9 @@ augmentations dealing with state copying and their meaning: (s2 ^color c1) (s2 ^size big) ``` -- all-attributes-at-level two: copies all attributes of state as - two-level-attributes (except dont-copy ones and Soar created ones - such as impasse, operator, superstate) +- `all-attributes-at-level two`: copies all attributes of state as + two-level-attributes (except `dont-copy` ones and Soar created ones + such as `impasse`, `operator`, `superstate`) Example: @@ -400,7 +401,7 @@ augmentations dealing with state copying and their meaning: (s2 ^color c5) (c5 ^hue green) ``` -- dont-copy: will not copy that attribute. +- `dont-copy`: will not copy that attribute. Example: @@ -408,14 +409,14 @@ augmentations dealing with state copying and their meaning: (p1 ^dont-copy size) ``` -- don’t-copy-anything: will not copy any attributes +- `dont-copy-anything`: will not copy any attributes ```Soar (p1 ^dont-copy-anything yes) ``` If no augmentations relative to copying are included, the default is to -do all-attributes-at-level one. The desired state is also copied over, +do `all-attributes-at-level one`. The desired state is also copied over, based on the copy commands for the state. These rules support two levels of copying. How should you decide what @@ -451,9 +452,10 @@ sp {water-jug*apply*fill ^empty ) --> ( ^contents - 0 - + 0 - ^empty 0 - - ) # (1)} + - ) # (1) +} ``` 1. To remove a working memory element, use `-`. @@ -481,9 +483,9 @@ sp {water-jug*elaborate*problem-space ^two-level-attributes jug)} ``` -You could use ^all-attributes-at-level two instead, but it is best to +You could use `^all-attributes-at-level two` instead, but it is best to list exactly the attributes you need to have copied. After using this, -the substate, s3, would have the following structure: +the substate, `s3`, would have the following structure: ```Soar (s3 ^jug j3 j4) @@ -522,7 +524,7 @@ working memory when an operator is applied, although it requires fewer working memory elements to be copied during the creation of the initial state. This approach also is less natural in that it implies that a new jug is created as opposed to just modifying the contents of the existing -jug. For these two reasons, the first approach (two-level-attribute +jug. For these two reasons, the first approach (`two-level-attribute` copying) is preferred. #### Selecting the operator being evaluated @@ -564,7 +566,7 @@ Once the new state is created, an evaluation can be made. An augmentation is added to the state in parallel to the operator being applied: `^tried-tied-operator `. This augmentation can be tested by rules to ensure that they are evaluating the result of applying the -operator as opposed to the copy of the original state – although this +operator as opposed to the copy of the original state - although this will not work for operators that apply as a sequence of rules. The simplest evaluations to compute are success and failure. Success is @@ -594,26 +596,26 @@ In addition to success and failure, the selection rules can process other symbolic evaluations as well as numeric evaluations. The symbolic preferences that are processed are as follows: -- success: This state is the desired state. This is translated into a +- **success**: This state is the desired state. This is translated into a best preference. It is also translated into a better preference if another operator has a result state with an evaluation of partial-success. -- partial-success: This state is on the path to success. This is +- **partial-success**: This state is on the path to success. This is translated into a best preference. -- indifferent: This state is known to be neither success of failure. +- **indifferent**: This state is known to be neither success of failure. This is translated into an indifference preference. -- failure: The desired state cannot be achieved from this state. This +- **failure**: The desired state cannot be achieved from this state. This is translated into a reject preference. -- partial-failure: All paths from this state lead to failure. This is +- **partial-failure**: All paths from this state lead to failure. This is translated into a worst preference. For numeric evaluations, an augmentation named `^numeric-value` should be created for the evaluation object for an operator. We will discuss -numeric evaluations in more detail in a future section. +numeric evaluations in more detail in a [future section](#numeric-evaluations). If you include your original rules, the selection rules, and the two new rules described above (`water-jug*elaborate*problem-space`, @@ -646,10 +648,10 @@ following: test for this is: `( ^tried-tied-operator)` 1. That there is a duplicate of that state that is earlier in the state stack. There is nothing inherent in Soar that keeps track of all - earlier states – only the superstate is readily available. We need + earlier states - only the superstate is readily available. We need to add rules that elaborate each state with all of its superstates (and their superstates). We will call this the superstate-set. - Computing this requires only two rules – one that adds its + Computing this requires only two rules - one that adds its superstate to the superstate-set and one that adds all of the superstate-set of the superstate to its superstate-set. @@ -874,7 +876,7 @@ path to the goal. Specifically, chunking can learn a rule that states: This rule is learned when the operator to move one missionary to the left is evaluated in a evaluation subgoal and discovered to lead to a -failure state – where there is one missionary and two cannibals on the +failure state - where there is one missionary and two cannibals on the right bank. The problem with this rule is that it doesn’t include a test that no cannibals are also moved. If the operator moves a cannibal at the same time it moves a missionary, it does not produce a failure diff --git a/includes/abbreviations.md b/includes/abbreviations.md index 083368b1..beed518f 100644 --- a/includes/abbreviations.md +++ b/includes/abbreviations.md @@ -14,3 +14,5 @@ *[EpMem]: Episodic Memory *[ECR]: Expected Current Reward *[EFR]: Expected Future Reward +*[EBC]: Explanation-based Chunking +*[ROSK]: Relevant Operator Selection Knowledge From 4fc5346f8324b5cb8f870da932251cc8f0608374 Mon Sep 17 00:00:00 2001 From: Moritz Schmidt Date: Tue, 10 Sep 2024 10:14:52 +0200 Subject: [PATCH 2/3] add pre-commit config --- .pre-commit-config.yaml | 11 +++++++++++ requirements.txt | 1 + 2 files changed, 12 insertions(+) create mode 100644 .pre-commit-config.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000..0fdc9d37 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,11 @@ +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v2.3.0 + hooks: + - id: check-yaml + - id: end-of-file-fixer + - id: trailing-whitespace + - repo: https://github.com/DavidAnson/markdownlint-cli2 + rev: v0.14.0 + hooks: + - id: markdownlint-cli2 diff --git a/requirements.txt b/requirements.txt index c68751a6..da3260bd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,3 +3,4 @@ mkdocs-material-extensions==1.* python-markdown-math==0.8 mkdocs-macros-plugin==1.* pygments @ git+https://github.com/moschmdt/pygments@feature/soar +pre-commit==3.8.* From eaa925674ed33e3b3888055380739373fd0e341e Mon Sep 17 00:00:00 2001 From: Moritz Schmidt Date: Tue, 10 Sep 2024 10:45:01 +0200 Subject: [PATCH 3/3] Fix hyphens and whitespaces from conversion --- docs/soar_manual/03_SyntaxOfSoarPrograms.md | 22 ++--- .../04_ProceduralKnowledgeLearning.md | 34 +++---- docs/soar_manual/05_ReinforcementLearning.md | 4 +- docs/soar_manual/06_SemanticMemory.md | 14 +-- docs/soar_manual/07_EpisodicMemory.md | 93 ++++++++++--------- 5 files changed, 87 insertions(+), 80 deletions(-) diff --git a/docs/soar_manual/03_SyntaxOfSoarPrograms.md b/docs/soar_manual/03_SyntaxOfSoarPrograms.md index 01c27c4f..922f04c0 100644 --- a/docs/soar_manual/03_SyntaxOfSoarPrograms.md +++ b/docs/soar_manual/03_SyntaxOfSoarPrograms.md @@ -4,7 +4,7 @@ # The Syntax of Soar Programs This chapter describes in detail the syntax of elements in working memory, -preference mem- ory, and production memory, and how impasses and I/O are +preference memory, and production memory, and how impasses and I/O are represented in working memory and in productions. Working memory elements and preferences are created as Soar runs, while productions are created by the user or through chunking. The bulk of this chapter explains the syntax for writing @@ -115,7 +115,7 @@ to find a specific attribute. Working memory is a set, so that at any time, there are never duplicate versions of working memory elements. However, it is possible for several working memory elements to share the same identifier and attribute but have different values. -Such attributes are called multi- valued attributes or _multi-attributes_. For +Such attributes are called multi-valued attributes or _multi-attributes_. For example, state `S1`, above, has two attributes that are multi-valued: `thing` and `ontop`. @@ -157,7 +157,7 @@ _timetag_. ### Acceptable preferences in working memory The `acceptable` preferences for operators appear in working memory as -identifier-attribute- value-preference quadruples. No other preferences appear +identifier-attribute-value-preference quadruples. No other preferences appear in working memory. A template for an `acceptable` preference in working memory is: @@ -591,7 +591,7 @@ sp {example*lti*predicates In this production,``, is tested for whether it is linked to some LTI. It is also compared against ``(a working memory element retrieved -from long-term mem- ory and known to be linked to an LTI) to see if the two +from long-term memory and known to be linked to an LTI) to see if the two elements point to the same long-term memory. Note the the `@+` in this example is actually unnecessary, since the `{ @ }` test will fail to match if either value tested is not linked to an LTI. @@ -719,7 +719,7 @@ On the other hand, the condition: ``` would match only if there is no object in working memory that matches all three -attribute- value tests. +attribute-value tests. ##### Example Production @@ -809,7 +809,7 @@ That is, "not (A and B and C)" becomes "(not A) or (not B) or (not C)". #### Multi-valued attributes An object in working memory may have multiple augmentations that specify the -same at- tribute with different values; these are called multi-valued +same attribute with different values; these are called multi-valued attributes, or multi-attributes for short. To shorten the specification of a condition, tests for multi-valued attributes can be shortened so that the value tests are together. @@ -1394,7 +1394,7 @@ The identifier and value will always be variables, such as The preference notation appears similar to the predicate tests that appear on the left-hand side of productions, but has very different meaning. Predicates -cannot be used on the right- hand side of a production and you cannot restrict +cannot be used on the right-hand side of a production and you cannot restrict the bindings of variables on the right-hand side of a production. (Such restrictions can happen only in the conditions.) @@ -1476,7 +1476,7 @@ But `( ^operator >, )` would be interpreted as The fourth type of action that can occur in productions is called a _right-hand side function_. Right-hand side functions allow productions to create side -effects other than changing work- ing memory. The RHS functions are described +effects other than changing working memory. The RHS functions are described below, organized by the type of side effect they have. ##### Stopping and pausing Soar @@ -1671,7 +1671,7 @@ expects either an integer constant, symbolic constant, or floating point constant. The symbolic constant must be a string which can be interpreted as a single floating point number. This function essentially operates as a type casting function. For example, if you wanted to print out an integer expression -as a floating-point num- ber, you could do the following: +as a floating-point number, you could do the following: ```Soar sp { @@ -1747,7 +1747,7 @@ After this rule fires, working memory would look like: ``` **concat** — Given an arbitrary number of symbols, this function concatenates -them to- gether into a single constant symbol. For example: +them together into a single constant symbol. For example: ```Soar sp {example @@ -1760,7 +1760,7 @@ After this rule fires, the WME `(S1 ^name foobar6)` will be added. **deep-copy** — This function returns a copy of the given symbol along with linked copies of all descendant symbols. In other terms, a full copy is made of -the working mem- ory subgraph that can be reached when starting from the given +the working memory subgraph that can be reached when starting from the given symbol. All copied identifiers are created as new IDs, and all copied values remain the same. For example: diff --git a/docs/soar_manual/04_ProceduralKnowledgeLearning.md b/docs/soar_manual/04_ProceduralKnowledgeLearning.md index 57e315d5..85586622 100644 --- a/docs/soar_manual/04_ProceduralKnowledgeLearning.md +++ b/docs/soar_manual/04_ProceduralKnowledgeLearning.md @@ -14,7 +14,7 @@ Whenever a rule fires and creates such new superstate knowledge, which are called **results**, Soar learns a new rule and immediately adds it to production memory. In future similar situations, the new chunk will fire and create the appropriate results in a single step, which eliminates the need to spawn another -subgoal to perform similar problem- solving. In other words, rather than +subgoal to perform similar problem-solving. In other words, rather than contemplating and figuring out what to do, the agent immediately knows what to do. @@ -216,7 +216,7 @@ concepts: _identity_. cannot be generalized and must contain a specific value.** - All elements in the original rule that reference specific constant values are trivially assigned the NULL identity. - A variable’s identity can also be _mapped to the - NULL identity_. When this hap- pens, we say the identity has been + NULL identity_. When this happens, we say the identity has been **literalized**. EBC traverses an explanation trace of the problem-solving that occurred in the @@ -300,7 +300,7 @@ on the identity graph. variablization because they were tested against literal values in some rules. Note that this component has two distinct mechanisms that occur at very different times. The first mechanism, identity propagation, occurs - constantly while problem- solving in the substate. The second mechanism, + constantly while problem-solving in the substate. The second mechanism, identity graph manipulation, occurs during the learning episode. 2. **Relevant operator selection knowledge tracking** This component also occurs before the learning episode. Whenever an operator @@ -347,7 +347,7 @@ literal constants, which variables are the same variables, what constraints must be met on the values of each variable and any relationships between variables. EBC uses this underlying logic to determine the identities of objects used -during the problem- solving. Identities are not simply IDs. Each identity is a +during the problem-solving. Identities are not simply IDs. Each identity is a declarative object that describes a set of variables across multiple rule firings and the various properties they hold. @@ -551,7 +551,7 @@ Soar’s operationality analysis. In previous versions of chunking, chunking wou never add two conditions to a chunk that matched the same superstate working memory element. This made sense because chunking was based on a generalization of the working memory trace. More than one condition that tested the same WME -would be redundant. Explanation-based chunk- ing, though, learns based on the +would be redundant. Explanation-based chunking, though, learns based on the reasoning within the original hand-written rules. Since the reasoning behind each of the two conditions may be different even if they matched the same WME, EBC must always add both conditions. (Note that there are some exceptions. See @@ -697,11 +697,11 @@ two conditions without losing generality. EBC polishes the conditions of the learned rule by pruning unnecessary constraints on literalized elements and replacing multiple disjunction -constraints with a single simplified dis- junction. +constraints with a single simplified disjunction. 1. Merging disjunctions: If an element in a condition has two disjunction tests, the constraints will be merged into a single disjunction that - contains only the shared val- ues. `{ << a b c >> << b c d >> }` becomes `{ + contains only the shared values. `{ << a b c >> << b c d >> }` becomes `{ <> }`, because it is impossible fo `` to be either a or b. This will also eliminate any duplicate disjunctions. 2. Throwing out unnecessary constraints: If an element in a condition has been @@ -740,7 +740,7 @@ to the fewest number of partial instantiations when the chunk is matched. A condition that matches an object with a multi-valued attribute will lead to multiple partial instantiations, so it is generally more efficient to place these conditions later in the ordering. This is the same process that internally -reorders the conditions in user- defined productions, as mentioned briefly in +reorders the conditions in user-defined productions, as mentioned briefly in Section 2.3.1. ## Subtleties of EBC @@ -809,7 +809,7 @@ When a problem has been decomposed into more than one substate, a single result can produce multiple chunks. This process is called bottom-up chunking. The first chunk is produced in the substate where the problem-solving that produced the result occurred. The next chunk is based on the implicit match of the first -chunk in one of the higher level problem- spaces. If that match is lower than +chunk in one of the higher level problem-spaces. If that match is lower than the state that the result is being returned to, Soar will backtrace through the chunk match and learn a second chunk (relative to the substate that the chunk matched in). This process continues until it learns a chunk that only creates @@ -839,7 +839,7 @@ Chunking is intended to produce the most general rule that is also correct. Generality is a measure of the space of similar situations that a rule can apply to. A more general rule can be applied to a larger space of similar situations. -A rule is considered over- general if it can apply to situations in which the +A rule is considered over-general if it can apply to situations in which the original problem-solving would have never occurred. Correctness is a requirement that the learned rule produces the exact same @@ -855,13 +855,13 @@ rules are over-general. ### Over-specialization and Over-generalization Explanation-based chunking was pursued to address the main limitation of -traditional chunk- ing:over-specialized rules that were very specific and could +traditional chunking: over-specialized rules that were very specific and could not be applied to many other situations. Specifically, EBC’s identity-based variablization and constraint tracking/enforcement has eliminated the core source of this issue. The nature of EBC’s algorithm does add two new situations in which rules may -become over- specialized. Section 4.6.16 discusses how variables used in certain +become over-specialized. Section 4.6.16 discusses how variables used in certain RHS functions need to be literalized to maintain correctness, which can cause overspecialization. Section 4.6.7 discusses how testing or augmenting a previous result creates non-operational rules that require repair, a process which may @@ -988,7 +988,7 @@ may consist of exhaustively applying all the operators in the problem space. If so, then a convenient way to recognize that all operators have applied and processing is complete is to wait for a state no-change impasse to occur. When the impasse occurs, a production can test for the resulting substate and create -a result for the original subgoal. This form of state test builds over- general +a result for the original subgoal. This form of state test builds over-general chunks because no pre-existing structure is relevant to the result that terminates the subgoal. The result is dependent only on the existence of the substate within a substate. @@ -1026,7 +1026,7 @@ create its own distinct result in the superstate. Since this is different behavior than the original substate, this rule would be considered incorrect. If it were possible, EBC should learn a disjunctive conjunctive condition, with -each dis- junction being the superstate conditions tested by each substate rule +each disjunction being the superstate conditions tested by each substate rule that had previously created the substate WME that was repeatedly asserted. This is why this potential source of incorrect rules is called disjunctive context conflation. @@ -1230,7 +1230,7 @@ conditions is true: from being formed if the problem-solving that led to the result was dependent on a condition that tested whether a subgoal WME doesn’t exist. Since there is no practical way to determine why a piece of knowledge - doesn’t exist, testing a local negation can result in an over- general and + doesn’t exist, testing a local negation can result in an over-general and incorrect chunk, cf. [prohibiting known sources for correctness issues](04_ProceduralKnowledgeLearning.md#prohibiting-known-sources-of-correctness-issues) for more information. Note that correctness filters have not yet been implemented for all the identified potential sources of correctness issues. @@ -1737,7 +1737,7 @@ transitive constraints were added to a particular chunk. ### explain identity explain identity will show the mappings from variable identities to identity -sets. If avail- able, the variable in a chunk that an identity set maps to will +sets. If available, the variable in a chunk that an identity set maps to will also be displayed. By default, only identity sets that appear in the chunk will be displayed in the @@ -1828,7 +1828,7 @@ The `visualize` command can generate two graphical representations of the analysis that chunking performed to learn a rule. While the explainer provides more date, these images are the easiest and most effective ways to quickly understand how a chunk was formed, especially for particularly complex chunks. -The visualizer can create two types of chunking- related images: +The visualizer can create two types of chunking-related images: 1. An image that shows the entire instantiation graph at once and how it contributed to the learned rule. Use the command visualize ebc analysis to diff --git a/docs/soar_manual/05_ReinforcementLearning.md b/docs/soar_manual/05_ReinforcementLearning.md index 7f1d959f..20c18571 100644 --- a/docs/soar_manual/05_ReinforcementLearning.md +++ b/docs/soar_manual/05_ReinforcementLearning.md @@ -345,7 +345,7 @@ for that operator are only affected by the rewards collected on the `reward-link for Sand the $Q$-values of subsequent RL operators selected in `S`. The only exception to this independence is when a selected RL operator forces an -operator- no-change impasse. When this occurs, the number of decision cycles the +operator-no-change impasse. When this occurs, the number of decision cycles the RL operator at the superstate remains selected is dependent upon the processing in the impasse state. Consider the operator trace in the following figure: @@ -442,7 +442,7 @@ determines how operators are selected based on their numeric-indifferent preferences. Although all the indifferent selection settings are valid regardless of how the numeric-indifferent preferences were arrived at, the `epsilon-greedy` and `boltzmann` settings are specifically designed -for use with RL and cor- respond to the two most common exploration strategies. +for use with RL and correspond to the two most common exploration strategies. In an effort to maintain backwards compatibility, the default exploration policy is `softmax`. As a result, one should change to `epsilon-greedy` or `boltzmann` when the reinforcement learning mechanism is enabled. diff --git a/docs/soar_manual/06_SemanticMemory.md b/docs/soar_manual/06_SemanticMemory.md index 8069f2ef..cfbd3006 100644 --- a/docs/soar_manual/06_SemanticMemory.md +++ b/docs/soar_manual/06_SemanticMemory.md @@ -4,7 +4,7 @@ # Semantic Memory Soar’s semantic memory is a repository for long-term declarative knowledge, -supplement- ing what is contained in short-term working memory (and production +supplementing what is contained in short-term working memory (and production memory). Episodic memory, which contains memories of the agent’s experiences, is described in [Chapter 7](./07_EpisodicMemory.md). The knowledge encoded in episodic memory is organized temporally, and specific information is embedded @@ -200,7 +200,7 @@ and querying of knowledge. The semantic store can be maintained in memory or on disk (per the database and path parameters; see [`smem` command](../reference/cli/cmd_smem.md)). If the store is located on disk, users can use any standard SQLite programs/components to access/query its -contents. However, using a disk- based semantic store is very costly +contents. However, using a disk-based semantic store is very costly (performance is discussed in greater detail in Section [Performance](#performance)), and running in memory is recommended for most runs. @@ -354,7 +354,7 @@ augmentations include other LTIs in smem, they too are instantiated into new short-term identifiers in working memory. It is possible that multiple long-term identifiers match the cue equally well. -In this case, se- mantic memory will retrieve the long-term identifier that was +In this case, semantic memory will retrieve the long-term identifier that was most recently stored/retrieved. (More accurately, it will retrieve the LTI with the greatest activation value. See below.) @@ -472,8 +472,8 @@ Spreading activation values are updated each decision cycle only as needed for specific smem retrievals. For efficiency, two limits exist for the amount of spread calculated. The `spreading-limit` parameter limits how many LTIs can receive spread from a given spreading source LTI. By default, this value is -(300). Spread is distributed in a magnitude- first manner to all descendants of -a source. (Without edge-weights, this simplifies to breadth- first.) Once the +(300). Spread is distributed in a magnitude-first manner to all descendants of +a source. (Without edge-weights, this simplifies to breadth-first.) Once the number of LTIs that have been given spread from a given source reaches the max value indicated by `spreading-limit`, no more is calculated for that source that update cycle, and the next spreading source’s contributions are calculated. The @@ -614,7 +614,7 @@ suggests to SQLite how many pages are available for the cache. Total cache size is the product of these two parameter settings. The cache memory is not pre- allocated, so short/small runs will not necessarily make use of this space. Generally speaking, a greater number of cache pages will benefit query time, as -SQLite can keep necessary meta- data in memory. However, some documented +SQLite can keep necessary meta-data in memory. However, some documented situations have shown improved performance from decreasing cache pages to increase memory locality. This is of greater concern when dealing with file-based databases, versus in-memory. The size of each page, however, may be @@ -636,7 +636,7 @@ for writes to complete before continuing execution. Second, transaction journaling is turned off (journalmode pragma), thus groups of modifications to the semantic store are not atomic (and thus interruptions due to application/os/hardware failure could lead to inconsistent database state). -Finally, upon initialization, semantic mem- ory maintains a continuous exclusive +Finally, upon initialization, semantic memory maintains a continuous exclusive lock to the database (locking mode pragma), thus other applications/agents cannot make simultaneous read/write calls to the database (thereby reducing the need for potentially expensive system calls to secure/release file locks). diff --git a/docs/soar_manual/07_EpisodicMemory.md b/docs/soar_manual/07_EpisodicMemory.md index 579b7727..ace97dc1 100644 --- a/docs/soar_manual/07_EpisodicMemory.md +++ b/docs/soar_manual/07_EpisodicMemory.md @@ -1,3 +1,4 @@ + {{manual_wip_warning}} # Episodic Memory @@ -20,7 +21,8 @@ Please refer to the [documentation for the `epmem` command](../reference/cli/cmd ## Working Memory Structure -Upon [creation of a new state in working memory](./02_TheSoarArchitecture.md#creating-new-states), the architecture creates the following augmentations to facilitate agent +Upon [creation of a new state in working memory](./02_TheSoarArchitecture.md#creating-new-states), +the architecture creates the following augmentations to facilitate agent interaction with episodic memory: ```Soar @@ -37,7 +39,8 @@ memory will maintain these WMEs. The value of the present-id augmentation is an integer and will update to expose to the agent the current episode number. This information is identical to what -is available via the [time statistic](../reference/cli/cmd_stats.md) and the present-id retrieval meta-data (7.3.4). +is available via the [time statistic](../reference/cli/cmd_stats.md) and the +present-id retrieval meta-data (7.3.4). ## Episodic Storage @@ -60,12 +63,12 @@ the force d policy irrespective of the value of the trigger parameter. ### Episode Contents -When episodic memory stores a new episode, it captures the entire top-state of working -memory. There are currently two exceptions to this policy: +When episodic memory stores a new episode, it captures the entire top-state of +working memory. There are currently two exceptions to this policy: Episodic memory only supports WMEs whose attribute is a constant. Behavior is -currently undefined when attempting to store a WME that has an attribute that is an -identifier. +currently undefined when attempting to store a WME that has an attribute that is +an identifier. The exclusions parameter allows the user to specify a set of attributes for which Soar will not store WMEs. The storage process currently walks the top-state of working @@ -83,15 +86,16 @@ can use any standard SQLite programs/components to access/query its contents. See the later [discussion on performance](#performance) for additional parameters dealing with databases on disk. -Note that changes to storage parameters, for example database, path and append will -not have an effect until the database is used after an initialization. This happens either -shortly after launch (on first use) or after a database initialization command is issued. To -switch databases or database storage types while running, set your new parameters and then -perform an `epmem --init` command. +Note that changes to storage parameters, for example database, path and append +will not have an effect until the database is used after an initialization. This +happens either shortly after launch (on first use) or after a database +initialization command is issued. To switch databases or database storage types +while running, set your new parameters and then perform an `epmem --init` +command. -The **path** parameter specifies the file system path the database is stored in. When path is -set to a valid file system path and database mode is set to file, then the SQLite database is -written to that path. +The **path** parameter specifies the file system path the database is stored in. +When path is set to a valid file system path and database mode is set to file, +then the SQLite database is written to that path. The **append** parameter will determine whether all existing facts stored in a database on disk will be erased when episodic memory loads. Note that this @@ -124,9 +128,9 @@ aspect of the command structure changes (via addition/removal of WMEs). When this occurs, the result structure is cleared and the new command (if one exists) is processed. -All retrieved episodes are recreated exactly as stored, except for any operators that have an -acceptable preference, which are recreated with the attribute operator\*. For example, if -the original episode was: +All retrieved episodes are recreated exactly as stored, except for any operators +that have an acceptable preference, which are recreated with the attribute +operator\*. For example, if the original episode was: ```Soar ( ^operator +) @@ -207,7 +211,7 @@ A special note should be made with respect to how short- vs. long-term identifiers (see Section 6.2 on page 146) are interpreted in a cue. Short-term identifiers are processed much as they are in working memory – transient structures. Cue matching will try to find any identifier in an episode (with -respect to WME path from state) that can apply. Long- term identifiers, however, +respect to WME path from state) that can apply. Long-term identifiers, however, are treated as constants. Thus, when analyzing the cue, episodic memory will not consider long-term identifier augmentations, and will only match with the same long-term identifier (in the same context) in an episode. @@ -271,8 +275,8 @@ implemented in future versions, no such guarantee will be made. ### Relative Non-Cue-Based Retrieval -Episodic memory supports the ability for an agent to "play forward" episodes using relative -non-cue-based retrievals. +Episodic memory supports the ability for an agent to "play forward" episodes +using relative non-cue-based retrievals. Episodic memory stores the time of the last successful retrieval (non-cue-based or cue-based). Agents can indirectly make use of this information by issuing @@ -281,7 +285,7 @@ attempting to retrieve the episode immediately proceeding/preceding the last successful retrieval (respectively). To issue one of these commands, the agent must create a new WME on the command link with the appropriate attribute (next or previous) and value of an arbitrary identifier: - + ```Soar ^epmem.command.next ^epmem.command.previous

@@ -306,7 +310,9 @@ memory is placed here. This WME is an identifier that is treated as the root of the state that was used to create the episodic memory. If the retrieve command was issued with an invalid time, the value of this WME will be no-memory. -success ` ` If the cue-based retrieval was successful, the WME will have the status as the attribute and the value of the identifier of the query (and neg-query, if applicable). +success ` ` If the cue-based retrieval was +successful, the WME will have the status as the attribute and the value of the +identifier of the query (and neg-query, if applicable). match-score This WME is created whenever an episode is successfully retrieved from a cue-based retrieval command. The WME value is a decimal indicating the raw @@ -316,10 +322,10 @@ cue-size This WME is created whenever an episode is successfully retrieved from cue-based retrieval command. The WME value is an integer indicating the number of leaf WMEs in the cue(s). -normalized-match-score This WME is created whenever an episode is success- -fully retrieved from a cue-based retrieval command. The WME value is the decimal -result of dividing the raw match score by the cue size. It can hypothetically be used -as a measure of episodic memory’s relative confidence in the retrieval. +normalized-match-score This WME is created whenever an episode is success- fully +retrieved from a cue-based retrieval command. The WME value is the decimal +result of dividing the raw match score by the cue size. It can hypothetically be +used as a measure of episodic memory’s relative confidence in the retrieval. match-cardinality This WME is created whenever an episode is successfully retrieved from a cue-based retrieval command. The WME value is an integer @@ -330,18 +336,18 @@ memory-id This WME is created whenever an episode is successfully retrieved from a cue-based retrieval command. The WME value is an integer indicating the time of the retrieved episode. -present-id This WME is created whenever an episode is successfully retrieved from -a cue-based retrieval command. The WME value is an integer indicating the current -time, such as to provide a sense of "now" in episodic memory terms. By comparing -this value to the memory-id value, the agent can gain a sense of the relative time that -has passed since the retrieved episode was recorded. +present-id This WME is created whenever an episode is successfully retrieved +from a cue-based retrieval command. The WME value is an integer indicating the +current time, such as to provide a sense of "now" in episodic memory terms. By +comparing this value to the memory-id value, the agent can gain a sense of the +relative time that has passed since the retrieved episode was recorded. graph-match This WME is created whenever an episode is successfully retrieved from a cue-based retrieval command and the graph-match parameter was on. The -value is an integer with value 1 if graph matching was executed successfully and 0 -otherwise. +value is an integer with value 1 if graph matching was executed successfully and +0 otherwise. -mapping `` This WME is created whenever an episode is success- fully +mapping `` This WME is created whenever an episode is successfully retrieved from a cue-based retrieval command, the graph-match parameter was on, and structural match was successful on the retrieved episode. This WME provides a mapping between identifiers in the cue and in the retrieved episode. For each @@ -355,7 +361,7 @@ algorithms). ## Performance There are currently two sources of "unbounded" computation: graph matching and -cue- based queries. Graph matching is combinatorial in the worst case. Thus, if +cue-based queries. Graph matching is combinatorial in the worst case. Thus, if an episode presents a perfect surface match, but imperfect structural match (i.e. there is no way to unify the cue with the candidate episode), there is the potential for exhaustive search. Each identifier in the cue can be assigned one @@ -389,10 +395,10 @@ to speed operations like queries by keeping in memory structures like levels of index B+-trees. The first parameter, **page-size** , indicates the size, in bytes, of each cache page. The second parameter, **cache-size** , suggests to SQLite how many pages are available for the cache. Total cache size is the -product of these two parameter settings. The cache memory is not pre- allocated, +product of these two parameter settings. The cache memory is not preallocated, so short/small runs will not necessarily make use of this space. Generally speaking, a greater number of cache pages will benefit query time, as SQLite can -keep necessary meta- data in memory. However, some documented situations have +keep necessary meta-data in memory. However, some documented situations have shown improved performance from decreasing cache pages to increase memory locality. This is of greater concern when dealing with file-based databases, versus in-memory. The size of each page, however, may be important whether @@ -435,10 +441,11 @@ thus other applications/agents cannot make simultaneous read/write calls to the database (thereby reducing the need for potentially expensive system calls to secure/release file locks). -Finally, maintaining accurate operation timers can be relatively expensive in Soar. Thus, -these should be enabled with caution and understanding of their limitations. First, they -will affect performance, depending on the level (set via the timers parameter). A level of -three, for instance, times every step in the cue-based retrieval candidate episode search. -Furthermore, because these iterations are relatively cheap (typically a single step in the -linked-list of a b+-tree), timer values are typically unreliable (depending upon the system, +Finally, maintaining accurate operation timers can be relatively expensive in +Soar. Thus, these should be enabled with caution and understanding of their +limitations. First, they will affect performance, depending on the level (set +via the timers parameter). A level of three, for instance, times every step in +the cue-based retrieval candidate episode search. Furthermore, because these +iterations are relatively cheap (typically a single step in the linked-list of a +b+-tree), timer values are typically unreliable (depending upon the system, resolution is 1 microsecond or more).