Hi everyone,
I made a chess engine using an alpha-beta pruning / negamax algorithm along with a transposition table to optimise the pre-calculation of moves in a game tree.
please have a look and let me know how can i improve this chess engine and optimise its recursive calls(depth) to manage latency.
GitHub : https://github.com/EuclidStellar/Sepentia-ChessEngine ( if you find it good please do star it )
also if you are interested to know how i made this here's a medium article I wrote on it :https://medium.com/@euclidstellar_57634/creating-a-chess-engine-sepentia-835a86aa25da
Auto comment: topic has been updated by euclidstellar (previous revision, new revision, compare).
I'm not good at chess engines but if I know Big Algo they must be using 1e9 different heuristics.
thanks
If you change the depth $$$4 \rightarrow 5$$$, will it be too slow?
Yes
Btw it also depends on the CPU resources your PC and more importantly if I come up with better positional scores then maybe I can increase ELO without increasing depth which will be less costly in terms of CPU resources
https://www.youtube.com/watch?v=U4ogK0MIzqk This can help you, it has a lot of good techniques for making chess engines. If you want to make an even stonger bot, here is another video: https://www.youtube.com/watch?v=_vqlIPDR2TU
Hope this helps!
Thanks will look into it
Auto comment: topic has been updated by euclidstellar (previous revision, new revision, compare).
Auto comment: topic has been updated by euclidstellar (previous revision, new revision, compare).
i used this against real player 1100 elon chess.com ... he lost lol ... i tried second time ..he was showing blunder moves ... need more depth ig
You can manually increase the depth by changing the value of variable in chessai.py file but it has ELO of 1500 as I have tested in on over 100 games please make sure that nothing else is running on your PC in BG so that it get sufficient CPU Resources
i increased depth to 5 , it is not utilizing my cpu much for some reason i thought my cores will shoot up to 100% but they are at 1%-5% only...
i played one more game ... again he lost ... he somewhere blunders one knight in whole game and have a major disadvantage .... and one more thing why he tend to remove knight firsts ... his knights keep dancing here and there for no reason... i think can you make something like to teach him some opening or make it adaptive as many games he play he learns type?..
Hi ankit that seems a little bad lets connect on discord :
euclid_41533
for reference this the game i'm talking about game
https://youtu.be/Ne40a5LkK6A
That's really great content I'll surely implement it although i was also trying to use GPU instead of CPU for parallel processing and exploration of game tree
good work and keep going... wishing this new project a high level in the near future!
thanks man
Did you implement Zobrist hashing for the board state? Because Zobrist Hashing can make your code almost 4000 times faster.
thanks, man i didn't know about it will definitely try to implement it if you also want to collaborate on this project then contributions are most welcome
Hey, this looks very interesting.What do you think are the pre-requisite to building a chess engine are?
prerequisite :
a good knowledge of any language
good knowledge of recursion, minimax , negamax and alpha beta algos and most importantly curiosity to learn and explore more
Hey i kinda struggle with propely visualizing recursion,could you give some tips,resources and stuff to understand it deeply? i could write recursive codes 7/10 times,but i cant get a feel to it(the way i have with iterative codes).
I used to be interested in making bots for chess-like 2-player zero-sum games too. I found this resource to be very useful: https://www.chessprogramming.org/Main_Page. Check it out.
thanks geckods will sure try this out
Sebastian Lague (Coding Adventure youtube channel) ran a chess tournament, check it out too
https://www.youtube.com/watch?v=Ne40a5LkK6A
the results are here:
https://github.com/SebLague/Tiny-Chess-Bot-Challenge-Results
that's really some good insights thanks :)
I wrote a chess engine after watching that Sebastian Lague video a year ago. Mine kinda sucked, I found this one though https://github.com/thomasahle/sunfish It is very good
i actually used positional scores from sunfish to make it better
Hey, that's great! I also made a chess engine using the same algorithm with other optimizations. You can check it out here: https://github.com/imranakki/OBSIDIAN. It plays well, but sometimes makes dumb moves when the time runs out.