Skip to content

Commit 36243d1

Browse files
moschmdtgarfieldnate
authored andcommitted
Update Manual Syntax and Learning and Tutorial Planning
This allow the div HTML elements for grid views
1 parent 1cf6bf5 commit 36243d1

File tree

7 files changed

+641
-470
lines changed

7 files changed

+641
-470
lines changed

.markdownlint.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,10 @@
2020
},
2121
"MD025": {
2222
"front_matter_title": ""
23+
},
24+
"MD033": {
25+
"allowed_elements": [
26+
"div"
27+
]
2328
}
2429
}

docs/soar_manual/03_SyntaxOfSoarPrograms.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1938,7 +1938,7 @@ After this rule fires, working memory might look like:
19381938
`(S1 ^heading 526.432 ^true-heading 166.5)`.
19391939
19401940
**size** — This function returns an integer symbol whose value is the count of
1941-
WME aug- mentations on a given ID argument. Providing a non-ID argument results
1941+
WME augmentations on a given ID argument. Providing a non-ID argument results
19421942
in an error. For example:
19431943
19441944
```Soar

docs/soar_manual/04_ProceduralKnowledgeLearning.md

Lines changed: 602 additions & 440 deletions
Large diffs are not rendered by default.
Binary file not shown.
-224 KB
Binary file not shown.

docs/tutorials/soar_tutorial/05.md

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ internally before executing them in the world. In addition, planning provides a
2727
way of comparing alternative operators based on the states they produce.
2828
Chunking builds rules that summarize the comparisons and evaluations that occur
2929
in the look-ahead search so that in the future the rules fire, making look-ahead
30-
search unnecessary converting deliberation into reaction.
30+
search unnecessary - converting deliberation into reaction.
3131

3232
Many planning systems have a two-stage cycle of planning and execution.
3333
They always plan when given a new problem and then execute the plan step
@@ -354,11 +354,12 @@ a few Water Jug specific rules; however, that means that with each new
354354
task, new state copy rules must also be written. To avoid this, we have
355355
written a general set of rules that can copy down the augmentations.
356356
These rules match against augmentations of the problem space to
357-
determine with state augmentations to copy. Below are the legal
357+
determine which state augmentations to copy. Below are the legal
358358
augmentations dealing with state copying and their meaning:
359359

360-
- default-state-copy no: Do not copy any augmentations automatically.
361-
- one-level-attributes: copies augmentations of the state and preserves their value.
360+
- `default-state-copy no`: Do not copy any augmentations automatically.
361+
- `one-level-attributes`: copies augmentations of the state and preserves
362+
their value.
362363

363364
Example:
364365

@@ -367,7 +368,7 @@ augmentations dealing with state copying and their meaning:
367368
(s2 ^color c1)
368369
```
369370
370-
- two-level-attributes: copies augmentations of the state and creates
371+
- `two-level-attributes`: copies augmentations of the state and creates
371372
new identifiers for values. Shared identifiers replaced with same
372373
new identifier.
373374
@@ -378,9 +379,9 @@ augmentations dealing with state copying and their meaning:
378379
(s2 ^color c5) (c5 ^hue green)
379380
```
380381
381-
- all-attributes-at-level one: copies all attributes of state as
382-
one-level-attributes (except dont-copy ones and Soar created ones
383-
such as impasse, operator, superstate)
382+
- `all-attributes-at-level one`: copies all attributes of state as
383+
one-level-attributes (except `dont-copy` ones and Soar created ones
384+
such as `impasse`, `operator`, `superstate`)
384385
385386
Example:
386387
@@ -389,9 +390,9 @@ augmentations dealing with state copying and their meaning:
389390
(s2 ^color c1) (s2 ^size big)
390391
```
391392
392-
- all-attributes-at-level two: copies all attributes of state as
393-
two-level-attributes (except dont-copy ones and Soar created ones
394-
such as impasse, operator, superstate)
393+
- `all-attributes-at-level two`: copies all attributes of state as
394+
two-level-attributes (except `dont-copy` ones and Soar created ones
395+
such as `impasse`, `operator`, `superstate`)
395396
396397
Example:
397398
@@ -400,22 +401,22 @@ augmentations dealing with state copying and their meaning:
400401
(s2 ^color c5) (c5 ^hue green)
401402
```
402403
403-
- dont-copy: will not copy that attribute.
404+
- `dont-copy`: will not copy that attribute.
404405
405406
Example:
406407
407408
```Soar
408409
(p1 ^dont-copy size)
409410
```
410411
411-
- don’t-copy-anything: will not copy any attributes
412+
- `dont-copy-anything`: will not copy any attributes
412413
413414
```Soar
414415
(p1 ^dont-copy-anything yes)
415416
```
416417
417418
If no augmentations relative to copying are included, the default is to
418-
do all-attributes-at-level one. The desired state is also copied over,
419+
do `all-attributes-at-level one`. The desired state is also copied over,
419420
based on the copy commands for the state.
420421
421422
These rules support two levels of copying. How should you decide what
@@ -451,9 +452,10 @@ sp {water-jug*apply*fill
451452
^empty <volume>)
452453
-->
453454
(<j> ^contents <volume>
454-
0 -
455+
0 -
455456
^empty 0
456-
<volume> - ) # (1)}
457+
<volume> - ) # (1)
458+
}
457459
```
458460

459461
1. To remove a working memory element, use `-`.
@@ -481,9 +483,9 @@ sp {water-jug*elaborate*problem-space
481483
^two-level-attributes jug)}
482484
```
483485

484-
You could use ^all-attributes-at-level two instead, but it is best to
486+
You could use `^all-attributes-at-level two` instead, but it is best to
485487
list exactly the attributes you need to have copied. After using this,
486-
the substate, s3, would have the following structure:
488+
the substate, `s3`, would have the following structure:
487489

488490
```Soar
489491
(s3 ^jug j3 j4)
@@ -522,7 +524,7 @@ working memory when an operator is applied, although it requires fewer
522524
working memory elements to be copied during the creation of the initial
523525
state. This approach also is less natural in that it implies that a new
524526
jug is created as opposed to just modifying the contents of the existing
525-
jug. For these two reasons, the first approach (two-level-attribute
527+
jug. For these two reasons, the first approach (`two-level-attribute`
526528
copying) is preferred.
527529

528530
#### Selecting the operator being evaluated
@@ -564,7 +566,7 @@ Once the new state is created, an evaluation can be made. An
564566
augmentation is added to the state in parallel to the operator being
565567
applied: `^tried-tied-operator <o>`. This augmentation can be tested by
566568
rules to ensure that they are evaluating the result of applying the
567-
operator as opposed to the copy of the original state although this
569+
operator as opposed to the copy of the original state - although this
568570
will not work for operators that apply as a sequence of rules.
569571

570572
The simplest evaluations to compute are success and failure. Success is
@@ -594,26 +596,26 @@ In addition to success and failure, the selection rules can process
594596
other symbolic evaluations as well as numeric evaluations. The symbolic
595597
preferences that are processed are as follows:
596598

597-
- success: This state is the desired state. This is translated into a
599+
- **success**: This state is the desired state. This is translated into a
598600
best preference. It is also translated into a better preference if
599601
another operator has a result state with an evaluation of
600602
partial-success.
601603

602-
- partial-success: This state is on the path to success. This is
604+
- **partial-success**: This state is on the path to success. This is
603605
translated into a best preference.
604606

605-
- indifferent: This state is known to be neither success of failure.
607+
- **indifferent**: This state is known to be neither success of failure.
606608
This is translated into an indifference preference.
607609

608-
- failure: The desired state cannot be achieved from this state. This
610+
- **failure**: The desired state cannot be achieved from this state. This
609611
is translated into a reject preference.
610612

611-
- partial-failure: All paths from this state lead to failure. This is
613+
- **partial-failure**: All paths from this state lead to failure. This is
612614
translated into a worst preference.
613615

614616
For numeric evaluations, an augmentation named `^numeric-value` should be
615617
created for the evaluation object for an operator. We will discuss
616-
numeric evaluations in more detail in a future section.
618+
numeric evaluations in more detail in a [future section](#numeric-evaluations).
617619

618620
If you include your original rules, the selection rules, and the two new
619621
rules described above (`water-jug*elaborate*problem-space`,
@@ -646,10 +648,10 @@ following:
646648
test for this is: `(<s1> ^tried-tied-operator)`
647649
1. That there is a duplicate of that state that is earlier in the state
648650
stack. There is nothing inherent in Soar that keeps track of all
649-
earlier states only the superstate is readily available. We need
651+
earlier states - only the superstate is readily available. We need
650652
to add rules that elaborate each state with all of its superstates
651653
(and their superstates). We will call this the superstate-set.
652-
Computing this requires only two rules one that adds its
654+
Computing this requires only two rules - one that adds its
653655
superstate to the superstate-set and one that adds all of the
654656
superstate-set of the superstate to its superstate-set.
655657

@@ -874,7 +876,7 @@ path to the goal. Specifically, chunking can learn a rule that states:
874876
875877
This rule is learned when the operator to move one missionary to the
876878
left is evaluated in a evaluation subgoal and discovered to lead to a
877-
failure state where there is one missionary and two cannibals on the
879+
failure state - where there is one missionary and two cannibals on the
878880
right bank. The problem with this rule is that it doesn’t include a test
879881
that no cannibals are also moved. If the operator moves a cannibal at
880882
the same time it moves a missionary, it does not produce a failure

includes/abbreviations.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,5 @@
1414
*[EpMem]: Episodic Memory
1515
*[ECR]: Expected Current Reward
1616
*[EFR]: Expected Future Reward
17+
*[EBC]: Explanation-based Chunking
18+
*[ROSK]: Relevant Operator Selection Knowledge

0 commit comments

Comments
 (0)