ACT-R 5.0 Architecture Christian Lebiere Human-Computer Interaction Institute Carnegie Mellon University

Slides:



Advertisements
Similar presentations
System Integration and Performance
Advertisements

A Comparison of Rule-Based versus Exemplar-Based Categorization Using the ACT-R Architecture Matthew F. RUTLEDGE-TAYLOR, Christian LEBIERE, Robert THOMSON,
Performance of Cache Memory
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
SAL: A Hybrid Cognitive Architecture Y. Vinokurov 1, C. Lebiere 1, D. Wyatte 2, S. Herd 2, R. O’Reilly 2 1. Carnegie Mellon University, 2. University of.
Expert System Shells - Examples
Programming Types of Testing.
Intelligent systems Lecture 6 Rules, Semantic nets.
Chapter 12: Expert Systems Design Examples
Expert System Human expert level performance Limited application area Large component of task specific knowledge Knowledge based system Task specific knowledge.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
19: Protection1 PROTECTION Protection is the mechanism for controlling access to computer resources. Security concerns the physical integrity of the system.
ACT-R 6 The Proposals and The Prototype. What is ACT-R 6? A reimplementation of ACT-R 5 No major theory changes –Minor clean-up –Updates to production.
1 Soar Semantic Memory Yongjia Wang University of Michigan.
Translation Buffers (TLB’s)
Chapter 11: Distributed Processing Parallel programming Principles of parallel programming languages Concurrent execution –Programming constructs –Guarded.
ACT-R.
Models of Human Performance Dr. Chris Baber. 2 Objectives Introduce theory-based models for predicting human performance Introduce competence-based models.
DDMLab – September 27, ACT-R models of training Cleotilde Gonzalez and Brad Best Dynamic Decision Making Laboratory (DDMLab)
1 Evaluation of Relational Operations: Other Techniques Chapter 12, Part B.
ACT-R 6 Why aren’t you using it yet? Dan Bothell April 8, 2005.
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology A Synthesis Algorithm for Modular Design of.
ACT-R 5.0 and ACT-R/PM Michael D. Byrne Department of Psychology Rice University Houston, TX 77005
REFACTORING Lecture 4. Definition Refactoring is a process of changing the internal structure of the program, not affecting its external behavior and.
Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence Using Expectations to Drive Cognitive Behavior Unmesh Kurup, Christian Lebiere,
MODELING HUMAN PERFORMANCE Anderson et al. Article and Taatgen, Lebeire, & Anderson Article Presented by : Kelsey Baldree.
Modeling meditation ?! Marieke van Vugt.
CSC3315 (Spring 2009)1 CSC 3315 Programming Languages Hamid Harroud School of Science and Engineering, Akhawayn University
11 A First Game Program Session Session Overview  Begin the creation of an arcade game  Learn software design techniques that apply to any form.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
More C++ Classes Systems Programming. C++ Classes  Preprocessor Wrapper  Time Class Case Study –Two versions (old and new)  Class Scope and Assessing.
Introduction to ACT-R 5.0 ACT-R Post Graduate Summer School 2001 Coolfont Resort ACT-R Home Page: John R. Anderson Psychology Department.
The Functions of Operating Systems Interrupts. Learning Objectives Explain how interrupts are used to obtain processor time. Explain how processing of.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Compilation and Instruction ACT-R Post Graduate Summer School 2001 Coolfont Resort ACT-R Home Page: John R. Anderson Psychology.
Korea Univ. Division Information Management Engineering UI Lab. Korea Univ. Division Information Management Engineering UI Lab. IMS 802 Cognitive Modeling.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
ACT-R 6.0 Updates Summer ‘10 – Summer ‘12 Dan Bothell Carnegie Mellon University
CPSC 404, Laks V.S. Lakshmanan1 External Sorting Chapter 13: Ramakrishnan & Gherke and Chapter 2.3: Garcia-Molina et al.
CMP-MX21: Lecture 5 Repetitions Steve Hordley. Overview 1. Repetition using the do-while construct 2. Repetition using the while construct 3. Repetition.
1/28 Unit 3. Attention 3.1 Visual Locations 3.2 The Sperling Task 3.3 Visual Attention 3.4 Auditory Attention 3.5 Typing and Control 3.6 Declarative Finsts.
COSC 2007 Data Structures II Chapter 13 Advanced Implementation of Tables IV.
Basic Scheme February 8, 2007 Compound expressions Rules of evaluation Creating procedures by capturing common patterns.
U i Modleing SGOMS in ACT-R: Linking Macro- and Microcognition Lee Yong Ho.
Dynamic Decision Making Laboratory Carnegie Mellon University 1 Social and Decision Sciences Department ACT-R models of training Cleotilde Gonzalez and.
Functions Math library functions Function definition Function invocation Argument passing Scope of an variable Programming 1 DCT 1033.
1/33 Basic Scheme February 8, 2007 Compound expressions Rules of evaluation Creating procedures by capturing common patterns.
1 Intro stored procedures Declaring parameters Using in a sproc Intro to transactions Concurrency control & recovery States of transactions Desirable.
ICS3U_FileIO.ppt File Input/Output (I/O)‏ ICS3U_FileIO.ppt File I/O Declare a file object File myFile = new File("billy.txt"); a file object whose name.
IT3002 Computer Architecture
ACT-R 6.0 Software Updates Summer ‘08 – Summer ‘09 Dan Bothell Carnegie Mellon University
Time Management.  Time management is concerned with OS facilities and services which measure real time.  These services include:  Keeping track of.
Programming Logic and Design Fifth Edition, Comprehensive Chapter 6 Arrays.
Multitasking Computational Neuroscience NSCI 492 Spring 2008.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
ACT-R 6.0 Software Updates Summer ‘09 – Summer ‘10 Dan Bothell Carnegie Mellon University
CSE 332: C++ Exceptions Motivation for C++ Exceptions Void Number:: operator/= (const double denom) { if (denom == 0.0) { // what to do here? } m_value.
Calliope-Louisa Sotiropoulou FTK: E RROR D ETECTION AND M ONITORING Aristotle University of Thessaloniki FTK WORKSHOP, ALEXANDROUPOLI: 10/03/2014.
Memory Hierarchy Ideal memory is fast, large, and inexpensive
Basic Scheme February 8, 2007 Compound expressions Rules of evaluation
The Von Neumann Model Basic components Instruction processing
Processor Fundamentals
Translation Buffers (TLB’s)
Chapter 8 Advanced SQL.
Translation Buffers (TLB’s)
CSC3050 – Computer Architecture
Evaluation of Relational Operations: Other Techniques
Translation Buffers (TLBs)
Review What are the advantages/disadvantages of pages versus segments?
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

ACT-R 5.0 Architecture Christian Lebiere Human-Computer Interaction Institute Carnegie Mellon University

The Architecture Motor Modules Current Goal Perceptual Modules Declarative Memory Pattern Matching And Production Selection Check Retrieve Modify Test Check State Schedule Action Identify Object Move Attention ACT-R 5.0 Environment

Asynchronous Production Cycle Need to be less fixated on the goal and more interruptible Asynchronous matching responds to changes and interrupts Matches and acts on several sources of information (buffers) Any of them can occur in any order or not at all (e.g. no goal) What is a buffer? Active part or select location of module? Event-centered firing: new cycle as response to buffer change Production matching and selection has replaced goal as linchpin It also simplifies production cycle since there are no failures Need to do something about retrievals that can tie up production matching for several hundred ms and repeatedly during a cycle

Retrieval as Internal Action Separate the request for retrieval from test of results –Implausibly long matching cycle and perfect sequential search –Unification with treatment of visual perception –Better account of neuroscience literature Result of retrieval appears in retrieval buffer when complete If it fails, a failure (“don’t know”) chunk is put in the buffer Retrieval buffer is reset to nil when a new request is made –Alternatives: when it is accessed or finite time after available Explicit retrieval-state buffer? Busy, time and/or probability? Learning (BLL, AL) when and on what basis? –Currently: as before at the end of the matching cycle –Makes some sense for BLL but how about source changes for AL?

The Buffers You can call me -al Goal: same but no goal stack. –Might be smaller since other buffers might take up some of the load Retrieval: holds result of last retrieval. –Only 1 chunk, held until next request. Could be more time-limited. Visual: holds currently attended visual object. –Separate buffers for -location and -state. Could perhaps be integrated. Manual: holds last hand command issued. –Separate -state buffer to test for jamming. Aural: see visual Vocal: see manual

The Syntax =buffer>: Tests against current state of buffer in lhs –Modifies chunk in rhs: only kosher for goal, though possible for all +buffer>: Changes buffer in rhs –Goal: new goal equivalent to !focus-on! –Retrieval: retrieval request to declarative memory –Perceptual/Motor: corresponding request for specific module -buffer>: Clears buffer in rhs; replaces RPM call to clear Summary: –Goal: basically unchanged with replacement of stack commands by + –Retrieval: separation of retrieval request and retrieval test/binding –Perceptual/Motor: replaces ad hoc commands and activation tricks

Example The Old (p retrieve-sentence-p =goal> isa recognize-goal person =p location =l pl nil =prop> isa proposition relation in* arg1 =p arg2 =newl ==> =goal> pp =p pl =newl) (p match =goal> isa recognize-goal location =l pl =l person =p pp =p ==> !output! "yes")) The New (p retrieve-sentence-p =goal> isa recognize-goal person =p ==> +retrieval> isa proposition relation in* arg1 =p) (p match =goal> isa recognize-goal person =p location =l =retrieval> isa proposition arg1 =p arg2 =l ==> =goal> answer yes +goal> isa answer-yes) Time 0.000: Retrieve-Rule Selected Time 0.050: Retrieve-Rule Fired Time 0.354: Rule21 Retrieved Time 0.354: Instantiate-Rule-0-Args Selected Time 0.404: Instantiate-Rule-0-Args Fired Time 0.595: P22 Retrieved Time 0.595: Ready-To-Read Selected Time 0.645: Ready-To-Read Fired Time 0.645: Read-Attend Selected Time 0.695: Read-Attend Fired Time 0.695: Module :VISION running command MOVE-ATTENTION Time 0.745: Module :VISION running command FOCUS-ON Time 0.745: Read-Bind-Var1 Selected Time 0.795: Read-Bind-Var1 Fired Time 1.048: P23 Retrieved Time 1.048: Retrieve-*Var1-Var2 Selected Time 1.098: Retrieve-*Var1-Var2 Fired Time 1.098: Failure Retrieved Time 1.098: Fail-Harvest-Var Selected Time 1.148: Fail-Harvest-Var Fired Time 1.252: Rule25 Retrieved Time 1.252: Subgoal-Find-Second-Arg Selected Time 1.302: Subgoal-Find-Second-Arg Fired Time 1.566: P26 Retrieved Time 1.566: Ready-To-Read Selected Time 1.616: Ready-To-Read Fired Time 5.000: * Running stopped because time limit reached Time 5.000: Read-Attend Selected Time 5.050: Read-Attend Fired Time 5.050: Module :VISION running command MOVE-ATTENTION Time 5.100: Module :VISION running command FOCUS-ON Time 5.100: Read-Bind-Var2 Selected Time 5.150: Read-Bind-Var2 Fired

The Semantics Buffer tests in lhs take place in parallel Buffer actions in rhs take place in parallel Any combination of buffers may appear in lhs and rhs The whole test-action production cycle takes 50 msec Tests take place at the start of the cycle, actions at the end Results of actions may not available immediately Only 1 retrieval available; a new one clears the previous one –Flexible middle ground between full parallelism and blocking action No production ever fails: it matches or it does not

Production Rule Learning Need for a more automatic production creation mechanism working directly from execution rather than memory trace Works by collapsing consecutive productions together Combines buffer tests and actions while avoiding conflicts For perceptual/motor buffers, prevent jamming (2 accesses) For retrieval buffer, delete request and test when no error The resulting production specializes the parent productions For goal buffer, merge references unless conflicting changes Set parameters to reflect low confidence and cost of entry Leave in the more explicit dependency-based mechanism?

Goal Stack The goal stack is an idealistic construct –Perfect memory –Instantaneous retrievals Use declarative memory instead –Changing to new goal stores previous goal as new memory chunk –Old goal can be retrieved from memory (direct link or not?) –Recency (and perhaps priming) provides approximation to goal stack –Implications of duplicating retrieved goal vs reinstating it directly Is goal memory the same as declarative memory or separate? No more architectural support for subgoal discounting Still a useful abstraction: leave the old commands in place

Miscellaneous Outside of the reserved -al keywords, other headers in the lhs are interpreted as retrievals and in rhs as chunk creation (4.0) Ultimately: get rid of all !! Commands Generalizes negation modifier - to comparison >, =, <= New trace format time/event-based instead of cycle-based –Cycle trace prints events, latency trace prints durations Enable Rational Analysis: Enable Subsymbolic Computations Buffers command generalizes goal-focus (and retrieval) How central is the goal to cognition given the other sources? Issues of compatibility: how to implement the transition?

Open Issues What to do if no production matches? –Stop: put in a wait production if you want to continue –Advance to next cycle and retry: matching and selection can be noisy –Advance to next event: need good integrated scheduler Find-location (and find-sound): lhs or rhs? –Used to be lhs: too powerful because 0-cost matching –Currently unified: rhs request and lhs test on visual-location –How to handle onset detection: buffer-stuffing of new events Questions about direct links, i.e. chunks as slot values –Problems with direct retrieval, e.g. competitive latency –Problematic direct assignments to buffers: +buffer> =variable –Has similar but slightly less power than the goal stack