确保退出迷宫的步骤


14

给定一个二维迷宫,您可以在其中给出4个命令“上/下/右/左”。了解迷宫但不知道人在哪里,如何找到保证退出迷宫的最小命令顺序?我正在寻找一个命令序列,无论您从迷宫中的哪个位置开始,它们都将起作用。

假设如果在右边有隔离墙时向我们的伙伴发出“向右移动”命令,那么他只会呆在原处。

换句话说,我们被赋予了迷宫,我们必须选择一系列命令。然后,我们的伙伴将被放置在迷宫中的某个地方,并将遵循我们预先选择的命令序列。无论我们最初放置在哪里,我们都希望以此顺序来确保我们的伴侣能够逃脱。请注意,允许的命令没有任何条件语句,因此根据您的伙伴的不同,它们不能遵循不同的顺序。

给定迷宫的描述,是否有多项式时间算法来构造这样的序列?

Yuval Filmus提到这是同步单词问题的特例,并且可能与通用遍历序列有关。我还发现了一篇似乎相关的论文:

同时解决迷宫问题。Stefan Funke,AndréNusser,Sabine Storandt。AAAI 2017年。

不幸的是,对于一般图形来说,这似乎是一个未解决的问题,但是我想知道对于这种特定情况是否有好的算法。我想出了一种候选方法:在每个位置上标注退出所需的最小步骤数,并跟踪迷宫中的每个特工。这样可以进行A *搜索。


评论不作进一步讨论;此对话已转移至聊天
离散蜥蜴

Eppstein的单调自动机策略是对状态进行聚类,以便与其在全功率状态集中寻找路径,而不必在图形中仅包含多项式多个顶点的路径。我能想到的最自然的2D区间归纳法是凸包,但是不幸的是,不清楚它们的数量是多项式增长的
彼得·泰勒,

Answers:


-1

您不能将跟随墙编码为固定的基本方向序列。选择取决于您周围的墙壁,这个问题明确不允许这样做。
柯蒂斯F

如果您知道最短路径,则可以将其编码为“向左移动,然后直线,然后...”。如果您不知道最短的路径,则无法给出最短路径的此类指示。如果您不知道路线,就不会给出下车指示。
vonbrand,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.