2015-09-06 34 views
0

我正在Android中開發一個簡單的Connect4遊戲。Android上的Connect4,計時問題

目前,我正在使用alpha-beta修剪和位板狀態表示的極小極大算法,因此搜索非常有效和快速。

該技能通過設置算法在遊戲樹內的DFS搜索期間應達到的最大深度來設置。

我注意到選擇移動所需的時間取決於我們在遊戲中的距離:開始的時候需要更多的時間(因爲有很多可能性需要探索),在遊戲中期需要合理的數量時間和接近結束是非常快的。

我的問題是,如果我設置一個給定的技能,用戶必須等待第一/第二/第三步移動。我想加快光圈,但我懷疑它甚至取決於硬件本身如何實現加速過程。

我可以爲運行DSF mimimax的線程設置超時嗎?

回答

1

規避這個問題的最簡單方法是在開始的幾個步驟中使用開篇手冊。開幕書是針對特定場景的一組預定動作。由於開局移動的棋盤狀態可能相對較少,因此您可以輕鬆編譯前三輪所有可能移動的數據庫,然後調用它而不是實際進行搜索。因此,您不再需要超時,而且您可以以零成本加快搜索速度,以達到準確性。