您和一位朋友在一场音乐会上失去了对方,也无法确定你们中的哪一位遥遥领先。形式上,每个坐标都位于某个整数坐标处,并且只能朝更高的坐标走或停留在原处。
假设您和您的朋友使用完全相同的算法(不,您可能不会说“ if(name ==“ R B”)做某事:)),并且两个人之间的初始距离是(不是知道)。
在您和您的朋友见面之前,最小化预期步行距离的算法是什么?
您可能会假设您的朋友和您自己都以相同的恒定速度运动。
一个简单的算法示例如下:
在阶段(从0开始):
- 向右走步wp 1或等待3n个时间单位,否则。
要查看此算法使朋友的概率是1相遇考虑在阶段发生的事情。即使那是在朋友X领先一步走到总是和对方总是留在地方,两者之间的距离将是: X + 1 + 3 + 9 + ... + 3 日志3 X = 2 X + X - 1
因此,在次迭代,其选择步行,将覆盖的距离的朋友3 日志3 X + 1 = 3 X,因此,以概率1,后面的朋友会追上他们,并会面。
一个简单的优化(以减少步行距离)将是,而不是步行步,而是步行c x步,其中c表示为: 2 + 1
因此,最佳这个算法是C ^ = 3 +
不幸的是,虽然此算法保证朋友会以1的概率相遇,但预期的步行距离是无限的,如果可能的话,我想避免这种情况。
有没有更有效的算法?