Skip to content

Latest commit

 

History

History
63 lines (50 loc) · 2.36 KB

README.md

File metadata and controls

63 lines (50 loc) · 2.36 KB

N-Puzzle

travis-badge license-badge

Usage

Npuzzle solver

Usage: npuzzle [-h|--help] [-l|--load FILE] [-b|--goal FILE] [-q|--qsize SIZE]
               [-g|--generate SIZE] [-p|--print] [-r|--randomize MOVES] [-c|--cost FUNCTION]
               [-e|--heuristic FUNCTION] [FREE-ARGS]

Available options:
  -h, --help               Print usage
  -l, --load FILE          Parse the puzzle from file
  -b, --goal FILE          Parse the goal puzzle from file
  -q, --qsize SIZE         Maximum size of priority queue, in thousand. Default 200; min 100
  -g, --generate SIZE      Generate puzzle with given size
  -p, --print              Print each passed states
  -r, --randomize MOVES    Use with generate. number of random moves
  -c, --cost FUNCTION      choose how the heuritic function will be valued. Values: uniform; squared; greedy
  -e, --heuristic FUNCTION The program will use the provided heuristic function (default linear-conflict)

heuristics: manhattan; linear-conflict, misplaced-tiles, n-maxswap

User options are not processed by SBCL. All runtime options must
appear before toplevel options, and all toplevel options must
appear before user options.

For more information please refer to the SBCL User Manual, which
should be installed along with SBCL, and is also available from the
website <http://www.sbcl.org/>.

How to build and run:

make build
./npuzzle --show --load <(python npuzzle-gen.py --solvable 5)

How to check test the program:

make run_test

How to check bench the program:

make run_bench

Knowledge

This is a reading list of material relevant to N-Puzzle. It includes prior research that has - at one time or another - influenced the design of N-Puzzle, as well as publications about N-Puzzle.

License

N-Puzzle's code in this repo uses the GNU GPL v3 license.