如何动态select并根据某个搜索节点的分数和children的分数展开某个搜索节点?
How can I dynamically select and expand a certain search node depending on its score and the score of its children?
我熟悉大多数路径查找和图形搜索算法,但我不确定如何动态解决这个问题,而且我确定我忽略了一些东西。
目前,我的方法是非常静态的 hard-coded。这是关于我为其创建 AI 的单人俄罗斯方块游戏。
当前和下一个片段是已知的,没有进一步的。由于分支因子非常宽,我只查看当前片段所有可能状态中最好的 3 个状态,然后再查看下一个片段生成的最佳 3 个状态。
为了更深入地了解深度 3 的未来,我为所有可能的部分生成了所有状态,得到最好的并计算它们的平均值。这可以继续进行更深的深度,并且仅取决于 CPU 功率。
因为我只取最好的 3 个,然后是次好的 3 个,然后只取最好的来计算平均值,这似乎不平衡。我需要一些东西来动态选择和扩展某个搜索节点,具体取决于它的分数和它的分数 children..
有没有更灵通的搜索攻略,可以看看
- Expecti-Max algorithm,这是一个版本的 Alpha-Beta 搜索随机问题,或者
- Monte-Carlo Tree Search(或特别是 UCT)。
我熟悉大多数路径查找和图形搜索算法,但我不确定如何动态解决这个问题,而且我确定我忽略了一些东西。
目前,我的方法是非常静态的 hard-coded。这是关于我为其创建 AI 的单人俄罗斯方块游戏。
当前和下一个片段是已知的,没有进一步的。由于分支因子非常宽,我只查看当前片段所有可能状态中最好的 3 个状态,然后再查看下一个片段生成的最佳 3 个状态。
为了更深入地了解深度 3 的未来,我为所有可能的部分生成了所有状态,得到最好的并计算它们的平均值。这可以继续进行更深的深度,并且仅取决于 CPU 功率。
因为我只取最好的 3 个,然后是次好的 3 个,然后只取最好的来计算平均值,这似乎不平衡。我需要一些东西来动态选择和扩展某个搜索节点,具体取决于它的分数和它的分数 children..
有没有更灵通的搜索攻略,可以看看
- Expecti-Max algorithm,这是一个版本的 Alpha-Beta 搜索随机问题,或者
- Monte-Carlo Tree Search(或特别是 UCT)。