I'm making a chess-like game with an AI that implements minimax algorithm with alpha beta pruning. The AI raw computation is effectively infinite, so I'm forced to limit the depth I traverse, thereby limiting the strength of the AI.
I'm extremely sensitive to the engine speed, as it is unacceptable for the player to have to wait even a few seconds for a move. Hence I must keep the depth pretty low.
If I launch multiple threads, will this effectively increase the speed? My concern is that I can't predict how strong the player's computer will be, so I kind of need to assume they have a weak machine (so the game is playable for everyone). That said, even if they have only 1 core on their entire cpu, there won't be much cost to launching a few extra threads (the overhead of launching <10 extra threads is frankly minimal). And in the case they have a CPU with 2 or 4 threads, they will go that much faster.
Do most computers have multiple cores that will work well for multiple threads (like, at least 2?)? I'm thinking of using either 1, 2, 4 or 8 threads. Seeking general advice.
Also, is the GPU relevant at all? (I tend only to think # of threads should equal # of cores ... )