【问题标题】:AlphaBeta Multithreading in CC 中的 AlphaBeta 多线程
【发布时间】:2016-07-04 21:40:45
【问题描述】:

目前我正在开发一个实现 Alpha Beta Pruning 算法的简单游戏,但是当游戏的棋盘很大时它会很慢。我最初的想法是将字母表分解为 2-3 个迷你字母表,以说明 2-3 种不同类型的动作。我的问题是我正在使用的计算机只有一个 CPU 和一个核心。你认为多线程会提高它的性能吗?

【问题讨论】:

  • 即使是单核系统也可以通过并行化得到帮助,当然,在一定限度内。尝试使用两个线程并测量结果。
  • 我会说不,听起来瓶颈是 CPU 而不是 IO

标签: c multithreading performance alpha-beta-pruning


【解决方案1】:

AlphaBeta 是一种顺序算法,因此划分树不是​​一个好的解决方案。为了加快搜索速度,您必须有一个好的移动顺序。另一个改进是使用哈希表来缓存移动;比,有了哈希表,你可以使用lazySMP多线程算法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多