ffloof / turkishdraughts Goto Github PK
View Code? Open in Web Editor NEWA collection of ai, and guis for turkish draughts
A collection of ai, and guis for turkish draughts
Instead of outputting the best board from the server, output boards and values as they come out of the engine.
Arrows with values for best moves, (maybe with ai no move toggle).
Overall board position evaluation (sort of how lichess has in its analysis board)
Optimize alpha beta pruning by checking promotion moves first.
The table is constantly failing exactly one read write test, not sure if its the last or the first. Either a problem with the table or the test.
Use a worker pool instead of the current parallel solution. Probably best to implement with transposition table to avoid having to communicate between threads constantly.
To optimize minmax use a transposition table to speed up searching duplicate board configurations by storing the results in a table.
Add unit tests for moving, capturing, and other board related functions.
Also implement benchmarks for minmax.
Same issue because alpha beta pruning got less effective when I updated raw board value.
Implement checks for pieces next to each other and overall position heuristics. I'd need to learn more about the game for this.
Create a set of start moves and end moves to optimize end games and start games.
Each tile can be represented by 3 bits, isEmpty, isKing, team. Using bits and bit shifting should make it faster to operate on the board and reduce memory accesses, increasing cpu usage.
Taking and in the middle of a string of takes if theres a promotion, should it be able to promote and keep taking?
Just particularly messy in general, but whole codebase needs to be commented/documented.
Encourage ai to trade down pieces if its equal, whether this be through heuristic or just in the move choosing order.
-Add a stack of previous moves in minmax to avoid repeat back and forth moves
-Optimize hashing algorithm, to use less memory overall by only hashing certain parts of board
-Dynamic depth based on board complexity(amount of initial moves) to keep move thought process time roughly the same in all stages of the game
Since ai rarely plays the king maybe reduce depth search of all king moves since a king can generate like 10+ moves each turn.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.