GithubHelp home page GithubHelp logo

knights-tour's Introduction

#Knight's Tour

#Running the solution yourself This project was not meant to be compiled into an .jar file, but to be run simply in Eclipse. Simply clone the repository and import it to Eclipse.

##About The Knight's Tour problem asks if it is possible for, in the context of chess, a knight piece to touch each tile on the board once and only once. It is possible for a tour to be closed, meaning that the square the tour ends on is also its starting point.

This particular solution tests for a standard 8x8 chessboard scenario, starting the knight from a corner. Using supervised brute-forced, meaning solutions are generated by brute force using a parameter as supervision (in this case an heuristic mapping of desirable squares), this algorithm generates a tree and prunes branches with a depth of 64, indicating that every square has been landed on.

##Notes and Caveats This solution does not give the least number of possible solutions. It generates redundancies by disregarding mirror moves. For example, for the first move from tile A8, the only possible moves are to B6 or C7. These moves are mirrors of each other, yet this solution does not account for that and instead generates two branches. There are also redundancies when the solution reports its answers. In the output file, many of the moves are redundant until the 46th move. It would be more concise to have a graphical representation of the tree, however that was not the goal of this project.

knights-tour's People

Contributors

nguyendytrich avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.