关于支持科学新闻
如果您喜欢这篇文章,请考虑支持我们屡获殊荣的新闻报道, 订阅。通过购买订阅,您正在帮助确保未来有关于塑造我们当今世界的发现和想法的有影响力的故事。
解答:
目前为止,最好的解答都由 TJ Takei 撰写。
1. 假设有 n 个隔间,从 0 开始(这样数学计算更容易,记得吗?)。让偶数隔间 0、2、4、6 等中的工作人员在第一个 10 秒内与右侧的邻居会面。然后让奇数隔间 1、3、5、7 等中的工作人员在第二个 10 秒内与右侧的邻居会面。接下来,将隔间分为组 0 = [0, 1, 4, 5, 8, 9, 12, 13, ...] 和组 1 = [2, 3, 6, 7, 10, 11, 14, 15, ...]。在接下来的 10 秒内,让 0 与 2 会面,1 与 3 会面,4 与 6 会面,5 与 7 会面,依此类推。在之后的 10 秒内,让 2 与 4 会面,3 与 5 会面,6 与 8 会面,7 与 9 会面,依此类推。这样,每个工作人员都与每个右侧相隔两个的邻居会面了,因此也与每个左侧相隔两个的邻居会面了。
现在是最后的 20 秒。将隔间分为组 0 = [0, 1, 2, 6, 7, 8, 12, 13, 14, ...] 和组 1 = [3, 4, 5, 9, 10, 11, 15, 16, 17, ...]。在接下来的 10 秒内,0 与 3 会面,1 与 4 会面,2 与 5 会面,6 与 9 会面,7 与 10 会面,7 与 11 会面,12 与 15 会面,... 在最后的 10 秒内,3 与 6 会面,4 与 7 会面,5 与 8 会面,9 与 12 会面,10 与 13 会面,11 与 14 会面,.... 因此,每个人都在 60 秒内与所有六个邻居会面。这是一个人可以与 6 个人握手的最短时间。
2. 对于这个解答,我们将使用模数的概念。(x mod y) 是 x 除以 y 后的余数。例如,16 mod 6 是 4,因为将 16 除以 6,得到 2,余数为 4。我们可以在第一个解答中使用模数。例如,[3, 4, 5, 9, 10, 11, 15, 16, 17, ...] 组可以用隔间号 c 来表示,使得 (c mod 6) = 3 或 (c mod 6) = 4,或 (c mod 6) = 5。
与第一个问题的解答一样,我们将进行一系列双向分组。我们首先从“曼哈顿距离”为 1 开始,然后逐渐增加距离。
曼哈顿距离 1 的问候(有 4 个邻居)。 将工人 (x,y)(x:整数,y:整数)分为两组。组 0 由那些隔间 x 值具有 (x mod 2) = 0 属性的工人组成。在组 1 中,(x mod 2) = 1。也就是说,所有房间都分为宽度为 1 的垂直条纹。让组 0 中的人向右移动一步以问候他们的邻居,然后返回他们的隔间。然后让组 1 也向右移动一步。这是“x 相”。现在是“y 相”:将工人分为两组。组 0 中的工人具有 (y mod 2) = 0,而组 1 中的工人具有 (y mod 2) = 1。也就是说,所有房间都分为深度为 1 的水平层。让组 0 中的工人沿 y 方向向上移动以问候他们的邻居。然后让组 2 中的工人沿 y 方向向上移动以问候他们的邻居。
每个工人需要 40 秒才能与他/她的四个相隔一间的邻居会面。
曼哈顿距离 2 的问候(有 8 个邻居)。 水平和垂直的直线按照解答 1 中的方式处理。对于水平方向,组 0 的 x 坐标具有 (x mod 4) = 0 或 (x mod 4 = 1) 的属性。对于组 1,(x mod 4) = 2 或 (x mod 4) = 3。这将需要 20 秒。类似地,y 方向相隔两个的邻居将需要 20 秒。新的挑战是斜对角的邻居。直观上,我们希望向东北方向移动两次,然后向西北方向移动两次。问题是如何做到这一点。
这是东北部分。像往常一样,将工人分为两组。组 0 的隔间具有 [(x+y) mod 4] = 0 或 [(x+y) mod 4] = 1 的属性。组 1 的隔间具有 [(x+y) mod 4] = 2 或 [(x+y) mod 4] = 3 的属性。也就是说,所有房间都分为负斜率的对角线带。让组 0 的工人向上和向右(东北方向)移动到他们的对角线邻居处。然后让组 1 的工人也这样做。
这是西北部分。组 0 的隔间具有 [(x-y) mod 4] = 0 或 [(x-y) mod 4] = 1 的属性。组 1 的隔间具有 [(x-y) mod 4] = 2 或 [(x-y) mod 4] = 3 的属性。也就是说,所有房间都分为正斜率的对角线带。让组 0 的工人向上和向左(西北方向)移动以拜访他们的对角线邻居。然后让组 1 的工人也这样做。
曼哈顿距离 2 总共需要 80 秒。因此,总时间为 120 秒,这是一个人可以与 12 个人握手的最短时间。
3. 我们将利用以下事实:几个人可以同时共享同一个隔间。
0、1、2 移动到隔间 3。4、5 也移动到隔间 3。同时,6、7、8 和 10、11 移动到隔间 9。因此,每个人都到达了至少离自己 4 个位置远的地方。现在,6、7、8 移动回隔间 6,3、4 和 5 也移动回隔间 6。同时,9、10、11 移动到 12,14、15、16 也移动到 12。然后他们回家。总时间为:(6 去 9)+(6 返回 6)+ 3(3 返回 3)。这总共需要 9 秒。
他一次考虑六个人,并称他们为颜色:红色 (R)、蓝色 (B)、洋红色 (M)、绿色 (G)、青色 (C) 和黄色 (Y)。颜色在接下来的六个人中重复出现。当然,一组的 G、C 和 Y 必须与下一组的 r、b、m 会面(小写组)。我们不是说它们是独立的,而是每六个人一组执行相同的移动。该图显示了每个参与者随时间所做的事情。例如,红色参与者在第 1 秒移动到左边一个隔间(相对于其初始位置),然后在第 2 秒移动到两个隔间,在第 3 秒停留在该隔间中,然后在第 4 次返回到左边一个隔间,在第 5 次返回到他的原始隔间,在第 6 次返回到右边一个隔间,并在第 7 次返回到他的原始隔间,在那里他保持不动。右边的图显示,参与者 r 在第 2 次遇到 g 和 c,在第 3 次遇到 c,在第 6 次遇到 C 和 M,在第 7 次遇到 Y。我邀请读者分析该图,以了解在八秒内,每个人都会遇到他或她的六个最近的邻居。
以下是 TJ Takei 对他解决此问题策略的讨论的转述:
为了与相隔 3 个隔间的邻居会面,如果他们不移动而只有我移动,我向上(或向左)移动 3 步,向下(或向右)移动 3 步,以在相反方向与相隔 3 个隔间的邻居会面。然后我需要返回 3 步。那是九步。为了减少数量,远处的邻居必须相互靠近。 例如,如果你只关注红色和青色,它们是左右对称的——也就是说,红色进行 2 步移动,而青色进行 1 步移动,以便在前半部分的时间“2”相遇。然后他们切换方向,以便在时间“6”与他们的对应物相遇。在绿色-黄色和蓝色-洋红色对中观察到动作切换和对称性。 其余的是一系列仔细的局部手术,以交织这三对。将红色(或其上下颠倒)与蓝色和绿色进行比较,它们几乎相同,只是 1 步部分的持续时间分别为 0、1 和 2。进一步阅读:
“并行评估成对粒子相互作用的中性区域方法的概述”,作者:Kevin J. Bowers、Ron O Dror 和 David E. Shaw,发表于《物理学杂志:会议系列》 16 (2005) 300-304 SciDAC 2005。