-
Notifications
You must be signed in to change notification settings - Fork 1
/
To-do list.txt
37 lines (30 loc) · 1.51 KB
/
To-do list.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
NNUE training is currently underway!
figure out some sort of multithreading:
to implement pondering I think I'll have to add multithreading
maybe one thread that waits for UCI commands like "stop"
and all the rest of the threads search
https://www.chessprogramming.org/Lazy_SMP
transposition table:
buckets
aging
make it multithreading safe
prefetching
try removing all the attacked squares bitboards stuff, and just make a function that detects whether one square is attacked?
try giving a small boost in evaluation for the current side to move
try lower pawn evaluation values
experiment with more than 2 killer moves per ply
calculate my own magic numbers; currently "borrowing" Sebastian Lague's ^^
check out pin detection to speed up check detection
try writing a struct that sorts moves incrementally
I tried this a couple times, but haven't got it faster than my current solution
History reductions / pruning
https://www.chessprogramming.org/Internal_Iterative_Deepening
https://www.chessprogramming.org/Static_Exchange_Evaluation
https://www.chessprogramming.org/Futility_Pruning#MoveCountBasedPruning (Late move pruning)
https://www.chessprogramming.org/History_Leaf_Pruning
https://www.chessprogramming.org/ProbCut
https://www.chessprogramming.org/Razoring#Strelka
https://www.chessprogramming.org/Texel's_Tuning_Method
Some random resources I found: (Not using them right now but they could be useful)
https://analog-hors.github.io/site/magic-bitboards/
https://mediocrechess.blogspot.com/2006/12/guide-attacked-squares.html