Skip to content

Commit c7b82ed

Browse files
committed
Start migrating the downloads section
There are a *lot* of download pages, so we'll start with the headers, structure, and a sort of template we can use for the others. See #28.
1 parent d7801fb commit c7b82ed

File tree

15 files changed

+647
-100
lines changed

15 files changed

+647
-100
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ The site is built using the [MkDocs](https://www.mkdocs.org/), a static site
1111
generator that uses Markdown files to generate a website. The theme is
1212
[Material for MkDocs](https://squidfunk.github.io/mkdocs-material/).
1313

14+
Large files that are not displayed but rather downloaded not be stored here;
15+
instead, put them in the [website downloads repository](https://github.com/SoarGroup/website-downloads).
16+
1417
## Setup/Running
1518

1619
```shell
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
tags:
3+
- agent debugging
4+
- episodic memory
5+
---
6+
7+
# Episodic Memory Size Tool
8+
9+
This tool is a command-line python script to determine the size of episodes in
10+
episodic memory.
11+
12+
## Download Link
13+
14+
[Episodic_Memory_Sizer.zip](https://github.com/SoarGroup/website-downloads/raw/main/AgentDevelopmentTools/Episodic_Memory_Sizer.zip)
15+
16+
## Documentation
17+
18+
None
19+
20+
## Developer
21+
22+
Justin Li
23+
24+
## Soar Versions
25+
26+
Any with episodic memory; version must match the one that produced the DB.
27+
28+
## Language
29+
30+
Python
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
title: agent development tools
3+
---
4+
5+
# Downloads: Agent Development Tools
6+
7+
In this category you'll find tools to help you develop your Soar agents.
8+
This includes IDEs for developing Soar agents, a variety of both real-time and
9+
offline debugging tools and some syntax coloring add-ons for certain text
10+
editors.
11+
12+
* [Episodic Memory Size Tool](./episodic_memory_size_tool.md)

docs/downloads/agents/15-puzzle.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
tags:
3+
- chunking
4+
- look-ahead search
5+
---
6+
7+
# 15-Puzzle Agent
8+
9+
This agent is a straightforward implementation of the fifteen-puzzle. It uses
10+
look-ahead search to solve the puzzle with a simple evaluation function. This
11+
agent also demonstrates chunking.
12+
13+
The puzzle consists of fifteen sliding tiles, numbered by digits from 1 to 15
14+
arranged in a 4 by 4 array of sixteen cells. One of the cells is always empty,
15+
and any adjacent tile can be moved into the empty cell. The initial state is
16+
some arbitrary arrangement of the tiles. The goal state is the arrangement of
17+
tiles such that they are ordered from lowest to highest value. The problem is to
18+
find a sequence of moves from the initial state to the goal state.
19+
20+
## Soar Capabilities
21+
22+
- Look-ahead subgoaling
23+
- Chunking
24+
25+
## Download Links
26+
27+
- [Fifteen_Puzzle_Agent.zip](https://github.com/SoarGroup/website-downloads/raw/main/Agents/Fifteen_Puzzle_Agent.zip)
28+
29+
## External Environment
30+
31+
None.
32+
33+
## Default Rules
34+
35+
selection.soar
36+
37+
## Associated Publications
38+
39+
None
40+
41+
## Developer
42+
43+
John Laird
44+
45+
## Soar Versions
46+
47+
- Soar 8
48+
- Soar 9
49+
50+
## Project Type
51+
52+
VisualSoar

docs/downloads/agents/index.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
title: agents
3+
---
4+
5+
# Downloads: Agents
6+
7+
In this category, you'll find a variety of agents developed for a wide range of
8+
different tasks and environments. You will find a full description of the agent,
9+
its capabilities and problem solving approach as well, as a download link. If
10+
the agent requires an environment, a link will be provided. We'd highly
11+
encourage you to submit your own agents for use by the greater Soar community.
12+
To do so, you can send your zipped up submission with a full description (try to
13+
include all of the type of information we include on each download page) to
14+
[John Laird](mailto:laird@umich.edu) with the subject "Soar Agent Submission".
15+
16+
* [15-Puzzle Agent](./15-puzzle.md)

docs/downloads/domains/dice.md

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
---
2+
Tags:
3+
- environments
4+
- liar's dice
5+
- reinforcement learning
6+
---
7+
8+
# Dice
9+
10+
Dice is a java implementation of a game often called *Liar's Dice*.
11+
12+
Here is an abbreviated description of the rules used in our implementation of
13+
this domain:
14+
15+
* Each player gets five six-sided dice and a cup to conceal their dice from
16+
other players.
17+
* To begin each round, all players roll their dice under their cups and look
18+
at their new 'hand' while keeping it concealed from the other players. The first
19+
player begins bidding, picking a quantity of a face number. The quantity states
20+
the player's opinion on how many of the chosen face have been rolled in total on
21+
the table.
22+
* Each player has two choices during his turn: make a higher bid, or challenge
23+
the previous bid as being wrong. Raising the bid means either increasing the
24+
quantity, or the face value, or both, according to the specific bidding rules used.
25+
* The 1s ("aces") are wild and count as two in a bid, for example to outbid a
26+
bid of 2 one's, you must bid at least 5 of a non-wild face.
27+
* If the current player thinks the previous player's bid is wrong, he
28+
challenges it, and then all dice are revealed to determine whether the bid was
29+
valid. If the number of the relevant face revealed is at least as high as the
30+
bid, then the bid is valid, in which case the bidder wins. Otherwise, the
31+
challenger wins.
32+
33+
\* Description of game rules derived from its [Wikipedia page](
34+
https://en.wikipedia.org/wiki/Liar%27s_dice)
35+
and is released under the [Creative Commons license](http://creativecommons.org/licenses/by-sa/3.0/).
36+
37+
## Environment Properties
38+
39+
* Uncertainty
40+
* incomplete knowledge
41+
* multi-player
42+
43+
## Download Links
44+
45+
[Dice.zip](https://github.com/SoarGroup/website-downloads/raw/main/Domains/Dice.zip)
46+
47+
## Associated Agents
48+
49+
A variety of agents is included in the environment download.
50+
51+
## Documentation
52+
53+
* Requires these jars on the classpath:
54+
* sml.jar
55+
* soar-qna-9.3.1.jar
56+
* soar-smljava-9.3.1.jar
57+
58+
* Also needs the environment variables `SOAR_HOME` set and `LD_LIBRARY_PATH` on
59+
Linux (`DYLD_LIBRARY_PATH` on OSX, `PATH` on Windows) set to `$SOAR_HOME/lib`.
60+
61+
* To import into Eclipse, go to File > New > Java Project, un-check "Use Default
62+
Location" and under "Location" select the root directory of the project. All
63+
other default settings should be fine.
64+
65+
* To run, right-click on the SoarMatch?.java file and select Run As > Java Application.
66+
67+
### IO link Specification
68+
69+
#### Code
70+
71+
```plaintext
72+
input-link
73+
dice-probability
74+
id (any) copied from request
75+
probability (float) (0..1)
76+
77+
output-link
78+
compute-dice-probability
79+
id (any) user-data to be copied to input-link to correlate result
80+
number-of-dice (int) (1..)
81+
number-of-faces (int) (1..) usually 3 (normal, ones wild) or 6 (ones or special rules)
82+
count (int) (1..number-of-dice) Target number
83+
predicate (string) (eq ne ge gt le lt)
84+
85+
Predicate shorthand:
86+
eq: equal ==
87+
ne: not equal !=
88+
ge: greater than or equal >=
89+
gt: greater than >
90+
le: less than or equal <=
91+
lt: less than <
92+
```
93+
94+
#### Examples
95+
96+
```text
97+
id: 1, number-of-dice: 3, number-of-faces: 6, count: 2, predicate: eq
98+
yields: id: 1, probability: 0.06944
99+
100+
id: 2.0, number-of-dice: 5, number-of-faces: 3, count: 3, predicate: ge
101+
yields: id: 2.0, probability: 0.20988
102+
103+
id: charlie, number-of-dice: 24, number-of-faces: 6, count: 6, predicate lt
104+
yields: id: charlie, probability: 0.80047
105+
106+
Quick test using add-wme on empty agent:
107+
aw i3 compute-dice-probability *
108+
aw i4 id 1
109+
aw i4 number-of-dice 5
110+
aw i4 number-of-faces 3
111+
aw i4 count 3
112+
aw i4 predicate ge
113+
```
114+
115+
## Associated Publications
116+
117+
Pending
118+
119+
## Developer
120+
121+
Miller Tinkerhess
122+
123+
## Soar Versions
124+
125+
Soar 9
126+
127+
## Language
128+
129+
Java

docs/downloads/domains/index.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
title: domains
3+
---
4+
5+
# Downloads: Domains
6+
7+
This category contains an extensive list of domains you can develop agents in.
8+
Some are game-like environment simulators while other provide access to an
9+
external knowledge source for your agent to process and manipulate, for example
10+
WordNet or SoarQnA. All of these domains are fully interfaced with Soar already.
11+
12+
* [Dice](./dice.md)
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
tags:
3+
- C++
4+
---
5+
6+
# C++ Command Line Filter Example: FilterC
7+
8+
FilterC demonstrates how to write a client in C++ that intercepts commands to
9+
implement a simple command line.
10+
11+
## Download Links
12+
13+
[Soar_Filter_C_Example.zip](https://github.com/SoarGroup/website-downloads/raw/main/Examples-and-Unsupported/Soar_Filter_C_Example.zip)
14+
15+
## Documentation
16+
17+
While there is no explicit documentation, this example code is commented.
18+
19+
## Developer
20+
21+
Douglas Pearson
22+
23+
## Soar Versions
24+
25+
* Soar 8
26+
* Soar 9
27+
28+
## Language
29+
30+
C++
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Downloads: Examples and Unsupported
2+
3+
This category contains example code and wrapper functions to help you build your
4+
own environments in a variety of language, namely C++, PHP, Python, Java and C.
5+
This code is unsupported but may still work.
6+
7+
* [C++ Command Line Filter Example](./cpp_command_line_filter_example.md)

0 commit comments

Comments
 (0)