chess:programming:magic_bitboards:calculate_magic_numbers
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
chess:programming:magic_bitboards:calculate_magic_numbers [2021/10/27 23:29] – [Determine Magic Numbers] peter | chess:programming:magic_bitboards:calculate_magic_numbers [2021/10/28 00:00] (current) – [Determine Magic Numbers] peter | ||
---|---|---|---|
Line 98: | Line 98: | ||
* **magic** is the random 64-bit number. | * **magic** is the random 64-bit number. | ||
* At this time this is done by trial-and-error, | * At this time this is done by trial-and-error, | ||
+ | * It is just luck/ | ||
+ | * Ideally no gaps should be between each index, i.e. a perfect hash. | ||
* This should result in 64 magic rook numbers and 64 magic bishop numbers. | * This should result in 64 magic rook numbers and 64 magic bishop numbers. | ||
Line 105: | Line 107: | ||
* The MoveBoard are just stored at the index calculated by these pre-programmed good magics. | * The MoveBoard are just stored at the index calculated by these pre-programmed good magics. | ||
+ | * While this example of the Rook at e4 has 1024 BlockerBoards, | ||
+ | * For two different BlockerBoards that have the same MoveBoard, the magic could calculate two different indices or it could calculate the same index for both. | ||
+ | * As long as the MoveBoards are the same, it is okay for the index to collide. | ||
</ | </ |
chess/programming/magic_bitboards/calculate_magic_numbers.1635377368.txt.gz · Last modified: 2021/10/27 23:29 by peter