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...
No announcement yet.
To find what you need, select a category and then a document from the left sidebar.
The official Soar Manual can be found here.
Tank Soar and Eaters Configuration FilesSoar2D is a general framework that includes both Eaters and TankSoar. This document describes how to modify these environments using the configuration settings 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
TimersThis document describes how Soar's internal timers work.
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
Memory Leak Debugging with Visual StudioThis 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>
I/O and Reward LinksIntroduction
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...
Command Line Interface Parsing CodeOverview
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...
Basic Kernel TerminologyThis 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...
There are no articles in this category.
Powered by vBulletin® Version 5.1.9
Copyright © 2017 vBulletin Solutions, Inc. All rights reserved.All times are GMT-5. This page was generated at 07:18 AM.