Announcement

Collapse
No announcement yet.

Navigation Tip

Collapse

To find what you need, select a category and then a document from the left sidebar.

The official Soar Manual can be found here.

Technical Documentation

Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Waterfall

    Waterfall

    This document describes the "Waterfall" modifications made to to Soar.

    As described by Bob Marinier...

    "Suppose I have a blocks world agent that is trying to accomplish "put A on B". Several moves might be required to do this, and the agent doesn't know what they are, so it goes into a subgoal and starts randomly moving blocks around. What we want is for the agent to get a positive reward on the substate's reward link when it succeeds. So we can...
    See more | Go to post

  • Tank Soar and Eaters Configuration Files

    Tank Soar and Eaters Configuration Files

    Soar2D is a general framework that includes both Eaters and TankSoar. This document describes how to modify these environments using the configuration settings files.

    Configuration Files

    Soar2D configuration files are stored in the Soar2D folder. When running the soar2d jar, you may specify the configuration file to use on the command line, or run without specifying any and a dialog window will pop-up.

    :
    java -jar soar2d.jar configs/tanksoar.cnf
    java -jar
    ...
    See more | Go to post

  • Timers

    Timers

    This document describes how Soar's internal timers work.

    Preprocessor Symbols


    Core/SoarKernel/src/kernel.h contains a few relevant preprocessor symbols:
    • NO_TIMING_STUFF: Defining this symbol removes most timer code from the kernel. The stats command output will be much shorter as well, as it will not include timing statistics.
    • DETAILED_TIMING_STATS: Only valid when NO_TIMING_STUFF is not defined. Defining this turns on more timers for more detailed stats for things
    ...
    See more | Go to post

  • Soar XML Interface Specification

    Soar XML Interface Specification

    You can find a Word document describing the Soar XML interface specifications here.
    See more | Go to post

  • Memory Leak Debugging with Visual Studio

    Memory Leak Debugging with Visual Studio

    This document summarizes one technique for fixing memory leaks in the Soar kernel using Visual Studio's Leak Detection tools.

    First, choose a program you will use for testing. I recommend TestCLI or TestClientSML or some other program that can repeatably cause leaks.

    At the top of the file containing main.cpp, add this:

    :
    #ifdef _MSC_VER
    // Use Visual C++'s memory checking functionality
    #define _CRTDBG_MAP_ALLOC
    #include <crtdbg.h>
    ...
    See more | Go to post

  • I/O and Reward Links

    I/O and Reward Links

    Introduction

    Soar provides several links on various states: the io, input-link, and output-link exist on the top state, whereas a reward-link exists on every state. This page will describe how to add your own link, using the emotion link as an example (since that's what I'm working on at the moment). Note that this is actually a couple links (like io has a couple links) and it's only on the top state. If you only want a single link and/or you want links on all states, just search the...
    See more | Go to post

  • Command Line Interface Parsing Code

    Command Line Interface Parsing Code

    Overview

    The command line interface (CLI) described in this document has no relation to the lexer/parser inside the Soar kernel. CLI often refers to the actual object instance (a member of KernelSML) but sometimes can refer to the whole component.

    The CLI takes an arbitrary string and transforms it into method calls providing a general interface to Soar as described by the help document on the Soar wiki (on Google Code).

    A command line in this context can actually...
    See more | Go to post

  • Basic Kernel Terminology

    Basic Kernel Terminology

    This is a document that defines some of the basic data structures, files and terminology used in the Soar kernel code. It is very incomplete but a good starting point for understanding the kernel.

    "But where can I start?"


    In a nutshell:
    The Soar Kernel is a very object-oriented, structured set of code. If you don't understand the basic Soar execution cycle and its phases, the source code won't help you. You should start by reading the introductory material...
    See more | Go to post
There are no articles in this category.
Working...
X