【发布时间】:2009-10-28 18:00:17
【问题描述】:
我曾经写过一个玩得很好的俄罗斯方块 AI。我使用的算法 (described in this paper) 是一个两步过程。
在第一步中,程序员决定跟踪对问题“感兴趣”的输入。在俄罗斯方块中,我们可能对跟踪连续有多少间隙感兴趣,因为最小化间隙有助于更容易地放置未来的碎片。另一个可能是平均柱高,因为如果你即将失败,冒险冒险可能是个坏主意。
第二步是确定与每个输入相关的权重。这是我使用遗传算法的部分。任何学习算法都可以在这里使用,只要根据结果随时间调整权重即可。这个想法是让计算机决定输入与解决方案的关系。
使用这些输入及其权重,我们可以确定采取任何行动的价值。例如,如果将直线形状一直放在右列将消除4个不同行的间隙,那么如果它的权重很高,那么这个动作可以得到非常高的分数。同样,将其平放在顶部实际上可能会导致间隙,因此该动作会得到低分。
我一直想知道是否有一种方法可以将学习算法应用于第一步,我们会在其中找到“有趣”的潜在输入。似乎可以编写一个算法,让计算机首先学习哪些输入可能有用,然后应用学习来衡量这些输入。以前有过这样的事情吗?它是否已在任何 AI 应用程序中使用?
【问题讨论】:
-
+1 我正在尝试在这个领域开始。我有几个宠物演示程序,但还没有什么大不了的。有兴趣看看你得到什么样的答案。
标签: artificial-intelligence evolutionary-algorithm tetris