generalized chunking - university of michigan · 2017. 6. 14. · soar 9.3 chunking 1. dependency...
TRANSCRIPT
![Page 1: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/1.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Mazin Assanie University of Michigan [email protected]
Generalized Chunking
![Page 2: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/2.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
1. What is chunking? 2. What is generalized chunking? 3. Chunking terminology 4. How Soar 9.3 learns chunks 5. How Soar 9.4 learns chunks
Talk Overview
2
![Page 3: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/3.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
What is chunking? • Automatic learning mechanism that creates
generalized rules which summarize problem-solving in a substate.
• These “chunks” will fire in future similar situations avoiding similar problem-solving.
![Page 4: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/4.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
1. Agent doesn’t know how to proceed. 2. Soar creates a substate so agent can consider
problem. 3. Agent does problem-solving on the substate and
records a result in the superstate. 4. Soar analyzes the problem-solving and creates
a generalized rule that summarizes what was needed to produce the result.
When and How?
4
![Page 5: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/5.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
What is Generalized Chunking?
5
![Page 6: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/6.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
• An expansion of Soar’s chunking mechanism that creates chunks that are far more general and apply to a wider variety of situations. • Previous versions of Soar made more
specific chunks that contained the exact numeric and string values that occurred when the chunks formed.
What is Generalized Chunking?
6
![Page 7: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/7.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
• Generalized chunking analyzes the relationships between numbers, strings and other constants used during problem-solving to variablize any symbol type, not just identifiers.
What is Generalized Chunking?
7
![Page 8: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/8.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
sp {chunk*apply*grade (state <s1> ^passing-‐score 75 ^superstate nil ^student-‐info <s2> ^me-‐info { <> <s2> <m1> }) (<s2> ^test-‐score 92 ^name Mary) -‐-‐> (<s1> ^decision <d1>) (<d1> ^name Mary ^score 92 ^grade PASS)}
Comparison of Chunks
sp {chunk*apply*grade*9.4 (state <s1> ^passing-‐score <p1> ^superstate nil ^student-‐info <s2> ^me-‐info { <> <s2> <m1> }) (<s2> ^test-‐score { > <p1> <s3> } ^name <n1>) -‐-‐> (<s1> ^decision <d1>) (<d1> ^name <n1> ^score <s3> ^grade PASS)}
8
Symbol Types: Constant <Variable>
![Page 9: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/9.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Implications of this Change • We expect chunks to be more
applicable. They will be more general but not over-general.
• We expect agents will need to learn fewer chunks.
• We expect agents will learn useful chunks sooner.
9
![Page 10: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/10.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Chunking Terminology
10
![Page 11: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/11.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
• Production sp {make-result
(state <substate> ^superstate <superstate>
^local-info <local>)
(<superstate> ^foo <bar>)
-->
(<substate> ^rhs-action not-a-result)
(<superstate> ^rhs-action totally-a-result)}
Chunking Terminology
11
![Page 12: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/12.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
sp {make-result
(state <substate> ^superstate <superstate>
^local-info <local>)
(<superstate> ^foo <bar>)
-->
(<substate> ^rhs-action not-a-result)
(<superstate> ^rhs-action totally-a-result)}
Chunking Terminology
12
![Page 13: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/13.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
• Instantiation
(S3 ^superstate S1)
(S3 ^local-info 23)
(S1 ^foo B1)
-->
(S3 ^rhs-action not-a-result)
(S1 ^rhs-action totally-a-result)
Chunking Terminology
13
![Page 14: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/14.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
• A result is working memory element that is added to a higher level state.
sp {make-result
(state <substate> ^superstate <superstate>
^local-info <local>)
(<superstate> ^foo <bar>)
-->
(<substate> ^rhs-action not-a-result)
(<superstate> ^rhs-action totally-a-result)}
• This is when a chunk gets formed.
Chunking Terminology
14
![Page 15: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/15.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
• In terms of how chunking works, it’s useful to delineate them into three types: 1. Variables
• <s>, <ss>, <o>, etc. 2. Short-term Identifiers (STIs)
• S1, S3, I2, etc. 3. Non-STI’s
• Numbers: 1, 3, 1.0, 3.14 • Long-term Identifiers (LTIs): @L1, @I2, etc. • Strings: Everything else
Symbol Types
15
![Page 16: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/16.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
How Soar 9.3 Learns Chunks
16
![Page 17: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/17.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
• Three main components: 1. Dependency Analysis 2. Variablization 3. Variable Specialization
Soar 9.3 Chunking
17
![Page 18: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/18.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to
determine necessary elements of superstate needed to produce result
• Does this by backtracing through the working memory trace and compiling the set of all working memory elements matched that are linked to a higher state.
![Page 19: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/19.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science 19
![Page 20: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/20.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science 20
![Page 21: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/21.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science 21
Top State WMEs
![Page 22: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/22.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science 22
1. Agent doesn’t know what to do
2. Impasse created and agent enters substate
Top State WMEs
![Page 23: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/23.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science 23
Rules fire in substate, performing problem-solving to resolve lack of knowledge, some creating substate WMEs
Top State WMEs
Substate WMEs
![Page 24: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/24.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science 24
A rule fires that creates a result.
Top State WMEs
Substate WMEs
Top State WMEs
Substate WMEs
![Page 25: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/25.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science 25
Top State WMEs
Substate WMEs
Soar backtraces from that rule to determine all WMEs tested.
Top State WMEs
Substate WMEs
![Page 26: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/26.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science 26
Top State WMEs
Substate WMEs Soar determines which conditions match WMEs linked to higher states.
Top State WMEs
Substate WMEs
![Page 27: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/27.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Top State WMEs
Substate WMEs
27
Soar determines which conditions match WMEs linked to higher states.
Top State WMEs
Substate WMEs
![Page 28: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/28.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science 28
Those conditions become the basis for the conditions of the chunk.
Top State WMEs
Substate WMEs
Top State WMEs
Substate WMEs
Chunk
![Page 29: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/29.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Soar 9.3 Chunking 2. Variablization • Generalizes problem solving to other situations
with similar relationships between STIs by substituting variables for STIs
• For example, (S1 ^foo B1 ^foo B2) becomes (<s1> ^foo <b1> ^foo <b2>)
29
![Page 30: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/30.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Soar 9.3 Chunking 3. Variable Specialization • Increases specificity by possibly adding
inequality constraints to variablized STIs • For example,
(<s1> ^foo <b1>) ^foo <b2>) becomes (<s1> ^foo <b1>) ^foo { <> <b1> <b2> })
30
![Page 31: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/31.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
How Soar 9.5 Learns Chunks
31
![Page 32: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/32.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
• Now has five main components: 1. Dependency Analysis 2. Identity Analysis 3. Variablization 4. Identity Unification 5. Variable Specialization
Soar 9.5 Chunking
32
![Page 33: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/33.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
1. Dependency Analysis • From the user’s perspective, this
aspect is essentially the same as 9.3.3.
(For kernel people: Under the hood, we do a few things differently. For example, we now add all conditions linked to a higher level state, even if it matches a wme already encountered in the backtrace. This is because the new condition may have additional constraints that we need to include in the chunk.)
Soar 9.5 Chunking
33
![Page 34: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/34.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Soar 9.5 Chunking 2. Identity Analysis • Analyzes grounding of symbols to determine
which symbols in a substate share the same identity
34
![Page 35: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/35.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Identity Analysis
35
![Page 36: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/36.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Soar 9.5 Chunking 2. Identity Analysis • Analyzes grounding of symbols to determine
which symbols in a substate share the same identity
• Achieves this by forward propagating unique, substate-relative grounding IDs
36
![Page 37: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/37.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science 37
Identities are propagate forward and are relative to the substate.
Top State WMEs
Substate WMEs
![Page 38: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/38.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Soar 9.5 Chunking 4. Variablization
Differences between variablizing non-STI’s and STIs
When With What?
STIs Always. Every occurrence of the same STI is replaced with the same variable.
Non-STIs
Equivalent element in matched production must be a variable
Every occurrence of a symbol with the same identity is replaced with the same variable.
38
![Page 39: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/39.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Soar 9.5 Chunking
Original Production sp {make-result (state <s> ^number 23 ^type basketball) à (<ss> ^name Jordan ^number 23)}
Chunk sp {chunk-make-result (state <s1> ^number <n1> ^type basketball) à (<s2> ^name Jordan ^number <n1>)}
• Soar only variablizes non-STI’s when equivalent element in original production is a variable
39
![Page 40: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/40.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Soar 9.5 Chunking
Original Production sp {make-result (state <s> ^name <name> ^number <n> ^type basketball) à (<ss> ^name <name> ^number <n>)}
Chunk sp {chunk-make-result (state <s1> ^name <n1> ^number <n2> ^type basketball) à (<s2> ^name <n1> ^number <n2>)}
• Soar only variablizes non-STI’s when equivalent element in original production is a variable
40
![Page 41: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/41.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Soar 9.5 Chunking 5. Identity Unification • What happens if two instances of the same
variable in a production matches two symbols which have the same value but different identities? sp {make-result (state <s> ^age <favorite-number>)
^favorite-number <favorite-number>) -->
(<s> ^best-year-ever <favorite-number>)} .
41
![Page 42: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/42.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Soar 9.5 Chunking 5. Identity Unification • Soar unifies the identity of the two symbols, i.e.
both constants will be given the same variable in the final chunk.
• Any constant elsewhere in the same chunk that one of the two identities will also use the same variable.
• Unification is not limited to two identities.
42
![Page 43: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/43.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Soar 9.5 Chunking 1. Variable Specialization • To avoid one source of over-generality, Soar must
include in the chunk any constraints on variablized constants that was required during backtracing.
• Why? We know that any matching constraints specified in the original rules are implicitly required for the problem-solving to have occurred. Otherwise, the rules wouldn’t have matched in the first place.
43
![Page 44: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/44.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
Soar 9.5 Chunking 1. Variable Specialization • How? • As Soar backtraces through the working memory trace, it
collects a list of all constraints specified in the original productions.
• When variablizing conditions, it looks for the symbols referred to in the constraints that it collected. If it finds a match, Soar variablizes that constraint and adds it to that condition in the chunk.
44
![Page 45: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/45.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
• Full desired functionality finally achieved. • Other Soar components modified to handle new
approach, for example templates and reinforcement learning.
• The wide-scale nature of the changes needed to implement this feature has allowed us to clean up and simplify many different areas of the kernel.
Nuggets
45
![Page 46: Generalized Chunking - University of Michigan · 2017. 6. 14. · Soar 9.3 Chunking 1. Dependency analysis • Analyzes substate’s problem-solving to determine necessary elements](https://reader036.vdocument.in/reader036/viewer/2022071511/6130fdad1ecc515869447346/html5/thumbnails/46.jpg)
Mazin Assanie University of Michigan Soar Group
University of Michigan Engineering and Computer Science
• This talk actually leaves out a lot of details. There are a lot of subtle aspects not discussed.
• Debugging some memory-related issues. • Needs performance testing. • Needs polishing. • 9.5 has been a good demonstration of just how
hard making big, low-level changes to the core aspects of Soar is with our current code base.
Coals
46