A CLIPS Problem Solver for Newtonian Physics Force Problems

fancyfantasicAI and Robotics

Nov 7, 2013 (3 years and 8 months ago)


A CLIPS Problem Solver for Newtonian Physics Force Problems

Kay G. Schulze

Computer Science Department

United Stated Naval Academy

David Correll, Robert N. Shelby, and Mary C


hysics Department

United States Naval Academy

Abigail S. Gertner

Learning Research and Development Center

University of Pittsburgh

. This paper describes the Problem Solver component of ANDES, an
intelligent tutoring system for Newtonian physics. The output of the Problem
Solver is the set of equations that are sufficient to solve a given problem. The
trace, facts, and set of depend
encies and dependents generated by an execution are
used as input to a CLIPS function that generates a solution graph for the problem.
This graph is then converted into a Bayesian network which the Assessor
component of ANDES uses to model the cognitive p
rocesses of the student. The
Assessor does long
term knowledge assessment, plan recognition, and prediction
of a student’s actions during problem solving.

The CLIPS knowledge base for force problems encodes the pedagogical methods
used by university physi
cs professors by planning the solution and using these
plans to generate a solution. In many force problems, students must make
choices. For instance, a problem involving two blocks, one on top of the other,
may be solved using either a compound body or
two separate bodies. In drawing
a free
body diagram, the student may choose the standard axes or an axis in the
direction of the sought force as the problem axes. Our system establishes
decision points, called strategy points, when these choices must be
made and
solves the problem for each possible choice.



This research is sponsored by ONR’s Cognitive Science Division under grants N00014
20059 and


ANDES is an intelligent tutoring system that teaches Newtonian physics via coached problem
solving (VanLehn, 1996, Conati, et al., 1997), a method of teaching cognitive skills where the
or and the student work collaboratively to solve problems. In coached problem solving, the
initiative in the interactions between the student and the tutor changes as progress is being made.
The tutor simply indicates agreement as long as the student is
proceeding along a correct
solution path. When the student stumbles with a portion of the problem, the tutor provides
tailored hints to lead the student back in the correct direction. In this setting, the critical issue
for the tutor is interpreting the
student’s actions and the line of reasoning the student is using.
To perform this task the tutor needs a model of the problem solving process the student is
attempting to produce.

ANDES represents the solutions to physics problems in a graphical structure

called a ‘solution
graph’. The nodes in the solution graph represent three different kinds of information: 1)
specific knowledge (e.g. Block A is on the table.), 2) general physics knowledge (e.g. If
an object is near a planet, the planet exerts
a gravitational force on the object.), and 3) strategic
and procedural knowledge about how to solve physics problems (e.g. If you are looking for the
total force acting on an object, try applying Newton’s second law to that object.). The
dependencies betw
een these different kinds of information are represented by links in the
solution graph structure. A solution graph for each physics problem the students will solve is
generated by a rule
based Problem Solver prior to his solving the problem. This paper
describes that Problem Solver module.

The ANDES Tutoring System

ANDES has a modular architecture comprised of a graphical Workbench with which the student
solves physics problems, an Assessor that maintains a probabilistic model of the student’s
and goals over time, an Action Interpreter that provides immediate feedback to
student actions, a Help System that provides procedural and conceptual help, and a Problem
Solver that plans and generates the solutions to the problems.

The ANDES project is
a collaboration between the United States Naval Academy and the
Learning Research and Development Center at the University of Pittsburgh. There are
approximately ten researchers and programmers involved in the project. The researchers at the
Naval Academ
y are developing the Problem Solver while the researchers at Pittsburgh are
developing the other modules. ANDES is implemented in Allegro Common Lisp, CLIPS, and
Microsoft Visual C++ on a Pentium PC running Windows 95.

Beginning with the 1997 fall semeste
r, ANDES was used in some sections of the introductory
physics course at the United States Naval Academy. This course is required of approximately
1000 sophomore midshipmen each year. Each student has his own Pentium PC in his
dormitory room. Besides ad
vancing the state of research in intelligent tutoring, ANDES will
ultimately provide the students with a tool that will assist them

their physics homework.
Therefore, it is imperative that the physics domain knowledge base reflect the pedagogical
ethodology of university physics professors. In addition, it must be robust enough to allow
professors to design and incorporate additional problems with relative ease. It is also crucial
that the system be easy for the students to master and that its re
sponse time be acceptable.


Since the Workbench and the Help modules are tailored to the type of physics problem being
solved, the Problem Solver is divided into modules. Currently the module on force problems
has been implemented, and the development of m
odules on kinematics, energy, and circular
motion are in progress. These knowledge bases have been developed in CLIPS and are
executed off
line from the ANDES system. Each module contains a set of planning rules and a
set of physics rules. The input to
the Problem Solver is a set of facts describing the problem to
be solved and the majority of the facts are implemented via templates. The output of the
Problem Solver is the set of sufficient equations that when solved will produce the solution to
the pro
blem. Once the Problem Solver has been executed, the trace from the execution, the set
of facts that were generated, and the dependencies and dependents of each rule that fired are
used as input to a function, written in CLIPS, that generates a solution g
raph for the problem.
This graph is then augmented with probabilities and used by the Assessor in building a Bayesian
network which is ANDES’ student model.

The Problem Solver

In building the domain knowledge base for forces, the physicists in the group
developed a set of
plans for solving a series of force problems (Reif, et al. 1982, Larkin, 1983, Arons, 1990, Chi, et
al., 1991, Van Heuvelen, 1991). These plans are established as a set of goals and subgoals
which are initially driven by the problem goa
l. For example, the problem goals associated with
Figure 1 are to find the tension in the string and the magnitude of the

Figure 1:

A block b1 of mass m1 rests on a smooth inclined plane. The plane is
inclined at a 30 degree angle with respect to the ho
rizontal. The block is
held at rest by a string s1 that is attached to a wall. The string is parallel to
the incline of the plane. What is the tension of the string and the magnitude
of the normal force?


normal force. Since the first thing a student is encouraged to do when solving any force problem
is to draw a free
body diagram, the problem goal establishes two subgoals: choose a body and
find all the vectors associat
ed with the body (Figure 2.). These goals lead to a subgoal of
choosing an axes system for the problem. Once the axes are chosen, a new subgoal of finding
the magnitude and direction of each of the vectors is established. This then sets subgoals of
g Newton’s Laws and then using Newton’s Second Law. These in turn generate subgoals
of finding the sum of the components of the forces, the acceleration, and the mass of the body.


The goal to find the sum of the components sets subgoals to find the x and

y components of the
vectors. A conscious decision was made not to distinguish between Newton’s First and Second
Laws, since in the context of problem solving the Second Law can be considered to include the
First Law when the acceleration is zero.

Find x
Problem Goal
Find tension force
Find normal force
a body
Find all
2nd Law
Find sum
Find y

Figure 2
: Graphical structure of the planning goals for the problem in Figure 1.


Since the equations that generate the problem’s solution vary depending on the body and axes
chosen, the Probl
em Solver establishes a strategy point each time a decision such as choosing a
body or choosing an axis must be made. Although the decision to choose a body in Figure 1
only has one choice for the body, Figure 3 is an example where there is more than one
In this example, the student may either combine block b1 and b2 to form a compound body
b1+b2 or may leave them as two separate bodies. The Problem

Figure 3
: A block b1 of mass 60 kg rests on a table. A block b2 of mass 10 kg
rests on block b1.

What is the normal force that the table exerts on block


Solver recognizes that the student may possibly need to make a decision in choosing a body and
creates strategy point one. It

establishes the choice of body b1 as strategy one choice one (1
and the choice of the compound body as strategy one choice two (1

It then applies the
goals and the domain rules to both possibilities. If the bodies are treated separately, then
eventually the student must choose b2 as a body. Even though at
that point in the solution this
is the only possible body, it is the third decision point. Therefore, the system establishes body
b2 as strategy three choice one (3
. As equations are generated, the decision and choice
numbers are recorded with each e

Similarly, in order for the student to draw a free
body diagram, he must choose an axis system
for the problem. Since there may be multiple axis systems from which to choose, this creates
additional strategy points. While Figure 1 contains only
one choice for the body, there are four
realistic choices for the problem axes. The student may choose the standard axes, thereby
creating the free
body diagram illustrated in Figure 4a; or he may choose the problem axis in the
direction of the tension fo
rce (Figure 4b), or in the direction of the normal force (Figure 4c), or
in the direction of the weight force (Figure 4d). The Problem Solver recognizes these four
choices. However it also recognizes that the axis in the direction of the normal force is
a 270
degree rotation of the axis in the direction of the tension force, and that the axis in the direction
of the weight force is a 270 degree rotation of the standard axes. If an equation has been
generated using an axis whose positive x direction lies
within the first quadrant, then the
algebraic system in ANDES is capable of translating this equation into an equivalent equation
with the axis rotated into any of the other three quadrants. Therefore, the system creates two
choices for this strategy poin

the standard axes (2
1) and the x
axis in the direction of the
tension force (2
2). Since the body has already been selected at this point, the axis decision
point becomes strategy point two. In problems where there is both a choice of bodies and axe


the possible solution paths becomes the product of the number of choices. This leads to the
possibility of a very large solution graph in complicated problems and the Assessor module
must be efficient enough to handle this in real time.

Figure 4
: Potential Free
Body Diagrams for the problem in Figure 1

Once the plan rules were designed and implemented, the physics domain rules were developed.
The design of the templates for fact representation was a major effort. For example, it is
possible for a force vector to exist even though its direction and magn
itude may be unknown at
the time. These concepts were handled by creating a vector template, a direction template, and
a magnitude template and creating a unique vector identifier/variable name to conceptually tie
the three concepts together. Once x and
y components were created, the same unique identifier
was used to link them with the appropriate vector and the appropriate body and axis strategies.

In order to generate a solution graph, all new facts were forced to be logically dependent upon
their ant
ecedents. This was accomplished by using the CLIPS’ logical conditional element.


One of the reasons the CLIPS language was chosen was its ability to internally represent logical
dependencies. However, this requirement created another problem. Since New
ton’s Second
Law cannot be applied until the components of all the forces are found, the system cannot assert
a partial sum each time a magnitude is found. The rule that applies Newton’s laws cannot
differentiate between a partial and complete sum. There
fore the system cannot assert the sum
of the components of the forces is known until it has asserted the magnitudes of all the forces.
This problem was solved by using a global multilist variable to store the “running” sum of the
components of the forces.

The sum is finally asserted when the running sum is complete.

Another problem existed because CLIPS does not support nested multilists. For example, the
easiest way to store the sum of the components of the forces of the problem in Figure 2 would
have b
een ( (all the forces on b1 for axes 2
1) (all the forces on b2 for axes 4
1) ( all the forces
on b1+b2 for axes 5
1) ) where each list of forces is a list of the x components and a list of the y
components. Instead, it is stored as one long list. When a

component of the tension on a body
for a given axes is found, its position in the “running” sum for that particular body and set of
axes are calculated and the new value is added to what was currently in that position.

The Solution Graph

In addition to cr
eating a file containing the equations necessary for obtaining a numerical
solution to the problem, the execution creates files containing a trace of the execution, a list of
all facts that were asserted, and a list of all the dependents and the dependenci
es. These files
are used as input to a function, written in CLIPS, that creates a solution graph for the problem.
This graph is then used as input to a function, written in Allegro Common Lisp, that creates the
Bayesian network utilized by the Assessor m
odule of ANDES.

Each node in the solution graph contains several pieces of information and the nodes are
numbered consecutively. After the node number, the type of node is recorded. Currently there
are five types of nodes: GOAL, FACT, EQUATION, EQUIVALEN
GOAL node implies that a goal or subgoal was asserted; a FACT node implies that a physics
fact was asserted; an EQUATION node implies that an equation was asserted; an
EQUIVALENT node implies the asserted fact is equivalent to another f
act; and a STRATEGY
node implies that either a decision to choose a body or to choose an axes was asserted. In the
case of the GOAL, FACT, EQUATION, and EQUIVALENT nodes, the node type is followed
by the fact asserted, the name of the rule that fired, an
d the node numbers of all the
dependencies. If the fact is a result of the information given in the problem, GIVEN is used as
the rule name. If there are no dependencies NONE is recorded. If more than one rule could
have asserted the same fact, then tho
se rules and their dependencies are also listed. For example,
a typical FACT node is:



(body (obj b1)(decision
pt 1)(choice
pt 1))





:name of second rule that would have asserted that fact




A STRATEGY node is somewhat di
fferent. The node type is followed by the actual fact and
the name of the rule that asserted the fact. This is then followed by the direct dependents on
this strategy. If a dependent can result from more than one rule firing, then this is indicated by
epeating the dependent node number. These dependent numbers are then followed by an
integer indicating the position of the rule in the dependent node. For example, if node 18
asserts that b1 is a body and that fact could have been asserted by two differe
nt rules firing and
if node 23 asserts that b2 is a body and that fact could have been asserted by only one rule, then
the STRATEGY node would look like:



(strategy (kind choose
pt 1))


18 1

18 2

23 1


Conclusions and Future Work

The Problem Solver presented in this paper is a knowledge base that generates the physics
equations needed to solve Newtonian force problems. These equation

are generated by first
planning the solution and then deriving the f
acts necessary to satisfy these plans. Once a
problem solution has been executed off
line, a solution graph is generated and converted into a
Bayesian network for use by the Assessor in modeling the student’s cognitive processes. The
Problem Solver has i
ncorporated the use of strategy points to allow the student to choose varies
bodies and problem axes systems.

Current work consists of extending the knowledge base to solve problems involving kinematics,
energy, and circular motion. Future work consists o
f the development of a knowledge base of
“buggy” rules to provide ANDES with the ability to recognize student input that is a result of
misconceptions. Eventually, it is hoped that ANDES will be capable of tutoring student in the
majority of the topics tr
aditionally covered in an introductory calculus based college physics


Arons, A. (1990).
A Guide to Introductory Physics Teaching
. John Wiley and Sons.

Chi, M. Feltovich, P., and Glaser, R. (1991). Categorization and representation of phy
problems by experts and novices,
Cognitive Science
, 5:121


Conati, C., Gertner, A. S., VanLehn, K., and Druzdzel, M. J. (1997). On
line student modeling
for coached problem solving using Bayesian networks,

Proceedings of the Sixth
International C
onference on User Modeling UM
. Sardinia, Italy, 231

Larkin, J. (1983). The role of problem representation in physics. In Gentner, D. and Stevens, A.,
Mental Models
. Lawrence Erlbaum Associates, Hillsdale, N. J.

Reif, F. and Heller, J. I. (198
2). Knowledge structure and problem solving in physics,
Educational Psychologist


Van Heuvelen, A. (1991). Learning to think like a physicist: A review of research
instructional strategies.
American Journal of Physics
, 59(10):891

anLehn, K. (1996). Conceptual and meta learning during coached problem solving. In
Frasson, C., Gauthier, G., and Lesgold, A., eds.,
Proceedings of the 3rd International
Conference on Intelligent Tutoring Systems ITS ‘97
. Berlin: Springer. 29