You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The heading shift results in chapters for each command in the Soar manual PDF. Thus, the CLI documentation is generated in a separate step as TeX and included afterwards.
This also changes some links possibly wrong due to an alias.
time<command> [args] Executes command and prints time spent
14
15
```
15
16
16
-
####debug allocate
17
+
## debug allocate
17
18
18
-
```
19
+
```bash
19
20
debug allocate [pool blocks]
20
21
```
21
22
22
-
This `allocate` command allocates additional blocks of memory for a specified memory pool. Each block is 32 kilobyte.
23
+
This `allocate` command allocates additional blocks of memory for a specified
24
+
memory pool. Each block is 32 kilobyte.
23
25
24
-
Soar allocates blocks of memory for its memory pools as it is needed during a run (or during other actions like loading productions). Unfortunately, this behavior translates to an increased run time for the first run of a memory-intensive agent. To mitigate this, blocks can be allocated before a run by using this command.
26
+
Soar allocates blocks of memory for its memory pools as it is needed during a
27
+
run (or during other actions like loading productions). Unfortunately, this
28
+
behavior translates to an increased run time for the first run of a
29
+
memory-intensive agent. To mitigate this, blocks can be allocated before a run
30
+
by using this command.
25
31
26
-
Issuing the command with no parameters lists current pool usage, exactly like [stats](./cmd_stats.md) command's memory flag.
32
+
Issuing the command with no parameters lists current pool usage, exactly like
33
+
[stats](./cmd_stats.md) command's memory flag.
27
34
28
-
Issuing the command with part of a pool's name and a positive integer will allocate that many additional blocks for the specified pool. Only the first few letters of the pool's name are necessary. If more than one pool starts with the given letters, which pool will be chosen is unspecified.
35
+
Issuing the command with part of a pool's name and a positive integer will
36
+
allocate that many additional blocks for the specified pool. Only the first few
37
+
letters of the pool's name are necessary. If more than one pool starts with the
38
+
given letters, which pool will be chosen is unspecified.
29
39
30
-
Memory pool block size in this context is approximately 32 kilobytes, the exact size determined during agent initialization.
40
+
Memory pool block size in this context is approximately 32 kilobytes, the exact
41
+
size determined during agent initialization.
31
42
32
43
### debug internal-symbols
33
44
34
-
The `internal-symbols` command prints information about the Soar symbol table. Such information is typically only useful for users attempting to debug Soar by locating memory leaks or examining I/O structure.
45
+
The `internal-symbols` command prints information about the Soar symbol table.
46
+
Such information is typically only useful for users attempting to debug Soar by
47
+
locating memory leaks or examining I/O structure.
35
48
36
-
### debug port
49
+
### debug port
37
50
38
51
The `port` command prints the port the kernel instance is listening on.
39
52
40
53
### debug time
41
54
42
-
```
55
+
```bash
43
56
debug timecommand [arguments]
44
57
```
45
58
46
-
The `time` command uses a system clock timer to record the time spent while executing a command. The most common use for this is to time how long an agent takes to run.
59
+
The `time` command uses a system clock timer to record the time spent while
60
+
executing a command. The most common use for this is to time how long an agent
@@ -52,88 +56,121 @@ Use 'decide ?' for a command overview or 'help decide' for the manual page.
52
56
53
57
### decide numeric-indifferent-mode
54
58
55
-
The `numeric-indifferent-mode` command sets how multiple numeric indifferent preference values given to an operator are combined into a single value for use in random selection.
59
+
The `numeric-indifferent-mode` command sets how multiple numeric indifferent
60
+
preference values given to an operator are combined into a single value for use
61
+
in random selection.
56
62
57
-
The default procedure is `--sum` which sums all numeric indifferent preference values given to the operator, defaulting to 0 if none exist. The alternative `--avg` mode will average the values, also defaulting to 0 if none exist.
63
+
The default procedure is `--sum` which sums all numeric indifferent preference
64
+
values given to the operator, defaulting to 0 if none exist. The alternative
65
+
`--avg` mode will average the values, also defaulting to 0 if none exist.
58
66
59
67
### decide indifferent-selection
60
68
61
-
The `indifferent-selection` command allows the user to set options relating to selection between operator proposals that are mutually indifferent in preference memory.
62
-
63
-
The primary option is the exploration policy (each is covered below). When Soar starts, _softmax_ is the default policy.
64
-
65
-
**Note**: As of version 9.3.2, the architecture no longer automatically changes the policy to _epsilon-greedy_ the first time Soar-RL is enabled.
66
-
67
-
Some policies have parameters to temper behavior. The indifferent-selection command provides basic facilities to automatically reduce these parameters exponentially and linearly each decision cycle by a fixed rate. In addition to setting these policies/rates, the _auto-reduce_ option enables the automatic reduction system (disabled by default), for which the Soar decision cycle incurs a small performance cost.
68
-
69
-
#### indifferent-selection options:
70
-
71
-
|**Option**|**Description**|
72
-
|:---------|:--------------|
73
-
|`-s, --stats`| Summary of settings |
74
-
|`policy`| Set exploration policy |
75
-
|`parameter [exploration policy parameters]`| Get/Set exploration policy parameters (if value not given, returns the current value) |
76
-
|`parameter [reduction_policy](value]`| Get/Set exploration policy parameter reduction policy (if policy not given, returns the current) |
77
-
|`parameter reduction_policy [exploration policy parameter]`| Get/Set exploration policy parameter reduction rate for a policy (if rate not give, returns the current)|
78
-
|`-a, --auto-reduce [on,off](reduction-rate]`| Get/Set auto-reduction setting (if setting not provided, returns the current) |
The predict command determines, based upon current operator proposals, which operator will be chosen during the next decision phase. If predict determines an operator tie will be encountered, "tie" is returned. If predict determines no operator will be selected (state no-change), "none" is returned. If predict determines a conflict will arise during the decision phase, "conflict" is returned. If predict determines a constraint failure will occur, "constraint" is returned. Otherwise, predict will return the id of the operator to be chosen. If operator selection will require probabilistic selection, and no alterations to the probabilities are made between the call to predict and decision phase, predict will manipulate the random number generator to enforce its prediction.
123
+
The predict command determines, based upon current operator proposals, which
124
+
operator will be chosen during the next decision phase. If predict determines an
125
+
operator tie will be encountered, "tie" is returned. If predict determines no
126
+
operator will be selected (state no-change), "none" is returned. If predict
127
+
determines a conflict will arise during the decision phase, "conflict" is
128
+
returned. If predict determines a constraint failure will occur, "constraint" is
129
+
returned. Otherwise, predict will return the id of the operator to be chosen. If
130
+
operator selection will require probabilistic selection, and no alterations to
131
+
the probabilities are made between the call to predict and decision phase,
132
+
predict will manipulate the random number generator to enforce its prediction.
108
133
109
134
### decide select
110
135
111
-
The select command will force the selection of an operator, whose id is supplied as an argument, during the next decision phase. If the argument is not a proposed operator in the next decision phase, an error is raised and operator selection proceeds as if the select command had not been called. Otherwise, the supplied operator will be selected as the next operator, regardless of preferences. If select is called with no id argument, the command returns the operator id currently forced for selection (by a previous call to select), if one exists.
136
+
The select command will force the selection of an operator, whose id is supplied
137
+
as an argument, during the next decision phase. If the argument is not a
138
+
proposed operator in the next decision phase, an error is raised and operator
139
+
selection proceeds as if the select command had not been called. Otherwise, the
140
+
supplied operator will be selected as the next operator, regardless of
141
+
preferences. If select is called with no id argument, the command returns the
142
+
operator id currently forced for selection (by a previous call to select), if
143
+
one exists.
112
144
113
145
#### Example
114
146
115
-
Assuming operator "O2" is a valid operator, this would select it as the next operator to be selected:
147
+
Assuming operator "O2" is a valid operator, this would select it as the next
148
+
operator to be selected:
116
149
117
-
```
150
+
```bash
118
151
decide select O2
119
152
```
120
153
121
154
### decide set-random-seed
122
155
123
-
Seeds the random number generator with the passed seed. Calling `decide set-random-seed` (or equivalently, `decide srand`) without providing a seed will seed the generator based on the contents of /dev/urandom (if available) or else based on time() and clock() values.
156
+
Seeds the random number generator with the passed seed. Calling `decide
157
+
set-random-seed` (or equivalently, `decide srand`) without providing a seed will
158
+
seed the generator based on the contents of /dev/urandom (if available) or else
0 commit comments