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...
Announcement
Collapse
No announcement yet.
Navigation Tip
Collapse
- Soar 9.6.0 can be found here. (direct download)
- The Soar 9.6.0 tutorial can be found here. (direct download)
- The offical Soar manual can be found here.
- Soar-related publications can be found here.
Technical Documentation
Collapse
-
Waterfall
-
Tank Soar and Eaters Configuration Files
-
Created by:
Soar
- Published: 10-07-2014, 03:09 AM
- 835 views
- 0 comments
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
-
Created by:
-
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
-
Soar XML Interface Specification
-
Created by:
Soar
- Published: 10-07-2014, 03:07 AM
- 706 views
- 0 comments
Soar XML Interface Specification
You can find a Word document describing the Soar XML interface specifications here. -
Created by:
-
Memory Leak Debugging with Visual Studio
-
Created by:
Soar
- Published: 10-07-2014, 03:04 AM
- 7487 views
- 0 comments
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>
-
Created by:
-
I/O and Reward Links
-
Created by:
Soar
- Published: 10-07-2014, 03:03 AM
- 529 views
- 0 comments
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... -
Created by:
-
Command Line Interface Parsing Code
-
Created by:
Soar
- Published: 10-07-2014, 03:02 AM
- 1401 views
- 0 comments
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... -
Created by:
-
Basic Kernel Terminology
-
Created by:
Soar
- Published: 10-07-2014, 02:56 AM
- 599 views
- 0 comments
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... -
Created by:
There are no articles in this category.
Category
Collapse
All Documents
Collapse