Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.8%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
A box-picking POMDP created using POMDPs.jl
Basic Info
- Host: GitHub
- Owner: jmuchovej
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://jmuchovej.github.io/BoxesWorld.jl/
- Size: 464 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 4
Topics
Metadata Files
README.md
BoxesWorld
A scalable MOMDP that mirrors a box-searching task for an item.
As a MOMDP, the agent will always know their location (represented by a Point), but
their belief will vary over the contents of the given boxes.
Suppose that: - $B = \{ \text{Box(1, 5)}, \text{Box(5, 5)}, \text{Box(5, 1)} \}$ - $L = \{ \text{Point(1, 1)}, \text{Point(1, 5)}, \text{Point(5, 5)}, \text{Point(5, 1)} \}$ - $I = \{ 🍋, 🍓, 🥝, 🍍 \}$
Note: $\text{Point(1, 1)}$ is the spawn location.
- Action space ($\mathcal{A}$):
[[Move(box) for box in B]..., Take()]Move(box)will move the agent from its current location to the targetedbox.Take()will take the contents at the current box. At the spawn location, this is an invalid action which does not transition to a new state.
Observation space ($\mathcal{O}$):
[item for item in I]itemonly has the requirement that it's aSymbol. Thus, the agent may observe whatever items you specify are allowed to be in the boxes.
Note that
BoxesWorlddoes not support items only being in certain boxes (e.g., lemons (🍋) are only allowed in odd-number boxes).State space ($\mathcal{S}$): Each state is a known location drawn from $L$ and potential box contents, drawn from $I$ spread across the given boxes, thus there are $|B|^{|I|}$ combinations of items $I$ in boxes $B$. The state-space is always $|L| \times |B|^{|I|}$ where $|L|$ is the number of locations, $|B|$ is the number of boxes, and $|I|$ is the number of items.
Example (3 boxes, 4 fruits: [🍋, 🍓, 🥝, 🍍])
Example code in examples/boxes=3-fruits=🍋🍓🥝🍍
The world is rotated by 45 degrees to accentuate costs, but is set in a 5x5 grid-like
world. Specifically, there are 3 boxes at (1, 5), (5, 5), and (5, 1). Each box
may contain only one fruit, but collectively there may be any combination of fruits.
- Action space:
[Move(1), Move(2), Move(3), Take()] - Observation space:
[:🍋, :🍓, :🥝, :🍍] - State space:
julia states = map([Point(1, 1), Point(1, 5), Point(5, 5), Point(5, 1)]) do location map(product(ITEMS, ITEMS, ITEMS)) do (box1, box2, box3) return State(location, [box1, box2, box3]) end end |> flatten |> collect
Note that Point(1, 1) is the spawn location – this is where initial beliefs may
be modified so represent non-uniform initial beliefs!
On the left, we have an agent in a 3-box world with a kiwi (🥝), lemon (🍋), and strawberry (🍓) in boxes 1, 2, and 3, respectively. The agent cannot observe the contents of the box until it visits the box.
On the right, we have an agent in a similar world but with lemons (🍋) in boxes 1
and 2, and a kiwi (🥝) in box 3. The agent took actions Move(2), Move(3), Take().
Thus, the agent observed a lemon (🍋) in Box 2, then a strawberry (🍓) in Box 3, and took the
strawberry (🍓) in Box 3.
Owner
- Name: John Muchovej
- Login: jmuchovej
- Kind: user
- Company: @compdevlab-yale
- Website: jmuchovej.com
- Repositories: 6
- Profile: https://github.com/jmuchovej
AI, CogSci, NLP. CompDevLab@Yale, CoCoDev@Harvard, CBMM@MIT, CoCoSci@MIT, NLP@UCF.
Citation (CITATION.bib)
@misc{BoxesWorld.jl,
author = {John Muchovej <5000729+jmuchovej@users.noreply.github.com> and contributors},
title = {BoxesWorld.jl},
url = {https://github.com/jmuchovej/BoxesWorld.jl},
version = {v1.0.0-DEV},
year = {2023},
month = {6}
}
GitHub Events
Total
- Issue comment event: 3
- Pull request event: 3
- Create event: 2
Last Year
- Issue comment event: 3
- Pull request event: 3
- Create event: 2
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| John Muchovej | 5****j | 42 |
| dependabot[bot] | 4****] | 4 |
Issues and Pull Requests
Last synced: 8 months ago
All Time
- Total issues: 1
- Total pull requests: 7
- Average time to close issues: less than a minute
- Average time to close pull requests: about 2 months
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 4.0
- Average comments per pull request: 0.86
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 5
Past Year
- Issues: 0
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: 6 months
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 5.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 1
Top Authors
Issue Authors
- JuliaTagBot (1)
Pull Request Authors
- dependabot[bot] (10)
- jmuchovej (3)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 4
juliahub.com: BoxesWorld
A box-picking POMDP created using POMDPs.jl
- Homepage: https://jmuchovej.github.io/BoxesWorld.jl/
- Documentation: https://docs.juliahub.com/General/BoxesWorld/stable/
- License: MIT
-
Latest release: 0.1.3
published over 1 year ago