Zobrist hashing tutorials on YouTube
Posted: Sat Sep 19, 2020 12:49 pm
Hey what's up guys, Code Monkey King's here.
I've never been implementing Zobrist hashing before.
A couple of days ago I've successfully(hopefully) embedded it into my chess engine (covered on YT like many of you know).
So obviously I've covered Zobrist hashing along with other engine development topics in the series as well.
Now assuming the style I'm using (which is hated by many for it's dumbness which I consider to be a benefit)
these tutorials (3 videos) might be considered as STAND ALONE Zobrist hashing tutorials that beginners
can make use of regardless of the entire engine.
So here are the links with a quick descriptions:
https://www.youtube.com/watch?v=W7dah-d ... s&index=67
defining and initializing random keys to hash position key, based on PRMG I made before for generating magic numbers for magic bitboards.
so it creates SAME hash keys regardless of environment
https://www.youtube.com/watch?v=sV2C7hx ... s&index=68
generating of a "almost" unique position identifier aka hash key from scratch
so it can be later used for indexing of transposition table and detecting 3 fold repetitions
And finally the most intriguing part - INCREMENTAL UPDATES of hash keys within a make move function.
Obviously this part is implementation dependent but the debugging scheme I use here is very clear and straightforward.
Also I want to give a credit to Pedro Castro who has kindly explained to me how this debugging is done:
http://talkchess.com/forum3/viewtopic.php?f=7&t=75126
Hope this would be useful to someone.
I've never been implementing Zobrist hashing before.
A couple of days ago I've successfully(hopefully) embedded it into my chess engine (covered on YT like many of you know).
So obviously I've covered Zobrist hashing along with other engine development topics in the series as well.
Now assuming the style I'm using (which is hated by many for it's dumbness which I consider to be a benefit)
these tutorials (3 videos) might be considered as STAND ALONE Zobrist hashing tutorials that beginners
can make use of regardless of the entire engine.
So here are the links with a quick descriptions:
https://www.youtube.com/watch?v=W7dah-d ... s&index=67
defining and initializing random keys to hash position key, based on PRMG I made before for generating magic numbers for magic bitboards.
so it creates SAME hash keys regardless of environment
https://www.youtube.com/watch?v=sV2C7hx ... s&index=68
generating of a "almost" unique position identifier aka hash key from scratch
so it can be later used for indexing of transposition table and detecting 3 fold repetitions
And finally the most intriguing part - INCREMENTAL UPDATES of hash keys within a make move function.
Obviously this part is implementation dependent but the debugging scheme I use here is very clear and straightforward.
Also I want to give a credit to Pedro Castro who has kindly explained to me how this debugging is done:
http://talkchess.com/forum3/viewtopic.php?f=7&t=75126
Hope this would be useful to someone.