On-line Soar Tutorial Version 2
Last revised 8/III/96

		[Quick HT]	    [Quick Analogy]

Soar is a production system often used in writing artificial intelligence (AI) programs, but it is also often used for cognitive modelling.

This document aims to be a completely self-contained online introductory tutorial of Soar with an emphasis on cognitive modelling. We will pay some heed to the AI and programming aspects of Soar, as we must -- as a cognitive modelling theory Soar proposes that intelligence consists of a set of mechanisms that do not change across tasks, that is, the architecture, and that knowledge of how to perform tasks is also necessary -- hence intelligence has aspects of being programmable. What this means and how we go about doing it with Soar is what this tutorial is all about.

The major difference between this tutorial and other Soar materials and other Web documents, is that it is designed to be used with a running Soar. We have included several simple (and some not so simple) exercises to test and further your understanding while reading the tutorial.

This tutorial when presented 'live', takes about 3.5 hours for the hungry-thirsty material and about 3.5 hours for the analogy material. You might plan on spending about that time, including some reading, unless you run into problems with getting Soar installed or a silly syntax bug such as forgetting to close a parenthesis.

If you have any questions, please email one of us -- Frank Ritter, 28 Feb 1996.

Using the tutorial

Details on how to use the Soar tutorial. If you have never seen a hypertext document before then you should click the mouse here before looking at how to use the tutorial.

Soar tutorial based on the hungry-thirsty model

A full Soar tutorial, including exercises to do on a simple Soar model.

Analogy tutorial

A set of more advanced exercises on part of a real world Soar model.

Updates to this tutorial should follow the Soar Tutorial HTML Standards, which can be found as comments at the top of the raw pst.html file.

Richard M. Young
MRC Applied Psychology Unit
15 Chaucer Road
Cambridge CB2 2EF

Frank E. Ritter
Psychology and Computer Science Departments
University of Nottingham
Nottingham NG7 2RD

Gary Jones
Psychology Department
University of Nottingham
Nottingham NG7 2RD

If you are viewing this tutorial from diskette rather than from a web site, then it is possible that a more up-to-date version exists. This file is http://www.psychology.nottingham.ac.uk/users/ritter/pst2/pst.html. You can also request the latest copy by writing to one of us stating your current version.

Currently, this tutorial is best viewed in Netscape, but Mosaic is ok too.

Other Soar resources: The Soar FAQ
Hungry-Thirsty Soar Tutorial Version 4

Hungry-Thirsty Soar Tutorial Version 4

If you are viewing this tutorial from a remote site then you will need to download the Soar code for the exercises. This can be done by viewing the relevant code (which can be accessed from Program listings), and then saving it as a file. This is done in Netscape, for example, by selecting the "File" option, and then choosing "Save As...". You can then save the code you are viewing into your own directory.

Information on how to startup Soar is in Starting up Soar help and referenced later in the tutorial.


The first half of the Psychological Soar Tutorial using the hungry-thirsty model, incorporating pointers to the exercises.


Hungry-thirsty tutorial exercises. If you want to go there directly.


Traces from the hungry-thirsty tutorial exercises.

Program listings

Hungry-thirsty tutorial source code.

Return to main page of: Introduction to Psychological Soar Tutorial
(or use the Back button to return to where you just were). Introduction to the Soar Cognitive Architecture

Introduction to the Soar Cognitive Architecture

Table of Contents

List of topics. Click on one or scroll past to tutorial body.

HT tutorial: Overview of the hungry-thirsty model

We will use a deliberately very simple model to teach the basic concepts in Soar. Suppose you have a robot that can carry out just two actions, EAT and DRINK. Imagine that initially it is both hungry and thirsty, and that its goal is to be not hungry. How can it use its actions to achieve that goal?

The problem is presented to Soar in terms of states. This is done straightforwardly:

This analysis gets implemented in Soar as a problem space model made up of production rules. We will use the model in the exercises incorporated in the tutorial. Answers for these exercises are also in the tutorial, and should only be viewed once you have completed the relevant exercise.

Back to Table of Contents

Fundamentals of Soar concepts

For a discussion of Soar as a candidate Unified Theory of Cognition (UTC), see Allen Newell's Unified Theories of Cognition  (1990). It is important as background, but we will not be explicitly dealing with it in the tutorial, except to note that the book includes arguments and discussion of the virtues of unification:

The intellectual origins of this approach can be found in (among many other sources) the work on Production System architectures from the 1970s onwards -- Newell's 1980 paper on The problem space as a fundamental category of cognition,  and his 1982 paper on The knowledge level.  Full references for these and other relevant papers are included in the References section of this tutorial.

Back to Table of Contents

Soar as a Theoretically Constrained Cognitive Architecture