在这个Riddler问题,目标是将定居点分散成一个圆圈,使其尽可能远离:
反社会定居者正在草原上建造房屋,这是一个半径为1英里的完美圆圈。每个定居者都希望生活在离他或她最近的邻居尽可能远的地方。为了做到这一点,定居者将克服他们的反社会行为,共同努力,使每个定居者与其最近邻居之间的平均距离尽可能大。
起初,计划有七名定居者。排列起来很容易:一个将把房子建在圆心,而其他六个将沿着圆周形成一个正六边形。每个定居者距离最近的邻居正好1英里,因此平均距离为1英里。
然而,在最后一刻,一名定居者完全取消了他搬到大草原的计划(他真的很反社会)。剩下六名定居者。这是否意味着,如果有七个定居者,定居者之间的距离可以比他们相隔更远?这六名定居者最终将在哪里建房,最近邻居之间的最大平均距离是多少?
这是我的解决方案:
[显示解决方案]
我从建模和优化的角度来处理这个问题。如果有$N$定居者,我们假设定居者的坐标是$(x_i,y_i)$,对于$i=1,\dots,N$,$d_i$是$i^\text{th}$定居器与其最近邻居之间的距离,那么我们可以如下建模:
\[
\开始{对齐}\下置{x,y,d\,\in\,\mathbb{R}^N}{\text{maximize}}\quad&\frac{1}{N}\sum_{i=1}^Nd_i\\
\文本{这样}\quad&x_i^2+y_i^2\le 1&&\text{for}i=1,\点,N\\
&(x_i-x_j)^2+(y_i-y_j)|2\ge d_i^2&&\text{代表}i,j=1,点,N\text{和}j
\结束{对齐}
\]目标是最小化每个定居者与其最近邻居之间的平均距离($d_i$的平均值)。第一个限制条件是每个定居者必须在圆圈内(距离原点最多$1$)。第二个约束条件是,$i^\text{th}$定居者与其他定居者之间的距离至少为$d_i$。
然后游戏是找到满足这些约束条件的$(x_i,y_i,d_i)$并使目标最大化。广义而言,这是一个数学优化问题不幸的是,如上所述的问题是非凸问题是因为第二个约束的形式。这意味着问题可能具有非全局最优的局部最大化。有两种前进方式:
首先,我们可以使用本地搜索:从随机放置的定居者开始,以目标持续增加的方式摆动他们的位置,然后在我们无法改进目标时停止。此类方法的示例包括爬山和内点法一般来说,这种方法只能找到局部极大值,因此我们应该尝试许多随机的起始位置,以确保找到最佳的可能答案。
第二,我们可以使用全局搜索:这些方法试图通过同时考虑多个配置并添加随机扰动来找到全局最优解,这些随机扰动可以将解“踢”出局部最大值。示例包括模拟退火和粒子群这些方法往往比本地搜索慢得多,但找到全局最优值的机会要大得多。
最后,我使用了本地搜索和几个随机初始化。以下是最大平均距离如何随定居点数量而变化。
条形图还显示了如果我们在圆周上均匀分布定居点(“所有定居点都在边界上”),如果我们将一个定居点放在中间,其余定居点均匀分布在圆周(“一个定居点在中心”),我们会做得多好。我们还可以检查沉降分布的实际情况。它们在这里:
案例$N=6$特别有趣,因为它有一个解决方案几乎在中间,但不完全是。事实上,在这种情况下,与邻居的平均最小距离为1.002292美元,因此我们可以通过将一个定居点放置在离中心的地方来稍微受益。
我们也可以通过分析来解决$N=6$的情况,但解决方案并不理想(公平警告!)。结果是,定居点按以下方式分布在整个圆圈中:
这里,$x$是原点和点$A$之间的距离。其他距离满足$z\lt y\lt x+1$,因此到最近邻居的平均距离为$\tfrac{1}{6}(1+x+2y+3z)$。请注意,一旦设置了$x$,这将唯一地确定所有其他点的位置。经过一些复杂的三角运算,我们得到了以下与$x$、$y$、$z$和两个辅助变量$p$和$q$相关的方程:
\开始{align}
y^2&=1+x-x^2-x^3\\
z^2&=1-x^2+2x\左(pq-\sqrt{1-p^2}\sqrt{1-q^2}\右)\\
p&=\tfrac{1}{2}(1-2x-x^2)\\
q&=\tfrac{1}{2}(1-x+x^2+x^3)
\结束{对齐}我们可以消除$\{y,z,p,q\}$并将平均距离$\bar d=\frac{1+x+2y+3z}{6}$作为$x$的函数进行求解:
\[
\条形图d=\frac{x+1}{12}\left(2+4\sqrt{1-x}+3\sqrt{2}\sqrt{1-x}\sqrt{\left(x^3+2 x^2-x+2\right)-x\sqrt{x+3}\sqrt{x^3+x^2-x+3}}\right)
\]然后我们可以绘制$x$的函数,得到以下曲线:
有趣的是,这个函数在$x=0$之后才达到最大值。放大后,我们可以更清楚地看到:
最大值约为$x=0.0555108$,最大值为$1.00229$,正如我们之前发现的那样。如果我们试图通过求此函数的导数,将其设为零,并消除有理数来解析求解此问题,我们会得到以下结果……以下$30^\text{th}$阶多项式的最优$x$a根:
\开始{align}
x^{30}&+\tfrac{152}{9}x^{29}+\tfrac{9259}{81}x^}28}+\trac{6851}{18}x^[27}+\tbrac{38336363}{648}x^{26}+\tfrac{1999495}{5832}x^{25}\\
&+\tfrac{43478263}{52488}x^{24}+\tfrac{75726373}{23328}x^{23}+\tfac{3282369305}{1679616}x^{22}-\tfrac{31642768891}{7558272}x^{21}\\
&+\tfrac{367775655235}{136048896}x^{20}+\tfrac{392027905801}{34012224}x^{19}-\tfrac{2016793647847}{136048896}x^{18}-\tfrac{1258157703385}{68024448}x^{17}\\
&+\tfrac{4545130566235}{136048896}x^{16}-\tfrac{22059424877}{17006112}x^{15}-\tfrac{8448216227365}{136048896}x^{14}+\tfrac{2878062707167}{68024448}x^}{13}\\
&+\tfrac{7398046956073}{136048896}x^{12}-\tfrac{312655708903}{3779136}x^{11}+\tfrac{17266856539}{1679616}x^}10}+\tfac{63670102441}{839808}x^9\\
&-\tfrac{29827845749}{559872}x^8-\tfrac{541401565}{23328}x^7+\tfrac}{619158287}{23428}x^6+\tfrac{6168305}{2592}x^5\\
&-\tfrac{156285}{32}x^4-\tfrac{5153}{36}x^3+\tfrac}{3923}{12}x^2+\tfrac{45}{2}x-\tfrac[35}{16}
\结束{align}恶心! 如果你画出这个多项式,你会得到以下结果;正如预期的那样,在$x=0.0555108$处有一个根。