Skip to content
/ amaze Public

Lightweight maze navigation task generator for sighted AI agents

License

Notifications You must be signed in to change notification settings

kgd-al/amaze

Repository files navigation

AMaze

JOSS

A lightweight maze navigation task generator for sighted AI agents.

Badges

Stable branch (main)

main:status PyPI version Documentation Status Downloads

main:test cov

Development (dev)

dev:test

Mazes

AMaze is primarily a maze generator: its goal is to provide an easy way to generate arbitrarily complex (or simple) mazes for agents to navigate in.

Every maze can be described by a unique, human-readable string:

Maze sample

Clues point agents towards the correct direction, which is required for them to solve intersections. Traps serve the opposite purpose and are meant to provide more challenge to the maze navigation tasks. Finally, Lures are low-danger traps that can be detected using local information only (i.e. go into a wall).

NOTE: The path to solution as well as the finish flag are only visible to the human

Agents

Agents in AMaze are loosely embodied with only access to local physical information (the current cell) and one step-removed temporal information (direction of the previous cell, if any). The input and output spaces can either be discrete or continuous.

Discrete inputs

Discrete inputs

In the discrete input case, information is provided in an easily intelligible format of fixed size. According to the cell highlighted in the previous example, an agent following the optimal trajectory would receive the following inputs:

Discrete inputs examples

Continuous inputs

Continuous inputs

For continuous inputs, a raw grayscale image is directly provided to the agent. It contains wall information on the outer edge, as well as the same temporal information as with the discrete case (centered pixel on the corresponding border). The sign, if any, is thus provided as a potentially complex image that the agent must parse and understand:

Continuous inputs

While the term continuous is a bit of stretch for coarse-grain grayscale images, it highlights the difference with the discrete case where every possible input is easily enumerable.

Examples

According to the combinations of input and output spaces, the library can work in one of three ways.

Fully discrete

example_dd

Hybrid (continuous inputs, discrete outputs)

example_dd

Fully continuous

example_cc

Further reading

The documentation is available at (https://amaze.readthedocs.io/) including installation instruction (pip) and detailed examples.

Contributing

Contributions to the library aiming at increasing its ease of use in both the scientific and students communities are welcome. Any such contribution can be made via a pull request while bugs (in the code or the documentation) should be reported in the dedicated tracker.

Acknowledgement

This research was funded by the Hybrid Intelligence Center, a 10-year programme funded by the Dutch Ministry of Education, Culture and Science through the Netherlands Organisation for Scientific Research, https://hybrid-intelligence-centre.nl, grant number 024.004.022.

About

Lightweight maze navigation task generator for sighted AI agents

Resources

License

Stars

Watchers

Forks

Packages

No packages published