Tag: minimax

使用minimax可以使用多少个线程来进行井字游戏?

我们以5×5井字游戏为例。 让我们说这是我的AI。 然后, 我做了25次动作(当然,基本上是每个单元格,如果这是一个合法的举动), 为每个移动创建一个线程(总共25个线程(最多)), 在每次移动时调用minimax函数, 然后,当所有结果都来自每个线程时, 比较得分并选择最佳得分的移动。 这是我的问题: 使用25个线程是否有效? 使用25个线程意味着什么? 它快25倍(很可能不是)? 它取决于什么? 当然,在计算机上,但我怎么知道根据计算机资源可以使用多少线程? 如果我使用太multithreading会发生什么(我猜不是……)? 我的想法好吗 ? 谢谢。

Tic Tac Toe with Minimax:当玩家先行时,计算机有时会失败; 否则

我正在为无与伦比的Tic Tac Toe开发Minimax算法。 我需要它同时适用于计算机何时首先以及何时首先播放。 使用当前版本,计算机在首先出现时永远不会丢失。 但是,如果玩家先行,Minimax似乎永远不会找到最佳移动(总是返回-1作为分数)。 如果玩家进行第一次移动,导致Minimax得分返回为-1的原因是什么? 例: board.addMark( 1, Mark2.PLAYER ); // add a ‘PLAYER’ mark to an arbitrary location Minimax.minimax( board, Mark2.COMPUTER ); // will always return -1 这是’Minimax’课程: public class Minimax { public static int minimax( Board board, Mark2 currentMark ) { int score = (currentMark == Mark2.COMPUTER) ? -1 : 1; […]