首页 文章

2048年最佳盲目算法是什么? [关闭]

提问于
浏览
26

自从2014年2月发布以来,游戏2048已经大受欢迎 . 有关游戏的描述和最佳算法的讨论,请参阅What is the optimal algorithm for the game 2048? . 这是source code .

2048的 blind algorithm 是一个看不到董事会的人;算法接收的唯一反馈是是否发生了尝试的滑动(我们可能会认为滑动的滑动产生了可听到的哔哔声) . 盲目算法实际上对于2048年的入门非常有用,而无需给予游戏全神贯注的关注 .

这是我的 specific question :2048的盲目算法是否总是比10 ^ 6次试验中的平均得分3500更好? (只发布您已经验证的答案)

这是LADDER算法的性能,可以标记为(LD * RD (U) . 也就是说,一个循环“向左,向下反复直到卡住,向右,向下重复直到卡住”并且如果向左,向右和向下按下则全部被阻挡,如果顶行完全是空的并且在底部,则会发生这种情况行已完全填满 . 我把这个算法称为LADDER,因为字母LDDR,因为我想像在大金刚的马里奥那样爬下梯子 . 该算法的动机是保持从板的顶部到底部的渐增梯度,类似于许多非盲算法 .

这是最终板上由顶部瓷砖着色的LADDER的10 ^ 6次试验的直方图,箱宽为32,平均值为3478.1 . 我通过模拟Python中的游戏和算法来生成这些数据,使用概率.9,每个新图块都是2,就像在原始游戏中一样 . 您无法在此垂直比例下看到1024个游戏,但它们稀疏地分布在8000到16000之间 . 分形结构与顶部图块的出现次数,从顶部的第二个图块相关,依此类推 . 相比之下,随机按钮糖化在10 ^ 4次试验中平均约为800 .

enter image description here

1 回答

  • 2

    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算法

相关问题