Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, 18.01.2009 1 SOAR Prof. Dr. Andreas Wendemuth Lehrstuhl Kognitive Systeme / Sprachverarbeitung.

Slides:



Advertisements
Similar presentations
Pat Langley Computational Learning Laboratory Center for the Study of Language and Information Stanford University, Stanford, California
Advertisements

Pat Langley School of Computing and Informatics Arizona State University Tempe, Arizona USA Modeling Social Cognition in a Unified Cognitive Architecture.
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Introduction to Computer Science 2 Lecture 7: Extended binary trees
Search in Python Chapter 3.
Introducing Constrained Heuristic Search to the Soar Cognitive Architecture (demonstrating domain independent learning in Soar) The Second Conference on.
The Logic of Intelligence Pei Wang Department of Computer and Information Sciences Temple University.
Knowledge Representation
CS 267: Automated Verification Lecture 10: Nested Depth First Search, Counter- Example Generation Revisited, Bit-State Hashing, On-The-Fly Model Checking.
Artificial Intelligence and Lisp #3 Characterization of Actions [Chapter 5] Representation Language [Chapter 2] Lab Assignment 2.
State Space Search Classic AI.
Part2 AI as Representation and Search
 Lex helps to specify lexical analyzers by specifying regular expression  i/p notation for lex tool is lex language and the tool itself is refered to.
Introduction to SOAR Based on “a gentle introduction to soar: an Architecture for Human Cognition” by Jill Fain Lehman, John Laird, Paul Rosenbloom. Presented.
Expert System Human expert level performance Limited application area Large component of task specific knowledge Knowledge based system Task specific knowledge.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
Introduction to Computability Theory
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
6/12/2015Prof. Hilfinger CS164 Lecture 111 Bottom-Up Parsing Lecture (From slides by G. Necula & R. Bodik)
1 Soar Semantic Memory Yongjia Wang University of Michigan.
A Soar’s Eye View of ACT-R John Laird 24 th Soar Workshop June 11, 2004.
Models of Human Performance Dr. Chris Baber. 2 Objectives Introduce theory-based models for predicting human performance Introduce competence-based models.
Computer Organization and Architecture
Testing an individual module
2004 Soar Technology, Inc.  10 Jun 2004  Robert Wray  Slide 1 A Goal Dependency Set Primer Robert Wray Soar Jun 2004.
Reinforcement Learning and Soar Shelley Nason. Reinforcement Learning Reinforcement learning: Learning how to act so as to maximize the expected cumulative.
Soar-RL: Reinforcement Learning and Soar Shelley Nason.
MIT Top-Down Parsing Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology.
MACHINE LEARNING. What is learning? A computer program learns if it improves its performance at some task through experience (T. Mitchell, 1997) A computer.
2.4 – Linear Inequalities in One Variable
Advances in Language Design
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
Knowledge Representation and Reasoning University "Politehnica" of Bucharest Department of Computer Science Fall 2010 Adina Magda Florea
Guide to Simulation Run Graphic: The simulation runs show ME (memory element) activation, production matching and production firing during activation of.
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
Production Systems A production system is –a set of rules (if-then or condition-action statements) –working memory the current state of the problem solving,
COP 4620 / 5625 Programming Language Translation / Compiler Writing Fall 2003 Lecture 10, 10/30/2003 Prof. Roy Levow.
State Space Search. State Space representation of a problem is a graph  Nodes correspond to problem states  Arcs correspond to steps in a solution process.
Introduction To PROLOG World view of imperative languages. World view of relational languages. A PROLOG program. Running a PROLOG program. A PROLOG.
© Siemens Product Lifecycle Management Software Inc. All rights reserved Siemens PLM Software Solid Edge ST5 Training Working with face relationships.
Search CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Chapter 7 Object Code Generation. Chapter 7 -- Object Code Generation2  Statements in 3AC are simple enough that it is usually no great problem to map.
Distributed Models for Decision Support Jose Cuena & Sascha Ossowski Pesented by: Gal Moshitch & Rica Gonen.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
Artificial Intelligence Lecture No. 19 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Finite State Machines (FSM) OR Finite State Automation (FSA) - are models of the behaviors of a system or a complex object, with a limited number of defined.
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
RULES Patty Nordstrom Hien Nguyen. "Cognitive Skills are Realized by Production Rules"
SOAR A cognitive architecture By: Majid Ali Khan.
Copyright © Curt Hill Other Trees Applications of the Tree Structure.
Processor Organization and Architecture Module III.
Cognitive Architectures and General Intelligent Systems Pay Langley 2006 Presentation : Suwang Jang.
Systems Development Lifecycle
Pat Langley Computational Learning Laboratory Center for the Study of Language and Information Stanford University, Stanford, CA
3/14/20161 SOAR CIS 479/579 Bruce R. Maxim UM-Dearborn.
Modeling Primitive Skill Elements in Soar
Knowledge Representation and Reasoning
Artificial Intelligence and Lisp #3
Operating Systems (CS 340 D)
Knowledge Representation and Reasoning
Chapter 7: Introduction to CLIPS
Introduction Defining the Problem as a State Space Search.
Operating Systems (CS 340 D)
STATE SPACE REPRESENTATION
Soar 9.6.0’s Instance-Based Model of Semantic Memory
Bryan Stearns University of Michigan Soar Workshop - May 2018
SOAR 1/18/2019.
Theme 2-3 Knowledge Information Processing
CIS 488/588 Bruce R. Maxim UM-Dearborn
Presentation transcript:

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, SOAR Prof. Dr. Andreas Wendemuth Lehrstuhl Kognitive Systeme / Sprachverarbeitung Institut für Elektronik, Signalverarbeitung und Kommunikationstechnik Fakultät für Elektrotechnik und Informationstechnik Otto-von-Guericke Universität Magdeburg

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, SOAR u Soar is used by AI researchers to construct integrated intelligent agents and by cognitive scientist for cognitive modeling. u It can basically be considered in three different ways:

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, u 1. A theory of cognition. As such it provides the principles behind the implemented Soar system. u 2. A set of principles and constraints on (cognitive) processing. Thus, it provides a (cognitive) architectural framework, within which you can construct cognitive models. In this view it can be considered as an integrated architecture for knowledge-based problem solving, learning and interacting with external environments. u 3. An AI programming language.

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Soar incorporates u problem spaces as a single framework for all tasks and subtasks to be solved u production rules as the single representation of permanent knowledge u objects with attributes and values as the single representation of temporary knowledge u automatic subgoaling as the single mechanism for generating goals u and chunking as the single learning mechanism.

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Rules (Productions) in SOAR u rules are if --> then u starts with the symbol “sp”, which stands for “Soar production.” u All conditions must match.

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Execution of productions u A condition tests for the existence (or absence) of data in working memory. u Rules fire: all of the actions are performed in working mememory. u All rules are global.

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Structure of production sp {rule*name (condition) … --> (action) …}

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Working memory u Working memory is organized as graph structures in states. u Nodes that have links (non-terminals) are identifiers, terminals are constants. u Links are attributes which point to values. u An object is everything following its initial state, which is augmentation.

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Objects: e.g. two blocks on table (s1 ^block b1 ^block b2 ^table t1) (b1 ^color blue ^name A ^ontop b2 ^type block) (b2 ^color yellow ^name B ^ontop t1 ^type block) (t1 ^color gray ^name Table ^type table) [also: table.color gray ]

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Rules u Variables,, cf. Values 3, 1. u Commands write, halt. u Example: sp {hello-world (state ^type state) --> (write |Hello World|) (halt)}

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Operators and Decisions u Soar must decide (select) which (acceptable) rules fire u The locus of this decision is working memory u Therefore, operators are proposed, selected and applied u This is a continuous cycle u Rules whose prerequisites do not match any more are retracted (exception: operators)

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Proposing u A rule proposes an operator by creating an acceptable preference (+) for the operator. u Example sp {propose*hello-world (state ^type state) --> ( ^operator +) ( ^name hello-world)} u is an action variable which will be stored in working memory and examined later for application

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Selecting u Since proposing and applying are kept separate, selection processes are possible u All acceptable proposed rules with matching conditions are always candidates for selection u If no other selection procedure is programmed, all these rules fire in parallel [in contrast to other programming languages]

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Order of selection u Random order of multiple matching rules is given by „indifferent“ preference („= “ ) in proposal, avoiding an impasse u Example: sp {water-jug*propose*fill (state ^name water-jug ^jug ) --> ( ^operator + ^operator =)....

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Applying (firing)  Example: sp {apply*hello-world (state ^operator ) ( ^name hello-world) --> (write |Hello World|) (halt)}  This rule finds all variables in working memory with matching conditions and fires all of them

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Persistence in Working Memory- Truth Maintenance u Operator application creates persistent results in working memory (operator-support) [Operators are commitments of SOAR] u All other rules perform their actions, and retract from working memory if their conditions fail to match (instantiation-support, i.e. work only as long as that instantiation of the rule applies). E.g. proposal, comparison, elaboration.

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Operator manipulations (I) u Compare and negate operators by - (negate),,>=, <> (not equal) u Example: sp {water-jug*propose*fill (state ^name water-jug ^jug ) ( -^empty 0) ( ^contents > 0)......

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Operator manipulations (II) u Math in parantheses (), with prefix notation –Example 2 +vc: (+ 2 (* )) u Tests in parantheses {} –Example: sp {water-jug*propose*pour (state ^name water-jug ^jug ^jug { <> }) match and not equal to.

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Manual removal of working memory elements by „-“ u Example: sp {water-jug*apply*fill (state ^name water-jug ^jug ) ( ^volume ^contents ) --> ( ^contents ) ( ^contents -)} u Replaces the old value with a new one and removes the old value from memory

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Remembering retracted operators u Augment the current state by last-op u Example: sp {water-jug*apply*operator*record*last-operator*pour (state ^name water-jug ^operator ) ( ^name pour ^fill-jug ^empty-jug ) --> ( ^last-operator ) ( ^name pour ^fill-jug ^empty-jug )}

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Suppress operator action by „<“ u Example: (if just emptied, do not fill) sp {water-jug*select*operator*avoid*inverse*fill (state ^name water-jug ^operator ^last-operator ) ( ^name fill ^fill-jug ) ( ^name empty ^empty-jug ) --> ( ^operator <)}

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Removing operators u E.g. if last-op does not (-) have the same name and fill-jug, remove it sp {water-jug*apply*operator*remove*last-operator*pour (state ^name water-jug ^operator ^last- operator ) ( ^name pour ^fill-jug ^empty-jug ) - ( ^name pour ^fill-jug ^empty-jug ) --> ( ^last-operator -)}

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Detecting Success and Halting u Match condition, write and halt. u Example: sp {water-jug*detect*goal*achieved (state ^name water-jug ^jug ) ( ^volume 3 ^contents 1) --> (write (crlf) |The problem has been solved.|) (halt)}

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Operator Impasses - Types u Operator no-change impasse: an operator has been selected and there is no new decision to be made. u State no-change impasse: no operators are proposed for the current state. u Operator tie impasse: multiple operators proposed, but insufficient preferences to select between them. u Operator conflict impasse: multiple operators proposed, and the preferences conflict.

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Impasse resolution (I) – learning in case of operator tie u Multiple operators are applicable in higher goal context = operator tie u Return to the pre-impasse environment (lower goal context) u Gather features in pre-impasse environment u Augment pre-impasse rules by those features u Look in memory for rules (partially) using these features u In those memorized rules, find additional conditions and preferred actions based on those features u Augment the lower goal context by these goal-relevant conditions and preferred actions

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Example of augmenting u Options to get to the station: walk or take bus, are unresolved (operator tie) u In pre-impasse rules, a feature „available time“ was used u In memory, a situation was found where the goal was to get to the airport. Then, a condition was „available time < 30min“, and if true, a bus must be taken to catch the train. u Augment pre-impasse environment by condition „available time“ and corresponding actions. u If unavailable, get that information. Decide again.

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Impasse resolution II - chunking u Look at our previous example of learning. u Divide the goal process (get to station) into subgoals: (assess available time) or (determine convenient travel mode) = chunking u Make these chunks new individual rules = deductive (bottom-up) learning u Use these rules for other goals, e.g. for (visit grandma) or (spend evening with Monica)

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Impasse resolution (III) – alternative operators u If no (partially) matching previous memory examples exist: u Go to pre-impasse environment and gather all conditions and corresponding rules. u Follow alternative rules allowed (but e.g. not preferred) by these conditions

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Example for alternative operators u Impasse: (if get to station -> walk or take bus ?) u Pre-impasse conditions & rules,in reverse order: (if get to work -> get to station) (if 08:00am -> get to work) u Other (non-preferred) rules on same conditions: (if get to work -> take car) (if 08:00am -> continue sleeping) u Use 1st matching of these rules in reverse order

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Impasse Resolution IV in SOAR u Learning by abduction [„Seitliches Wegführen“] (Johnson, 1994) = Einbettung derselben Regel in anderen Kontext u Learning by instruction [„Unterweisung“] (Huffman, 1993) nach Anfrage von SOAR an Lehrer, oder nach Entscheidung einer „Aufsichtsperson“

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Water Jug Problem u You are given two empty jugs. One holds five gallons of water and the other holds three gallons. u There is a well that has unlimited water that you can use to completely fill the jugs. u You can also empty a jug or pour water from one jug to another. There are no marks for intermediate levels on the jugs. u The goal is to fill the three-gallon jug with one gallon of water.

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, Solution Space u Define states (gallons in jug1, gallons in jug2) u Nr. of gallons can only be 0,1,2,3 (3 gallon jug) or 0,1,2,3,4,5 (5 gallon jug) -> 24 states u 4 possibilities of action: water 1->2, water 2->1, empty, fill. u All possibilities of actions on all states gives finite and complete diagram u If state (.,1) is in this diagram: problem solved

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg,

Andreas Wendemuth, Otto-von-Guericke-Universität Magdeburg, M E R C I !!