This is my first question here, if I did something wrong, tell me ...
I am currently doing a draft in Java. In fact, everything works, except for AI. AI is currently single-threaded using minimax and alpha beta cropping. This code works, I think it is very slow, I can only go deep into my game tree.
- I have a function that gets my motherboard, depth (starts at 0) and maxdepth. At the same time, maxdepth stops, returns the value of the player (-1.1 or 0) with the most parts on the board and ends the recursive call.
- If maxdepth has not been reached yet, I will calculate all possible steps, I will execute them one by one, saving my changes to the motherboard in some way.
- I also use alpha beta cropping, for example. when I find a move that can make the player win, I don’t worry about the following possible moves.
- I compute the following set of moves from this state of the motherboard recursively. I cancel these changes (from point 2) when I exit the recursive call. I store the values returned by these recursive calls and use minimax for them.
In the situation, now I have some questions. I would like to delve deeper into my game tree, so I need to reduce the time taken to calculate the moves.
- , AI (, , AI) 0? , ? 5 (maxdepth) , .
- , , . , - ...
- ?