Presentation is loading. Please wait.

Presentation is loading. Please wait.

ACT-R 6 Why aren’t you using it yet? Dan Bothell April 8, 2005.

Similar presentations


Presentation on theme: "ACT-R 6 Why aren’t you using it yet? Dan Bothell April 8, 2005."— Presentation transcript:

1 ACT-R 6 Why aren’t you using it yet? Dan Bothell April 8, 2005

2 What is ACT-R 6? ACT-R 5 cleaned up Unify/standardize the buffer mechanism Better integration of the Cognitive and PM components –One time maintenance mechanism Make the whole system modular Make it easier to add/remove modules

3 How similar is it to 5? Lots of similarities Most of the commands are still around –sgp, p, add-dm, run Models look basically the same Same equations –Procedural Utility calculation and utility learning * –Declarative memory Activation equation, Spreading activation, Base-level learning, retrieval time Same PM system

4 Where are things now? It is available and working –Performance comparable to ACT-R 5 Slightly better on average over the tutorial, but does vary Has the tutorial models for units 1-6 –With all the changes needed to update from 5 detailed Tutorial unit texts for units 1 and 2 –Formatting still a little rough but the content is good Get it at http://act-r.psy.cmu.edu/act-r6http://act-r.psy.cmu.edu/act-r6 Or via Subversion (http://subversion.tigris.org/) fromhttp://subversion.tigris.org/ svn://alba.psy.cmu.edu/usr/local/svnroot/actr6

5 What is it missing? The rest of the tutorial unit texts Production Compilation The ACT-R Environment Manuals (of course so is ACT-R 5)

6 Big General Differences Not backward compatible! The set of all chunks does not equal DM Model files can be compiled –Clearall doesn’t do a load-time read –Requires use of the define-model command Supports multiple models “out of the box” –Both synchronous and asynchronous

7 More minor general differences Removed some duplicate commands The PM commands have had the “pm-” stripped from them –For example pm-proc-display is now proc-display “Old” named commands are removed –In particular anything that included wme Sgp sets parameters for all modules Trace is more detailed (at least by default)

8 Buffers They all work the same –Hold a chunk –Relay queries and requests to/from a module The chunk is a copy –Doesn’t exist outside of the buffer Changes to the buffer’s chunk are not reflected back onto the original chunk Essentially chunk creation scratch pads Can be a source of Activation –Individual parameters like W (:ga).

9 Declarative Memory Holds only the chunks that are added explicitly or those that come from the buffers When a buffer clears the chunk merges into DM –True for all buffers Those merges are the references for base-level learning –Not the LHS usage as in ACT-R 5 Because buffers hold copies DM chunks can’t be changed from within a production

10 Declarative Finsts Major reason for changing chunks in DM was to mark them to prevent retrieval Now there are automatic markers just like vision They are limited in time and number –settable with parameters Indicated with the request parameter :recently- retrieved +retrieval> isa fact :recently-retrieved nil

11 Productions: General differences No LHS Retrievals! Can’t use !eval! in the slot value position –Won’t flag it as an error or warning though at this point because a list is a “valid” value Binding order not as important: (p test =goal> isa goal - value =that =retrieval> isa fact slot =that ==> …) works without problems

12 Productions LHS =buffer> ?buffer> !eval! !bind! !safe-eval! !safe-bind!

13 LHS =buffer =buffer> isa chunk-type {{modifier} slot-name slot-value}* Same as it was in ACT-R 5 Tests the chunk in the buffer

14 LHS ?buffer> No more *-state buffers Replaced with the buffer query operator ?buffer> {query value}* Must reply non-nil to match Two queries are mandatory for a buffer/module to respond to –State with values busy, free, and error –Buffer with the values full, empty or stuffed Any others can be added by the module writer –Modality for the current PM modules for example

15 The LHS !’s !eval! and !bind! just like before –Must be non-nil for production to match !safe-eval! and !safe-bind! operate just like the non-safe versions –Difference is that production compilation will not compile productions that use the non-safe version

16 Production RHS =buffer> -buffer> +buffer> !eval! and !safe-eval! !bind! and !safe-bind! !output! !stop!

17 RHS =buffer> Immediately manipulates the chunk in the buffer Two forms =buffer> {slot value}* –Same as always – sets the slots to have the specified values =buffer> chunk-reference –Copies that chunk into the buffer –Partial generalization from the ACT-R 5 “+buffer> chunk” mechanism

18 RHS –buffer> -buffer> Clears the chunk from the buffer That’s it! Does not result in any action by the module –Unlike ACT-R 5 where that could also cause the module to reset/clear

19 RHS +buffer> Sends a request to the module Three forms +buffer> isa chunk-type {{modifier} [slot | request parameter] value}* +buffer> chunk-reference +buffer> {slot value}*

20 +buffer> isa +buffer> isa chunk-type {{modifier} [slot | request parameter] value}* Sends that request to the module just like ACT-R 5 Only difference is the addition of the request parameters in addition to slots –Specific to the buffer and defined with the module –Valid no matter what the chunk-type –Always a keyword to distinguish it from a slot

21 +buffer> chunk +buffer> chunk-reference Generalization of the ACT-R 5 mechanism Expands the chunk “in place” and sends the request as if all the chunk’s slots and values (including the type) were specified Works the same for all buffers –Not exactly the same as ACT-R 5

22 +buffer> modification +buffer> {slot value}* Sends a request to the module to make a change to the chunk in the buffer Must have matched the buffer on the LHS Replaces the remapping of =buffer> that was possible in ACT-R 5

23 Strict harvesting New mechanism of productions When a buffer is matched on the LHS of a production it is automatically cleared on the RHS unless there is an =buffer action to keep it around –Parameterized so that one can specify which buffers get “strict harvested” –Out of the box all but the goal buffer do right now Cleans up issues with –References for BLL –Production compilation –Micro-managing perceptual buffers

24 Vision Module Attended slot is gone –Replaced by a request parameter +visual-location> isa visual-location :attended nil –And a query ?visual-location> attended nil Good because now visual-locations can merge properly without the changing attended slot The query can match nil to new but the slot couldn’t

25 Vision Module cont. Attention Shifts changed from +visual> isa visual-object To +visual> isa move-attention Removes the need for the scale slot in visual- objects Only has the two slots screen-pos and scale

26 Vision module cont. 2 Now must use: +visual> isa clear To explicitly clear (reset) the vision system because –visual> doesn’t send an automatic clear to the module anymore Same for the motor system +manual> isa clear instead of –manual>

27 Experimental addition: P* Exactly like p except slot-names can be variablized –On both the LHS and the RHS Limited variability (for now at least) –Will not do any binding – the variable must be bound elsewhere –Only one level deep per buffer test

28 Random “module” Includes a pseudo-random number generator –Mersenne Twister – considered the best available for Monte Carlo simulation purposes Can set the seed with sgp –Guarantees repeatability regardless of Lisp or OS –Great for the tutorial because students get the exact same trace as shown in the text –Useful for debugging because the same situation can easily be recreated

29 Naming “module” Replaces the use of gentemp Counters start at 0 for each name Gets reset to 0 when the model resets A deterministic model will always have the same names for things

30 Issues with copying and merging chunks The ACT-R 6 merging mechanism doesn’t replace all occurrences when merging –Time/space prohibitive because of how often the merging occurs Buffers have chunks with “new” names Can end up with chunks that don’t “look” the same that do merge Traces can look a little odd with references to differently named slots –Unit 5 with partial matching shows that No solution at this point – just something to be wary of –Could try to hide it, but that may be more confusing


Download ppt "ACT-R 6 Why aren’t you using it yet? Dan Bothell April 8, 2005."

Similar presentations


Ads by Google