John E. Laird 32nd Soar Workshop

Slides:



Advertisements
Similar presentations
Informed search algorithms
Advertisements

PROBLEM SOLVING AND SEARCH
Playing Dice with Soar Soar Workshop June 2011 John E. Laird Nate Derbinsky, Miller Tinkerhess University of Michigan 1.
Problem Solving Agents A problem solving agent is one which decides what actions and states to consider in completing a goal Examples: Finding the shortest.
Introduction to SOAR Based on “a gentle introduction to soar: an Architecture for Human Cognition” by Jill Fain Lehman, John Laird, Paul Rosenbloom. Presented.
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 23, 2009.
Review: Search problem formulation
1 Chunking with Confidence John Laird University of Michigan June 17, th Soar Workshop
Problem Spaces & Search CSE 473. © Daniel S. Weld Topics Agents & Environments Problem Spaces Search & Constraint Satisfaction Knowledge Repr’n.
Impact of Working Memory Activation on Agent Design John Laird, University of Michigan 1.
Uninformed Search Reading: Chapter 3 by today, Chapter by Wednesday, 9/12 Homework #2 will be given out on Wednesday DID YOU TURN IN YOUR SURVEY?
State-Space Searches. 2 State spaces A state space consists of –A (possibly infinite) set of states The start state represents the initial problem Each.
Introduction to search Chapter 3. Why study search? §Search is a basis for all AI l search proposed as the basis of intelligence l inference l all learning.
PRECALCULUS Inverse Relations and Functions. If two relations or functions are inverses, one relation contains the point (x, y) and the other relation.
Integrating Background Knowledge and Reinforcement Learning for Action Selection John E. Laird Nate Derbinsky Miller Tinkerhess.
1 Solving problems by searching 171, Class 2 Chapter 3.
Search CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Competence-Preserving Retention of Learned Knowledge in Soar’s Working and Procedural Memories Nate Derbinsky, John E. Laird University of Michigan.
Artificial Intelligence Solving problems by searching.
Introduction to Graph Theory HKOI Training (Intermediate) Kelly Choi 29 Mar 2008.
Lecture 3: Uninformed Search
Action Modeling with Graph-Based Version Spaces in Soar
Modeling Primitive Skill Elements in Soar
Review: Tree search Initialize the frontier using the starting state
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
Knowledge Representation and Reasoning
Learning Fast and Slow John E. Laird
Heuristic Search A heuristic is a rule for choosing a branch in a state space search that will most likely lead to a problem solution Heuristics are used.
Knowledge Representation and Reasoning
CSE 473 Artificial Intelligence Oren Etzioni
Relations and Functions Pages
Soar 9.6.0’s Instance-Based Model of Semantic Memory
Binary Tree and General Tree
Artificial Intelligence (CS 370D)
Artificial Intelligence Problem solving by searching CSC 361
Achieving parsimony between NGS and the Michigan approach
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
Uninformed Search Introduction to Artificial Intelligence
HW #1 Due 29/9/2008 Write Java Applet to solve Goats and Cabbage “Missionaries and cannibals” problem with the following search algorithms: Breadth first.
Solving problems by searching
Playing with Semantic Memory
Joseph Xu Soar Workshop 31 June 2011
Problem Solving and Searching
Bryan Stearns University of Michigan Soar Workshop - May 2018
EA C461 – Artificial Intelligence
Searching for Solutions
Learning the Task Definition of Games through ITL
Problem Solving and Searching
Computing Fundamentals
Problem Spaces & Search
A General Backtracking Algorithm
(4)² 16 3(5) – 2 = 13 3(4) – (1)² 12 – ● (3) – 2 9 – 2 = 7
CPSC 322 Introduction to Artificial Intelligence
Chap 4: Searching Techniques
Solving problems by searching
Problem Spaces & Search
UNINFORMED SEARCH -BFS -DFS -DFIS - Bidirectional
State-Space Searches.
Heuristic Search Generate and Test Hill Climbing Best First Search
State-Space Searches.
The Rich/Knight Implementation
f(x) y x A function is a relation that gives a single
State-Space Searches.
Constructing a m-connected k-Dominating Set in Unit Disc Graphs
Markov Decision Processes
Lecture 4: Tree Search Strategies
Markov Decision Processes
The Rich/Knight Implementation
Solving problems by searching
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning
Presentation transcript:

John E. Laird 32nd Soar Workshop The Selection Space John E. Laird 32nd Soar Workshop

Overview One-step Look-ahead Using Selection Problem Space Tie Impasse A (on A Table) (on B Table) (on C A) move(C, B) move(B, C) move(C, Table) B Prefer move(C, Table) C Goal C A B copy Evaluation = 1 Evaluation = 0 Evaluation = 0 Evaluate-operator(move(C, Table)) Evaluate-operator(move(C, B)) Evaluate-operator(move(B,C)) (on A Table) (on B Table) (on C A) Applies to any problem, whether blocks world, planning movement in the world, configuring a computer, … If Failure – no way to predict future, then can still evaluate – may bias toward exploration or not. Why is this good? Minimal internal memory – no search through memory – maintains reactivity, … What knowledge is required? If no model – can just punt and act in the world. Evaluation = 1 (on A Table) (on B Table) (on C Table) move(C, Table) A B C

Selection Space Important state structures created by Soar ^impasse tie, ^item 01 02 … Evaluate-operator Instantiated with every item (every tied operator) that has not been evaluated (<s> ^operator <o>) (<o> ^name evaluate-operator ^superoperator <so>) Usually randomly select between them (some exceptions) Create ^evaluation structure on selection state

Evaluate State Structure When evaluate-operator is selected, create: (<s> ^evaluation <e>) (<e> ^superoperator <i>) (<o> ^evaluation <e> # on evaluate-operator ^superstate <ss> # task state ^superproblem space <ps>) Evaluate-operator terminates when a value is created on the associate evaluation (<e> ^value true)

Evaluate-operator Substate Create a copy of the task state Includes ^name, ^desired ^problem-space determines how to create copy Many flags to control what to copy and how deep ^default-state-copy yes is default If don’t create copy, original state will change

Evaluate-operator Processing Force selection of a copy of the operator being evaluated Operator application rule should fire and generate new state Requires action model: operator application rule for simulating operator If doesn’t, will eventually get impasses that lead to a failed evaluation. If there is state evaluation knowledge, it adds augmentation to state ^numeric-value, ^symbolic-value, ^expected-value Copied up to the evaluation structure in the selection space Leads to evaluate-operator terminating By default, elaboration rules aggressively convert evaluations to preferences. Evaluates only as many operators as necessary to generate preferences to break the tie. Chunks are learned for computing evaluations and preferences

Overview One-step Look-ahead Using Selection Problem Space Tie Impasse A (on A Table) (on B Table) (on C A) move(C, B) move(B, C) move(C, Table) B move(C, Table) > move(C, B) move(C, Table) > move(B, C) move(B, C) = move(C, B) C Goal C A B copy Evaluation = 1 Evaluation = 0 Evaluation = 0 Evaluate-operator(move(C, Table)) Evaluate-operator(move(C, B)) Evaluate-operator(move(B,C)) (on A Table) (on B Table) (on C A) Applies to any problem, whether blocks world, planning movement in the world, configuring a computer, … If Failure – no way to predict future, then can still evaluate – may bias toward exploration or not. Why is this good? Minimal internal memory – no search through memory – maintains reactivity, … What knowledge is required? If no model – can just punt and act in the world. Evaluation = 1 (on A Table) (on B Table) (on C Table) move(C, Table) A B C

Requirements to Use Selection Space Source in selection.soar! Explains the following requirements Have a ^problem-space structure on the state Have a ^desired structure on the state Include rules that compute failure/success/evaluation. Have rules that simulate action of operators This is an action model Only apply when in state with ^name evaluate-operator

Depth-First Search in Soar If no evaluation of the state, continues in substate If sufficient knowledge, selects and applies operator If insufficient knowledge, get a tie impasse and recursively get depth-first search. The state “open” list is represented as the stack of substates. Elaboration rules pass success up the stack to avoid extra search. No guarantee of finding shortest path. Chunking is necessary to avoid repeated search.

Overview One-step Look-ahead Using Selection Problem Space Tie Impasse A (on A Table) (on B Table) (on C A) move(C, B) move(B, C) move(C, Table) B C Goal C A B copy Evaluate-operator(move(C, Table)) (on A Table) (on B Table) (on C A) Applies to any problem, whether blocks world, planning movement in the world, configuring a computer, … If Failure – no way to predict future, then can still evaluate – may bias toward exploration or not. Why is this good? Minimal internal memory – no search through memory – maintains reactivity, … What knowledge is required? If no model – can just punt and act in the world. A B C Tie Impasse move(C, B) move(B, C) move(A, B) move(C, Table) (on A Table) (on B Table) (on C Table)

Iterative Deepening Include an evaluation-depth in the selection space Evaluate all of the task operators to that depth Start with depth = 1 In each recursive selection substate, decrement depth Terminate if achieve goal Increment depth when all task operators have been evaluated

Deep Search in Soar: Iterative A* Assumes task state structure Graph structure of ^waypoints, with a ^current-location Every evaluation maintains Path-cost: g(x) Estimated-cost: h(x) Total-estimated-cost: f(x) = g(x) + h(x) Prefer an evaluate-operator to another If it doesn’t have an estimated-cost # get initial values If its total-estimated-cost is less than the others # pursue best Final-cost for an operator is when estimated cost is 0 Create a preference if final-cost(o1) < total-estimated-cost(o2) Complex rules and operators combine estimates from substates Add operators: compute-evaluations, compare-evaluations, compute-best-total-estimate

2: Path: 1.4; Estimated : 2.3; Total 3.7 3, 5 3, 4 2, 4 4,3 1.4 2 3 4 4, 4 2.3 5 6

2: Path: 1.4; Estimated : 2.3; Total 3.7 3, 5 3, 4 2, 4 4, 4 4,3 1.0 2 3 4 1.4 5 6

2: Path: 1.4; Estimated : 2.3; Total 3.7 3, 5 3, 4 2, 4 4, 4 4,3 1.4 2 3 4 1.0 5 6

2: Path: 1.4; Estimated : 2.3; Total 3.7 3, 5 3, 4 2, 4 4, 4 4,3 1.4 2 3 4 1.4 5 6 1.0

2: Path: 1.4; Estimated : 2.3; Total 3.7 3, 5 3, 4 2, 4 4, 4 4,3 1.0 2 3 4 2.3 5 6 1.0

2: Path: 1.4; Estimated : 2.3; Total 3.7 2: Path 3.7; Estimated: 0.0 Final: 3.7 1 3, 5 3, 4 2, 4 4, 4 4,3 1.4 2 3 4 2.3 2.3 5 6

Nuggets and Coal Nuggets: Coal Provides task-independent knowledge for controlling deliberate operator evaluation Plays well with chunking Coal Requires some knowledge of conventions More advanced methods are pretty complex