Java drafts AI (multithreading)

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) , .
  • , , . , - ...

- ?

+3
3

1. , (, , ) 0?

. 0, . - ?

, , "" , , , " 0" , , , , AI.

2. , , . , - ...

, , , .

, " , , , ". , , .

, bord/game . . () ( ).

, , .

+2

:

:

, , .

, , 1/0/-1 , 100 200 . . , , , . , . , . - .

, . , "". , . , .

, , . , . ( Google .)

, . , , .

+1

( , , , .)

, . , : " 1 , , , -1 - , 0 , ?"

, , , . , , . 5 ( - , ), , .

, , , , , - .

, , - ​​ , , , .

0

All Articles