Skip to main content

A custom AI Gym environment for the sliding block puzzle game

Project description

Puzzle15Gym

codecov PyPI version

A custom AI Gym environment for the 15-puzzle game: https://en.wikipedia.org/wiki/15_puzzle.

The blank space is represented by -1.

Library used: GitHub.

Usage

Initiating the env via gym

import gym

env_3x3_random = gym.make('Puzzle3x3Random-v0')
env_3x3_fixed = gym.make('Puzzle3x3Fixed-v0')

env_4x4_random = gym.make('Puzzle4x4Random-v0')
env_4x4_fixed = gym.make('Puzzle4x4Fixed-v0')

env_5x5_random = gym.make('Puzzle5x5Random-v0')
env_5x5_fixed = gym.make('Puzzle5x5Fixed-v0')

Initiating the env directly

from puzzle15Gym import Puzzle15Env

env_random = Puzzle15Env(height=4, width=4)
env_fixed = Puzzle15Env(custom_puzzle="2 8 6|7 1 3|-1 5 4")

Making moves

import gym

env_3x3_random = gym.make('Puzzle3x3Random-v0')

# Reset the environment
observation, info = env_3x3.reset()

# Make a random valid move
import random

valid_actions = info["valid_actions"]
random_action = random.choice(list(valid_actions))
observation, reward, done, truncated, info = env_3x3.step(random_action)

# Render the environment. The only render mode is 'human' which renders visual output.
env_3x3.render()

# Close the environment
env_3x3.close()

Environment Details

  • Action Space: Discrete(4) - 0: up, 1: right, 2: down, 3: left.
  • Observation Space: Box(-1, height*width-1, (height*width), int32). Contains unique values from -1 to (width * height - 1), excluding 0.
  • Reward: 1 if the puzzle is solved, 0 if not, -2 if invalid move.
  • Done: True if the puzzle is solved, False otherwise.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

puzzle15gym-1.0.3.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

puzzle15gym-1.0.3-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file puzzle15gym-1.0.3.tar.gz.

File metadata

  • Download URL: puzzle15gym-1.0.3.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for puzzle15gym-1.0.3.tar.gz
Algorithm Hash digest
SHA256 083300ff3ffa02dda04066cb085ecbc3f81e1716d41b679991f8c5f1f1a1198e
MD5 8b59e8b466f04c2ed4b5cc9d3151594e
BLAKE2b-256 7471a1ef38687ae624990b99dc1398740f8648bd4ec98ff66e0a9b6c180d200a

See more details on using hashes here.

File details

Details for the file puzzle15gym-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: puzzle15gym-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for puzzle15gym-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9aff823e3c98f3b8f68fc35d9f6ca755c58484545a9a10d78c5a4316d5354d00
MD5 6480cdcd477cbb003157f5d2005e1196
BLAKE2b-256 9febca9f00ae58ffd0ebd4b2965f6e73b5f4cffa3f20b5d5b687b2ac15409922

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page