A framework to research MARL agents in various setings.
Project description
EDYS
Tackling emergent dysfunctions (EDYs) in cooperation with Fraunhofer-IKS
Setup
Just install this environment by pip install marl-factory-grid
.
First Steps
Quickstart
Most of the env. objects (entites, rules and assets) can be loaded automatically. Just define what your environment needs in a yaml-configfile like:
Example ConfigFile
General: level_name: rooms env_seed: 69 verbose: !!bool False pomdp_r: 5 individual_rewards: !!bool TrueEntities:
Defaults: {}
Doors:
closed_on_init: True
auto_close_interval: 10
indicate_area: False
Destinations: {}
Agents:
Wolfgang:
Actions:
- Move8
- Noop
- DoorUse
- ItemAction
Observations:
- All
- Placeholder
- Walls
- Items
- Placeholder
- Doors
- Doors
Armin:
Actions:
- Move4
- ItemAction
- DoorUse
Observations:
- Combined:
- Agent['Wolfgang']
- Walls
- Doors
- Items
Rules:
Defaults: {}
Collision:
done_at_collisions: !!bool True
ItemRespawn:
spawn_freq: 5
DoorAutoClose: {}
Assets:
- Defaults
- Items
- Doors
Have a look in \quickstart for further configuration examples.
Make it your own
Levels
Varying levels are created by defining Walls, Floor or Doors in .txt-files (see ./environment/levels for examples). Define which level to use in your configfile as:
General:
level_name: rooms # 'double', 'large', 'simple', ...
... or create your own , maybe with the help of asciiflow.com.
Make sure to use #
as Walls, -
as free (walkable) Floor-Tiles, D
for Walls.
Other Entites (define you own) may bring their own Symbols
Entites
Entites, either Objects for tracking stats or env. Entity which can interact. Abstract Entities are provided.
Groups
Groups are entity Sets that provide administrative access to all group members. All Entites are available at runtime as EnvState property.
Rules
Rules define how the environment behaves on micro-scale.
Each of the hookes (on_init
, pre_step
, on_step
, 'post_step
', on_done
)
provide env-access to implement customn logic, calculate rewards, or gather information.
Results provide a way to return rule
evaluations such as rewards and state reports
back to the environment.
Assets
Make sure to bring your own assets for each Entity living in the Gridworl as the Renderer
relies on it.
PNG-files (transparent background) of square aspect-ratio should do the job, in general.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file Marl-Factory-Grid-0.1.2.tar.gz
.
File metadata
- Download URL: Marl-Factory-Grid-0.1.2.tar.gz
- Upload date:
- Size: 501.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b1e46426b11b328a0720af75877a5a9c2e87a2997f48a89e117fd9eedeeec48 |
|
MD5 | 95a88b79f1626023a7c5d48df337df83 |
|
BLAKE2b-256 | e3fe5d6eca0a8357294a7aa538777927d671d828274e95395d60fff123a566fc |