GithubHelp home page GithubHelp logo

bigthink's Introduction

BigThink

Chess engine framework to test AI development. I play a bit of chess but I'm not high-level or anything, so I think it would be interesting to see if I can make a chess engine which can beat me, and maybe even teach me how to play better. I want to start out with a basic engine which uses heuristics and minmax trees, and later on I would like to try and implement a neural net which can find patterns in good positions.

The current design is not very optimal because there's not really a mechanism for traversing the game tree properly. Also game state could probably be optimised using a bitboard instead of object array.

Things to do

  • GUI???
  • Playstyles:
    • Random moves (done)
    • Greedy (done)
    • n-depth search
    • heuristics
    • neural net

Notes

Branching factor

The maximum number of moves by 1 side from a single position seems to be around 218. But this is very unlikely in a real game. The number of opening moves is 20. The average number of moves in an average game state (the branching factor) seems to be 35. This decreases to around 15 in the endgame, and peaks at below 40 in the midgame.

See: https://chess.stackexchange.com/questions/23135/what-is-the-average-number-of-legal-moves-per-turn

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.