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.2.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.2-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: puzzle15gym-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 e9683553a785692e34bff5fc339234112a4db93d095cd8b933a26156a91b81be
MD5 46751bbddbf29a5327d2ee190e0f5c72
BLAKE2b-256 c5600ecebfdf5fe01bb2764a627ac9dc0c7bfa9d53dbb86006224a8bd4573e53

See more details on using hashes here.

File details

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

File metadata

  • Download URL: puzzle15gym-1.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 330634677b2762cd68e14e3875db13f983d20c47f9f96b86438f00609ee6eefb
MD5 31f0870c7be5c0de041d682a95e19195
BLAKE2b-256 532f9ace03b0715d8dbe4f18b5cd097ba4959f84b9841c061081be65dd9372da

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