How does model tracing work? CPI 494 Feb 10 Kurt VanLehn.

Slides:



Advertisements
Similar presentations
Heuristic Search techniques
Advertisements

Semantics Static semantics Dynamic semantics attribute grammars
Data-Flow Analysis II CS 671 March 13, CS 671 – Spring Data-Flow Analysis Gather conservative, approximate information about what a program.
CLASSICAL PLANNING What is planning ?  Planning is an AI approach to control  It is deliberation about actions  Key ideas  We have a model of the.
PROBLEM SOLVING AND SEARCH
Multiplying and Dividing Rational Expressions
Rational Expressions To add or subtract rational expressions, find the least common denominator, rewrite all terms with the LCD as the new denominator,
Solving Linear Equations Adapted from Walch Education.
Introduction Solving inequalities is similar to solving equations. To find the solution to an inequality, use methods similar to those used in solving.
Systems of Linear Equations: Substitution and Elimination
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,
Chapter 4.1 Solving Systems of Linear Equations in two variables.
HAWKES LEARNING SYSTEMS Students Matter. Success Counts. Copyright © 2013 by Hawkes Learning Systems/Quant Systems, Inc. All rights reserved. Section 7.1.
Rational Functions - Rational functions are quotients of polynomial functions: where P(x) and Q(x) are polynomial functions and Q(x)  0. -The domain of.
M60 Day 7 2.3b Graphing Project #3. Review Determine whether or not the given number is a solution to the given equation by substituting and then evaluating.
Rational Expressions l Multiplying/Dividing l Adding/Subtracting l Complex Fractions.
Simplify a rational expression
Ordering and Comparing Integers, Decimals, and Fractions
1 © 2010 Pearson Education, Inc. All rights reserved © 2010 Pearson Education, Inc. All rights reserved Chapter 1 Equations and Inequalities.
P.6Rational Expressions EX: Find all the numbers that must be excluded from the domain of each rational expression. a. y b. x + 1 x-2 x SolutionTo.
Section 2.2 More about Solving Equations. Objectives Use more than one property of equality to solve equations. Simplify expressions to solve equations.
We need a common denominator to add these fractions.
§ 6.6 Rational Equations. Blitzer, Intermediate Algebra, 5e – Slide #2 Section 6.6 Solving a Rational Equation A rational equation, also called a fractional.
8.5 – Add and Subtract Rational Expressions. When you add or subtract fractions, you must have a common denominator. When you subtract, make sure to distribute.
Java Basics Hussein Suleman March 2007 UCT Department of Computer Science Computer Science 1015F.
Basic Problem Solving Search strategy  Problem can be solved by searching for a solution. An attempt is to transform initial state of a problem into some.
Section 6.4 Rational Equations
2.1 Solving One Step Equations: Equivalent Equations: equations that have the same solutions. Isolate: Get a variable with a coefficient of 1 alone on.
Rational Agency CSMC Introduction to Artificial Intelligence January 8, 2004.
Please complete the Prerequisite Skills on Page 548 #4-12
Expert System Seyed Hashem Davarpanah University of Science and Culture.
Warm-up. Systems of Equations: Substitution Solving by Substitution 1)Solve one of the equations for a variable. 2)Substitute the expression from step.
Autumn 2006CSE P548 - Dataflow Machines1 Von Neumann Execution Model Fetch: send PC to memory transfer instruction from memory to CPU increment PC Decode.
3/14/20161 SOAR CIS 479/579 Bruce R. Maxim UM-Dearborn.
Infinite Limits 1.5. An infinite limit is a limit in which f(x) increases or decreases without bound as x approaches c. Be careful…the limit does NOT.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Complex Numbers and Equation Solving 1. Simple Equations 2. Compound Equations 3. Systems of Equations 4. Quadratic Equations 5. Determining Quadratic.
DYNAMIC BEHAVIOR OF PROCESSES :
Copyright © 2013, 2009, 2006 Pearson Education, Inc. 1 Section 6.6 Rational Equations Copyright © 2013, 2009, 2006 Pearson Education, Inc. 1.
© 2010 Pearson Prentice Hall. All rights reserved Solving Equations Using Two Properties § 10.5.
Algebra 2 Properties of Real Numbers Lesson 1-2 Goals Goal To graph and order real numbers. To Identity properties of real numbers. Rubric Level 1 –
Knowledge Representation and Reasoning
Solving Systems of Equations
Chapter 0 Review of Algebra.
Rational Expressions and Equations
Knowledge Representation and Reasoning
Lecture 2 Introduction to Programming
3-2: Solving Systems of Equations using Substitution
Solve a system of linear equation in two variables
3-2: Solving Systems of Equations using Substitution
Solving Systems of Equations using Substitution
CIS 488/588 Bruce R. Maxim UM-Dearborn
3-2: Solving Systems of Equations using Substitution
Coding Concepts (Basics)
Complex Fractions and Review of Order of Operations
4.2: Solving Rational Equations
Rational Expressions and Equations
Adding and Subtracting Rational Expressions
Objective Solve inequalities that contain variable terms on both sides.
CIS 488/588 Bruce R. Maxim UM-Dearborn
What is the difference between simplifying and solving?
3-2: Solving Systems of Equations using Substitution
Solving Systems of Equations
Equations …. are mathematical sentences stating that two expressions are equivalent.
3-2: Solving Systems of Equations using Substitution
3-2: Solving Systems of Equations using Substitution
3-2: Solving Systems of Equations using Substitution
3-2: Solving Systems of Equations using Substitution
One-step addition & subtraction equations: fractions & decimals
Presentation transcript:

How does model tracing work? CPI 494 Feb 10 Kurt VanLehn

Example tracing Tutor’s domain knowledge = – an explicit representation of the prescribed solution paths to the problem – Called “example” and “behavior graph” To check if a student’s step is correct, – Tutor searches graph for matching step (caveats) When asked what step to hint, – Tutor picks the next step along the (which?) path

Model tracing Tutor domain knowledge = – A procedure for solving problems – Called a “cognitive model” or “Jess production rules” To check if a student’s step is correct – Tutor searches (how?) for a match among the steps that it would generate next When asked what step to hint, – Tutor picks one of the steps that it would generate next

Key differences Example tracing tutor has all correct steps generated and stored as data Model tracing tutor can generate such steps dynamically as needed If example has branches (multiple solution paths, orders), then model must be a non- deterministic procedure

A simple example of a non- deterministic procedure Do in order: – Sit down. – Do both in either order: Don left shoe. Don right shoe. – Do both in either order: Tie left shoe Tie right shoe. – Stand up.

Using production (if-then) rules to represent non-deterministic procedure If not sitting, then sit down. If sitting and left foot exposed, then don left shoe. If sitting and right foot exposed, then don right shoe. If left shoe on foot and untied, then tie left shoe. If right shoe is on foot and untied, then tie right shoe. If left shoe tied and right shoe tied, then stand up

Production rules can have variables that are “bound” when condition matches If not sitting, then sit down. If sitting and ?X foot exposed, then don ?X shoe. If ?X shoe on foot and untied, then tie ?X shoe. If left shoe tied and right shoe tied, then stand up

Can have fancy conditions If not sitting, then sit down. If sitting and ?X foot exposed, then don ?X shoe. If ?X shoe on foot and untied, then tie ?X shoe. If not (there exist an exposed foot ?foot), and not(there exists an untied shoe ?shoe), then stand up

Why prefer production rules over other non- deterministic programming languages? If not sitting, then sit down. If sitting and ?X foot exposed, then don ?X shoe. If ?X shoe on foot and untied, then tie ?X shoe. If not (there exist an exposed foot ?foot), and not(there exists an untied shoe ?shoe), then stand up Each rule can be learned independently Conditions express when the rule applies, so may apply even outside this procedure Can write hints for a rule without referring to other rules If same rule appears in multiple procedures, can count number of times applied & hence measure competence

What do conditions match against? Working memory, which is a set of facts – E.g., left_shoe_on A fact can represent – Something on the student’s screen E.g., numerator of first given fraction is 4 – Goals (intentions: specific to this problem, this time) E.g., I will convert the first given fraction to have 12 as the denominator – Temporary, mentally held info E.g., the least common denominator is 12

What happens during execution WM (working memory) starts with representation of student’s initial screen Loop until Exit action executed: – Collect all rules whose conditions match in WM – called the conflict set – Pick one member of the conflict set – Execute it: With variables bound by the condition, substitute their values into the action side, do the actions thus modifying WM

Example of execution 1 WM “Left shoe untied” “Left foot exposed” “Right shoe untied” “Right foot exposed” Rules that match (Conflict set) : – 1 1.If not(“sitting”), then add “sitting”. 2.If “sitting” and “?X foot exposed”, then remove “?X foot exposed” & add “?X shoe on foot”. 3.If “?X shoe on foot” and “?X shoe untied”, then remove “?X shoe untied” 4.If not (“?X foot exposed”), and not(“?X shoe untied”), then remove “sitting”

Example of execution 2 WM “Left shoe untied” “Left foot exposed” “Right shoe untied” “Right foot exposed” “sitting” Rules that match: – 2 with ?X=left – 2 with ?X=right 1.If not(“sitting”), then add “sitting”. 2.If “sitting” and “?X foot exposed”, then remove “?X foot exposed” & add “?X shoe on foot”. 3.If “?X shoe on foot” and “?X shoe untied”, then remove “?X shoe untied” 4.If not (“?X foot exposed”), and not(“?X shoe untied”), then remove “sitting”

Example of execution 3 WM “Left shoe untied” “Right shoe untied” “Right foot exposed” “sitting” “left shoe on foot” Rules that match: – 2 with ?X=right – 3 with ?X=left 1.If not(“sitting”), then add “sitting”. 2.If “sitting” and “?X foot exposed”, then remove “?X foot exposed” & add “?X shoe on foot”. 3.If “?X shoe on foot” and “?X shoe untied”, then remove “?X shoe untied” 4.If not (“?X foot exposed”), and not(“?X shoe untied”), then remove “sitting”

Example of execution 4 WM “Left shoe untied” “Right shoe untied” “sitting” “left shoe on foot” “right shoe on foot” Rules that match: – 3 with ?X=left – 3 with ?X=right 1.If not(“sitting”), then add “sitting”. 2.If “sitting” and “?X foot exposed”, then remove “?X foot exposed” & add “?X shoe on foot”. 3.If “?X shoe on foot” and “?X shoe untied”, then remove “?X shoe untied” 4.If not (“?X foot exposed”), and not(“?X shoe untied”), then remove “sitting”

Example of execution 5 WM “Right shoe untied” “sitting” “left shoe on foot” “right shoe on foot” Rules that match: – 3 with ?X=right 1.If not(“sitting”), then add “sitting”. 2.If “sitting” and “?X foot exposed”, then remove “?X foot exposed” & add “?X shoe on foot”. 3.If “?X shoe on foot” and “?X shoe untied”, then remove “?X shoe untied” 4.If not (“?X foot exposed”), and not(“?X shoe untied”), then remove “sitting”

Example of execution 6 WM “sitting” “left shoe on foot” “right shoe on foot” Rules that match: – 4 1.If not(“sitting”), then add “sitting”. 2.If “sitting” and “?X foot exposed”, then remove “?X foot exposed” & add “?X shoe on foot”. 3.If “?X shoe on foot” and “?X shoe untied”, then remove “?X shoe untied” 4.If not (“?X foot exposed”), and not(“?X shoe untied”), then remove “sitting”

Example of execution 7 WM “left shoe on foot” “right shoe on foot” Rules that match: – 1 (opps) 1.If not(“sitting”), then add “sitting”. 2.If “sitting” and “?X foot exposed”, then remove “?X foot exposed” & add “?X shoe on foot”. 3.If “?X shoe on foot” and “?X shoe untied”, then remove “?X shoe untied” 4.If not (“?X foot exposed”), and not(“?X shoe untied”), then remove “sitting”

It like ordinary programming… Except that must check that all solution paths are desired Except that can see WM facts

How to match student’s step? Pre-generate the examples, then use example tracing At any given time, see if any of the rules that can fire produce an action that matches the student’s step – Complexity: Can chain through invisible facts such as goals and temporary info. Must keep student on a correct solution path

How to select a correct, pedagogically appropriate next step if student asks for a hint? Sequence or prioritize rules so that first one in the conflict set is best Store hints on that rule Give first hint of the sequence – Can substute in the values of ?X variables