ACT-R 6 Official Release - PowerPoint PPT Presentation

About This Presentation
Title:

ACT-R 6 Official Release

Description:

Sources of activation. All buffers are potential sources now ... also used to enable/disable spreading activation since setting :ga to 0 is not sufficient ... – PowerPoint PPT presentation

Number of Views:14
Avg rating:3.0/5.0
Slides: 57
Provided by: danbo1
Learn more at: http://act-r.psy.cmu.edu
Category:
Tags: act | official | release

less

Transcript and Presenter's Notes

Title: ACT-R 6 Official Release


1
ACT-R 6Official Release
  • Dan Bothell
  • Carnegie Mellon University

2
(No Transcript)
3
Brief History
  • Proposed at the 2002 Workshop
  • Concurrently with ACT-R 5s release
  • Initial description at the 2003 Workshop
  • Early prototype
  • Claimed a 2005 Workshop release
  • Discussion session after ICCM 2004
  • Fleshed out some issues with syntax
  • Here it is!
  • Fully functional
  • Used it for the 2005 Summer School

4
What is ACT-R 6?
  • The same theory as ACT-R 5
  • Rewritten implementation
  • Eliminate unnecessary legacy code
  • Unify/standardize the buffer mechanism
  • Better integration of the Cognitive and
    Perceptual/Motor components
  • No longer an ACT-R/PM
  • Make the whole system modular
  • Easy to add new components
  • Easy to remove/replace existing ones

5
How similar is it to ACT-R 5?
  • Very similar
  • Most of the commands are still there
  • reset, clear-all, sgp, p, add-dm, run,
  • Models look basically the same
  • Same equations
  • Procedural
  • Declarative memory
  • With basically the same parameters
  • Same defaults and usage
  • Same Perceptual and Motor modules

6
Why should I use it?
  • It cleans up some issues that can make ACT-R 5
    tricky to work with
  • It has new features
  • To make things easier for modeling
  • To add some requested capabilities
  • It is easier to extend and modify
  • Easier to distribute and combine extensions
  • In many cases it is faster than ACT-R 5

7
Things that were cleaned up
  • Overall structure
  • Buffers and Chunks
  • Declarative memory
  • Productions
  • Module states
  • Vision module
  • Production compilation
  • Available commands

8
Things that were cleaned up
  • Overall structure
  • Buffers and Chunks
  • Declarative memory
  • Productions
  • Module states
  • Vision module
  • Production compilation
  • Available commands

9
Basic structure
  • A central event scheduling system
  • Independent of the theory itself
  • A set of modules
  • All treated equally
  • Should each be independent
  • May have one or more buffers as an interface
  • Responsible for scheduling its own events

10
Things that were cleaned up
  • Overall structure
  • Buffers and Chunks
  • Declarative memory
  • Productions
  • Module states
  • Vision module
  • Production compilation
  • Available commands

11
Buffers
  • They all work the same
  • Can hold one chunk
  • Relay queries and requests to/from a module
  • The chunk is a copy
  • Doesnt exist outside of the buffer until it is
    cleared
  • Changes are not reflected back to the original
    chunk
  • Essentially chunk creation scratch pads

12
Chunks
  • Not just for Declarative memory
  • Any module can create/use chunks
  • The set of all chunks does NOT equal DM!

13
Things that were cleaned up
  • Overall structure
  • Buffers and Chunks
  • Declarative memory
  • Productions
  • Vision module
  • Module states
  • Production compilation
  • Available commands

14
Declarative Memory
  • Chunks that are added explicitly
  • Add-dm
  • Chunks merge into DM from buffers
  • All buffers chunks go to DM when cleared
  • Mergings are the references for BLL
  • Not the LHS usage as in ACT-R 5
  • Because buffers hold copies, DM chunks cant be
    changed from within a production
  • Previously it was a recommendation

15
Things that were cleaned up
  • Overall structure
  • Buffers and Chunks
  • Declarative memory
  • Productions
  • Module states
  • Vision module
  • Production compilation
  • Available commands

16
General Production Changes
  • No LHS Retrievals
  • Cant use !eval! in the slot value position
  • More rigorous syntax checking
  • Doesnt assume what you want when theres an
    inconsistency
  • LHS ordering not important
  • (p test
  • goalgt
  • isa goal
  • - value value
  • retrievalgt
  • isa fact
  • slot value
  • gt )

17
Productions LHS
  • Only four possible conditions available
  • buffergt
  • Test the chunk in the buffer just like in 5
  • !eval! or !safe-eval!
  • !bind! or !safe-bind!
  • Same as in ACT-R 5
  • Safe- versions accepted by production compilation
  • ?buffergt
  • Query the buffer or its module
  • Come back to queries later

18
Production RHS
  • Essentially the same operators as in 5
  • Removed the obsolete ones
  • !pop!, !push!, !retrieve!, etc.
  • Standardized the mechanism for all buffers
  • All buffers treated equally
  • Obviously different buffers do different things,
    but a buffers module is where that
    differentiation occurs

19
Possible RHS actions
  • buffergt
  • -buffergt
  • buffergt
  • !eval! and !safe-eval!
  • !bind! and !safe-bind!
  • !output!
  • !stop!

20
RHS actions
  • buffergt
  • !eval! and !safe-eval!
  • !bind! and !safe-bind!
  • !output!
  • All the same as in ACT-R 5
  • The safe- versions do not inhibit the production
    compilation mechanism
  • !stop!
  • Not actually new, but does work now
  • Generates a break event in the scheduler
  • Terminates the current run command

21
RHS buffergt
  • -buffergt
  • Clears the chunk from the buffer
  • Thats it!
  • Does not result in any action by the module
  • Unlike ACT-R 5 where that could also cause the
    corresponding module to reset/clear

22
RHS buffergt
  • buffergt isa chunk-type
  • modifier slot request parameter value
  • or
  • buffergt chunk-reference
  • Sends a request to the module
  • Always clears the buffer implicitly
  • Essentially the same as ACT-R 5

23
Things that were cleaned up
  • Overall structure
  • Buffers and Chunks
  • Declarative memory
  • Productions
  • Module states
  • Vision module
  • Production compilation
  • Available commands

24
Buffer queries
  • Replaces the -state buffers
  • Syntax
  • ?buffergt
  • - query value
  • Either true or false
  • No bindings
  • Must all be true for production to match
  • Examples
  • ?retrievalgt ?visualgt
  • state busy - state error
  • buffer empty buffer check

25
Queries continued
  • Every buffer/module must respond to
  • State
  • Values busy, free, or error
  • Buffer
  • Values full, empty, requested or unrequested
  • Others can be added by a module writer
  • Modality for the current PM modules for example

26
Things that were cleaned up
  • Overall structure
  • Buffers and Chunks
  • Declarative memory
  • Productions
  • Module states
  • Vision module
  • Production compilation
  • Available commands

27
Vision Module
  • Removed the attended slot from visual-location
    chunks
  • Replaced with
  • a RHS request parameter
  • visual-locationgt
  • isa visual-location
  • attended nil
  • A LHS query
  • ?visual-locationgt
  • attended nil
  • Good because now visual-locations can merge
    properly without the changing attended slot
  • The query can match nil to new but a LHS slot
    test couldnt

28
Vision Module cont.
  • Attention Shifts changed from
  • visualgt
  • isa visual-object
  • To
  • visualgt
  • isa move-attention
  • No longer need the scale slot in visual-objects
  • Easier to read in productions
  • The analogy to declarative didnt seem all that
    helpful

29
Things that were cleaned up
  • Overall structure
  • Buffers and Chunks
  • Declarative memory
  • Productions
  • Module states
  • Vision module
  • Production compilation
  • Available commands

30
Production Compilation
  • The same general theory as 5
  • Combine consecutive productions into one
  • Incorporate requested chunks and remove the
    request
  • Only do safe compilations
  • Mechanism is now split into two distinct steps
    and applied on a buffer-by-buffer basis
  • Check for possibility of composition
  • Perform the composition
  • More robust than the mechanism in 5
  • Slightly more restricted than the 5 mechanism

31
Production Compilation cont.
  • Applies to all buffers (even user created)
  • Basic mechanism is that there are 4 styles of
    buffers
  • Goal, retrieval, perceptual, and motor
  • Any buffer can be set to any style
  • New styles can be added
  • Existing styles can be modified for both steps

32
Things that were cleaned up
  • Overall structure
  • Buffers and Chunks
  • Declarative memory
  • Productions
  • Vision module
  • Module states
  • Production compilation
  • Available commands

33
Commands
  • Removed some duplicate commands
  • set-general-base-levels, set-all-base-levels,
    set-base-levels, setgeneralbaselevels,
    setallbaselevels, setbaselevels ?
    set-base-levels
  • The PM commands have had the pm- removed
  • For example pm-proc-display is now proc-display
  • Commands referencing obsolete items removed
  • In particular anything that included wme
  • Sgp sets parameters for all modules

34
New Features
  • Request parameters
  • Declarative finsts
  • Sources of activation
  • Multiple models
  • Strict Harvesting
  • P command

35
New Features
  • Request parameters
  • Declarative finsts
  • Sources of activation
  • Multiple models
  • Strict Harvesting
  • P command

36
Request parameters
  • Buffer specific parameters
  • Valid no matter what the chunk-type
  • Always a keyword (which distinguishes it from an
    actual slot)
  • Examples
  • visual-locationgt
    retrievalgt
  • isa visual-location isa
    any-chunk-type
  • attended nil
    recently-retrieved nil

37
New Features
  • Request parameters
  • Declarative finsts
  • Sources of activation
  • Multiple models
  • Strict Harvesting
  • P command

38
Declarative Finsts
  • Cannot modify chunks in DM in a production
  • 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
  • retrievalgt
  • isa fact
  • recently-retrieved nil

39
New Features
  • Request parameters
  • Declarative finsts
  • Sources of activation
  • Multiple models
  • Strict Harvesting
  • P command

40
Sources of activation
  • All buffers are potential sources now
  • Each buffer has a separate parameter like ga for
    the goal buffer
  • ga defaults to 1
  • All others default to 0
  • mas now also used to enable/disable spreading
    activation since setting ga to 0 is not
    sufficient

41
New Features
  • Request parameters
  • Declarative finsts
  • Sources of activation
  • Multiple models
  • Strict Harvesting
  • P command

42
Multiple Models
  • Out of the box ACT-R 6 supports multiple models
  • Any number of models can be loaded
  • Each has its own set of modules, chunks, and
    parameters
  • Can be run synchronously or asynchronously
  • Determined when loaded
  • Not adjustable afterwards

43
New Features
  • Request parameters
  • Declarative finsts
  • Sources of activation
  • Multiple models
  • Strict Harvesting
  • P command

44
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
  • Cleans up issues with
  • References for BLL
  • Production compilation
  • Micro-managing perceptual buffers

45
New Features
  • Request parameters
  • Declarative finsts
  • Sources of activation
  • Multiple models
  • Strict Harvesting
  • P command

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

47
Example P uses
  • (p search
  • goalgt
  • isa search
  • retrievalgt
  • isa strategy
  • constraint c
  • value v
  • gt
  • visual-locationgt
  • isa visual-location
  • c v
  • )
  • (p check
  • goalgt
  • isa check
  • which-slot s
  • which-value v
  • retrievalgt
  • isa memory
  • s v
  • gt
  • )

48
More on P
  • Does work with production compilation!

(p production-89 search strat
goalgt isa search gt
visual-locationgt isa visual-location
kind text )
(p search goalgt isa search
retrievalgt isa strategy constraint c
value v gt visual-locationgt isa
visual-location c v )
Strat isa strategy constraint kind value
text
...
?

49
Other issues
  • Extending the system
  • Current performance

50
Extending via new Modules
  • All modules are built the same way
  • Including the defaults
  • Can remove or replace any module
  • Placing a file in the modules or tools directory
    with a .lisp name will cause it to be loaded
  • Eventually would like to have a database of
    available modules and tools that people can use
  • No how to docs right now, but the current
    modules serve as examples and there is an API doc
    that describes the available functions

51
Modifying the base modules
  • Declarative and Procedural modules are now more
    user configurable
  • All the equations have override hooks like
    similarity did previously
  • BL-HOOK
  • SPREADING-HOOK
  • PARTIAL-MATCHING-HOOK
  • NOISE-HOOK
  • SIM-HOOK
  • SJI-HOOK
  • UTILITY-HOOK
  • UTILITY-C-HOOK
  • UTILITY-P-HOOK
  • Should relieve people of needing to hack the main
    code

52
Performance Evaluation
  • Has not been highly optimized yet
  • Used the tutorial models as a benchmark because
    they touch all the main components
  • Used ACL 6.2 on Windows XP and MCL 5.0 on Mac OS
    X 10.4
  • Need to increase the MCL heap under OS X
  • (cclset-preferred-size-resource
    heap-size-in-bytes)
  • Basic speed and size comparison
  • Using the time function

53
Comparison
54
More Information
  • Tutorials show the new system in use
  • Test models in the distribution are the commented
    conversion of the ACT-R 5 tutorial models
  • User manual
  • not yet sorry
  • Can always look at the source code
  • A little more structured/spread out
  • Slightly more commented

55
Where can I get it?
  • The ACT-R website
  • http//act-r.psy.cmu.edu
  • Updated when there are significant changes
  • Via Subversion
  • Always the most up to date code
  • Version control software available from
  • http//subversion.tigris.org
  • All files are under version control
  • Including the tutorial, docs, and the environment
  • Available from our server at
  • svn//alba.psy.cmu.edu/usr/local/svnroot/actr6

56
Questions?
Write a Comment
User Comments (0)
About PowerShow.com