什么是最佳的2048年游戏的盲算法?
自2014年2月发布以来,2048年的游戏开始流行起来。关于游戏和最佳算法的讨论,请参阅什么是游戏2048的最佳算法? 这是源代码。
2048的盲算法是一种看不到板子的算法; 该算法接收的唯一反馈是是否发生了尝试的幻灯片(我们可能假设幻灯片发出可听见的嘟嘟声)。 盲人算法对于2048年入门而言非常有用,而不必为游戏提供独一无二的关注。
以下是我的具体问题 :2048年的盲目算法在10 ^ 6试验中的平均得分是否高于3500? (只发布你已经验证的答案)
这是LADDER算法的性能,可以标注为(LD * RD *)*(+ U)。 也就是说,一个循环“左侧,反复向下直到卡住,向右,向下重复直到卡住”,并且如果左,右和向下全部被阻塞,则会向上压,这发生在顶部行完全是空的并且底部行(s)完全满了。 由于字母LDDR,我将这种算法称为LADDER,并且因为我想象的是在Donkey Kong中爬下像Mario这样的梯子。 该算法的动机是保持从顶部到底部递增的梯度,类似于许多非盲算法。
这里是一个直方图10 ^ 6试验的LADDER,最后一块纸板上的顶部瓷砖着色,宽度为32,平均值为3478.1。 我通过模拟Python中的游戏和算法来生成这些数据,使用概率0.9,每个新的瓦片都是2,就像在原始游戏中一样。 你不能在这个垂直尺度上看到1024个游戏,但它们在8000到16000之间稀疏分布。分形结构涉及顶部拼块,第二个从顶部拼块等等的出现次数。 相比之下,随机按钮糖化在10 ^ 4次试验中给出了约800的平均值。
在2048年比赛中最重要的是集中边界而不是中间的高位数。 所以一个非常好的策略是尽可能长时间地把所有东西都放在底部。 你的LADDER算法是这样做的,但我想把更多的精力放在左侧,而不是完全切换到右侧。 这是伪代码中的算法:
while(true)
{
if (down)
continue;
elseif(left)
continue;
elseif (right)
continue;
else
{
up;
down; //if forced to go up; go back down immediately
}
}
使用你的约定这将是:
((D*L)*R)U
用文字说:尽可能长时间下去; 如果你不能; 向左走; 如果你不能离开; 向右走。 你很少需要上去。
由于我没有时间来实施这个使用它10⁶次; 我希望其他人能够为此提供正确的统计数据,但我的猜测是这将超越你的LADDER算法
链接地址: http://www.djcxy.com/p/6841.html上一篇: What is the optimal blind algorithm for the game, 2048?