GithubHelp home page GithubHelp logo

priyaraj17 / chessjs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ashishpapanai/chessjs

0.0 1.0 0.0 1.54 MB

This engine has defeated Stockfish Level-6 which has 2300+ ELO rating with 1sec as thinking time. It is an implementation of Chess Engine in JavaScript by using Min Max Tree with Alpha-Beta pruning (GOFAI (Good Old-Fashioned Artificial Intelligence)). The front-end of the website is basic HTML and CSS. ChessJS Version 2 : v2.chessjs.tech

Home Page: https://www.chessjs.tech

License: Other

JavaScript 67.97% HTML 17.11% CSS 14.92%

chessjs's Introduction

chessJS: A GOFAI Chess Engine (2300+ ELO Rated*)

ChessJS: How to contribute to this repository

To contribute to this repository, follow the following steps:

  1. Fork this repository
  2. Clone the repository to your local machine
  3. Make necessary changes
  4. Commit the changes and add a branch pointing to this repository.
  5. Make a PR mentioning all the changes.
  6. If your PR makes a significant improvement and changes to the project without causing any break points the PR will be merged without any failure.

All we need is your contributions and patience.

Chess JS

Chess JS is a chess engine written in JavaScript. It works on Min-Max Searching in a tree, Min-Max is a Good Old Fashion Artificial Intelligence (GOFAI) algorithm. The algorithm is a naïve algorithm and for its optimization Alpha-beta pruning is incorporated.

Alpha-Beta pruning: This algorithm focuses in reducing the nodes visited in the depth-first search implementation used in the Min-Max Algorithm. Thus, without travelling the entire tree we make basic mathematical conclusions on the tree.

Rules of Chess: The Engine follows all rules of Chess specified by FIDE ( Fédération Internationale des Echecs : International Chess Federation), rules can be referred here.

UI and Styling Improvement: The styling of website till commit-6 (i.e. commit with heading Day 6) is based of simple HTML and CSS, all UI and UX Improvements made after this commit is based on Open Source Contributions from various communities.

Terms of Use:

All rules and regulations of Creative Commons Attribution-NonCommercial 4.0 International License, are applicable to use this repository.

FIDE prohibits use any engines or electronic device during any live or online rated/professional event, The owner holds no responsibility towards any such malpractices and restrains the use for only educational and training purposes.

For TL;DR conditions:

No part of this repository can be used without giving credits to the owner of this project and Bluefever Software.

The UI is copyrighted material of the owner and cannot be used without any written (handwritten or electronic) permission/approval from the owner.

Acknowledgement:

Special mention to Bluefever Software for putting an Informative walkthrough over his JavaScript chess engine and for a basic UI Implementation.

Special Thanks to Anshuman Pandey for being available to bug fixes to this project and drastically improving the styling of this project.

Special Thanks to Piyush Gupta for adding additional features to the website and providing valuable inputs in styling of this project.

This project wouldn't have been possible without referring additional websites and research papers from IBM DeepBlue, Deep Mind and Stockfish, Every details about the referred websites is smentioned in the references section.

*The Elo rating mentioned is an approximation based on a series of match conducted with varied difficulties of Stockfish conducted at Lichess.

References and Citations:

[1] D. E. Knuth and R. W. Moore, "An Analysis of Alpha-Beta Priming'," 1975.

[2] D. Silver et al., "A general reinforcement learning algorithm that masters chess, shogi and Go through self-play," 2018.

[3] M. Campbell, A. J. Hoane, and F. H. Hsu, "Deep Blue," Artif. Intell., 2002, doi: 10.1016/S0004-3702(01)00129-1.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

chessjs's People

Contributors

ashishpapanai avatar crmsnbleyd avatar drishti307 avatar fatmab2809 avatar gupta-piyush19 avatar pandeymangg avatar

Watchers

 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.