Comments (9)
Hi,
Thanks for the suggestions. I was on vacation. I will try to address your comments as soon as possible.
from agents.jl.
Cool, thanks, I'll have a look soon!
from agents.jl.
Hm, the more I read the Schelling's model tutorial, the more I see that what I ask for is already existing. This could be solved with minimal effort, by making Schelling's tutorial a first-level page by itself (instead of being grouped in the examples) and changing titles and making everything a bit more visible.
Some other title is necessary, so that it is obvious from a glance that this page does serve as an "introduction" to Agents.jl. I suggest to make the First level title Agent's.jl Architecture
and add a second title later on Schelling's segregation model Example
.
(what I said above, to state the expected API independently of an example, is still very useful)
from agents.jl.
The Table of Contents also starts with the forest fire model. Some re-organization there could help as well, so that it starts with basic API introduction instead.
from agents.jl.
The docs are now refactored as you suggested.
from agents.jl.
I am reading the new documentation currently. I have some comments that might sound nit-picky but I think can really help improve the docs. Recall that I am in no way a user already familiar with Agents.jl and thus my comments (I believe) do give you the impression of what a newcomer would think.
Anyway, here goes: I think the "Defining a space object" from the documentation is unecessary. I think the functionality that a user can define their own grid is cool, but way too advanced for an introductory tutorial. Maybe a different tutorial on "making your own space" is in order, and instead in the introductory tutorial you can use the function grid
, and reference it using the syntax [`grid`](@ref)
.
I stand that understanding LightGraphs.jl should not be necessary to use the basics of Agents.jl, but in order to create a "Space" by yourself, you really have to know LightGraphs.jl. In fact, I don't at all understand why one has to create a space by themselves.
EDIT: What I say in this section is largely tied with, and in part superseded by #24
The usage of terms "grid" and "space" is confusing, because they don't really have a proper definition. Do they mean the same thing? (for someone with my background, condensed matter, they could) What does "grid" mean? The documentation of grid
states:
Return a grid based on its dimensions...
but does not state what a grid actually is. By running the function I realize it is a SimpleGraph
. This should be stated in the documentation string explicitly. Users not already familiar with Agents.jl will have to guess what grid means.
from agents.jl.
Thank you.
Indeed, understanding LightGraphs.jl is not necessary for using Agents.jl. For any regular space, the user only needs to provide dimensions of the space. This is what happens in all of the examples. So there is no direct interaction with LightGraphs.jl.
I have mentioned that it is possible for users to create and input a custom irregular space for their simulations. This is a useful option as not all simulations happen in a regular grid.
I can add a description to docstrings defining a grid.
from agents.jl.
@kavir1698 I'll close this (and thus fullfill the point in the JOSS review) once you simply state in the docstrings of grid
that they return a SimpleGraph
. Nothing more is currently necessary and implementing #24 is not necessary for the review.
from agents.jl.
Cool, kavir1698@9b16776 addresses your comment.
from agents.jl.
Related Issues (20)
- `@multiagent` doesn't work when agents have no extra properties HOT 1
- A compactify macro to help to create a unique-type agent for multi-agent models HOT 8
- Schelling interactive exploration example ERROR: LoadError: UndefVarError: `MakieLayout` not defined HOT 8
- continuous-event/-time ABM? HOT 8
- flocking model example does not work HOT 3
- Documentation does not build
- error trying to run abmexploration HOT 6
- Test suite sometimes does not pass in PRs HOT 3
- Deprecate `as, am, ac` keywords for longer, more descriptive names HOT 1
- [FR] make the `@agent` macro define pretty printing as well HOT 1
- Add comments to the agents.jl file
- Syntax check of `@multiagent` is not as correct as it should be: HOT 3
- Subtyping type parameterization does not work in `@multiagent`. HOT 13
- Changelog for v6 needs a dedcated deprecations section
- New DevDoc entry for making new ABM types HOT 2
- Models.jl removed from main in current build? HOT 6
- Discuss redefining agent types in the docs
- "MethodError: no method matching..." with default agent attribute values. HOT 1
- Bugs due to Makie 0.20 update HOT 1
- [DOCS] add multithreading discussion in performance tips HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from agents.jl.