Algorithm AI蛇拳本身
我正在研究AI蛇,它可以与许多其他蛇竞争。我的主要问题是,我的蛇总是把自己装箱,有时会被其他蛇装箱 试着向前想几步。蛮力2-3-4的所有可能性(不管你在注意到滞后之前能挤多少)都会向前移动。这些位置应该不会太多,因为蛇在任何给定时间只能转向3个位置。因此,如果您提前检查Algorithm AI蛇拳本身,algorithm,artificial-intelligence,Algorithm,Artificial Intelligence,我正在研究AI蛇,它可以与许多其他蛇竞争。我的主要问题是,我的蛇总是把自己装箱,有时会被其他蛇装箱 试着向前想几步。蛮力2-3-4的所有可能性(不管你在注意到滞后之前能挤多少)都会向前移动。这些位置应该不会太多,因为蛇在任何给定时间只能转向3个位置。因此,如果您提前检查k步数,则需要执行3^k操作,这不包括您可以执行的修剪操作:不要检查明显阻塞的位置等 选择一条路径(不一定按此顺序,您必须进行试验-不幸的是,这条路径没有银弹): 让你活下来 不关你的事 给你周围最空虚的空间 你能想到的任何其他启
k
步数,则需要执行3^k
操作,这不包括您可以执行的修剪操作:不要检查明显阻塞的位置等
选择一条路径(不一定按此顺序,您必须进行试验-不幸的是,这条路径没有银弹):
研究其变化。这将有助于你构建一个像样的人工智能。试着向前思考几步。蛮力2-3-4的所有可能性(不管你在注意到滞后之前能挤多少)都会向前移动。这些位置应该不会太多,因为蛇在任何给定时间只能转向3个位置。因此,如果您提前检查
k
步数,则需要执行3^k
操作,这不包括您可以执行的修剪操作:不要检查明显阻塞的位置等
选择一条路径(不一定按此顺序,您必须进行试验-不幸的是,这条路径没有银弹):
研究其变化。这将有助于您构建一个像样的AI。在编程min-max时,请使用@zista——您可能会发现使用广度优先搜索(BFS)可以实现这一点。将蛇的编号从1到
k
,其中1是尾巴,而k
是头部。在BFS中的步骤p
中,如果p>件号
,您可以移动一段尾巴。但我认为你不需要这个,你向前看的事实通常会告诉你,你是否被困在无路可走的困境中。如果你想事先知道,你可以使用BFS。@zista-不确定你是否知道,但是:当蛇前进时,它的尾巴会缩回。因此,如果您在时间t
时被限制,那么在时间t+1
时可能就不是这样了。我所说的p
是指您当前在BFS中的步数,以及piece_number
您试图越过的尾部部分的ID。在编程min-max时,使用@zista-您可能会发现使用宽度优先搜索(BFS)。将蛇的编号从1到k
,其中1是尾巴,而k
是头部。在BFS中的步骤p
中,如果p>件号
,您可以移动一段尾巴。但我认为你不需要这个,你向前看的事实通常会告诉你,你是否被困在无路可走的困境中。如果你想事先知道,你可以使用BFS。@zista-不确定你是否知道,但是:当蛇前进时,它的尾巴会缩回。因此,如果您在时间t
时被限制,那么在时间t+1
时可能就不是这样了。我所说的p
是指您当前在BFS中的步数,以及piece_number
您试图越过的尾巴部分的ID。您有问题吗?您有问题吗?